欢迎来到天天文库
浏览记录
ID:40817937
大小:306.51 KB
页数:9页
时间:2019-08-08
《单片机之呼吸灯(LED)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、原理:用定时器模拟PWM,改变其占空比,用以控制LED的亮度。呼吸灯主要是控制好亮度显示的时间。顺便复习一下中断和定时/计数器的知识。 一、先了解LED的连接情况: VCC接上1K的排阻,再连接LED,当单片机I/O口为0时,LED点亮,I/O口为1时,LED熄灭。 二、有关中断和定时/计数器:(1)中断 第一个,是中断的理解图。 如图,从左向右,可以很清楚的看出中断所需的条件。 A、IP寄存器为优先级的选择(一般默认就OK了,不用管它)。B、IE寄存器为中断允许控制:
2、 EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ES(IE.4),串行口中断允许位; EA(IE.7),CPU中断允许(总允许)位。(只要涉及中断,EA必须为1,即CPU开总中断) C、中断请求标志(TCON和SCON) 主要说说TCON的中断标志,TCON寄存器: I
3、T0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。 TF1
4、(TCON.7),定时/计数器T1溢出中断请求标志位。 中断响应条件 1、中断源有中断请求; 2、此中断源的中断允许位为1; 3、CPU开中断(即EA=1)。以上三条同时满足时,CPU才有可能响应中断。 如:EA=1;//开总中断 EX0=1;//开外部中断0 TCON=0x01;//即IT0=0,此为电平触发方式 最后,要写一个中断函数,如下: voidtimer0
5、()interrupt nusingm { 此处写中断后要执行的程序 } 其中n对应中断的编号,以80C51单片机为例,编号从0~4,分别对应
6、外中断0、定时器0中断、外中断1、定时器1中断和串行口中断。使用using m指定,其中m的值是0~3,对应使用四组工作寄存器。例如可以这样来写: voidtimer0()interrupt1using2 {…} 即表示在该中断程序中使用第2组工作寄存器。说明:using最好不用,CPU会自动分配的。 (2)定时/计数器(重要说说定时器) 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。 TMOD是定时/
7、计数器的工作方式寄存器,确定工作方式和功能; TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式
8、,则表示计数值已满。 设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。说明:如果振荡频率为12MHZ,那么一个机器周期为(1/12)*12=1us,如果计数值为1000,则定时时间为1000*1us=1ms。 1、工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工
此文档下载收益归作者所有