当前位置:首页 > 单片机原理及应用技术 苏家建 曹柏荣 汪志锋 课后习题参考答案
袀LOOP:MOVA,@R0 CJNEA,#40,PD SJMPDONE PD:JNCPD2 SJMPDONE PD2:CJNEA,#80,PD3 SJMPDONE PD3:JCCOUNT SJMPDONE COUNT:INC40H DONE:INCR0 DJNZR2,LOOP SJMP$ END 螅第六章中断系统
肇
薅
蒃
薂
袆 蚅 袄 羀 衿 蚅 羁 螂 蚈 莂6-1定时器T0和T1各有几种工作方式?请简述。 答:四种。 膃工作方式 肅方式0 螃方式1 羀方式2 薁T0 薈T1 蚇最大计数模芅初值加载方蚁最大计数模罿初值加载方值 式 值 式 1313羄2 螁人工加载 莀2 螇人工加载 1616袀2 蒇人工加载 芅2 薂人工加载 88袈2 羇自动加载 薅2 肀自动加载(常用于串口通信 腿 波特率发生器) 28 TH0、TL0被分成两个相互独立的8位计数器;TL0既可做定时器也可做计数器;TH0可做内部定时器。人工加载初值 莄 蒅 艿方式3 8位计数,无中断产生,自动加载初值,用于不需要中断的场合 膀 6-2已知单片机系统时钟频率fosc=12MHz,若要求定时值分别为0.1ms、1ms、10ms,定时器T0工作在方式0,方式1和方式3时,定时器对应的初值各为多少? 膇定时时间 肃工作方式0膀工作方式1肁工作方式2薄工作方式3初值 初值 初值 初值 膆0.1ms 芀FC1CH 芇FF9CH 芆9CH 袄9CH 莀1ms 蚈E018H 肈FC18H 蚃10ms 蒀D8F0H 聿6-3定时器/计数器T0已预置为156,工作于方式2计数,现T0引脚上输入周期为1ms的脉冲,问: 蒆(1)此时T0的实际用途是? 蒂(2)在什么情况下,T0溢出? 蕿答:(1)计数器 蒀(2)T0可记录100个外部脉冲,即从开始启动工作,经过100ms 开始溢出。 膈6-4设系统时钟为6MHz,利用T0和P1.0产生连续矩形波,高电平宽度为50us,低电平宽度为300us。
蒅解:因为系统时钟为6MHz,则一个计数脉冲为2us,若T0工作于方式1,则P1.0输出高电平T0需记录25个脉冲,计数初值为216-25=FFE7H,,则P1.0输出低电平T0需记录150个脉冲,计数初
16
值为2-150=FF6AH,编程如下
虿ORG0000H
薇LJMPMAIN
蚀
蚆ORG000BH
芄LJMPT00
蝿ORG0100H
羈MAIN:MOVSP,#60H MOVTMOD,#01H
羃MOVTH0,#0FFH
肃MOVTL0,#0E7H
荿SETBEA
袆SETBET0
肆SETBP1.0
膃SETBTR0 螀SJMP$ T00:JNBP1.0,QF
袅MOVTH0,#FFH
芃MOVTL0,#0E7H
膀SJMPDONE QF:MOVTH0,#0FFH
薃MOVTL0,#6AH DONE:CPLP1.0 芇RETI 蚇END
莈
薇
羅
莃
6-5利用定时器来测量单次正脉冲宽度,采用何种方式可获得最大量程?设f0sc=6MHz,求允许测量的最大脉冲宽度是多少?
16
莃答:定时器方式1,最大脉冲宽度为2us*2=131.072ms
莂
蚈6-6试编制一程序,其功能为:当P1.2引脚的电平上跳时,对P1.1的输入脉冲进行计数;当P1.2
引脚的电平下跳时,停止计数,并将计数值写入R6与R7。
膅解:P1.1接P3.4引脚,利用T0做计数器,工作于方式1,初值为0(T0未工作于中断方式)
莅ORG0000H
蒃LJMPMAIN
腿;ORG000BH
袇ORG0100H
膄MAIN:
薂MOVSP,#60H
薀MOVR6,#0
莅MOVR7,#0
羃MOVTMOD,#05H
蚂MOVTH0,#0
蚇MOVTL0,#0
肇LOOP:JNBP1.2,LOOP
蚂SETBTR0 LOOP1:JBP1.2,LOOP1
肈CLRTR0
蒅MOVR6,TH0
螅MOVR7,TL0
螂
共分享92篇相关文档