標(biāo)題: Mega4809 Curiosity Nao 開發(fā)板驅(qū)動(dòng)OLED屏顯示 [打印本頁]
作者: jinglixixi 時(shí)間: 2020-8-24 23:30
標(biāo)題: Mega4809 Curiosity Nao 開發(fā)板驅(qū)動(dòng)OLED屏顯示
Mega4809Curiosity Nao 開發(fā)板是一款近于最小系統(tǒng)的核心板,因此其資源基本可以完全供用戶使用。
為使該開發(fā)板有一個(gè)可供直接觀查的窗口,故為它配置了一個(gè)OLED顯示屏。此外,值得指出的是在程序下載時(shí)是不可帶著顯示屏的,否則無法進(jìn)行下載。
要在該開發(fā)板上驅(qū)動(dòng)OLED屏顯示,要完成的主要有3件事:
1)指定驅(qū)動(dòng)OLED屏的I/O口
2)設(shè)置延時(shí)程序
3)配置OLED屏的顯示函數(shù)
1. 驅(qū)動(dòng)引腳的配置
為驅(qū)動(dòng)OLED屏,所使用的2個(gè)I/O口是PF3和PF4,對(duì)應(yīng)的連接關(guān)系為:
SDA---PF3
SCL---PF4
引腳配置如圖1所示
1.jpg (15.99 KB, 下載次數(shù): 37)
下載附件
2020-8-24 23:29 上傳
2.jpg (21.31 KB, 下載次數(shù): 49)
下載附件
2020-8-24 23:29 上傳
圖1 引腳配置
2.設(shè)置延時(shí)
按圖2所示,選取DELAY函數(shù).
3.jpg (16.16 KB, 下載次數(shù): 54)
下載附件
2020-8-24 23:29 上傳
圖2 獲取延時(shí)
在生成代碼后,可得到的毫秒級(jí)的延時(shí)函數(shù),其代碼為:
- void DELAY_milliseconds(uint16_t milliseconds)
- {
- while(milliseconds--){
- _delay_ms(1);
- }
- }
復(fù)制代碼
3. 配置顯示函數(shù)
由于本次所使用的OLED屏是I2C接口的,使用只需I/O口即可模擬產(chǎn)生。
其中的IIC_Start()函數(shù)和IIC_Stop()函數(shù)的內(nèi)容如下:
- void IIC_Start()
- {
- SCL_SetHigh();
- SDA_SetHigh();
- SDA_SetLow();
- SCL_SetLow();
- }
-
- void IIC_Stop()
- {
- SCL_SetLow();
- SDA_SetLow();
- SCL_SetHigh();
- SDA_SetHigh();
- }
復(fù)制代碼
OLED屏的初始化函數(shù)為:
- void OLED_Init(void)
- {
- DELAY_milliseconds(500);
- OLED_WrCmd(0xae);//--turn off oled panel
- OLED_WrCmd(0x00);//---set low column address
- OLED_WrCmd(0x10);//---set high column address
- OLED_WrCmd(0x40);//--set start line address Set Mapping RAM Display Start Line (0x00~0x3F)
- OLED_WrCmd(0x81);//--set contrast control register
- OLED_WrCmd(Brightness); // Set SEG Output Current Brightness
- OLED_WrCmd(0xa1);//--Set SEG/Column Mapping
- OLED_WrCmd(0xc8);//Set COM/Row Scan Direction
- OLED_WrCmd(0xa6);//--set normal display
- OLED_WrCmd(0xa8);//--set multiplex ratio(1 to 64)
- OLED_WrCmd(0x3f);//--1/64 duty
- OLED_WrCmd(0xd3);//-set display offset Shift Mapping RAM Counter (0x00~0x3F)
- OLED_WrCmd(0x00);//-not offset
- OLED_WrCmd(0xd5);//--set display clock divide ratio/oscillator frequency
- OLED_WrCmd(0x80);//--set divide ratio, Set Clock as 100 Frames/Sec
- OLED_WrCmd(0xd9);//--set pre-charge period
- OLED_WrCmd(0xf1);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
- OLED_WrCmd(0xda);//--set com pins hardware configuration
- OLED_WrCmd(0x12);
- OLED_WrCmd(0xdb);//--set vcomh
- OLED_WrCmd(0x40);//Set VCOM Deselect Level
- OLED_WrCmd(0x20);//-Set Page Addressing Mode (0x00/0x01/0x02)
- OLED_WrCmd(0x02);//
- OLED_WrCmd(0x8d);//--set Charge Pump enable/disable
- OLED_WrCmd(0x14);//--set(0x10) disable
- OLED_WrCmd(0xa4);// Disable Entire Display On (0xa4/0xa5)
- OLED_WrCmd(0xa6);// Disable Inverse Display On (0xa6/a7)
- OLED_WrCmd(0xaf);//--turn on oled panel
- OLED_Fill(0x00);
- OLED_Set_Pos(0,0);
- }
復(fù)制代碼
顯示圖3所示效果的主程序?yàn)椋?/font>- int main(void)
- {
- /* Initializes MCU, drivers and middleware */
- SYSTEM_Initialize();
- OLED_Init();
- OLED_CLS();
- OLED_P8x16Str(0,0,"ATmega4809");
- OLED_P8x16Str(0,2,"OLED Display");
- /* Replace with your application code */
- while (1){
- //PORTF_toggle_pin_level(5);
- LED_Toggle();
- DELAY_milliseconds(500);
- }
- }
復(fù)制代碼
4.jpg (14.96 KB, 下載次數(shù): 60)
下載附件
2020-8-24 23:29 上傳
圖3 顯示效果
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
色综合欧美
|
国产成人一区二区三区
|
日本公妇乱偷中文字幕
|
九九久久精品视频
|
国内自拍偷拍视频
|
中日韩毛片|
亚洲国产福利
|
欧美在线视频免费
|
国产精品成人一区二区三区
|
日韩欧美一区二区三区久久婷婷
|
干少妇视频
|
久久中文视频
|
精品久久网站
|
黄色大片在线播放
|
日本乱子伦
|
欧美成人毛片
|
日韩国产在线播放
|
在线观看日韩视频
|
久久黄视频|
日本一级淫片
|
97视频网站
|
欧美视频一二三区
|
中文字幕在线观看日韩
|
亚洲一区二区三区免费
|
午夜性视频
|
日本一区二区不卡视频
|
色婷婷久久久
|
99视频在线播放
|
欧美精品日韩少妇
|
中文字幕一区二区三区四区视频
|
国产午夜免费视频
|
国产777|
日韩在线观看中文字幕
|
成人不卡视频
|
亚洲国产91
|
四虎4hu永久免费网站影院
|
夜夜操av
|
日韩一区二区三区免费
|
日一日操一操
|
黄色国产在线观看
|
色综合久久88色综合天天
|