全文预览

汇编语言串口通信接收发送的程序题

上传者:梦溪 |  格式:doc  |  页数:19 |  大小:38KB

文档介绍
的奇偶值JBPSW.0,ONE;P=1,转判RB8JBRB8,ERR;P=0,判RB8SJMPRIGHT;P=0,RB8=0接收正确ONE:JNBRB8,ERR;P=1,RB8=0转错误处理RIGHT:……;P=1,RB8=1接收正确……ERR:……;接收有错?3、串行口方式2、方式3的发送和接收例7-10:编制一个发送程序,将片内RAM中50H—5FH的数据串行发送。串行口设定为工作方式2,TB8作奇偶校验位。?解:在数据写入发送SBUF之前,先将数据的奇偶标志P写入TB8,此时,第9位数据便可作奇偶校验用。可采用查询和中断两种方式发送。(1)0000HAJMPMAIN;上电,0100H;主程序MAIN:MOVSCON,#80H;设工作方式2MOVPCON,#80H;取波特率为fosc/32MOVR0,#50H;首址50H送R0MOVR7,#10H;数值长度送R7LOOP:MOVA,@R0;取数据MOVC,PSW.0;P→CMOVTB8,C;奇偶标志送TB8MOVSBUF,A;发送数据WAIT:JBCTI,CONTAJMPWAIT;等待中断标志TI=1CONT:INCR0DJNZR7,LOOP;数值尚未发送完,继续发送下一个数据SJMP$END(2)0000HAJMPMAIN;上电,0023H;串行口的中断入口地址AJMPSERVE;0100H;主程序MAIN:MOVSCON,#80HMOVPCON,#80HMOVR0,#50HMOVR7,#0FHSETBES;允许串行口中断SETBEA;CPU允许中断MOVA,@R0MOVC,PSW.0;P→CMOVTB8,CMOVSBUF,A;发送第一个数据SJMP$?3、串行口方式2、方式3的发送和接收例7-11:编制一个接收程序,将接收的16B数据送入片内RAM的50H—5FH单元中。设串行口工作于方式3,波特率为2400b/s。

收藏

分享

举报
下载此文档