资源描述:
《MCS-51单片机串行口及应用课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、A、B两台均采用MCS-51单片机的应用系统,通信连接电路如图6.21所示。B为智能传感器,系统上电后,B实时地把测量值从串行口传出,数据块格式如图6.22所示。其中2个字节的AA为数据块的块头标志,测量数据为6个字节:Byte1~Byte6。通信波特率为4800bit/s,设A、B单片机的晶振频率均为11.0592MHz。A系统采用中断方式接受数据。A系统接受时,把测量值存放在内部RAM的30H单元开始的区域,当连续2次接收到“AA”之后,开始存储测量值,B系统采用查询方式发送。AAAAByte1Byte2Byte3Byte4Byte5Byte6图6.21MCS
2、-51单片机的应用系统通信连接电路图6.22数据块格式例6.2A系统初始化及其接收中断处理程序如下:ORG0000HLJMPMAINORG0023HLJMPRECV_DATAORG0030HMAIN:MOVR0,#30HMOVR2,#08HCLRRAM:MOV@R0,#00HINCR0DJNZR2,CLRRAMCLRFlagXMOVSCON,#01010000BMOVTCON,#00100000BMOVTL1,#0F3HMOVTH1,#0F3HSETBEASETBESSETBTR1LOOP:┆应用程序┆LJMPLOOP接收中断处理程序(程序流程图如图6.23所示)
3、:图6.23A系统接收中断处理程序FlagX———接收到0AAH标志,第一次接收到FlagX=1,第二次接收到FlagX=0。FlagX———接收数据状态,FlagD=1表示接收数据未结束。3RECV_DATA:PUSHACCCLRRIMOVA,SBUFCJNEA,#0AAH,IS_DATAJNBFlagX,First_AASETBFlagDCLRFlagXMOVR0,#30HMOVR2,#06HRETURN:POPACCRETIFirst_AA:SETBFlagXCLRFlagDSJMPRETURNIS_DATA:JNBFlagD,RETURN1MOV@R0,A
4、INCR0DJNZR2,RETURN1CLRFlagDRETURN1:POPACCRETI4(2)B系统初始化及其发送处理子程序如下:OGG0000HLJMPMAINORG0030HMAIN:MOVR0,#40HMOVR2,#06HCLRRAM:MOV@R0,#00HINCR0DJNZR2,CLRRAMMOVSCON,#01000000BMOVTCON,#00100000BMOVTL1,#0F3HMOVTH1,#0F3HSETBTR1LOOP:┆应用程序┆ACALLTRANS┆LJMPLOOP(3)测量值发送子程序,测量数据存储在40H~45H单元TRANS:M
5、OVA,#0AAHMOVSBUF,ALOOP1:JNBTI,LOOP1CLRTIMOVA,#0AAHMOVSBUF,ALOOP2:JNBTI,LOOP2CLRTIMOVR0,#40HMOVR2,#06HTR_DATA:MOVA,@R0MOVSBUF,ALOOP3:JNBTI,LOOP3CLRTIINCR0DJNZR2,TR_DATARET5例6.3A、B单片机处于全双工通信模式,电路连接图如图6.24所示。设单片机系统的晶体振荡器为11.0592MHz,波特率为2400bit/s。图6.242个MCS-51单片机异步通信6图6.25双机通信流程图双机通信的程序流程
6、图如图6.25所示。7①A机和B机串行口的初始化程序如下:SRL_INIT:MOVTMOD,#20HMOVPCON,#00HMOVTH1,#0F4HMOVTL1,#0F4HSETBTR1MOVIE,#90HMOVSCON,#50HCLRTRN_STACLRRCV_STARET②发送命令子程序如下:;入口:寄存器R2中为即将发送的命令SEND_COM:MOVA,R2MOVSBUF,ARET串行口中断处理程序如下:SRL_INT:POPACCJNBRI,SENTCLRRIJBRCV_STA,RCV_DATMOVA,SBUFCJNEA,#ASK_RCV,COM01MOV
7、R6,#LEN_RCVMOVR0,#RCV_BUFSETBRCV_STAMOVA,#RCV_RDYMOVSBUF,AAJMPRETURNCOM01:CJNEA,#ASK_TRN,COM02MOVR7,#LEN_TRNMOVR0,#TRN_BUFSETBTRN_STA8MOVA,#TRN_RDYMOVSBUF,AAJMPRETURNCOM02:CJNEA,#RCV_RDY,COM03MOVR7,#LEN_TRNMOVR0,#TRN_BUFSETBTRN_STAMOVA,@R0MOVSBUF,AINCR0AJMPRETURNCOM03:CJNEA,#TRN_RDY,N
8、ON_CO