找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3704|回复: 0
打印 上一主题 下一主题
收起左侧

元器件:用AVR单片机模拟的串口程序

[复制链接]
跳转到指定楼层
楼主
ID:39729 发表于 2012-5-5 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主程序中,单片机将标准串口设置为115200bps,将模拟串口设置为19200bps。单片机将标准串口收到的数据从模拟串口发送出去,将模拟串口接收到的数据从标准串口发送回来。 txd0_data: ldi status,(1< push temp in temp,gimsk cbr temp,(1< out gimsk,temp ;disable gimsk/int0 pop temp ser bit_cnt ;bit_cnt=0xff mov sbuf0,temp ;send data ldi temp,(256-N) out TCNT0,temp ;wait 1 bit timer0 interrupt in temp,tifr sbr temp,(1< out tifr,temp ;clr tifr/tov0 in temp,timsk sbr temp,(1< out timsk,temp ;enable timsk/toie0 cbi portb,txd0 ;uart start ret ;****************************************** rxd0_data: sbrs status,fe0 ;if fe0=0 then exit rjmp rxd0_data_end cbr status,(1< mov temp,sbuf0 rxd0_data_end: ret ;****************************************** ;uart received a byts from uart and then return it from uart0: ;uart received a byts from uart0 and then return it from uart : main: sbIC usr,rxc rjmp send_115200 sbrs status,rdr rjmp uart_end send_19200: rcall rxd0_data ;get uart data from 19200bps uart0 wait2: sbis usr,udrie rjmp wait2 out udr,temp ;send data to 115200bps uart rjmp uart_end www.qqzbd.com send_115200: in temp,udr ;get uart data from 115200bps uart sbic usr,fe www.senvqq.com rjmp uart_end ;if fe err then end wait3: sbrc status,td ;wait send flag rjmp wait3 rcall txd0_data ;send data to 19200bps uart0 uart_end: rjmp main
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表