单片机原理及接口技术-习题答案第四版李朝青(修订后) - 图文 联系客服

发布时间 : 星期五 文章单片机原理及接口技术-习题答案第四版李朝青(修订后) - 图文更新完毕开始阅读516cdfc4cdbff121dd36a32d7375a417876fc1fb

(1) 0.1ms 模式0:

T0低5位01110B=0EH T0高8位:11111110B=FEH 模式1: 模式2:

(2) 1ms 模式0:

T0低5位01100B=0CH T0高8位:11110000B=F0H 模式1: 模式2:

在此情况下最长定时为512μs,无法一次实现定时1ms,可用0.1ms循环10次

(3) 10ms 模式0:

T0低5位11000B=18H T0高8位:01100011B=63H 模式1:

模式2:在此情况下最长定时为512μs,无法一次实现定时10ms,可用0.1ms循环100次

29

16、89C51单片机的定时器在何种设置下可提供三个8位计数器定时器?这时,定时器1可作为串行口波特率发生器。若波特率按

9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s来考虑,则此时可选用的波特率是多少(允许存在一定误差)?设fosc=12MHz。

解:当T0为模式3,T1为模式2时,可提供3个8位定时器。

可选100b/s

17、试编制一段程序,功能为:当P1.2引脚的电平上跳时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平下跳时,停止计数,并将计数值写入R6,R7。 解:

MOV TMOD,#05H ;T0为计数方式且工作于模式1 JNB P1.2,$ ;等待P1.2引脚电平上跳 MOV TH0,#00H ; P1.2电平上跳,置入计数初值 MOV TL0,#00H

SETB TR0 ;启动T0

JB P1.2,$ ;等待P1.2引脚电平下跳 CLR TR0 ;电平下跳,关闭T0 MOV R7,TH0 ;计数初值写入R7,R6 MOV R6,TL0

18、设fosc=12MHz。试编制一段程序,功能为:对定时器T0初始化,使之工作在模式2,产生200μs定时,并用查询T0溢出标志的方法,控制P1.0输出周期为2ms的方波。 解:T0作定时器时初值: 所以 程序1:

30

CLR P1.0 ;P1.0输出低电平

MOV R2,#05H ;R2为“200μs”计数器,置入初值5,计1ms MOV TMOD,#02H ;设定时器T0工作于模式2 L2:MOV TH0,#38H ;置入定时初值

MOV TL0,#38H

SETB TR0 ;启动T0

LOOP:JBC TF0,L1 ;查询200μs时间到?时间到,转L1

SJMP LOOP ;时间未到,转LOOP,继续查询 L1:CLR TR0 ;关闭T0

DJNZ R2,L2 ;“200μs”计数器减1,到1ms吗?未到,转L2

CPL P1.0 ;到1ms,P1.0取反,形成周期为2ms的方波

MOV R2,#05H ;重置“200μs”计数器初值 LJMP L2 ;重复循环

程序2:

MAIN:MOV TMOD,#02H ;设定时器T0工作于模式2

CLR P1.0 ;P1.0输出低电平

LOOP1:MOV R2,#05H ;R2为“200μs”计数器,置入初值5,计1ms LOOP:MOV TH0,#38H ;置入定时初值

MOV TL0,#38H

SETB TR0 ;启动T0

JNB TF0,$ ;查询200μs时间到?时间到,继续查询 CLR TR0 ;关闭T0

DJNZ R2,LOOP ;“200μs”计数器减1,到1ms吗?未到,转LOOP

CPL P1.0 ;到1ms,P1.0取反,形成周期为2ms的方波

31

SJMP LOOP1 ;重复循环

19、以中断方法设计单片机秒、分脉冲发生器。假定P1.0每秒产生1个机器周期的正脉冲,P1.1每分产生1个周期的正脉冲。 参考书上例题6-6

第七章

1、什么是串行异步通信,它有哪些作用?

答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。通信采用帧格式,无需同步字符。存在空闲位也是异步通信的特征之一。

2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?

答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。 由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。定时器T1产生串行通信所需的波特率。 3、简述串行口接收和发送数据的过程。

答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。

在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN

32