单片机原理与应用作业答案-习题课(3)

2018-11-27 19:13

08212032_程仕湘_单片机原理与应用课程作业

使用。而TH0只能作8位定时使用,并占用了T1的控制启动位TR1和溢出标志位TF1。T1只能工作在方式0、方式1或方式2,只能用在不需中断控制的场合。

工作方式3是为了在使用串行口时,需要两个独立的计数器而特别提供的。因为此时把定时器1规定用作串行通信的波特率发生器,并设定为工作方式2,使用时只要将计数器初值送到计数器寄存器即开始工作,启动后不需要软件干预,也不使用溢出标志。

9、设晶振频率为6MHz。编程实现:使用定时器T0工作在方式2、定时,在P1.4输出周期为100us,占空比为4:1的矩形脉冲。

答:使用晶体振荡器频率为6MHz时,1个机器周期为2us。欲使占空比为4:1,可将矩形脉冲分为5份,前4份P1.4输出高电平,第5份输出低电平。计数初值:t?(28?T0初值)?机器周期。计数初值满足:(256-Y)*2us=20us,解得计数初值为Y=246=0F6H,则TH0=TL0=0F6H。

TMOD寄存器定义: D7 D6 D5 GATE M1 C/T 定时器1 定时器工作方式定义: M1 M0 工作方式 0 0 0 0 1 1 1 0 2 1 1 3 D4 M0 D3 GATE D2 D1 M1 C/T 定时器0 D0 M0 说明 13位定时器/计数器 16位定时器/计数器 可重装8位定时器/计数器 T0分成两个8位定时器/计数器,T1停止计数 定时器0,定时方式2,故TMOD设置:00000010=02H,。程序如下: ORG 2000H

START: MOV TMOD, #02H //定时器0,定时方式2

10

08212032_程仕湘_单片机原理与应用课程作业

MOV TL0, 0F6H //初值送TL0 MOV TH0, 0F6H //初值送TH0 SETB P1.4 //P1.4置高 SETB TR0 //允许T0计数

LOOP: MOV R0, #4 //由于是4:1,故计数周期定为4 WAIT1: JNB TF0,WAIT1 //等待定时器T0溢出标志位

CLR TF0 //软件清零TF0

DJNZ R0,WAIT1 //判断R0是否等于0,即判断是否循环了四次 CPL P1.4 //对P1.4取反

WAIT2: JNB TF0,WAIT2//等待定时器T0溢出标志位,即判断是否循环一次

CLR TF0 //软件清零TF0 CPL P1.4 //对P1.4再次取反 SJMP LOOP //程序循环运行

第六章

2、MCS-51单片机的串行口共有哪几种工作方式?各有什么特点和功能?P129

答: MCS-51单片机的串行口共有以下四种工作方式:

工作方式0:SM1SM0=00,为同步移位寄存器。当一个数据写入串行口发送缓冲器时,串行口即将8位数据以fosc/12的固定波特率从RXD引脚输出,低位在先,TXD为移位脉冲信号输出端。发送完8位数据后中断标志

11

08212032_程仕湘_单片机原理与应用课程作业

位T1置“1”。

特点是:移位寄存器的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后,波特率固定,一个机器周期移位一次。

工作方式1:SM1SM0=01,串行口被定义为波特率可变的8位异步通信接口。方式1的波特率=(2smod/32) x定时器T1的溢出率

特点为:一帧信息为10位,其中1位起始位“0”,8位数据位(地位在前)和一位停止位“1”,其波特率可变。

工作方式2:SM1SM0=10,串行口被定义为9位异步通信接口。 方式2的波特率=(2smod/64) x 振荡器频率

特点是:一帧信息为11位,1位起始位“0”,8位数据位(低位再前),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。

工作方式3:SM1SM0=11,串行口被定义为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2完全相同。 方式3的波特率=(2smod/32) x 定时器T1的溢出率

特点:一帧信息为11位,1位起始位“0”,8位数据位(低位在先),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。

3、MCS-51单片机4种工作方式的波特率应如何确定?P134

答: MCS-51单片机波特率的确定方法:

(1)方式0的波特率=fosc/12

(2)方式1的波特率=(2smod/32) x定时器T1的溢出率。 (3)方式2的波特率=(2smod/64) x 振荡器频率

12

08212032_程仕湘_单片机原理与应用课程作业

(4)方式3的波特率=(2smod/32) x 定时器T1的溢出率

7、请用查询法编写程序实现串行口工作方式1下的发送程序。设单片机主频为11.0592MHz,波特率为1200bps、发送数据缓冲区在外部RAM,起始地址为1000H,数据块长度为30B,采用偶校验(其他条件自设)。

答:

1) 设数据为ASCII码形式,最高位作为奇偶校验位。 2) T1作为波特率发生器,工作于方式2。

TMOD寄存器定义: D7 D6 GATE D5 D4 M0 D3 GATE D2 D1 D0 M0 M1 C/T 定时器1 M0 0 1 0 1 工作方式 0 1 2 3 M1 C/T 定时器0 说明 定时器工作方式定义: M1 0 0 1 1 13位定时器/计数器 16位定时器/计数器 可重装8位定时器/计数器 T0分成两个8位定时器/计数器,T1停止计数 故,TMOD=20H;

3) 设SMOD=0。 4) 串行口工作在方式1

SCOD寄存器定义: D7 D6 SM0 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 TI 波特率 主振频率/12 可变 主振频率/32或主振频率/64 可变 D0 RI 串行口工作方式定义:

SM0 SM1 工作方式 0 0 1 1 0 1 0 1 0 1 2 3 方式简单描述 移位寄存器I/O 8位UART 9位UART 9位UART 故,SCON=40H; 5) 波特率为1200bps

13

08212032_程仕湘_单片机原理与应用课程作业

方式1的波特率=SMOD232fosc?定时器T1的溢出率

定时器T1的溢出率=1??? K12?2-初值???初值=2-K2SMOD?fosc384?波特率=256-11059200384?1200=232=0E8H

通过计算得T1的时间常数为0E8H。

程序如下: ORG 1000H

START: MOV TMOD, #20H MOV TL1, #0E8H

MOV TH1, #0E8H

MOV PCON, #00H SETB TR1

MOV SCON, #40H MOV DPTR, #1000H

MOV R2, #30 LOOP: MOVX A, @DPTR

MOV C, P MOV ACC.7, C MOV SBUF, A WAIT: JNB TI, WAIT CLR TI INC DPTR

;T1工作方式2

;SMOD=0波特率不倍增;启动T1 ;串行口工作方式1 ;

;计数值30

;送奇偶标志 ;

;发送字符 ;

14


单片机原理与应用作业答案-习题课(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:班主任教育故事演讲稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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