rs485通讯程序接收0123456789,只接收不发送,使用LM1602液晶显示.docVIP

rs485通讯程序接收0123456789,只接收不发送,使用LM1602液晶显示.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
rs485通讯程序接收0123456789,只接收不发送,使用LM1602液晶显示

rs485通讯程序接收0123456789,只接收不发送,使用LM1602液晶显示 2008-12-07 19:45 #include avr/io.h #include util/delay.h #include inttypes.h #includeavr/interrupt.h //液晶为JDH162A 1602液晶 16*2 //以下宏定义语句可根据实际情况更改 #define dataport PORTB #define datapin PINB #define dataddr DDRB #define conport PORTA #define conddr DDRA #define rw PA5 #define rs PA6 #define e PA4 unsigned char str1[]=Waiting.........; volatile int num; //中断接收函数 ISR(USART_RXC_vect) { writelocatechar(num,0,UDR); num++; }; unsigned char isbusy(void) { unsigned char tmp; conport=~(1e); //先清0 //设定dataport为输出 dataddr=0x00; conport=~(1rs); conport|=(1rw); _delay_us(1); conport|=(1e); _delay_us(2); tmp=datapin; tmp=tmp(17); conport=~(1e); return tmp; } void writecom(unsigned char com,unsigned char busy_flag) { if (busy_flag) ???? while(isbusy()!=0); dataddr=0xff; conport=~(1e); //先清0 //设定dataport为输出 conport=~((1rs)|(1rw)); _delay_us(1); dataport=com; _delay_us(1); conport|=(1e); _delay_us(2); conport=~(1e); dataddr=0x00; } void uart_init(uint8_t ubbrh,uint8_t ubbrl) { UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; UCSRC =_BV(URSEL)| 0x06; UBRRL = ubbrl; //set baud rate lo //UBRRH = ubbrh; //set baud rate hi UCSRB = 0x90; } void writedata(unsigned char com,unsigned char busy_flag) { if (busy_flag) ???? while(isbusy()!=0); dataddr=0xff; conport=~(1e); //先清0 //设定dataport为输出 conport=~(1rw); conport|=(1rs); _delay_us(1); dataport=com; _delay_us(1); conport|=(1e); _delay_us(2); conport=~(1e); dataddr=0x00; } unsigned char readcom(void) { unsigned char tmp; conport=~(1e); //先清0 //设定dataport为输出 dataddr=0x00; conport=~(1rs); conport|=(1rw); _delay_us(1); conport|=(1e); _delay_us(2); tmp=datapin; conport=~(1e); return tmp; }; void init_lcd(void) { ??? _delay_ms(15); ??? writecom(0x38,0); ??? _delay_ms(5); ??? writecom(0x38,0); ??? _delay_ms(5); ??? writecom(0x38,0); ??? _delay_ms(5); ??? writecom(0x38,1); ??? writecom(0x08,1); ??? writecom(0x01,1);//清除屏幕 ??? writecom(0x06,1); ??? writecom(0x0c,1); }; ?? //写指定坐标,制定文字(x为横向 y为纵向

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档