《实验三 定时器计数器及中断实验幻灯片.ppt》由会员分享,可在线阅读,更多相关《实验三 定时器计数器及中断实验幻灯片.ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验三 定时器计数器及中断实验第1页,共12页,编辑于2022年,星期五二、实验原理二、实验原理 1 1、与定时器相关的、与定时器相关的SFRSFR方式寄存器方式寄存器TMODTMODGATEGATE:控制方式选择位:控制方式选择位GATE=0,计数器由内部TRX位来控制定时/计数器的启动和停止GATE=1,定时/计数器由TRX和INTX位共同控制启动和停止GATEC/TM1M0GATEC/TM1M0第2页,共12页,编辑于2022年,星期五二、实验原理二、实验原理 C/TC/T:定时:定时/计数器方式选择位计数器方式选择位C/T=0,定时/计数器工作在定时方式,对内部振荡时钟12分频脉冲进行
2、计数;C/T=1,定时/计数器工作在计数方式,计数器对来自引脚T0和T1的外部脉冲进行计数第3页,共12页,编辑于2022年,星期五二、实验原理二、实验原理 M1M1、M0M0:工作模式控制位:工作模式控制位M1M0工作模式工作模式00模式模式0 0。TLTLX X中的低中的低5 5位和位和THTHX X中的高中的高8 8位构成位构成1313位计数器。位计数器。01模式模式1 1。TL TLX X和和THTHX X构成一个构成一个1616位计数器。位计数器。10模式模式2 2。8 8位自动重装载的定时位自动重装载的定时/计数器,当计数器,当TLTLX X溢出时,溢出时,TH THX X的内容赋
3、给的内容赋给TLTLX X11模式模式3 3。对于定时器。对于定时器0 0,分成,分成2 2个个8 8位计数器,对于定时器位计数器,对于定时器1 1则停止计数。则停止计数。第4页,共12页,编辑于2022年,星期五二、实验原理二、实验原理 控制寄存器控制寄存器TCONTCONTF1TF1:定时器:定时器1 1的溢出标志的溢出标志当定时/计数器溢出时,由硬件置位,申请中断。进入中断服务子程序后被硬件自动清除。TF1TR1TF0TR0IE1IT1IE0IT0第5页,共12页,编辑于2022年,星期五二、实验原理二、实验原理 TR1TR1:定时器:定时器1 1运行控制位运行控制位通过软件置位或清除,
4、置位时,定时器/计数器接通工作,清除时则停止工作。IE1:IE1:外部边沿触发中断外部边沿触发中断1 1请求标志。请求标志。在检测到INT引脚上出现的外部中断信号的下降沿时,由硬件置位,请求进入中断。进入中断服务子程序后该位自动被清除第6页,共12页,编辑于2022年,星期五二、实验原理二、实验原理 IT1:IT1:外部中断外部中断1 1类型控制位。类型控制位。通过软件来设置或清除,以控制外部中断的触发类型。当IT1=1时,设置为边沿触发方式;当IT1=0时,设置为低电平触发方式第7页,共12页,编辑于2022年,星期五二、实验内容和步骤二、实验内容和步骤 1.利用定时中断控制发光二极管LED
5、1每秒闪烁一次。采用定时器/计数器0定时1秒开关LED1一次,定时器/计数器0工作在方式1,定时方式。系统晶振为 经内部12分频到定时器/计数器0的输入端,每个脉冲宽度为 。定时器的最大计数范围是 第8页,共12页,编辑于2022年,星期五二、实验内容和步骤二、实验内容和步骤 选取定时基准为50ms,需要计数46080个脉冲,则定时器的初值设定为65536-46080=19456,用16进制表示为4C00H#includesbitLED1=P10;unsignedchartick;/软定时器,用于计数50ms的中断次数voidTimer0()interrupt1TH0=0 x4c;/给计数寄存
6、器的高8位赋初值;TL0=0 x00;/给计数寄存器的低8位赋初值;tick+;/软定时器值加1第9页,共12页,编辑于2022年,星期五二、实验内容和步骤二、实验内容和步骤 if(tick=20)LED1=LED1;/LED1的状态求反 tick=0;/软定时器清0,计下1个1秒 main()TMOD=0 x01;/定时器0工作在方式1定时方式 TH0=0 x4c;TL0=0 x00;ET0=1;/允许定时器0溢出中断 EA=1;/开放总中断 TR0=1;/允许定时器0计数 tick=0;/软定时器赋初值 while(1);/等待中断 第10页,共12页,编辑于2022年,星期五二、实验内容
7、和步骤二、实验内容和步骤2.蜂鸣器 蜂鸣器有2种,一种为直流蜂鸣器,一种为交流蜂鸣器,DP-51S上的蜂鸣器为交流蜂鸣器,直流蜂鸣器接通直流工作电源即可按一定的频率发声。其发出的声音的频率不可控。交流蜂鸣器需要提供一定频率交流信号才能发声。图中的BUZZER可通过跳线连P1.3,编写程序在P1.3上产生音频方波信号,控制蜂鸣器按一定的频率发声。第11页,共12页,编辑于2022年,星期五思考题1.为什么软件定时器变量tick选择了unsigned char,直接用char tick会有什么结果?2.若LED的每秒的闪烁次数改为10次、100次,如何修改程序,当LED每秒闪烁的次数很多时你会看到什么现象?第12页,共12页,编辑于2022年,星期五