AVR单片机ATMEGA161602液晶驱动程序及心得.docx

AVR单片机ATMEGA161602液晶驱动程序及心得.docx

ID:60778434

大小:14.64 KB

页数:12页

时间:2020-12-18

AVR单片机ATMEGA161602液晶驱动程序及心得.docx_第1页
AVR单片机ATMEGA161602液晶驱动程序及心得.docx_第2页
AVR单片机ATMEGA161602液晶驱动程序及心得.docx_第3页
AVR单片机ATMEGA161602液晶驱动程序及心得.docx_第4页
AVR单片机ATMEGA161602液晶驱动程序及心得.docx_第5页
资源描述:

《AVR单片机ATMEGA161602液晶驱动程序及心得.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、AVR单片机ATMEGA161602液晶驱动程序及心得首先,祝福各位同仁,光棍节快乐!今天,给我最好的节日礼物就是,我自己研发的AVR微控制器芯片开发板,1602液晶屏实验成功!我很欣慰.写了一整天的程序,反复实验,最终在凌晨0点.终于成功了.在此过程中,最大的问题莫过于那个所谓配套的1602液晶屏数据手册!这个手册简直是误人子弟,里面资料写的很含糊.并且有错误,而导致我反复试验失败,最终,我使用了通用的1602液晶屏数据手册,才得以成功.我自制的AVR开发板尺寸和我买的51开发板差不多大小,ATmega16最小系统,8位数码管,蓝光流水灯,isp编程接口.过载保

2、护保险丝,两个74hc573锁存器.1602液晶屏都已焊接完成,万用板是12X18cm的单孔玻纤板(质量不太好,便宜没好货).现在我才发现不够用,模块数量相同的两块实验板,手工焊接的一定要比机器印刷的大2~3倍才行.....没办法,我只能用5X7cm的万用板做小模块,ADC模块,DS1302时钟模块,激光二极管模块等等,然后用杜邦线把它们和AVR核心板链接起来,目前计划是这样的,往往计划很丰满,实际很骨感,伤脑筋啊,,,此次,首次接触了12864大液晶,能显示中文,和超声波测距传感器,这得好好研究一下,我一直想要了解一下2.4g无线传输模块,和陀螺仪传感器,还有G

3、PS模块,不过那些还早,把AVRATMEGA16学的差不多了,再了解,也不迟./*Programname:AVRATMEGA161602驱动程序初次实验通过时间:2013-11-1100:04:01^_^;注意:在bysy()函数中严重出错!下次注意!while((PINA&0x80)==0x80);此语句检测到PA7为零时终止循环;表明空闲状态心得:AVR单片机的IO口位操作比较复杂,由三个寄存器控制IO口的输出与输入;DDRn(输出/输入控制)寄存器;PORTn(输出时控制数据,输入时控制内部上拉电阻)寄存器;PINn(用于读取IO口数据)寄存器;最终校验通过

4、时间:2013年11月12日15:12:28*/#include;#include;#defineuint8unsignedchar#defineuint16unsignedint//========IO口位操作========================================voidrs(uint8h)//数据/指令选择操作;{if(h)PORTB

5、=1<<3;//置一;elsePORTB&=~(1<<3);//清零;}voidrw(uint8h)//读/写选择操作;{if(h==0){PORTB&=~(1<<4);//清零;}else{DDRA=

6、0X00;PORTA=0XFF;PORTB

7、=1<<4;//置一;}}voide(uint8h)//传输使能位;{if(h){PORTB

8、=1<<5;//置一;}elsePORTB&=~(1<<5);//清零;}//========================================================voidddra(uint8h)//PA口输入输出函数;{if(h){DDRA=0XFF;//输出模式;PORTA=0xff;}else{DDRA=0X00;PORTA=0XFF;}//输入模式并且有上拉;}voidbusy()//繁忙检测;

9、{ddra(0);//设置PA口为输入,有上拉;do{e(0);//传输使能为0;rs(0);//指令;rw(1);//读;e(1);//e为高电平;}while((PINA&0x80)==0x80);//如果读到数据是,表示空闲状态,跳出循环;e(0);ddra(1);//PA口输出状态;}voiddelay()//小延时;{uint8j=0;j=1;}voidw_cmd(uint8cmd){busy();//繁忙检测通过时,PA口为输出状态,默认输出0xff;PORTA=cmd;//向PA口装载数据;rs(0);//指令;rw(0);//写入;e(1);//传

10、输使能脉冲高;delay();//延时;e(0);//传输使能脉冲低;}voidw_dat(uint8dat){busy();//繁忙检测通过时,PA口为输出状态,默认输出0xff;PORTA=dat;//向PA口装载数据;rs(1);//数据;rw(0);//写入;e(1);//传输使能脉冲高;delay();//延时;e(0);//传输使能脉冲低;}voidinit_1602(){w_cmd(0x3c);//写入显示设置:8位数据,两行,5x10显示;w_cmd(0x0c);//整屏显示,光标不闪,字符不闪;w_cmd(0x06);//写入一个数据时地址自动加

11、一.整屏不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。