08级第四次作业讲评
更新时间:2023-11-28 07:32:01 阅读量: 教育文库 文档下载
课本第二版,160页
8、利用定时器/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHZ。试设计程序。
解法1(讲授者提供):
波形如图所示
20ms
1000ms
从图中可分析出,高电平持续时间是20ms,低电平持续时间是980ms,低电平为高电平持续时间的49倍。
用T0的方式1(16位的定时器方式),定时20ms,采取中断方式,在中断服务程序中,利用R7作为计数的寄存器,赋值50,每次20ms中断之后将R7内容减一,当R7是50时也就是第一次20ms将P1.0置高电平,当R7小于等于49时将P1.0清零,R7减到0了则赋回初值50,而时间常数计算如下式:
其中,定时长度为20ms,并由于晶振频率为12MHZ,所以机器周期长度为1微秒
定时长度2?X?机器周期长度1620?10?3??20000 ?61?10X?65536?20000?45536?0B1E0H
程序如下:
ORG 0 SJMP MAIN ORG 0BH SJMP INT0 ORG 30H
MAIN: MOV TMOD, #1
MOV TH0, #0B1H MOV TL0, #0E0H
SETB ET0 SETB EA
MOV R7, #50 SETB P1.0 SETB TR0 SJMP $
INT0: MOV TH0, #0B1H MOV TL0, #0E0H DJNZ R7, EXIT MOV R7, #50 SETB P1.0 SIMP BACK
T0中断入口地址 开启T0中断允许,开启总中断允许 重装对应20ms的时间常数 1
EXIT: CLR P1.0 BACK: RETI END
解法2(教材著者提供,蓝色字体为原来的,红色字体为增加的批注):
采用定时20ms,然后再计数1、49次的方法实现。
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12 MHz,所以机器周期Tcy为1μs。 N=t/ Tcy =20×10-3/1×10-6=20000
X=216-N=65536-20000=45536=4E20H(计算错误,正确为0B1E0H)
即应将4EH(错误,应为0B1H)送入TH1中,20H(错误,应为0E0H)送入TL1中。 c、实现程序如下: ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 0030H
MAIN: MOV TMOD, #01H ;设T1工作于方式2
MOV TH0, # 4EH ;装入循环计数初值(错误,应为0B1H) MOV TL0, #20H ;首次计数值(错误,应为0E0H) LP0: SETB P1.0 ACALL NT0 1次的20ms定时,总共20ms的高电平 CLR P1.0 MOV R7, #49 ;计数49次 LP1: ACALL NT0 循环49次的20ms定时,总共980ms的低电平 DJNZ R7, LP1 AJMP LP0 ;以下是20毫秒的子程序
NT0: MOV TH0, # 4EH (错误,应为0B1H) MOV TL0, #20H SETB TR0 JNB TF0, $ CLR TR0 CLR TF0 RET END
9、要求从P1.1引脚输出1000HZ的方波,晶振频率为12MHZ。试设计程序。 解法1(讲授者提供):
1000HZ的方波的周期是1ms,则每隔0.5ms对P1.1取反一次则成为一个方波信号, 用T0的方式1定时0.5ms,采取中断方式,初值计算如下式:
其中,定时长度为0.5ms,并由于晶振频率为12MHZ,所以机器周期长度为1微秒
定时长度2?X?机器周期长度160.5?10?3??500 1?10?62
X?65536?500?65036?0FE0CH
程序如下:
ORG 0 SJMP MAIN ORG 0BH T0中断入口地址 SJMP INT0 ORG 30H
MAIN: MOV TMOD, #1
MOV TH0, #0FEH MOV TL0, #0CH
SETB ET0
开启T0中断允许,开启总中断允许 SETB EA
SETB P1.1 SETB TR0 SJMP $
INT0: MOV TH0, #0FEH MOV TL0, #0CH CPL 1.1
RETI END
解法2(教材著者提供,蓝色字体为原来的,红色字体为增加的批注):
采用T0实现
a、T0工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;
b、计算计数初值X:
晶振为12 MHz,所以机器周期Tcy为1μs。1/1000=1×10-3 N=t/ Tcy =0.5×10-3/1×10-6=500
X=216-N=65536-500=65036=FE0CH
即应将FEH送入TH0中,0CH送入TL0中。
c、实现程序如下:
ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 000BH ;T0的中断入口地址 LJMP DVT0
ORG 0030H
MAIN:MOV TMOD,#01H ;设T0工作于方式2(错误,改为1) MOV TH0,# 0FEH ;装入循环计数初值 MOV TL0,#0CH ;首次计数值 SETB ET0 ;T0开中断
3
SETB EA ;CPU开总中断 SETB TR0 ;启动T0 SJMP $ ;等待中断 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH
SETB TR0 ; (该指令多余) RETI END
10、试用定时器/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHZ。
解法1(讲授者提供):
首先将T1设成方式1的计数模式,所以
(TMOD)= #50H, 而计数初值=65536-100=65436=0FF9CH 所以此时,(TH1)= #0FFH, (TL1)= #9CH 或者将T1设置成方式2的计数模式更为优越,因为此时常数自动重装,如下所示: 首先将T1设置成方式2的计数模式,所以 (TMOD)= #60H, 而计数初值=256-100=156=9CH 所以此时,(TH1)= #9CH, (TL1)= #9CH 而当计够100次之后产生中断,将T1设成方式1的定时模式,所以
(TMOD)= #10H,其中,定时长度为10ms,并由于晶振频率为12MHZ,所以机器周期长度为1微秒,定时初值计算如下:
定时长度216?X?机器周期长度10?10?3??10000 ?61?10X?65536?10000?55536?0D8F0H
所以此时,(TH1)= #0D8H, (TL1)= #0F0H
程序采用中断方式,则计数中断和定时中断都会进入该中断服务程序,由于计数中断和定时中断是交替进行的,所以用一个软件标志位表示进入中断服务程序时的“奇、偶”次,在此选取PSW的一个用户自定义位PSW.5,该位的位名称是F0,规定在F0清零的时候标志着计数功能,F0置位的时候标志着定时功能,并初始化时将F0清零,而在每次进入中断服务程序时都将它取反,从而实现计数功能与定时功能的交替。
程序如下所示:
ORG 0 SJMP MAIN ORG 1BH SJMP INT1
ORG 30H
4
MAIN: MOV TMOD, #50H
MOV TH1, #0FFH MOV TL1, #9CH CLR F0
SETB ET1 SETB EA CLR P1.7 SETB TR1 SJMP $
INT1: CPL F0 ;每次进入中断服务程序,都改变F0的奇偶性
JNB F0, POSI SETB P1.7 ;定时方式期间,P1.7高电平 MOV TMOD, #10H MOV TH1, #0D8H 定时10ms,高电平会持续10ms, MOV TL1, #0F0H 也就是正脉冲的高电平期间 SJMP EXIT POSI: CLR P1.7 ;计数方式期间,P1.7低电平 MOV TMOD, #50H MOV TH1, #0FFH 计数100次,此时也就是正脉冲的 MOV TL1, #9CH 低电平持续期间 EXIT: RETI END
解法2(教材著者提供,蓝色字体为原来的,红色字体为增加的批注):
a、T1工作在计数方式2时,控制字TMOD配置:
M1M0=10,GATE=0,C/T=1,可取方式控制字为60H; T1工作在定时方式1时,控制字TMOD配置:
M1M0=01,GATE=0,C/T=0,可取方式控制字为10H;
b、计算初值X: 定时10ms时:
晶振为12 MHz,所以机器周期Tcy为1μs。 N=t/ Tcy =10×10-3/1×10-6=10000
X=216-N=65536-10000=55536=D8F0H
即应将D8H送入TH1中,F0H送入TL1中。 计数100时:
N=100
X=28-N=256-100=156=9CH
5
正在阅读:
08级第四次作业讲评11-28
安全检查制度12-12
投标人财务承诺书06-12
计算机基础练习题0208-09
镇远县旅游业发展现状和营销对策研究04-20
毕业论文开题报告05-02
数学培优班题典(四年级)05-14
文化生活第四五课学案07-01
方向图函数03-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 讲评
- 作业
- 新年讲章:面对新的一年
- 01煜编文学考研资料前言与说明
- 2019年旅游管理专业应届毕业生旅行社实习报告
- 2019 编导艺考模拟真题和2018考试真题
- Cre重组酶的研究进展 - 图文
- 人教版二年级下册快乐课堂答案
- 中央广播电视大学土本工程本科河沙治理作业答案一
- 文物保护复习题
- 浙教版科学八年级上科学第二章单元测试题
- 露天矿边坡预警方法与预警系统总结
- 电镀锡工艺描述
- 自动控制原理实验报告
- 16秋浙大《电子技术基础》在线作业
- 教育系统网络与信息安全工作应急预案
- 2013年高考作文题目大猜想
- 2016年安全生产月知识竞赛试题库16
- 古代汉语-中南大学网络教育学院网上作业模拟练习题
- 推销学试题库
- Java2 实用教程习题8-16
- 西师版三年级数学(上)解决问题专项练习题