久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

stm32的fsmc控制NT35310液晶顯示屏

作者:明入于地   來源:明入于地   點(diǎn)擊數(shù):  更新時(shí)間:2014年06月14日   【字體:
學(xué)了兩周的ARM9,感覺還是很難入門,再加上這個(gè)暑假找到了一個(gè)stm32的實(shí)習(xí)崗位,不得又回到了stm32的學(xué)習(xí)上,其中學(xué)習(xí)ARM9之前的STM32 FSMC部分學(xué)的很蛋疼,但學(xué)了ARM9之后搞清了SRAM SDRAM NOR NAND之間的區(qū)別,很多問題就迎刃而解了。



控制LCD由以下幾部分:
1.打開FSMC時(shí)鐘
 RCC->AHBENR|=1<<8;
2.初始化FSMC用到的IO口
 RCC->APB2ENR|=3<<5;
 GPIOD->CRL&=0xff00ff00;
 GPIOD->CRL|=0x00bb00bb; //RD=PD4 WR=PD5
 GPIOD->CRH&=0x00fff000;
 GPIOD->CRH|=0xbb000bbb;
 GPIOD->ODR|=3<<0;
 GPIOD->ODR|=7<<8;
 GPIOD->ODR|=3<<14;

 GPIOE->CRL&=0x0fffffff;
 GPIOE->CRL|=0xb0000000;
 GPIOE->CRH&=0x00000000;
 GPIOE->CRH|=0xbbbbbbbb;
 GPIOE->ODR|=1<<7;
 GPIOE->ODR|=0xff<<8;

 RCC->APB2ENR|=1<<8;
 GPIOG->CRL&=0xfffffff0;
 GPIOG->CRL|=0x0000000b;//RS=PG0

 GPIOG->CRH&=0xfff0ffff;
 GPIOG->CRH|=0x000b0000;//CS=PG12

3.FSMC初始化
//寄存器清零
//bank1有NE1~4,每一個(gè)有一個(gè)BCR+TCR,所以總共八個(gè)寄存器。
//這里我們使用NE4 ,也就對(duì)應(yīng)BTCR[6],[7]。    
FSMC_Bank1->BTCR[6]=0X00000000;
FSMC_Bank1->BTCR[7]=0X00000000;
FSMC_Bank1E->BWTR[6]=0X00000000;
//操作BCR寄存器 使用異步模式
FSMC_Bank1->BTCR[6]|=1<<12; //存儲(chǔ)器寫使能
FSMC_Bank1->BTCR[6]|=1<<14; //讀寫使用不同的時(shí)序
FSMC_Bank1->BTCR[6]|=1<<4; //存儲(chǔ)器數(shù)據(jù)寬度為16bit    
//操作BTR寄存器
//讀時(shí)序控制寄存器    
FSMC_Bank1->BTCR[7]|=0<<28; //模式A    
FSMC_Bank1->BTCR[7]|=1<<0; //地址建立時(shí)間(ADDSET)為2個(gè)HCLK 1/36M=27ns  
//因?yàn)橐壕?qū)動(dòng)IC的讀數(shù)據(jù)的時(shí)候,速度不能太快,尤其對(duì)1289這個(gè)IC。
FSMC_Bank1->BTCR[7]|=0XF<<8;   //數(shù)據(jù)保存時(shí)間為16個(gè)HCLK  
//寫時(shí)序控制寄存器  
FSMC_Bank1E->BWTR[6]|=0<<28; //模式A    
FSMC_Bank1E->BWTR[6]|=0<<0; //地址建立時(shí)間(ADDSET)為1個(gè)HCLK 
  //4個(gè)HCLK(HCLK=72M)因?yàn)橐壕?qū)動(dòng)IC的寫信號(hào)脈寬,最少也得50ns。72M/4=24M=55ns    
FSMC_Bank1E->BWTR[6]|=3<<8; //數(shù)據(jù)保存時(shí)間為4個(gè)HCLK
//使能BANK1,區(qū)域4
FSMC_Bank1->BTCR[6]|=1<<0; //使能BANK1,區(qū)域4
4.調(diào)用NT35310的初始化函數(shù)(代碼量太大就不粘貼了)

然后就是根據(jù)數(shù)據(jù)手冊(cè)進(jìn)行LCD的操作了,因?yàn)長CD是16位的所以內(nèi)部的第11位連接外面的PA10,所以
#define lcd_wr_r 0x6c000000  //寫命令 第11位為0
#define lcd_wr_d 0x6c000800 //寫數(shù)據(jù) 第11位為1

void LCD_WR_REG(u16 command)
{
 *(u16*)(lcd_wr_r)=command;
}
void LCD_WR_DATA(u16 data)
{
 *(u16*)(lcd_wr_d)=data;
}

void lcd_wr_cmd(u16 command,u16 data)
{
 *(u16*)(lcd_wr_r)=command;
 *(u16*)(lcd_wr_d)=data;
}

相關(guān)文章

主站蜘蛛池模板: 日韩欧美在线视频一区 | 国产不卡一区 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 国产精品乱码一区二区三区 | 欧美一区二区在线观看 | 欧美成年网站 | 毛片入口 | 精区3d动漫一品二品精区 | 国产一区二区三区在线免费 | 精品日韩在线 | 国产三级日本三级 | 久久欧美高清二区三区 | 中文字幕1区2区3区 日韩在线视频免费观看 | 久久综合888 | 亚洲一区二区三区在线视频 | 欧美日韩久久精品 | 网站黄色在线免费观看 | 国产精品久久久久久久久久免费 | 国产精品99久久免费观看 | 中文字幕亚洲欧美 | 草草视频在线观看 | 动漫www.被爆羞羞av44 | 亚洲天堂av在线 | 国产精品久久久久一区二区三区 | 中文字幕的av | 99精品99久久久久久宅男 | 羞羞色视频 | 91精品国产综合久久久久久丝袜 | 久久亚洲国产精品日日av夜夜 | 亚洲成人黄色 | 天天干狠狠 | 毛片a级| av官网在线 | 成人av免费网站 | 日韩α片 | 国产一区二区在线视频 | 99精品在线免费观看 | 九九综合| 亚洲一区二区三区在线播放 | 亚洲成人999| 成人毛片网站 |