微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用AVR单片机模拟的串口程序

用AVR单片机模拟的串口程序

时间:06-26 来源:互联网 点击:

rxd0_data:
txd0_data:
ldistatus,(1busy)|(1td);busy=1,td=1,rdr=0

pushtemp
intemp,gimsk
cbrtemp,(1int0)
outgimsk,temp;disablegimsk/int0
poptemp

serbit_cnt;bit_cnt=0xff
movsbuf0,temp;senddata

lditemp,(256-N)
outTCNT0,temp;wait1bittimer0interrupt

intemp,tifr
sbrtemp,(1tov0)
outtifr,temp;clrtifr/tov0

intemp,timsk
sbrtemp,(1toie0)
outtimsk,temp;enabletimsk/toie0

cbiportb,txd0;uartstart

ret
;******************************************
rxd0_data:
sbrsstatus,fe0;iffe0=0thenexit
rjmprxd0_data_end
cbrstatus,(1rdr);rdr=0
movtemp,sbuf0
rxd0_data_end:
ret
;******************************************

;uartreceivedabytsfromuartandthenreturnitfromuart0:
;uartreceivedabytsfromuart0andthenreturnitfromuart:
main:
sbicusr,rxc
rjmpsend_115200

sbrsstatus,rdr
rjmpuart_end
send_19200:
rcallrxd0_data;getuartdatafrom19200bpsuart0

wait2:sbisusr,udrie
rjmpwait2
outudr,temp;senddatato115200bpsuart
rjmpuart_end

send_115200:
intemp,udr;getuartdatafrom115200bpsuart
sbicusr,fe
rjmpuart_end;iffeerrthenend

wait3:sbrcstatus,td;waitsendflag
rjmpwait3
rcalltxd0_data;senddatato19200bpsuart0
uart_end:
rjmpmain
;**********************************************************
.exit
;**********************************************************

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top