两位十进制倒计时秒表定时器讲述.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
两位十进制倒计时秒表定时器 【实验要求】 开始时,两个数码管显示定时的秒数为 60,按“启动”按钮后开始计时,两个数码管显示 从启动开始的秒数,每秒减 1.显示到0 秒时,显示“00”不断闪烁,并且发声报警。再按 “启动”按钮后,又重新开始倒计时。 【实验设计思路】 用定时器1 进行50ms 定时,则当二十次中断时为一秒,实现当前数码减一的功能,而数码 管则是分别显示当前数码的十位和个位,当外部中断 0 有中断信号的时候将当前数码置为 60;同时开启定时器,每秒使得该数码减一,直到减为零的时候开启定时器零同时关闭定时 器 1,使得当前数码不变。且调用长延时显示程序,实现数码闪烁功能,此时定时器0,定 时改变声波端口,产生稳定方波,送入扬声器中发出警报音。 【实验硬件连线及其说明】 电子发声设计 一个音符对应一个频率,将对应一个音符频率的方波通到扬声器上,就可以发出 这个音符的声音。将一段乐曲的音符对应频率的方波依次送到扬声器,就可以演奏出这 段乐曲。利用定时器控制单片机的 I/O 引脚输出方波,将相应一种频率的计数初值写 入计数器,就可产生对应频率的方波。 要产生音频脉冲,只要计算出某一音频的周期(1/频率),然后将此周期除以2, 即为半周期的时间。利用定时器计时这个半周期时间。每当计时到后就将输出脉冲的I/O 反相,就可以在I/O脚上得到此频率的脉冲。 音符与频率对照关系如表所示。对于每一个音符的演奏时间,可以通过软件延时 来处理。首先确定单位延时时间程序(根据CPU的频率不同而有所变化)。然后确定每 个音符演奏需要几个单位时间,就几次调用延时子程序即可。 表 音符与频率对照表(单位:Hz) 频率表是将曲谱中的音符对应的频率值依次记录下来,时间表是将各个音符发音的相 对时间记录下来(由曲谱中节拍得出)。 频率表和时间表是一一对应的,频率表的最后一项为0,作为重复的标志。根据频率表 中的频率算出对应的计数初值,然后依次写入T0 的计数器。将时间表中相对时间值带入延 时程序来得到音符演奏时间。 参考流程图 电子发声单元原理图 电子发声接线图 【程序流程图】 开始 中断设置及 其初始化 shi==0 否 ge==0 play(shi,ge) 否 是否有外 部中断 是 TR0= 1 TR 1= 1 play 1(shi,ge) m 【实验程序】 #includereg52.h #define uchar unsigned char #define uint unsigned int #define Clk 0x070000 sbit POUT = P0^0; //扬声器控制引脚 sbit P2_7=P2^7; sbit P2_4=P2^4; uint shi,ge,num; int m; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39}; void delayms(uint xms) { uint i,j; for(i=xms;i0;i--) for(j=110;j0;j--); } void play(uint shi,uint ge) { P2_7=0;P0=table[shi];P2_7=1; P2_4=0;P0=table[ge];P2_4=1; } void play1(uint shi,ui

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档