51单片机第5章作业答案清华大学出版社 下载本文

内容发布更新时间 : 2024/5/24 4:07:34星期一 下面是文章的全部内容请认真阅读。

7. 在晶振主频为12MHz时,要求P1.0输出周期为1ms的对称方波;要求P1.1输出周期为2ms不对称方波,占空比为1:3(高电平短,低电平长),试用定时器方式0、方式1编程。

15. 试述串行口方式0和方式1发送与接收的工作过程。 24. 25.

27. 在一个实际系统中,若有8个外部中断请求源,如何设计其硬件和中断服务程序?

30. 在MCS-51中断系统中,有几个中断请求标志位?请指出响应标志的代号,位地址?说明它们在什么情况下被置位和复位?哪些中断标志位可以随着中断被响应而自动清除,哪些中断需要用户来清除?清除的方法是什么? 31. 阅读T0、T1初始化程序,回答下面几个问题(设主频为6MHz)。 MOV A,#11H MOV TMOD,A MOV TH0,#9EH MOV TL0,#58H MOV TH1,#0F0H MOV TL1,#60H CLR PT0 SETB PT1 SETB ET0 SETB ET1 SETB EA *MOV A,#50H *MOV TCON,A ……

(1) T0,T1各用何方式工作?几位计数器? (2) T0,T1各自定时时间或计数次数是多少? (3) T0,T1的中断优先级? (4) T0,T1的中断矢量地址?

(5) 最后两条带*号的指令功能是什么?

其中第7题可能会造成理解上的歧义,学生只要用方式0或者方式1中的一种实现即可,如果用两种方式分别实现更好哈。

第7题解答:

定时器0实现2ms方波,定时器1实现1ms方波,均工作在方式1。定时0.5ms的定时初值为:FE0C,定时1.5ms的定时初值为:FA24。

如果工作在方式0时是13位定时器,需要注意调整定时初值。0.5ms定时初值为:#0F00CH,1.5ms定时初值为:#D104H。

ORG 0000H

AJMP START ;启动时跳转 ORG 000BH ;定时器0中断向量 START: HERE: INTT0: S1: S2: INTT1: AJMP INTT0 ORG 001BH AJMP INTT1 ORG 0100H MOV SP,#30H MOV TMOD,#11H MOV TH0,#0FEH MOV TL0,#0CH SETB ET0 SETB ET1 SETB EA MOV CY,#1 SETB P1.0 SETB P1.1 SETB TR0 SETB TR1 SJMP $ CPL P1.1 CLR TR0 JC S1

MOV TH0,#0FEH MOV TL0,#0CH SJMP S2 MOV TH0,#0FAH MOV TL0,#024H CPL CY SETB TR0 RETI CPL P1.0 CLR TR1 MOV TH1,#0FEH MOV TL1,#0CH SETB TR1 RETI END

1中断向量

0,方式1 0中断 1中断

0 P1.1翻转

;赋高电平值 0 P1.0翻转 T1 T1 ;定时器

;主程序起始位置;设置堆栈指针;定时器;允许定时器;允许定时器;允许总中断;置标志位;启动定时器;等待;;停止计数 ;赋低电平值;标志位取反;重新启动定时器;;停止;重新赋初值;重新启动31题 阅读T0、T1初始化程序,回答右边几个问题(设主频为6MHZ)

MOV A, #11H MOV TMOD, A MOV TH0, #9EH MOV TL0, #58H MOV TH1, #0F0H MOV TL1, #60H CLR PT0 SETB PT1 SETB ET0 SETB ET1 SETB EA

*MOV A, #50H *MOV TCON, A ┇ ┇

① T0, T1各用何种方式工作?

几位计数器?

② T0, T1各自定时时间或计数次数是多少? ③ T0, T1的中断优先级? ④ T0, T1的中断矢量地址? ⑤ 最后两条带*号的指令功能是什么?μ

答:① T0、T1都以方式1工作,16位计数器。

② T0的定时时间=2*(M-定时初值)=2*[65536-(9E58)16]=2*[65536-40536]

=50000(微秒)= 0.05秒

T1的定时时间 =2*(M-定时初值)=2*[65536-(F060)16]=2*[65536-61536]

=8000(微秒)= 0.008秒

③ T0设为低优先级,T1设为高优先级。 ④ T0的中断矢量地址:000BH T1的中断矢量地址:001BH

⑤ TCON的内容:01010000

作用:TR1和TR0被置1,使计数器T0和T1启动。