- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、实验原理 二、实验原理 二、实验原理 二、实验原理 二、实验原理 二、实验原理 二、实验内容和步骤 利用定时中断控制发光二极管LED1每秒闪烁一次。 采用定时器/计数器0定时1秒开关LED1一次,定时器/计数 器0工作在方式1,定时方式。系统晶振为 经内部12分频到定时器/计数器0的输入端,每个脉冲宽度为 。定时器的最大计数范围是 二、实验内容和步骤 选取定时基准为50ms,需要计数46080个脉冲,则定 时器的初值设定为65536-46080=19456,用16进制表示为 4C00H #include reg51.hsbit LED1=P1^0;unsigned char tick;?//软定时器,用于计数50ms的中断次数void Timer0( ) interrupt 1{? TH0=0x4c;???????//给计数寄存器的高8位赋初值;??? TL0=0x00; ? //给计数寄存器的低8位赋初值;??? tick++;?????????//软定时器值加1 二、实验内容和步骤 if(tick==20)????? {??? LED1=~LED1;??//LED1的状态求反??? tick=0;??????//软定时器清0,计下1个1秒 }}main(){?? TMOD=0x01;?? //定时器0工作在方式1定时方式?? TH0=0x4c;???? ?? TL0=0x00;?? ET0=1;??????? //允许定时器0溢出中断?? EA=1;???????? //开放总中断?? TR0=1;??????? //允许定时器0计数?? tick=0;???????//软定时器赋初值?? while(1);?????//等待中断} 二、实验内容和步骤 蜂鸣器 蜂鸣器有2种,一种为直流蜂鸣器,一种为交流蜂鸣 器,DP-51S上的蜂鸣器为交流蜂鸣器,直流蜂鸣器接通 直流工作电源即可按一定的频率发声。其发出的声音的 频率不可控。交流蜂鸣器需要提供一定频率交流信号才 能发声。图中的BUZZER可通过跳线连P1.3,编写程序在 P1.3上产生音频方波信号,控制蜂鸣器按一定的频率发 声。 思考题 为什么软件定时器变量tick选择了unsigned char,直接用char? tick会有什么结果? 若LED的每秒的闪烁次数改为10次、100次,如何修改程序,当LED每秒闪烁的次数很多时你会看到什么现象? * * 1、与定时器相关的SFR 方式寄存器TMOD GATE:控制方式选择位 GATE=0,计数器由内部TRX位来控制定时/计数器的启动和停止 GATE=1,定时/计数器由TRX和INTX位共同控制启动和停止 M0 M1 C/T GATE M0 M1 C/T GATE C/T:定时/计数器方式选择位 C/T=0,定时/计数器工作在定时方式,对内部振荡时钟12分频 脉冲进行计数; C/T=1,定时/计数器工作在计数方式,计数器对来自引脚T0和 T1的外部脉冲进行计数 M1、M0:工作模式控制位 模式3。对于定时器0,分成2个8位计数器,对于定时器1则停止计数。 1 1 模式2。8位自动重装载的定时/计数器,当TLX溢出时, THX的内容赋给TLX 0 1 模式1。 TLX和THX构成一个16位计数器。 1 0 模式0。TLX中的低5位和THX中的高8位构成13位计数器。 0 0 工作模式 M0 M1 控制寄存器TCON TF1:定时器1的溢出标志 当定时/计数器溢出时,由硬件置位,申请中断。进入中断服 务子程序后被硬件自动清除。 IT0 IE0 IT1 IE1 TR0 TF0 TR1 TF1 TR1:定时器1运行控制位 通过软件置位或清除,置位时,定时器/计数器接通工作,清 除时则停止工作。 IE1:外部边沿触发中断1请求标志。 在检测到INT引脚上出现的外部中断信号的下降沿时,由硬件 置位,请求进入中断。进入中断服务子程序后该位自动被清除 IT1:外部中断1类型控制位。 通过软件来设置或清除,以控制外部中断的触发类型。 当IT1=1时,设置为边沿触发方式; 当IT1=0时,设置为低电平触发方式 *
文档评论(0)