AVR单片机2009年用过,以后工作就没有用它了,现在对他有点陌生了,这段时间恰好有几片ATMEGA16就自己手动焊接了一个调试板,主要是点亮QC12864B和LCM1602C两种液晶屏,它们的资料都可以在网络上搜到,我就不上传了。电路连接如下,外接无源晶体8MHZ.
PC0-PC7-----------------------------------DB0-DB7
PA3---------------------------------------RST
PA4---------------------------------------E
PA5---------------------------------------RW
PA6---------------------------------------RS
PA7---------------------------------------PSB
首先是我写好了程序,我的开发环境是IAR5.11B for AVR,你也可以用5.20版本的,编译通过生成hex文件,利用avrfrighter下载到单片机中,但是LCD显示乱码。很郁闷的,折腾了2天。最后发现是单片机的熔丝位没有配置好,这里就具体说一下。看看AVR frighter界面,最先的熔丝位设置如下图。这个设置是有问题的,熔丝位1代表不编程,0代表编程,下面的设置就是使能了JTAG ,这样PC2,PC3,PC4,PC5就不可以作为IO使用了,它们的功能是JTAG功能了,恰恰我使用了PC0-PC7作为数据端口,点背啊。
将熔丝位修改如下图就可以了,不要编程JTAGEN,反正我不用JTAG调试,使用ISP方式下载程序的。
还有最后,说一下液晶都有一个Vo管脚,这个引脚需要输入电压,不同的电压对应不同的对比度。一定要调好,不然显示的字迹很淡,看不清楚,否则,你还以为其他电路有问题呢。最好调到可以模模糊糊看到字符显示区背景,(颜色较背光颜色深一些的区域)。下面是QC12864B液晶显示图片,自带汉字字库。等我把相关代码整理后再上传到这里,大家可以下载使用了。
阅读(8974) | 评论(0) | 转发(0) |