www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]電視頻道記憶功能,交通燈倒計(jì)時(shí)時(shí)間的設(shè)定,戶(hù)外 LED 廣告的記憶功能,都有可能用到 EEPROM 這類(lèi)存儲(chǔ)器件。這類(lèi)器件的優(yōu)勢(shì)是存儲(chǔ)的數(shù)據(jù)不僅可以改變,而且掉電后數(shù)據(jù)保存不丟失,因此大量應(yīng)用在各種電子產(chǎn)品上。我們

電視頻道記憶功能,交通燈倒計(jì)時(shí)時(shí)間的設(shè)定,戶(hù)外 LED 廣告的記憶功能,都有可能用到 EEPROM 這類(lèi)存儲(chǔ)器件。這類(lèi)器件的優(yōu)勢(shì)是存儲(chǔ)的數(shù)據(jù)不僅可以改變,而且掉電后數(shù)據(jù)保存不丟失,因此大量應(yīng)用在各種電子產(chǎn)品上。

我們這節(jié)課的例程,有點(diǎn)類(lèi)似廣告屏。上電后,1602 的第一行顯示 EEPROM 從 0x20 地址開(kāi)始的16個(gè)字符,第二行顯示 EERPOM 從 0x40 開(kāi)始的16個(gè)字符。我們可以通過(guò) UART 串口通信來(lái)改變 EEPROM 內(nèi)部的這個(gè)數(shù)據(jù),并且同時(shí)也改變了 1602 顯示的內(nèi)容,下次上電的時(shí)候,直接會(huì)顯示我們更新過(guò)的內(nèi)容。

這個(gè)程序所有的相關(guān)內(nèi)容,前面都已經(jīng)講過(guò)了。但是這個(gè)程序體現(xiàn)在了一個(gè)綜合應(yīng)用能力上。這個(gè)程序用到了 1602 液晶、UART 串口通信、EEPROM 讀寫(xiě)操作等多個(gè)功能的綜合應(yīng)用。寫(xiě)個(gè)點(diǎn)亮小燈好簡(jiǎn)單,但是我們想真正學(xué)好單片機(jī),必須得學(xué)會(huì)這種綜合程序的應(yīng)用,實(shí)現(xiàn)多個(gè)模塊同時(shí)參與工作。因此同學(xué)們,要認(rèn)認(rèn)真真的把工程建立起來(lái),一行一行的把程序編寫(xiě)起來(lái),最終鞏固下來(lái)。

/*I2C.c 文件程序源代碼***/ (此處省略,可參考之前章節(jié)的代碼) /*Lcd1602.c 文件程序源代碼***/ (此處省略,可參考之前章節(jié)的代碼) /****eeprom.c 文件程序源代碼/ (此處省略,可參考之前章節(jié)的代碼) /Uart.c 文件程序源代碼*****/ (此處省略,可參考之前章節(jié)的代碼)

/*****************************main.c文件程序源代碼******************************/#includeunsignedcharT0RH=0;//T0重載值的高字節(jié)unsignedcharT0RL=0;//T0重載值的低字節(jié)voidInitShowStr();voidConfigTimer0(unsignedintms);externvoidInitLcd1602();externvoidLcdShowStr(unsignedcharx,unsignedchary,unsignedchar*str);externvoidE2Read(unsignedchar*buf,unsignedcharaddr,unsignedcharlen);externvoidE2Write(unsignedchar*buf,unsignedcharaddr,unsignedcharlen);externvoidUartDriver();externvoidConfigUART(unsignedintbaud);externvoidUartRxMonitor(unsignedcharms);externvoidUartWrite(unsignedchar*buf,unsignedcharlen);voidmain(){EA=1;//開(kāi)總中斷ConfigTimer0(1);//配置T0定時(shí)1msConfigUART(9600);//配置波特率為9600InitLcd1602();//初始化液晶InitShowStr();//初始顯示內(nèi)容while(1){UartDriver();//調(diào)用串口驅(qū)動(dòng)}}/*處理液晶屏初始顯示內(nèi)容*/voidInitShowStr(){unsignedcharstr[17];str[16]='