单片机原理及应用第二版--李建忠(10)

发布时间:2021-06-07

ANL A,#0FH MOV R2,A MOV A,@R1 ANL A,#0FH ADDC A,R2 DA A

MOVX @DPTR,A INC DPTR MOV A,@R0 SWAP A ANL A,#0FH MOV R2,A MOV A,@R1 SWAP A ANL A,#0FH ADDC A,R2 DA A

MOVX @DPTR,A INC R0 INC R1 INC DPTR

DJNZ R7,LOOP

3-25 51单片机从串行口发送缓冲区首址为30H的10个ASCII码字符,最高位用于奇偶校验,采用偶校验方式,要求发送的波特率为2400波特,时钟频率 osc=12MHz,试编写串行口发送子程序。

单片机采用12 MHz晶振;设串行口工作于方式1;定时器/计数器T1用作波特率发生器,工作于方式2;PCON中的SMOD位为1;发送的波特率要求为2400。 定时器/计数器T1初值计算:

根据公式 波特率=2SMOD×溢出率/32有

溢出率=2400×16=38 400

溢出周期=1/溢出率=26 μs (此为定时器/计数器的定时值) 定时器初值=256-26=230=E6H

根据要求确定定时器/计数器的TMOD中的方式控制字为20H,串行口SCON中的控制字为40H,PCON控制字为80H。则相应的发送程序如下: TSTART:MOV TMOD,#20H ;置定时器/计数器T1工作于方 式2定时 MOV PCON, #80H

MOV TL1,#0E6H ;定时器/计数器T1置初值 MOV TH1,#E6H ;定时器/计数器T1置重装数 MOV SCON,#40H ;置串行口工作于方式1

MOV R0,#30H ;R0作地址指针,指向数据块首址 MOV R7,#10 ;R7作循环计数器,置以发送=字节数 SETB TR1 ;启动定时器/计数器T1 LOOP: MOV A,@R0 ;取待发送的一个字节

MOV C,P ;取奇偶标志,奇为1,偶为0

MOV A.7,C ;给发送的ASCII码最高位加偶校验位 MOV SBUF,A ;启动串行口发送

单片机原理及应用第二版--李建忠(10).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219