找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3126|回复: 2
打印 上一主题 下一主题
收起左侧

51单片机倒计时发声器

[复制链接]
跳转到指定楼层
楼主
设计要求: 1:上电后二位数码管显示88
                 2:单击按钮,倒计时开始从20秒开始,到0时喇叭发声。
                 3:双击按钮开关:倒计时从0开始正常记时,到20秒后发声。
                 4:记数结束从开始状态重新开始下一轮.


基本器件和管脚:

                1)数码管:


2)74译码器 SN 74LS47



将BCD 码转换成数码管显示的数.

单片机及其接口电路:



程序代码: 本次晶振12MHZ

SW EQU P1.0;   按钮开关指定为P1.0位
BUZZER EQU P3.7; 喇叭指定为P3.7位
ORG 00H;    程序起始地址00H开始

START:
       CLR BUZZER        ;  清零喇叭位为低电平(关闭喇叭)
  MOV P0,#88H        ;   给2个74译码器都发送88,,88为BCD码
  NOP
  NOP
  JB SW,$           ;判断按钮是否按下,当SW==1时,程序一直跳到$这里T原地不动,当按键按下时,SW==0则进入下面
  NOP
  NOP
  NOP               ;        稍微延时
  JNB SW,$          ;    判断按键是否松开
  
  MOV R3,#10        ;       在一秒内判断是否双击
D1:
       MOV R4,#200
D2:
       MOV R5,#250
  DJNZ R5,$
  JNB SW,TIMER      ;   如果按键按下,则进入另外一直记时状态
  DJNZ R4,D2
  DJNZ R3,D1
  
  MOV R1,#21        ; 倒计时初始值21

COUNTDOWN:  
       DEC R1            ;      R1自减1
  MOV A,R1          ;    R1复值给累加器A
  MOV B,#10         ;   寄存器B赋值10
  DIV AB            ;     累加器A除以寄存器B,商存A,余存B
  SWAP A            ;      A的高低4位互换 ,目的用于译码器显示,有2个译码器,所以要区分R1中的高位和低位
  ORL A,B           ;     A=A+B做或操作
  MOV P0,A          ;    输出到译码器从而显示到数码管
  CALL DELAY        ;   延时1秒
  CJNE A,#00H,COUNTDOWN ;  如果累加器A不等于00H则跳转到COUNTDOWN,即一直倒计时直到A减到0
  SETB BUZZER       ;   计数到0喇叭发声
  CALL DELAY
  JMP START         ;  跳到开始处从头开始
  
TIMER:
       MOV A,#00H
LOOP:
       MOV P0,A          ;  数码管显示数A
  CALL DELAY
  ADD A,#1          ;  累加器加1操作
  DA A              ;      十进制调整
  CJNE A,#21H,LOOP  ; 判断是否计时到21
  SETB BUZZER
  CALL DELAY
  JMP START

DELAY: 延时1秒子程序
       MOV R3,#10
D3:
       MOV R4,#200
D4:
       MOV R5,#250
  DJNZ R5,$
  DJNZ R4,D4
  DJNZ R3,D3
  RET                 ;        子程序结束标志
  
  END



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:61326 发表于 2014-5-4 08:32 | 只看该作者
谢谢你!
回复

使用道具 举报

板凳
ID:48413 发表于 2014-7-15 21:20 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表