ATMEGA16單片機(jī)熔絲位燒寫設(shè)置
AVR單片機(jī)2009年用過,以后工作就沒有用它了,現(xiàn)在對(duì)他有點(diǎn)陌生了,這段時(shí)間恰好有幾片ATMEGA16就自己手動(dòng)焊接了一個(gè)調(diào)試板,主要是點(diǎn)亮QC12864B和LCM1602C兩種液晶屏,它們的資料都可以在網(wǎng)絡(luò)上搜到,我就不上傳了。電路連接如下,外接無源晶體8MHZ.
PC0-PC7-----------------------------------DB0-DB7
PA3---------------------------------------RST
PA4---------------------------------------E
PA5---------------------------------------RW
PA6---------------------------------------RS
PA7---------------------------------------PSB
首先是我寫好了程序,我的開發(fā)環(huán)境是IAR5.11B for AVR,你也可以用5.20版本的,編譯通過生成hex文件,利用avrfrighter下載到單片機(jī)中,但是LCD顯示亂碼。很郁悶的,折騰了2天。最后發(fā)現(xiàn)是單片機(jī)的熔絲位沒有配置好,這里就具體說一下。看看AVR frighter界面,最先的熔絲位設(shè)置如下圖。這個(gè)設(shè)置是有問題的,熔絲位1代表不編程,0代表編程,下面的設(shè)置就是使能了JTAG ,這樣PC2,PC3,PC4,PC5就不可以作為IO使用了,它們的功能是JTAG功能了,恰恰我使用了PC0-PC7作為數(shù)據(jù)端口,點(diǎn)背啊。
將熔絲位修改如下圖就可以了,不要編程JTAGEN,反正我不用JTAG調(diào)試,使用ISP方式下載程序的。
還有最后,說一下液晶都有一個(gè)Vo管腳,這個(gè)引腳需要輸入電壓,不同的電壓對(duì)應(yīng)不同的對(duì)比度。一定要調(diào)好,不然顯示的字跡很淡,看不清楚,否則,你還以為其他電路有問題呢。最好調(diào)到可以模模糊糊看到字符顯示區(qū)背景,(顏色較背光顏色深一些的區(qū)域)。下面是QC12864B液晶顯示圖片,自帶漢字字庫。等我把相關(guān)代碼整理后再上傳到這里,大家可以下載使用了。