51单片机上超酷流水灯的设计和实现

来源 :中小学信息技术教育 | 被引量 : 0次 | 上传用户:Mr_Law
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在单片机上实现流水灯很简单,只需要几条指令就可以完成,大部分学生都可以完成任务。于是在第二课堂中就此提出了一个新的问题:能不能实现一个亮度渐变的、按规律移动的超酷流水灯?学生都觉得并不是很容易实现,反映的主要问题是IO口只能写开关量(只能写1或者写0),也就是说只能控制LED灯的亮和灭,却不能控制LED灯的亮度,IO口的两值性不能表示出亮度变化的渐变过程。可是在单片机中还有一种PWM技术可用01方式虚拟表示出一个模拟量,通过这个模拟量可控制LED灯实现渐变的过程。本文介绍如何让单片机通过使用PWM技术来实现超酷流水灯的设计方法。
  
  一、什么叫PWM技术
  
  PWM是脉冲宽度调制的简称。PWM波是一个连续的方波,在一个周期中,其高电平和低电平的占空比是不同的。一个典型PWM的波形如图1所示。
  
  在图1中,T是PWM波的周期,T1是高电平的宽度,Vcc是高电平值。可以得到其输出的平均电压为:
  
  式中,T1/T称为PWM波的占空比。控制调节和改变T1的宽度,即改变PWM的占空比,就可以得到不同的平均电压。我们在实际应用中,常可以利用PWM波的输出,实现调节输出电压的功能。
  
  二、如何在单片机上实现PWM
  
  如何周期性地控制输出脉冲?有两种方案:第一种方案是在主程序通过延时控制再输出;第二种方案是通过单片机的计时器中断延时驱动输出。第一种方案占用CPU运行时间;第二种方案计时器可以在后台独立运行,在等待过程中计时器不占用CPU运行时间。
  单片机时钟中断生成PWM时系统有两个状态,状态A输出高电平,状态B输出低电平,状态A和状态B的时间宽度总和不变,为一常数TW,状态A的时间T1和状态B的时间T2分别与需要输出的平均电压相关。
  在单片机实际软件设计上具体的做法是:在定时器中设定下次中断的延时时间,中断发生后,来到状态A,IO脚输出高电平,根据要输出的电压,设定下次中断来的延时时间为T1,T1时间到,新中断发生后,来到状态B,设定IO脚输出低电平,再设定下次中断来的延时时间为T2 (T2=TW-T1),下次中断发生后,来到状态A。周而复始,形成PWM达到调整输出电压的目的。由于输出电压可以变化,外部所接的LED就可以达到渐变的发光效果,流程如图2所示。
  
  图3是一个输出平均电压逐渐变大的例子,TW为常数,T1增大,T2变小,从而达到占空比的变化。
  
  三、PWM时间常数的选择
  
  在硬件上51单片机的CPU主频时钟为22.1184MHZ,由于要求在1秒钟内LED的亮度发生250种变化呈现渐亮效果,所以每次变化时间TW定义为1s/250=4ms,使用51定时器1方式,延时4MS的初始值为0xe333。变化的时间长度为4ms/255,在定时器中的4ms/255的调整时间常数为0x001d。
  
  四、如何实现状态保存
  
  局部变量在函数执行完毕退出时消失,定时器中断过程中定时状态不断地在状态A和状态B中转换,保存状态的方式是使用静态变量的方式,通过静态变量达到变量保存的状态值不随函数退出而丢失的效果。
  
  五、如何实现流水效果
  
  把流水灯的花样通过一个数组来保存(数组名game),这样的好处是修改流水的花样可以通过修改数组元素来达到。因为在1秒钟内,完成其中一个元素渐亮过程,状态发生了2*250即500种变化,通过对状态变化次数进行计数,状态变化次数到500次时把控制对象转化成为下一个数组元素。
  
  六、程序代码(提供时钟中断程序代码片段)
  
  #define TIMER_BEGIN0xe333;//4ms
  const int inc_timer_count=0x001d;
  unsigned char code game[16]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x18,0x24,0x42,0x81,0x03,0x0c,0x30,0xc0};
  volatile unsigned int pre_time_set=0;
  void modi_timer0()interrupt 1 using 1//定时器T0中断
  { static bit c_state=0;//当前状态
  static unsigned int proc_count=0;//处理次数
  static unsigned int timer0_high=0;
  static unsigned int timer0_low=0;
  static unsigned char cur_proc_led=0;
  TR0=0;
  if (!proc_count)
  {
  timer0_high=TIMER_BEGIN;
   timer0_low=0x0ffff;
  }
  if (c_state)//输出低电平,状态为B
  {
   timer0_high=timer0_high inc_timer_count;//调整延时时间
   TH0=(timer0_high )>>8;
   TL0=(timer0_high)
其他文献
在去法国东方语言与文化研究院的路上,司机指着塞纳河边的一些绿铁皮箱子说,这里边都是旧书,现在时间还早,要到十点以后才开。啊,这就是塞纳河边的旧书摊!只见这些铁皮箱子密密麻麻地排列着,足有几百米,很是壮观。司机说,对于这些卖旧书的人,政府是不收税的,但是要保证经常开放,如果长时间不开,政府就会收回这些铁皮箱,转给新的申请人。  以前,只是听说过塞纳河边的旧书摊,很是向往,没想到就在眼前,真想立即下车
1799年12月14日深夜,美国开国总统乔治·华盛顿(George Washington)在自己心爱的弗农山庄溘然长辞。哀讯传来,举国悲痛,美国有四百多个城镇和村落举行了隆重的悼念仪式。在诸多悼文中,流传最广的当属亨利·李(Henry Lee)的悼词。他盛赞华盛顿是“战乱之时第一人,承平之世第一人,国人心中第一人”,简洁、精准、文雅地概括了华盛顿的三大历史功绩:领导北美殖民地独立,缔造美利坚共和国
为了提高中小学教师教育技术能力水平,促进教师专业能力发展,教育部启动了“全国中小学教师教育技术能力培训”,并组织了“《全国中小学教师教育技术能力水平考试》教学人员考试(初级)”。微软Office软件包(以下简称Office,包括Word、PowerPoint和Excel等)作为一套基础的信息技术工具,将其规范和高效地应用于教育教学中的能力,已经和必将成为中小学教师教育技术初级、中、高级能力培训与测
散文集《在香港》(广东高等教育出版社2019年7月版)是周洁茹有关人生阅历和文学创作的一种深度思考,内容真实、沉重。与其在现实中去了解周洁茹本人,倒不如在作品中去阅读她,因为现实中安静,带有一丝神秘感的周洁茹似乎与文学的复杂、模糊没有必然的关系。有时候,甚至我会觉得,作品中的她才是最真实、最有趣味的。《在香港》如同书信、留言、电话等媒介,连接了最真实的周洁茹。壹  读这本散文集时,我仿佛置身于人生
经常有中小学生的家长问我:“该给孩子读什么书最好呢?”我总是不假思索,第一个就推荐《论语》。在我看来,《论语》就是中国人的“圣经”。读的时间越早越好,读的次数越多越好。作为一个中国人,识字之后就可以读《论语》了,甚至倒过来说,完全可以通过读《论语》来识字。  《论语》全书,不过15000多字,读起来并不难,甚至一两个小时就可以读一遍。但遗憾的是,绝大多数人终其一生,都没有把《论语》通读过一遍。人的
毛泽东受教于中国传统文化,少年时期便熟读四书五经、楚辞汉赋、史记汉书、唐宋古文、宋明理学以及明末清初大批思想家的文章,拥有了深厚的国学基础和渊博的历史知识。同时,西学东渐之风日盛,他关心时事,阅读了大量改良派的论著,如郑观应的《盛世危言》、冯桂芬的《校庐抗议》、梁启超的《新民说》等,并广泛涉猎十八九世纪欧洲社会科学和自然科学书籍,如严复翻译的亚当·斯密的《原富》、孟德斯鸠的《法意》、卢梭的《民约论
农村中小学现代远程教育工程的重点是应用。应用包含多个方面,如远程培训、远程同步课堂、在线答疑、资源共享等。而这些不同的应用之间又存在着密切的联系,可以互为所用,互相补充。因此,将农村远程教育所涉及的各个方面整合到一个统一的应用平台是十分可行,而又十分必要的办法。  按照《辽宁省农村党员干部现代远程教育试点工作方案》的要求,沈阳市终端站点由教育部门负责建设的有876所学校(“模式一”2所,“模式二”
随着信息时代的到来,网络技术的发展,引起了整个社会生产、生活方式的深刻变革,改变着人们的工作、学习和思维方式,也促进了教育的极大发展。E-learning作为一种以计算机、多媒体和网络为依托的,以教师为主导和以学生为主体相结合的新的教学与学习模式,不仅改变了传统教育的教学方法和手段,而且孕育着现代教育的教育观念和教学模式。英语教学作为教学领域的一个子系统,不可避免地面临着巨大冲击和挑战。作为英语教
私家藏书,历史悠久,肇始春秋时之孔子,绵延数千年至现代,传承典籍文化,弘扬华夏文明,厥功至伟。壹  历史上藏书者多是嗜读者,藏与读相互促进,在我国此类人众多,或为王公贵族,或系布衣士人,其藏书量或汗牛充栋,或与官藏相埒,有的专藏经史,有的专弆子集,还有的专藏说部,不一而足。他们穷毕生精力藏书研读、校雠刊布、育化后学、乐此不疲。限于古人对死后“灵魂不灭”的认知,许多藏书爱好者生前身后亦祈望能够继续藏
1929年1月19日下午两点,民国著名学人梁启超在北京协和医院与世长辞,终年56岁。此际恰是中国现代史上影响巨大且深远的五四运动爆发后的第十个年头。  当天尚在返京途中的往昔五四领袖胡适,直至夜里九点多方才抵达。来到好友任鸿隽家中,胡抬头恰好望见墙上挂的梁任公手书的一副对子,禁不住询问梁病情如何,任答曰:“你也许见得着他!”  殊不知任公已西去八个多钟头!次日,不顾舟车劳顿,胡适一早赶往广慧寺参加