找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2301|回复: 0
收起左侧

单片机计时提醒器程序

[复制链接]
ID:71259 发表于 2014-12-30 15:50 | 显示全部楼层 |阅读模式
  1. 1-9为数字键,p2.0为小数点,p2.3为确认键,p2,4为取消键,可以定时范围0-99分钟 ,时间到达后亮灯或者蜂鸣,O(∩_∩)O哈哈~

  2. ORG  00H
  3. START:
  4.              MOV  P0,  #00H
  5.           MOV  R0,   #2;
  6.        CLR  P2.7  ;
  7. SETTING:
  8.         CHK_0:
  9.     JB   P1.0, CHK_1;
  10.     CALL  FILTER
  11.     JNB  P1.0,  $
  12.     MOV  R1,  #0
  13.     JMP TIMERSET
  14.   CHK_1:
  15.     JB   P1.1, CHK_2;
  16.     CALL  FILTER
  17.     JNB  P1.2,  $
  18.     MOV  R1,  #1
  19.     JMP TIMERSET
  20.      CHK_2:
  21.     JB   P1.2, CHK_3;
  22.     CALL  FILTER
  23.     JNB  P1.2,  $
  24.     MOV  R1,  #2
  25.     JMP TIMERSET
  26.   CHK_3:
  27.     JB   P1.3, CHK_4;
  28.     CALL  FILTER
  29.     JNB  P1.3,  $
  30.     MOV  R1,  #3
  31.     JMP TIMERSET
  32.   CHK_4:
  33.     JB   P1.4, CHK_5;
  34.     CALL  FILTER
  35.     JNB  P1.4,  $
  36.     MOV  R1,  #4
  37.     JMP TIMERSET
  38.   CHK_5:
  39.     JB   P1.5, CHK_6;
  40.     CALL  FILTER
  41.     JNB  P1.5,  $
  42.     MOV  R1,  #5
  43.     JMP TIMERSET
  44.   CHK_6:
  45.     JB   P1.6, CHK_7;
  46.     CALL  FILTER
  47.     JNB  P1.6,  $
  48.     MOV  R1,  #6
  49.     JMP TIMERSET
  50.    CHK_7:
  51.     JB   P1.7, CHK_8;
  52.     CALL  FILTER
  53.     JNB  P1.7,  $
  54.     MOV  R1,  #7
  55.     JMP TIMERSET
  56.   CHK_8:
  57.     JB   P2.1, CHK_9;
  58.     CALL  FILTER
  59.     JNB  P2.1,  $
  60.     MOV  R1,  #8
  61.     JMP TIMERSET
  62.   CHK_9:
  63.     JB   P2.2, CHK_AGAIN;
  64.     CALL  FILTER
  65.     JNB  P2.2,  $
  66.     MOV  R1,  #9
  67.     JMP TIMERSET
  68.      CHK_AGAIN:
  69.        JMP  CHK_0
  70.   TIMERSET:
  71.        DJNZ   R0,  LSB
  72.     JMP   MSB
  73.      LSB:
  74.        MOV   30H,  R1
  75.     JMP   SETTING
  76.      MSB:
  77.        MOV  A , R1
  78.     SWAP  A
  79.     ADD  A ,30H
  80.     MOV  31H,  A
  81.     MOV  P0,  A
  82.   CONFIRM:
  83.      OK:                     
  84.        JB   P2.3, CANCEL
  85.     CALL   FILTER
  86.     JNB  P2.4, $
  87.     MOV  A,  #00H
  88.     JMP  TIMING
  89.      CANCEL:
  90.        JB   P2.4, OK
  91.     CALL FILTER
  92.     JNB  P2.4 , $
  93.   RESTART:
  94.     JMP   START
  95.   TIMING:
  96.        MOV  P0 ,  A
  97.     MIN:
  98.        MOV  R0, #60
  99.     SEC:
  100.        MOV  R1, #10
  101.     SEC_10:
  102.        MOV  R2, #200
  103.     CALL DELAY
  104.     DJNZ R1,  SEC_10
  105.     CPL  P2.0
  106.     DJNZ R0,  SEC
  107.     ADD   A,  #1
  108.     DA   A
  109.     CJNE  A, 31H,TIMING
  110.   BEEP:
  111.        MOV  R2, #5;
  112.     REPEAT:
  113.        SETB P2.7
  114.     CALL LONGDELAY
  115.     CLR P2.7
  116.     CALL LONGDELAY
  117.     DJNZ R2,REPEAT
  118.     JMP  START
  119.   DELAY:
  120.        MOV  R3, #248
  121.     JNB  P2.4, RESTART
  122.     DJNZ R3, $
  123.     DJNZ R2, DELAY
  124.     RET
  125.   FILTER:
  126.        MOV  R6, #60
  127.      F1:
  128.        MOV  R7, #248
  129.     DJNZ R7, $
  130.     DJNZ R6, F1
  131.     RET
  132.   LONGDELAY:
  133.        MOV  R3, #50
  134.     DL1:
  135.        MOV  R4, #20
  136.     DL2:
  137.        MOV  R5, #248
  138.     DJNZ  R5,$
  139.     DJNZ  R4,  DL2
  140.     DJNZ  R3 , DL1
  141.           RET
  142.     END

复制代码


回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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