您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制采用AT90S8515单片机控制的LED时钟程序 正文
采用AT90S8515单片机控制的LED时钟程序

采用AT90S8515单片机控制的LED时钟程序

点击数:7646 次   录入时间:03-04 11:35:11   整理:http://www.55dianzi.com   电脑-单片机-自动控制

   一、电路

    附图是AT90S8515控制的LED时钟的电路简图(仅绘出与键盘和显示相关的连线)。单片机的PBO~PB7接LED共阴数码管的a。h,以控制段码;单片机的PDO~PD5分别接六只LED数码管DO~D5的共阴极,用来控制位码。 PCO~PC7作为4x4键盘的输入口,PD7作为双功能选择键SHIFT的输入口。若单独按下4x4键盘中的任意键,为数字键O—F;若按住SHIFT键的同时,再按数字键,则执行第二键功能。

AT90S8515控制的LED时钟的电路简图


  
  二、LED时钟程序SLAVR745.ASM

      SL-AVR发实验器随机光盘中的SLAVR745.ASM是由双龙公司编制的LED时钟的源程序。
  
  1.源程序汇编运行汇编程序wavr asm,打开SLAVR745.ASM程序,执行Assemnble命令对SLAVR745,ASM程序进行汇编,生成SLAVR745.EEP、SLAVR745.OBJ、SLAVR745.HEX、SLAVR745.LST文件。
  
  2.串行下载、运行用串行下载线将SL-AVR的C22与AT3连接好,将单片机AT90S8515插入锁紧插座并锁紧。将SL-AVR开发实验器与PC机串口连接好,接上电源线后开启电源。运行串行下载程序Avr Prog,将SLAVR745.HEX文件下载到SL -AVR开发实验器中的AT90S8515中。按复位键,程序开始运行,LED显示器显示00.00.00,等待输入当前时间。
  
  从键盘输入时、分、秒(此时小数点所在位置为当前输入位的光标指示)。在确认输入的时间是正确的后,按执行键(SHIFT+EXEC),启动时钟,LED数码管显示当前时间。按复位键(SL-AVR开发实验器左下方)程序从头开始运行。
  
  3.程序的不足此程序经运行检验,基本时钟功能是实现了的。但在接受键盘输入的时间时,未加输入值超范围处理,也就是说,无论输入值是否为有效的时间,程序都照收,导致时钟计时出错。读者可以思考一下,如何解决此问题。
  
  三、将LED时钟改为倒计时时钟

    在实际应用中,常常会遇到过一段时间后要办某件事情的情况,我们往往是先设定好时间,然后倒计时,当计时器降至O时,发出提示。
  
  对LED时钟程序SLAVR745.ASM稍加改动,即可构成LED倒计时时钟。具体操作如下:
  
  1.修改文件属性

    将SLAVR745、ASM另存为新文件,如AVR745B.
  
  ASM,将AVR745B.ASM的文件属性改为“正常”。
  
  2.修改程序、汇编
 
    运行汇编程序wavr asm,打开AVR745B.ASM程序。该程序中定时修改时间值的一段程序如下:

42555


  
  该段程序首先判断是否计到1秒,若到1秒,则修改显示的时间值(显示时间值加1秒),若不到1秒,则中断返回。
  
  将该段程序改为判断是否计到1秒,若到1秒,则修改显示的时间值(显示时间值减1秒),减至O时,发出提示信号,若不到1秒,则中断返回。这样便将LED时钟改为倒计时钟了。程序改动如下:

4255

4277

  执行Assemble命令对AVR745B.ASM程序进行汇编,生成AVR745B.EEP、AVR745B.OBJ、AVR745B.HEX、AVR745B.LST文件。
  
  3.串行下载、运行

  按本文前面所述的方法,将AVR745B.HEX文件下载到SL-AVR开发实验器中的AT90S8515中。按复位键,程序开始运行,LED显示器显示00.00.00,等待输入当前时间。
  
  从键盘输入时、分、秒(此时小数点所在位置为当前输入位的光标指示)。在确认输入的时间是正确的后,按执行键(SHIFT+EXEC),启动时钟,LED数码管开始倒计时。当时间减至O时,锁紧插座右边最下边的发光二极管点亮,发出时间到的提示。
  
  4.声音提示

    若希望倒计时时间到后发出音乐提示声,可以将乐曲.ASM程序稍加修改,在倒计时时间到时执行该程序,便可以达到音乐提示的目的了。

 




本文关键字:单片机  程序  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制