任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)

2024-07-11
| 19页
| 88人阅读
| 1人下载
普通

内容正文:

任务4-1控制LED发光二极管隔1秒闪烁 1.掌握定时计数器编程控制方法 2.掌握定时计数器的查询方式编程要点 3.掌握定时计数器的中断方式编程要点 一.任务目标 二.任务要求 任务描述:通过P1.x口线控制外接的LED发光二极管亮1秒、灭1秒,循环不止。 三. 相关知识 (一) 16位加法计数器 定时计数器的核心是16位加法计数器,单片机有两个定时计数器T0和T1,它们的计数值分别装在特殊功能寄存器TH1、TL1及TH0、TL0里。TH0、TL0是定时计数器T0加法计数器的高8位和低8位,TH1、TL1是定时计数器T1加法计数器的高8位和低8位。 作计数器用时,加法计数器对芯片引脚T0(P3.4)或T1(P3.5)上的输入脉冲计数。每输入一个脉冲,加法计数器中值增加1。加法计数溢出时可向CPU发出中断请求信号。 作定时器用时,加法计数器对内部机器周期脉冲T计数。由于机器周期是定值,所以对T的计数就是定时,如T=1s,计数值100,相当于定时100s。 加法计数器的初值可以由程序设定,设置的初值不同,计数值或定时时间就不同。 (二)定时计数器方式控制寄存器TMOD (1)D7位(GATE)——T1的门控位: 当GATE=0时,只要控制位TR1置1,就可启动定时器T1的工作; 当GATE=1时,除了需要控制位TR1置1外,还要使INT1引脚为高电平,才能启动定时器T1的工作。 (2)D6位(C/T)——T1的功能选择位: 当C/T=0时,T1为定时器方式; 当C/T=1时,T1为计数器方式。 (3)D5、D4位(M1、M0)——T1的工作方式选择位: 由这两位的四种组合定义的T1的工作方式见表。 (二)定时计数器方式控制寄存器TMOD (4)D3位(GATE)——T0的门控位: 当GATE=0时,只要控制位TR0置1,就可启动定时器T0的工作; 当GATE=1时,除了需要控制位TR0置1外,还要使INT0 引脚为高电平,才能启动定时器T0的工作。 (5)D2位(C/T)——T0的功能选择位: 当C/T=0时,T0为定时器方式; 当C/T=1时,T0为计数器方式。 (6)D1、D0位(M1、M0)——T0的工作方式选择位: 由这两位的四种组合定义的T0的工作方式见。 (三)定时计数器控制寄存器TCON (1)TCON.7位(TF1)——定时器T1的溢出标志位: 当定时器T1计满溢出时,由硬件使TF1置1,并且向CPU发出中断请求;进入中断服务子程序后,由硬件自动清0;若程序中未允许中断响应(查询方式),则由指令清0。 (2)TCON.6位(TR1)——定时器T1运行控制位: 当TR1=1时,启动定时器T1工作,当GATE=1时,除了需要控制位TR1置1外,还要使INT1 引脚为高电平,才能启动定时器T1的工作; 当TR1=0时,关闭定时器T1。 (3)TCON.5位(TF0)——定时器T0的溢出标志位: 功能及操作情况同TF1。 (4)TCON.4位(TR0)——定时器T0运行控制位: 功能及操作情况同TR1。 (三)定时计数器方式控制寄存器TMOD (5)TCON.3位(IE1)——外部中断1(INT1)的请求标志位: 当IE1=1时,外部中断1向CPU发出中断请求。 (6)TCON.2位(IT1)——外部中断1(INT1)触发方式选择位: 当IT1=1时,选择下降沿作为中断请求信号; 当IT1=0时,则选择低电平作为中断请求信号。 (7)TCON.1位(IE0)——外部中断0(INT0)的请求标志位: 当IE1=0时,外部中断0向CPU发出中断请求。 (8)TCON.0位(IT0)——外部中断0(INT0)触发方式选择位: 当IT0=1时,选择下降沿作为中断请求信号; 当IT0=0时,则选择低电平作为中断请求信号。 (四)定时计数器方式0(M1M0=00) 在方式0工作条件下,T0(或T1)是13位计数器。计数器由TH0(或TH1)的全部8位和TL0(或TL1)的低5位构成,TL0(或TL1)的高3位没有使用。可用程序将0~8191(2131)中的某一数送入TH0(或TH1)、TL0(或TL1)作为初值。TH0(或TH1)、TL0(或TL1)从初值开始加法计数,直至溢出。所以初值不同,定时时间或计数值不同. (五)定时计数器方式1(M1M0=01) 当M1M0=01时,定时计数器设定为工作方式1,构成16位计数器。此时THx, TLx都是8位加法计数器。其他与工作方式0相同。 在方式1时,计数器的计数值由下式确定: N=216x=65536x 计数范围为1~65536。 在定时计数器的使用过程中,有一个概念非常重要,就是定时器的定时时间。所谓定时时间就是指定时计数器从开始工作到计满溢出所花的时间。它由下式确定: t=NT=(65536x)T 式中,T为机器周期;x为计数初值。 这个式子非常重要,是我们使用的定时计数器的出发点,当单片机晶振确定后,机器周期T就一定了,这个时候的定时时间就只由计数初值x决定,在定时计数器开始工作之前,我们向TH1, TL1(当然也可以是TH0和TL0)装入不同的初值,就会得到不同的定时时间了。 (三)单片机的程序和数据的存放 1. 程序存储器 只读程序存储器(ROM) EA的作用 2.数据存储器 (1)内部数据存储器低128单元 四、任务分析 1、硬件电路 2、软件分析—查询方式 #include <reg51.h> sbit P1_1 = P1^1; void delay_1s(); void main() { while(1) { P1_1=0; delay_1s(); P1_1=1; delay_1s(); } } void delay_1s() { void delay_1s() { unsigned int R1; for(R1=10;R1>0;R1--) { TMOD=0x01; TH0=0x3C; TL0=0xB0; TR0=1; while(!TF0); TF0=0; } } 中断方式 #include <reg51.h> sbit P1_1 = P1^1; sbit TCON_4=TCON^4; sbit TCON_5=TCON^5; unsigned int R1; void main() { P1_1=0; R1=10; TMOD=0x01; TH0=0x3C; TL0=0xB0; EA=1; ET0=1; TR0=1; while(1); } void ISR_Timer0() interrupt 1 { R1--; if(R1==0) { P1_1=!P1_1; R1=10; } TH0=0x3C; TL0=0xB0; TR0=1; } 五.任务实施 1、在Proteus软件中按图搭接好电路; 2、在Keil软件中编辑程序,进行编译,得到HEX格式文件; 3、将所得的HEX格式文件在Proteus中加载到单片机芯片中; 4、在Proteus中仿真,观察仿真结果; 5、Proteus中结果正常后,用实际硬件搭接并调试电路,通过编程器将HEX格式文件下载到AT89C51中,通电验证实验结果 六、任务总结 任务回顾 课后作业 思考题 标志 Thank you! $$

资源预览图

任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)
1
任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)
2
任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)
3
任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)
4
任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)
5
任务4-1控制LED发光二极管隔1秒闪烁(课件)-《单片机技术与应用》同步教学(电子工业版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。