当前位置:文档之家› 单片机__第四章答案

单片机__第四章答案

ORG START:MOV CLR 0000H TMOD, #02H;定时器T0工作方式2 P1.0 ;设置方波的起始状态
250μs
MOV TL0, #83H;送计数初值, MOV TH0, #83H; 保证定时时间始终为125μs SETB TR0 ;启动定时器 LOP: JBC TF0, $ ;等待125μs定时到 JNB P3.0,L0;P3.0=0 JNB P3.1,L1;P3.1=0,P3.0=1,产生1kHz方波 CPL P1.0 ;P3.1=1,P3.0=1,产生4kHz方波 SJMP LOP ;产生连续的方波 L0: JNB P3.1,L2 ;P3.1=0,P3.0=0,产生0.5kHz方波 ;P3.1=1,P3.0=0, P1.0产生2kHz方波 CPL 00H ;改变00H的状态;00H,产生4kHz方波 JNB 00H,LOP CPL P1.0 ;00H位的上升沿,改变P1.0的状态,产生2kHz方波 S式:ORG 0000H START:MOV TMOD, #10H ;(主程序开始)定时器T1工作方式1 CLR P1.0 ;设置方波的起始状态 MOV TL1, #0A1H MOV TH1, #0FEH ;送初值,保证定时时间为350us SETB P1.0 SETB TR1 ;启动定时器 LOOP:JNB TF1, $ ;查询是否溢出, CLR TF1 ;清溢出标志,以便下次判断 JNB P1.0,N0 ;现在为低电平时,150us定时到,转移 MOV TL1, #69H;溢出处理 MOV TH1, #0FFH;再送计数初值,保证定时时间始终为150us SJMP N1 N0:MOV TL1, #0A1H;溢出处理 MOV TH1, #0FEH ;再送计数初值,保证定时时间始终为350us N1:CPL P1.0 ;改变P1.0的状态 SJMP LOOP ;产生连续的7:10的矩形波 END
第 4章 80C51的定时/计数器与中 断系统
思考题与习题
[思考题与习题] 1. 80C51单片机的定时/计数器的定时和计数两种功能各有什么 特点?脉冲源不同 2. 当定时/计数器的加1计数器计满溢出时, 溢出标志位TF1由硬 件自动置1,简述对该标志位的两种处理方法。查询软件清除和中 断硬件自动清除 3. 当定时/计数器工作于方式0时,晶振频率为12MHz,请计算最 小定时时间、最大定时时间、最小计数值和最大计数值。 最小计数值为1,最小定时时间为1us 最大计数值位213,最大计数时间为8.19ms 4. 80C51单片机的定时/计数器四种工作方式各有什么特点? 5.当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何 种方式下? 0、1、2,如何控制T1的开启和关闭?设置工作方式 6. 硬件定时与软件定时的最大区别是什么? 不占用CPU 7. 根据定时/计数器0方式1逻辑结构图,分析门控位GATE取不同 值时,启动定时器的工作过程。
250μs L1:;P3.1=0,P3.0=1,产生1kHz方波 CPL 01H;改变01H的状态;01H产生4kHz方波 JNB 01H,LOP CPL 02H;改变02H的状态;02H,产生2kHz方波 JNB 02H,LOP CPL P1.0;02H位的上升沿,改变P1.0的状态产生1kHz方波 SJMP LOP L2:;P3.1=0,P3.0=0,产生0.5kHz方波 CPL 03H;改变03H的状态;03H产生4kHz方波 JNB 03H,LOP CPL 04H;改变04H的状态;04H,产生2kHz方波 JNB 04H,LOP CPL 05H;改变05H的状态;05H产生1kHz方波 JNB 05H,LOP CPL P1.0;05H位的上升沿,改变P1.0的状态产生0.5kHz方波 SJMP LOP END
10. 两只开关分别接入P3.0、P3.1,在开关信号4种不同的组合 逻辑状态,使P1.0分别输出频率0.5kHz、1kHz、2kHz、4kHz 的方波,晶振频率为12MHz。 查询方式。 解:①TMOD初始化: GATE=0 , C/T=0, M1M0=10B ②计算初值:方式2:X = 28 – t(fosc/12)=256-125(12/12)=83H
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END P1.0 ;设置方波的起始状态 P1.1 R2,#0 TL1, #0CH TH1, #0F0H ;送初值,保证定时时间为500us TR1 ;启动定时器 TF1, $ ;查询是否溢出,等待500us定时到 TF1 ;清溢出标志,以便下次判断 TL1, #0CH ;溢出处理 TH1, #0F0H ;再送计数初值,保证定时时间始终为500us R2 R2,#5 ,LOOP R2,#0 P1.0 ;改变P1.0的状态 P1.0,LOOP P1.1 ;P1.0的上升沿,改变P1.1的状态 LOOP ;产生连续的方波
8. 用方式0设计两个不同频率的方波,P1.0输出频率为200Hz, P1.1输出频率为 100Hz,晶振频率12MHz。
5ms 10ms
解:① TMOD初始化: GATE=0 , C/T=0, M1M0=00B ②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH ORG 0000H =1111000001100B START:MOV TMOD, #00H ;(主程序开始)定时器T1工作方式0
9. P1.0输出脉冲宽度调制(PWM)信号,即脉冲频率为2kHz、占 空比为7:10的矩形波,晶振频率12MHz。
方式1:X = 216 - t/T = 216 -1/2000*30%*12*106/12 =FF69H 方式1:X = 216 - t/T = 216 -1/2000*70%*12*106/12 = FEA1H
10. 两只开关分别接入P3.0、P3.1,在开关信号4种不同的组合 逻辑状态,使P1.0分别输出频率0.5kHz、1kHz、2kHz、4kHz 的方波,晶振频率为12MHz。 查询方式。 解:①TMOD初始化: GATE=0 , C/T=0, M1M0=10B ②计算初值:方式2:X = 28 – t(fosc/12)=256-125(12/12)=83H
相关主题