第6章作业及答案
更新时间:2024-04-27 12:15:01 阅读量: 综合文库 文档下载
第6章作业
1、说明定时器T0的四种工作方式。(P.145 第6题)
M1 M0 0 0 0 1 1 0 1 1 工作模式 0 1 2 3 功 能 说 明 13位的定时/计数模式,TL0的高3位没用。 16位的定时/计数模式 8位、初始值自动加载的定时/计数模式。 将T0分成两个相互独立的、8位的定时/计数模式。
2、假设单片机晶振fosc=6MHz,若要求定时分别为0.1ms , 1ms , 10ms,定时器T0工作在方式0、方式1、方式2时,其初值应为多少? 晶振fosc=6MHz,则机器周期为2us
定时0.1ms时的初始值: 50=110010 B
模式0:(213-50)=(8192-50)=8142=1111 1110 0 1110 B TH0=#FEH0 ; TL0=#0EH
模式1:(216-50)=(65536-50)=65486=1111 1111 1100 1110 B TH0=#0FFH ;TL0=#0CEH 模式2:(28-50)=(256-50)=206=1100 1110 B TH0=#0CEH ; TL0=#0CEH 定时1ms时的初始值: 500=111110100 B
模式0:(213-500)=(8192-500)=7692=1111 0000 0 1100 B TH0=#0F0H ; TL0=#0CH
模式1:(216-500)=(65536-500)=65036=1111 1110 0000 1100 B TH0=#0FEH ; TL0=#0CH 定时10ms时的初始值: 5000=1001110001000 B
模式1:(216-5000)=(65536-5000)=60536=1110 1100 0111 1000 B TH0=#0ECH ; TL0=#78H
3、假设单片机晶振fosc=6MHz,请利用T0和P1.0输出矩形波,矩形波的高电平宽50us,低电平宽300us。(P.145 第13)
晶振fosc=6MHz→机器周期为2us 定时器T0使之工作于模式3
定时50us的初值为:256-25=231 (E7H) 定时300US的初值为:256-150=106 (6AH) 方法1:
MOV TMOD , #00000011B ;T0工作于模式3 MOV TCON ,#0 ;清TR0 , TF0
MOV TL0 , #0E7H ;高电平初值。 256-25 SETB P1.0 ;P1.0口输出高电平 SETB TR0 ;启动定时器T0
LOOP1: JNB TF0 , LOOP1 ;检测T0是否溢出 CLR TF0 ;清除溢出标志 CLR TR0 ;关闭定时器
MOV TL0 , #6AH ;写低电平初值 256-150 SETB TR0 ;启动定时器T0
CLR P1.0 ;使P1.0输出低电平
LOOP2: JNB TF0 , LOOP2 ;检测T0是否溢出 CLR TF0 ;清除溢出标志 CLR TR0 ;关闭定时器
MOV TL0 , #0E7H ;写高电平初值 256-25 SETB TR0 ;启动定时器T0
SETB P1.0 ;使P1.0输出高电平 SJMP LOOP1 ;重复
方法2:
MOV TMOD , #03H ; T0工作于模式3 MOV TCON , #0 ; 清TR0 , TF0
MOV TL0 , #0E7H ; 高电平初值。 256-25 SETB P1.0 ; P1.0口输出高电平 SETB TR0 ; 启动定时器T0
LOOP: JNB TF0 , LOOP ; 检测T0是否溢出 CLR TF0 ; 清除溢出标志 CLR TR0 ; 关闭定时器
JNB P1.0 , NEXT ; P1.0口为低电平转移,
; 高电平顺序执行
MOV TL0 , #6AH ; 定时器T0写入低电平的定时初值
SETB TR0 ; 启动定时器T0 CLR P1.0 ; P1.0口输出低电平 SJMP LOOP ; 返回重复
NEXT: MOV TL0 , #0E7H ; 定时器T0写入高电平的定时初值 SETB TR0 ; 启动定时器T0 SETB P1.0 ; P1.0口输出高电平 SJMP LOOP ; 返回重复
4、假设单片机晶振fosc=12MHz,用T1定时,试编程由P1.0和P1.1引脚分别输出周期为2ms和500us的方波。(P.145 第14题)
晶振fosc=6MHz→机器周期为1us 定时器T0使之工作于模式1
定时250us的初值为:65536-250 = 65286 = 1111 1111 0000 0110 B = FF06 H 方法一:
MOV TMOD , #10H ; T1工作于模式1 MOV TCON , #0 ; TR1、TF1清零
MOV TH1 , #0FFH ; 65536-250=(FF06H) MOV TL1 , #05H ;
MOV R7 , #4 ; 2ms是500us的4倍 SETB P1.0 ; P1.0置高电平 SETB P1.1 ; P1.1置高电平 SETB TR1 ; 启动定时器T1
LOOP: JNB TF1 , LOOP ; 定时器是否溢出? CLR TF1 ; 定时器溢出后,清除定时器溢出标志 CPL P1.1 ; 取反P1.1
DJNZ R7 , NEXT ; 4倍关系是否满足? MOV R7 , #4 ; 重写4倍关系 CPL P1.0 ; 取反P1.0
NEXT: CLR TR1 ; 关闭定时器T1
MOV TH1 , #0FFH ; 重写定时器T1的初值 MOV TL1 , #06H ;
SETB TR1 ; 启动定时器T1 SJMP LOOP ; 返回重复
方法二:
MOV TMOD , #20H ; T1工作于模式2 MOV TCON , #0 ; TR1、TF1清零
MOV TH1 , #6 ; 定时500us的初值(256-250)=6
MOV TL1 , #6 ;
MOV R7 ,#4 ; 500us与2ms是4倍的关系
SETB P1.0 ; 将P1.0置高电平 SETB P1.1 ; 将P1.1置高电平 SETB TR1 ; 启动定时器T1
LOOP: JNB TF1 , LOOP ; 定时器T1是否溢出 CLR TF1 ; 清溢出标志TF1 CPL P1.1 ; 取反P1.1口
DJNZ R7 ,LOOP ; (R7)-1→(R7),(R7)是否为0 CPL P1.0 ; 取反P1.0口 MOV R7 , #4 ; 重写R7 SJMP LOOP ; 返回重复
5、编写程序,其功能为:当P1.2引脚的电平上跳时,对P1.1输入的脉冲进行记数;当P1.2引脚的的电平下跳时,停止记数,并将结果存入R7R6中。(P.146 第17题)
MOV TMOD , #05H ; 定时器T0工作于方式1,计数方式
MOV TCON , #0 ; 清除TF0、TR0。
MOV TH0 , #0 ; 定时器T0初始值清零 MOV TL0 , #0 ;
LOOP1: JNB P1.2 , LOOP1 ; P1.2的电平是否上跳
SETB TR0 ; 启动定时器T0开始计数
LOOP2: JB P1.2 , LOOP2 ; P1.2的电平是否下跳
CLR TR0 ; 停止计数
MOV A , TL0 ; 将计数结果写入R7、R6, MOV R6 , A ; R6写入低8位 MOV A , TH0 ;
MOV R7 , A ; R7写入高8位
6、设fosc=12MHz,编写程序,其功能为:对T0进行初始化,使之工作于模式2,产生200us的定时,并用查询T0溢出标志TF0的方法,控制P1.0引脚输出周期为2ms的方波。(P.146 第18题)
MOV TMOD , #02H ; T0工作于模式2,定时方式
MOV TCON , #0 ; 清除TF0、TR0。 MOV TH0 , #56 ; (256-200)=56 MOV TL0 , #56 ;
MOV R7 , #5 ; 200us与1ms是5倍的关系 SETB TR0 ; 启动定时器T0 SETB P1.0 ; 将P1.0置高电平
LOOP: JNB TF0 , LOOP ; 检测T0的溢出标志
CLR TF0 ; 清除T0的溢出标志 DJNZ R7 , LOOP ; 是否到5次
MOV R7 , #5 ; 重新写入计数次数 CPL P1.0 ; 取反P1.0口 SJMP LOOP ; 循环往复 7、fosc=6MHz,用模式1编程实现:以定时器T1进行外部事件计数,每计数1000个脉冲后,定时器T1转为定时工作方式,定时10ms后又转为计数方式,如此循环不止。(P.145 第8题)
MOV TCON , #0 ; 清TF1、TR1
START: MOV TMOD , #50H ; T1工作于模式1,计数方式
MOV TH1 , #0FCH ; (65536-1000)=FC18H MOV TL1 , #18H ;
SETB TR1 ; 启动T1,计数开始
LOOP1: JNB TF1 , LOOP1 ; 检测T1溢出标志
CLR TF1 ; 清除T1溢出标志
MOV TMOD , #10H ; T1工作于模式1,定时方式 CLR TR1 ; 关闭T1
MOV TH1 , #0ECH ; (65536-5000)=EC6EH MOV TL1 , #6EH ;
SETB TR1 ; 启动定时器T1
反复循环。设晶振频率为12MHz。
定时器T1确定工作于方式1
计数100的初始值为:65536-100 100=64+32+4=01100100 B
65536-100=1111 1111 1001 1100 B = FF9CH 定时10ms的初始值为:65536-10000
5000=4096+512+256+128+8 =1001110001000
65536-5000=60536=1110 1100 0111 1000 B = EC78H 参考程序如下:
LOOP3: CLR TR1 ;关闭定时器T1
CLR TF1 ;清除定时器T1的溢出标志 MOV TMOD 50H ;定时器T1工作于方式1,计数
MOV TH1 , #0FFH ;计数100的初值
MOV TL1 , #9CH ;65536-100=FF9CH SETB TR1 ;启动定时器T1 LOOP1: JNB TF1 , LOOP1 ;等待计数100溢出
MOV TMOD , #10H ;定时器T1工作于方式1,定时 CLR TF1 ;清除定时器溢出标志 CLR TR1 ;关闭定时器T1 MOV TH1 , #0ECH ;定时10ms的初值 MOV TL1 , #78H ;65536-5000=EC78H SETB TR1 ;启动定时器T1
LOOP2: JNB TF1 , LOOP2 ;等待定时10ms溢出 CPL P1.7 ;取反P1.7口 SJMP LOOP3 ;返回循环
14、若单片机晶振为12MHz,利用定时器1方式1,产生1ms的定时,在P1.0脚产生周期为2ms方波,用查询方式工作,查询标志为TF1。 已知fosc =12MHz→1个机器周期为1us 1ms=1000us
初值=65536-1000=54536
64536转换为二进制:1111 1100 0001 1000 T0的低8位:00011000 (18H) T0的高8位:11110000 (FCH) 则有: (TL0) ←#18H ; (TH0) ←#0FCH 参考源程序如下:
MOV TCON , #10H ;定时器T1工作于方式1 MOV TMOD , #0 ;清除TR1、TF1 MOV TH1 , #0FCH ;定时1ms的初值 MOV TL1 , #18H ;65536-1000=FC18H SETB TR1 ;启动定时器T1
LOOP: JNB TF1 , LOOP ;等待定时1ms的溢出 CLR TF1 ;清除溢出标志 CPL P1.0 ;取反P1.0口
CLR TR1 ;关闭定时器T1
MOV TH1 , #0FCH ;重写定时1ms的处值 MOV TL1 , #18H ;重写定时1ms的处值 SETB TR1 ;启动定时器T1 SJMP LOOP ;返回循环 15、系统时钟频率为6 MHz,试用定时器T0作外部计数器,编程实现每计到1000个脉冲,使T1开始2ms定时,定时时间到后,T0又开始计数,这样反复循环不止。
(1) 定时器T0工作于方式1,计数1000的初值为:65536-1000
1000=512+256+128+64+32+8=0000 0001 1111 1000 B 65536-1000=1111 1100 0001 1000 B = FC18H
(2) 晶振fosc=6MHz,机器周期为2us,定时器T0工作于方式1,定时1ms的初值为:65536-500
500=256+128+64+32+16+4 = 0000000111110100 B (取反+1可得到结果)
(65536-500)=65036=1111 1110 0000 1100 B
TH0=#0FEH ; TL0=#0CH (3) 参考程序如下:
LOOP3: MOV TMOD , #0000 0101 B CLR TF0 CLR TR0
MOV TH0 , #0FCH MOV TL0 , #18H SETB TR0
LOOP1: JNB TF0 , LOOP1 CLR TF0 CLR TR0
MOV TMOD , #01H MOV TH0 , #0FEH MOV TL0 , #0CH SETB TR0
LOOP2: JNB TF0 , LOOP2 SJMP LOOP3
正在阅读:
第6章作业及答案04-27
公关作业11-08
数学儿歌游戏10-20
领导干部个人主要表现及特点精选五篇08-08
组织行为学复习题06-12
中国知网上机练习12-04
人员密集场所疏散引导员配备标准及职责制度08-30
非线性电路习题12-20
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 作业
- 答案
- BOSS系统行业现状及发展趋势分析
- 大鹏温湿度的控制与实现
- 2018年国家公务员考试成绩发布时间- 查询入口
- 2014届安溪一中高一年上学期第一次单元考
- 贸易融资试题
- 组胚期考大题重点实例
- 党的群众路线教育实践活动在医院 的学习心得体会
- 十年高考物理分类解析:磁场
- 品质控制管理中心部门职责及售楼处整体品质服务方案
- 《数据结构》填空作业题(答案)分析
- 2013年中考数学第一轮复习最好资料
- 现代汉语练习题库
- 陈一新在全市作风建设大会上的讲话
- 辽宁工程技术大学文件
- 浅谈中国传统文化概论
- 社会组织成立登记可行性报告撰写指引(社会团体)
- 李雪萍《小学低年级语文朗读教学的实践研究》 - 图文
- 人工智能经典试题及答案
- 中石油(北京)宏观经济学—第3次在线作业答案
- 西式面点师初级复习题1