找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1884|回复: 5
收起左侧

恳请大佬帮忙,根据该原理图写出它的一个汇编程序

[复制链接]
ID:246817 发表于 2017-11-9 14:10 | 显示全部楼层 |阅读模式
恳请大佬帮忙,根据该原理图写出它的一个汇编程序

数字钟原理图

数字钟原理图
回复

使用道具 举报

ID:247708 发表于 2017-11-9 15:02 | 显示全部楼层
汇编?没学过,用c吧
回复

使用道具 举报

ID:246817 发表于 2017-11-9 17:47 | 显示全部楼层
深井21 发表于 2017-11-9 15:02
汇编?没学过,用c吧

就是汇编不会才想要的。。。
回复

使用道具 举报

ID:111634 发表于 2017-11-9 17:56 | 显示全部楼层
提问都不会提,功能要求都没有,别人怎么帮你?电路也画错了,不过,看样子是时钟。
回复

使用道具 举报

ID:123289 发表于 2017-11-9 23:08 | 显示全部楼层
用C写,编译后会生成汇编程序,取出来即可。
回复

使用道具 举报

ID:155507 发表于 2017-11-9 23:12 | 显示全部楼层
  1. ;简单的时钟程序

  2.          BUFF_KEY     EQU 21H      ;键盘键
  3.          LED1    EQU 22H      ;数码管显示缓存
  4.          LED2    EQU 23H
  5.          LED3    EQU 24H
  6.          LED4    EQU 25H
  7.          LED5    EQU 26H
  8.          LED6    EQU 27H
  9.          LED_LP  EQU 28H      ;T0键盘显示扫描缓存
  10.          HOR    EQU   30H           ;小时值缓存
  11.          MIN    EQU   31H           ;分钟值缓存
  12.          SEC    EQU   32H           ;秒值缓存
  13.          F_BEEP     BIT   01H
  14.          LED_PORT   EQU   P1
  15.          DIG_PORT   EQU   P0

  16.          SW1        BIT   P3.0
  17.          SW2        BIT   P3.1
  18.          SW3        BIT   P3.2
  19.          SW4        BIT   P3.3
  20.          SW5        BIT   P3.4
  21.          SW6        BIT   P3.5
  22.          BEEP       BIT   P1.6

  23.         org   000h
  24.         JMP   main
  25.         ORG   00BH
  26.         JMP   T0_INT
  27.         ORG   100H
  28. MAIN:   MOV    SP ,#40H
  29.         MOV    PSW,#00H
  30.         MOV    R0,#7FH      ;初始化RAM区,
  31. CLR_RAM:MOV    A,#00H
  32.         MOV    @R0,A
  33.         DJNZ   R0,CLR_RAM
  34.         MOV    P1,0FFH      ;INIT
  35.         MOV    P2,0FFH
  36.         MOV    P0,0FFH
  37.         MOV    P3,0FFH
  38.         MOV    HOR,#12
  39.         MOV    TMOD,#21h
  40.         MOV    TH0,#240     ;T0=4MS
  41.         MOV    TL0,#96
  42.         SETB   TR0
  43.         SETB   ET0
  44.         SETB   EA

  45. WAIT_KEY:       ;等候按键!
  46.          JNB   SW1,SW1_OK
  47.          JNB   SW2,SW2_OK
  48.          JNB   SW3,SW3_OK
  49.          JNB   SW4,SW4_OK
  50.          JNB   SW5,SW5_OKA
  51.          JNB   SW6,SW6_OKA
  52.          JMP   WAIT_KEY
  53. SW5_OKA: JMP   SW5_OK
  54. SW6_OKA: JMP   SW6_OK
  55. SW1_OK:  MOV    A,HOR
  56.          CJNE   A,#24,SW1_OVER
  57.          MOV    HOR,#00H
  58.          SETB   F_BEEP
  59.          CLR    BEEP
  60.          LCALL  DEL
  61.          SETB   BEEP
  62.          CLR    F_BEEP
  63.          JMP   WAIT_KEY
  64. SW1_OVER:INC    HOR        ;时加1
  65.          SETB   F_BEEP
  66.          CLR    BEEP
  67.          LCALL  DEL
  68.          SETB   BEEP
  69.          CLR    F_BEEP
  70.          JMP   WAIT_KEY

  71. SW2_OK:  MOV    A,HOR
  72.          CJNE   A,#00,SW2_OVER
  73.          MOV    HOR,#23
  74.          SETB   F_BEEP
  75.          CLR    BEEP
  76.          LCALL  DEL
  77.          SETB   BEEP
  78.          CLR    F_BEEP
  79.          JMP    WAIT_KEY
  80. SW2_OVER:DEC    HOR        ;时减1
  81.          SETB   F_BEEP
  82.          CLR    BEEP
  83.          LCALL  DEL
  84.          SETB   BEEP
  85.          JMP    WAIT_KEY

  86. SW3_OK:  MOV    A,MIN
  87.          CJNE   A,#59,SW3_OVER
  88.          MOV    MIN,#00H
  89.          SETB   F_BEEP
  90.          CLR    BEEP
  91.          LCALL  DEL
  92.          SETB   BEEP
  93.          CLR    F_BEEP
  94.          JMP    WAIT_KEY
  95. SW3_OVER:INC    MIN        ;分加1
  96.          SETB   F_BEEP
  97.          CLR    BEEP
  98.          LCALL  DEL
  99.          SETB   BEEP
  100.          CLR    F_BEEP
  101.          JMP    WAIT_KEY

  102. SW4_OK:  MOV    A,MIN
  103.          CJNE   A,#00,SW4_OVER
  104.          MOV    MIN,#59
  105.          SETB   F_BEEP
  106.          CLR    BEEP
  107.          LCALL  DEL
  108.          SETB   BEEP
  109.          CLR    F_BEEP
  110.          JMP    WAIT_KEY
  111. SW4_OVER:DEC    MIN        ;分减1
  112.          SETB   F_BEEP
  113.          CLR    BEEP
  114.          LCALL  DEL
  115.          SETB   BEEP
  116.          CLR    F_BEEP
  117.          JMP    WAIT_KEY

  118. SW5_OK:  MOV    A,SEC
  119.          CJNE   A,#59,SW5_OVER
  120.          MOV    SEC,#00H
  121.          SETB   F_BEEP
  122.          CLR    BEEP
  123.          LCALL  DEL
  124.          SETB   BEEP
  125.          CLR    F_BEEP
  126.          JMP    WAIT_KEY
  127. SW5_OVER:INC    SEC        ;秒加1
  128.          SETB   F_BEEP
  129.          CLR    BEEP
  130.          LCALL  DEL
  131.          SETB   BEEP
  132.          CLR    F_BEEP
  133.          JMP    WAIT_KEY

  134. SW6_OK:  MOV    A,SEC
  135.          CJNE   A,#00,SW6_OVER
  136.          MOV    HOR,#59
  137.          SETB   F_BEEP
  138.          CLR    BEEP
  139.          LCALL  DEL
  140.          SETB   BEEP
  141.          CLR    F_BEEP
  142.          JMP   WAIT_KEY
  143. SW6_OVER:DEC    SEC        ;时减1
  144.          SETB   F_BEEP
  145.          CLR    BEEP
  146.          LCALL  DEL
  147.          SETB   BEEP
  148.          CLR    F_BEEP
  149.          JMP   WAIT_KEY


  150. DEL:     MOV   R5,#03      ;为演示方便,人为插入的延时
  151. DEL01:   MOV   R6,#200
  152. DEL02:   MOV   R7,#200
  153.          DJNZ  R7,$
  154.          DJNZ  R6,DEL02
  155.          DJNZ  R5,DEL01
  156.          RET

  157. BIN_BCD:  MOV  B,#10
  158.           DIV  AB
  159.           RET

  160. ;-------------  T0 INTRRUPT 数码管扫描定时中断---------------------------
  161. T0_INT:  PUSH   ACC
  162.          PUSH   PSW
  163.          MOV   TH0,#240               ;T0=4MS
  164.          MOV   TL0,#96
  165.          INC    LED_LP
  166.          MOV    A,LED_LP
  167.          CJNE   A,#250,CONT_SCAN     ;250*4MS=1S
  168.          MOV    LED_LP,#00H
  169.          INC    SEC
  170.          MOV    A,SEC
  171.          CJNE   A,#60,CONT_SCAN
  172.          MOV    SEC,#00H
  173.          INC    MIN
  174.          MOV    A,MIN
  175.          CJNE   A,#60,CONT_SCAN
  176.          MOV    MIN,#00H
  177.          INC    HOR
  178.          MOV    A,HOR
  179.          CJNE   A,#24,CONT_SCAN
  180.          MOV    HOR,#00H
  181.          clr    beep
  182.          clr    p1.0
  183.          lcall  del
  184.          setb   beep
  185.          setb   p1.0
  186. CONT_SCAN:MOV   A,SEC
  187.           LCALL  BIN_BCD
  188.           MOV   LED6,B
  189.           MOV   LED5,A
  190.           MOV   A,MIN
  191.           LCALL  BIN_BCD
  192.           MOV   LED4,B
  193.           MOV   LED3,A
  194.           MOV   A,HOR
  195.           LCALL  BIN_BCD
  196.           MOV   LED2,B
  197.           MOV   LED1,A
  198.           MOV   A,LED_LP
  199.           MOV   B,#06
  200.           DIV   AB
  201.           MOV   A,B
  202.           RL    A
  203.           MOV   DPTR,#TAB_SCAN
  204.           JMP   @A+DPTR
  205. TAB_SCAN: AJMP  SCAN_L1
  206.           AJMP  SCAN_L2
  207.           AJMP  SCAN_L3
  208.           AJMP  SCAN_L4
  209.           AJMP  SCAN_L5
  210.           AJMP  SCAN_L6
  211. SCAN_L1:  MOV   DIG_PORT,#11111110B
  212.           MOV   A,LED1
  213.           JMP   END_SCAN
  214. SCAN_L2:  MOV   DIG_PORT,#11111101B
  215.           MOV   A,LED2
  216.           JMP   END_SCAN
  217. SCAN_L3:  MOV   DIG_PORT,#11110111B
  218.           MOV   A,LED3
  219.           JMP   END_SCAN
  220. SCAN_L4:  MOV   DIG_PORT,#11101111B
  221.           MOV   A,LED4
  222.           JMP   END_SCAN
  223. SCAN_L5:  MOV   DIG_PORT,#10111111B
  224.           MOV   A,LED5
  225.           JMP   END_SCAN
  226. SCAN_L6:  MOV   DIG_PORT,#01111111B
  227.           MOV   A,LED6
  228. END_SCAN: MOV   DPTR,#TAB_LED
  229.           MOVC  A,@A+DPTR
  230.           MOV   LED_PORT,A
  231.           JNB   F_BEEP,EXIT_T0
  232.           CLR   BEEP
  233. EXIT_T0:  POP   PSW
  234.           POP   ACC
  235.           RETI

  236. TAB_LED:     DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H    ;共阳字码表

  237.       END

复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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