《51单片机汇编模拟串口通信程序(共6页).doc》由会员分享,可在线阅读,更多相关《51单片机汇编模拟串口通信程序(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上51单片机汇编模拟串口通信程序T2作为波特率控制 UART_RXD 是硬中断 0或 1口,如果能进入中断,说明该线有一个起 始位产生,进入中断后调用下面的接收程序。退出硬中断之前还需要将硬中断标志重新复位。UART_TXD是任何其它 IO 即可。UART_SEND:PUSH IEPUSH DPHPUSH DPLPUSH PSWPUSH 00HPUSH ACCCLR EASETB UART_TXD ;START BITMOV R0,ACLR TR2 ;TR2置 1, 计数器 2启动 , 时间计数启动。MOV A,RCAP2L;计数器 2重新装载值MOV TL2,A ;置
2、计数器 2初值 ;T2需要重新装载MOV A,DPHMOV A,RCAP2HMOV TH2,AMOV A,R0SETB TR2 ;TR2置 1, 计数器JNB TF2,$CLR TF2JNB TF2,$CLR TF2CLR UART_TXD ;START BITJNB TF2,$CLR TF2JNB TF2,$CLR TF2MOV R0,#08HUART_SEND_LOOP:RRC AMOV UART_TXD,C ;8 BIT JNB TF2,$CLR TF2JNB TF2,$CLR TF2DJNZ R0,UART_SEND_LOOP SETB UART_TXD ;END BIT JNB TF
3、2,$CLR TF2JNB TF2,$CLR TF2POP ACCPOP 00HPOP PSWPOP DPLPOP DPHPOP IERET ; UART_REC:PUSH IEPUSH DPHPUSH DPLCLR EACLR TR2 ;TR2置 1, 计数器 2启动 , 时间计数启动。 MOV A,RCAP2L;计数器 2重新装载值MOV TL2,A ;置计数器 2初值 ;T2需要重新装载 MOV A,DPHMOV A,RCAP2HMOV TH2,AJB UART_RXD,$ ;RECSETB TR2 ;TR2置 1, 计数器 2启动 , 时间计数启动。 JNB TF2,$CLR TF2
4、;0.5 BITJNB TF2,$CLR TF2 ;1 BITJNB TF2,$CLR TF2 ;1.5 BITMOV C,UART_RXDMOV ACC.0,CJNB TF2,$CLR TF2JNB TF2,$CLR TF2 ;2.5MOV C,UART_RXDMOV ACC.1,CJNB TF2,$CLR TF2JNB TF2,$CLR TF2 ;3.5MOV C,UART_RXDMOV ACC.2,CJNB TF2,$CLR TF2JNB TF2,$CLR TF2 ;4.5 MOV C,UART_RXD MOV ACC.3,C JNB TF2,$CLR TF2JNB TF2,$CLR T
5、F2 ;5.5 MOV C,UART_RXD MOV ACC.4,C JNB TF2,$CLR TF2JNB TF2,$CLR TF2 ;6.5 MOV C,UART_RXD MOV ACC.5,C JNB TF2,$CLR TF2JNB TF2,$CLR TF2 ;7.5 MOV C,UART_RXD MOV ACC.6,C JNB TF2,$CLR TF2JNB TF2,$CLR TF2 ;8.5 MOV C,UART_RXD MOV ACC.7,C JNB TF2,$CLR TF2 ;9.5JNB UART_RXD,$ ;等待停止位 , 并重新复位计数器 SETB UART_RXDPOP DPLPOP DPHPOP IERET专心-专注-专业