久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2392|回復: 7
打印 上一主題 下一主題
收起左側

求大佬幫忙看看,蜂鳴器為什么不響

[復制鏈接]
跳轉到指定樓層
樓主
時間控制器,燈可以亮,時間是正常走的,但就是蜂鳴器不響
  1.                 ORG 0000H
  2.                 LJMP MAIN       
  3.                 ORG 000BH                       
  4.                 LJMP TIME       
  5.                 ORG 0100H
  6.                                        
  7. ;宏定義
  8.         ;鍵位
  9.                 K0        BIT 20H.0
  10.                 K1        BIT 20H.1
  11.                 K2        BIT 20H.2
  12.                 K3  BIT 20H.3
  13.                 K4        BIT 20H.4
  14.                 ;暫存區
  15.                 ST  DATA 68H
  16.                 MT         DATA 69H
  17.                 HT        DATA 6AH
  18.                 DT         DATA 6BH
  19.                 MOUT DATA 6CH
  20.                 YLT        DATA 6DH
  21.                 YHT DATA 6EH       
  22.                 SPT DATA 21H        ;移位指針
  23.         ;時鐘時間寄存區                       
  24.                 S         DATA 60H
  25.                 M         DATA 61H
  26.                 H         DATA 62H
  27.                 D         DATA 63H
  28.                 MOU DATA 64H
  29.                 YL         DATA 65H
  30.                 YH  DATA 66H
  31.                 FLAG DATA 67H
  32.         ;鬧鐘時間寄存區                       
  33.                 SC                DATA 50H
  34.                 MC                DATA 51H
  35.                 HC                DATA 52H
  36.                 DC                DATA 53H
  37.                 MOUC        DATA 54H
  38.                 YLC                DATA 55H
  39.                 YHC                DATA 56H
  40.                        
  41.                 ;時間顯示緩沖區
  42.                 //存放數碼管顯示16位的數據
  43.                 SDL                DATA 70H
  44.                 SDH         DATA 71H
  45.                 POINT1         DATA 72H
  46.                 MDL         DATA 73H
  47.                 MDH         DATA 74H
  48.                 POINT2         DATA 75H
  49.                 HDL         DATA 76H
  50.                 HDH         DATA 77H
  51.                 DDL         DATA 78H
  52.                 DDH         DATA 79H
  53.                 MOUDL         DATA 7AH
  54.                 MOUDH         DATA 7BH
  55.                 YD0           DATA 7CH
  56.                 YD1                DATA 7DH
  57.                 YD2                DATA 7EH
  58.                 YD3                DATA 7FH
  59.                        
  60. //主程序
  61. MAIN:       
  62.                 MOV TMOD,#01H                ;T0工作方式1
  63.                 MOV TL0,#0B0H
  64.                 MOV TH0,#3CH                ;50ms
  65.                 MOV R7,#20                        ;20*50ms = 1s
  66.                 MOV S,#50
  67.                 MOV M,#59
  68.                 MOV H,#11
  69.                 MOV D,#11
  70.                 MOV MOU,#12
  71.                 MOV YL,#20
  72.                 MOV YH,#20
  73.                 MOV POINT1,#10                ;在TABLE中第10個對應“-”
  74.                 MOV POINT2,#10               
  75.                 MOV SPT,#1                        ;移位指針初始最低位為1
  76.                 SETB K0                               
  77.                 CLR         K1                                ;K1置1 (非暫停狀態)
  78.                 CLR  K2                                ;K2置1  默認修改模式
  79.                 CLR  P3.5           ;默認蜂鳴器非工作狀態
  80.                 CLR  P3.6           ;默認LED非工作狀態
  81.                 SETB ET0                       
  82.                 SETB EA
  83.                 SETB TR0                        ;開啟定時器
  84.                
  85. ;不斷循環
  86. GO_ON:
  87.                 LCALL CHECK_KEY
  88.                 LCALL DISPLAY
  89.                 LCALL CHECK_CLOCK         ;鬧鈴
  90.                 LCALL LIGHT_ON       ;開燈
  91.             LCALL LIGHT_OFF      ;關燈
  92.                 SJMP GO_ON           ;跳轉循環
  93.                
  94. ;定時子程序
  95. TIME:       
  96.                 MOV TL0,#0B0H
  97.                 MOV TH0,#3CH               
  98.                 DJNZ R7,TIME_END       
  99.                 MOV R7,#20          ;循環20次 定時1s
  100.                 LCALL TIME_INC                ;跳轉到計時
  101.                 LCALL SAVE0                        ;跳轉到數據轉移
  102.                 LCALL SEND_TO_DIS        ;儲存時間寄存器中的BCD
  103. TIME_END:
  104.                 RETI                               





  105. ;數碼管顯示子程序
  106. DISPLAY:
  107.                 MOV R0,#SDL                        ;數據緩存區指針
  108.                 MOV DPTR,#TABLE                ;七段共陰數碼管0-9顯示
  109.                 MOV R1,#0                ;R1存放表示第幾位的數字
  110.                
  111. //P0口實現片選               
  112. NEXT:        MOV P0,R1                        ;顯示位連接P0
  113.                 MOV A,R1
  114.                 CLR C                               
  115.                 SUBB A,#8           //實現前8個向HMS跳轉,后8個向YMD跳轉               
  116.                 JC        HMS                               

  117. //P2口實現年月日
  118. DIAN1:        //先判斷是否位第10位,第10位需要有小數點
  119.                 CJNE R1,#10,DIAN2    ;跳轉判斷DIAN2
  120.                 MOV DPTR,#TABLE1
  121.                 MOV A,@R0                        ;取顯示數字
  122.                 MOVC A,@A+DPTR               
  123.                 MOV P2,A                        ;顯示年月日
  124.                 LCALL DELAY                        ;調用延時
  125.                 MOV DPTR,#TABLE
  126.                 SJMP GO

  127. DIAN2:        //再判斷是否位第12位,第12位也需要有小數點
  128.                 CJNE R1,#12,YMD     ;若不是第10,12位,跳轉YMD
  129.                 MOV DPTR,#TABLE1
  130.                 MOV A,@R0                        ;取顯示數字
  131.                 MOVC A,@A+DPTR               
  132.                 MOV P2,A                        ;顯示年月日
  133.                 LCALL DELAY                        ;調用延時
  134.                 MOV DPTR,#TABLE
  135.                 SJMP GO
  136.                
  137. YMD:    //正常輸出沒小數點的數字
  138.                 MOV A,@R0                        ;取顯示數字
  139.                 MOVC A,@A+DPTR               
  140.                 MOV P2,A                        ;顯示年月日
  141.                 LCALL DELAY                        ;調用延時
  142.                 SJMP GO

  143. //P1口實現時分秒
  144. HMS:        MOV A,@R0                        ;取顯示數字
  145.                 MOVC A,@A+DPTR               
  146.                 MOV P1,A                        ;顯示時分秒
  147.                 LCALL DELAY                        ;調用延時
  148.                 SJMP GO
  149.                
  150. GO:                INC R1                                ;顯示位左移
  151.                 INC R0                       
  152.                 CJNE R1,#16,NEXT
  153.                 RET
  154. //共陽極,0亮1滅,共陰極,1亮0滅
  155. TABLE:        DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H        ;七段共陰數碼管0-9
  156. TABLE1:        DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,40H        ;帶小數點的七段共陰數碼管0-9





  157. ;計時程序
  158. TIME_INC:       
  159. SEC:        INC S                                ;+1S
  160.                 MOV R6,S
  161.                 CJNE R6,#60,INC_END ;滿60秒進位
  162.                 MOV R6,#0
  163.                 MOV S,R6
  164.                 SJMP MIN
  165. MIN:        INC M                                ;+1M
  166.                 MOV R6,M
  167.                 CJNE R6,#60,INC_END ;滿60分鐘進位
  168.                 MOV R6,#0
  169.                 MOV M,R6
  170.                 SJMP HOUR
  171. HOUR:        INC H                                ;+1H
  172.                 MOV R6,H
  173.                 CJNE R6,#24,INC_END ;滿24小時進位
  174.                 MOV R6,#0
  175.                 MOV H,R6
  176. DAY:        LCALL CHECK_Y       ;檢查平閏年
  177.                 MOV R6,FLAG
  178.                 CJNE R6,#1,PING
  179.                 MOV DPTR,#R_YEAR    ;調用閏年月份表
  180.                 SJMP YGO
  181. PING:        MOV DPTR,#P_YEAR        ;調用平年月份表
  182. YGO:         MOV A,MOU
  183.                 MOVC A,@A+DPTR               
  184.                 INC A
  185.                 INC D                                ;+1D                               
  186.                 CJNE A,D,INC_END
  187.                 MOV R6,#1
  188.                 MOV D,R6
  189.                 SJMP MOUN
  190. MOUN:        INC MOU                                ;+1M
  191.                 MOV R6,MOU
  192.                 CJNE R6,#13,INC_END ;第13個月進位
  193.                 MOV R6,#0
  194.                 MOV MOU,R6
  195.                 SJMP YEAR
  196. YEAR:       
  197.                 INC YL               ;+1Y低位
  198.                 MOV R6,YL
  199.                 CJNE R6,#100,INC_END
  200.                 MOV R6,#0
  201.                 MOV YL,R6
  202.                 INC YH               ;+1Y高位
  203.                 MOV R6,YH
  204.                 CJNE R6,#100,INC_END
  205.                 MOV R6,#0
  206.                 MOV YH,R6
  207. INC_END:
  208.     RET  

  209. ;檢查平閏年子程序
  210. CHECK_Y:
  211.                 MOV A,YL
  212.                 MOV B,#4
  213.                 DIV AB
  214.                 MOV A,B
  215.                 JNZ SET_FLAG
  216.                 MOV FLAG,#1
  217.                 SJMP CHECK_END
  218. SET_FLAG:
  219.                 MOV FLAG,#0
  220. CHECK_END:       
  221.                 RET

  222. P_YEAR:        DB 0,31,28,31,30,31,30,31,31,30,31,30,31                ;平年月份表
  223. R_YEAR:        DB 0,31,29,31,30,31,30,31,31,30,31,30,31                ;閏年月份表
  224.        
  225. ;將暫存區中的數據轉為BCD碼存入顯示緩沖區
  226. SEND_TO_DIS:                                               
  227.                 MOV A,ST
  228.                 LCALL H2B
  229.                 MOV SDL,R4
  230.                 MOV SDH,R5                                        ;存秒
  231.                
  232.                 MOV A,MT
  233.                 LCALL H2B
  234.                 MOV MDL,R4
  235.                 MOV MDH,R5                                        ;存分
  236.                
  237.                 MOV A,HT
  238.                 LCALL H2B
  239.                 MOV HDL,R4
  240.                 MOV HDH,R5                                        ;存時
  241.                
  242.                 MOV A,DT
  243.                 LCALL H2B
  244.                 MOV DDL,R4
  245.                 MOV DDH,R5                                        ;存天
  246.                
  247.                 MOV A,MOUT
  248.                 LCALL H2B
  249.                 MOV MOUDL,R4
  250.                 MOV MOUDH,R5                                ;存月
  251.                
  252.                 MOV A,YLT
  253.                 LCALL H2B
  254.                 MOV YD0,R4
  255.                 MOV YD1,R5                                        ;存年(低位)
  256.                
  257.                 MOV A,YHT
  258.                 LCALL H2B
  259.                 MOV YD2,R4
  260.                 MOV YD3,R5                                        ;存年(高位)
  261.                 RET
  262.                
  263. ;1ms延時子程序
  264. DELAY:       
  265.                 MOV R3,#4
  266. DEL:        MOV R2,#250
  267.                 DJNZ R2,$
  268.                 DJNZ R3,DEL
  269.                 RET

  270. ;
  271. H2B:        MOV B,#10
  272.                 DIV AB
  273.                 MOV R5,A                        ;個位存到R5
  274.                 MOV R4,B                        ;十位存到R4
  275.                 RET
  276.                
  277. ;查詢按鍵子程序
  278. CHECK_KEY:
  279.                 MOV A,P3                        ;讀取P3按鍵狀態
  280.                 CPL A;
  281.                 JZ CHECK_EXIT
  282.                 ACALL KEY_DELAY
  283.                 MOV A,P3                        ;讀取P3按鍵狀態 確認是否有鍵按下
  284.                 CPL A
  285.                 JZ CHECK_EXIT
  286.                 JB ACC.0,ACT0                ;暫停/恢復鍵
  287.                 JB ACC.1,ACT1                ;鬧鐘鍵
  288.                 JB ACC.2,ACT2                ;換位鍵
  289.                 JB ACC.3,ACT3                ;+
  290.                 JB ACC.4,ACT4                ;-
  291. CHECK_EXIT:       
  292.                 RET
  293.                
  294. ;按鍵子程序               
  295. ACT:
  296. ACT0:        MOV A,P3                        ;檢測按鍵是否釋放
  297.                 JNB ACC.0,ACT0                ;鍵未釋放,則繼續等待
  298.                 CPL K0                                ;K0取反,在暫停/繼續中轉換
  299.                 JB        K0,START
  300.                 CLR TR0                                ;TR0=0,停止計時
  301.                 LJMP EXIT
  302. START:        SETB TR0                        ;TRO=1,開始計時
  303.                 CLR  K1                                ;默認回修改功能
  304.                 RET
  305.                
  306. ;定時/修改按鈕
  307. ACT1:        MOV A,P3                        ;檢測按鍵是否釋放
  308.                 JNB ACC.1,ACT1                ;鍵未釋放,則繼續等待
  309.                 CPL K2                                ;取反鬧鈴使能開關
  310.                 JB        K0,EXIT                        ;若K0未在暫停狀態,則返回
  311.                 CPL K1                                ;K1取反,0為修改,1為鬧鐘定時
  312.                 RET
  313.                
  314. ;移位按鈕
  315. ACT2:       
  316.                 MOV A,P3                        ;檢測按鍵是否釋放
  317.                 JNB ACC.2,ACT2                ;鍵未釋放,則繼續等待
  318.                 JB        K0,EXIT                        ;若K0未在暫停狀態,則返回
  319.                 MOV A,SPT                       
  320.                 RL         A                                ;SPT移動(RL循環左移,RLC帶進位左移,RL不帶進位)
  321.                 MOV SPT,A       
  322.                 JNB ACC.7,EXIT                ;最多移到01000000
  323.                 MOV SPT,#1                       
  324.                 RET
  325.                
  326. ;加
  327. ACT3:        MOV A,P3                        ;檢測按鍵是否釋放
  328.                 JNB ACC.3,ACT3                ;鍵未釋放,則繼續等待
  329.                 JB        K0,EXIT                        ;若K0未在暫停狀態,則返回
  330.                 JB         K1,CL_INC
  331.                 SJMP UP_INC
  332.                 RET
  333.                
  334. CL_INC:                             ;鬧鐘
  335.                 LCALL KEY_INC
  336.                 LCALL SEND_TO_DIS
  337.                 LCALL SEND1
  338.                 RET       
  339.                
  340. UP_INC:        LCALL SAVE0
  341.                 LCALL KEY_INC
  342.                 LCALL SEND_TO_DIS
  343.                 LCALL SEND0
  344.                 RET
  345.                
  346. ;減       
  347. ACT4:        MOV A,P3                        ;檢測按鍵是否釋放
  348.                 JNB ACC.4,ACT4                ;鍵未釋放,則繼續等待
  349.                 JB        K0,EXIT                        ;若K0未在暫停狀態,則返回
  350.                 JB         K1,CL_DEC
  351.                 SJMP UP_DEC
  352.                 RET
  353.                
  354. CL_DEC:                            ;鬧鐘
  355.                 LCALL KEY_DEC
  356.                 LCALL SEND_TO_DIS
  357.                 LCALL SEND1
  358.                 RET       
  359.                
  360. UP_DEC:        LCALL SAVE0
  361.                 LCALL KEY_DEC
  362.                 LCALL SEND_TO_DIS
  363.                 LCALL SEND0
  364.                 RET               
  365.        
  366. EXIT:        RET

  367. KEY_DELAY:
  368.                 MOV R3,#24
  369. KEY_DEL:MOV R2,#0FAH
  370.                 DJNZ R2,$
  371.                 DJNZ R3,KEY_DEL
  372.                 RET


  373. ;數據轉移子程序
  374. SAVE0:        MOV ST,S
  375.                 MOV        MT,M       
  376.                 MOV        HT,H
  377.                 MOV        DT,D
  378.                 MOV        MOUT,MOU
  379.                 MOV        YLT,YL
  380.                 MOV        YHT,YH
  381.                 RET               
  382. ;將數據傳給計時數據寄存器
  383. SEND0:  MOV S,ST
  384.                 MOV        M,MT       
  385.                 MOV        H,HT
  386.                 MOV        D,DT
  387.                 MOV        MOU,MOUT
  388.                 MOV        YL,YLT
  389.                 MOV        YH,YHT
  390.                 RET
  391. ;將數據傳給鬧鐘數據寄存器
  392. SEND1:        MOV SC,ST
  393.                 MOV        MC,MT       
  394.                 MOV        HC,HT
  395.                 MOV        DC,DT
  396.                 MOV        MOUC,MOUT
  397.                 MOV        YLC,YLT
  398.                 MOV        YHC,YHT
  399.                 RET
  400.                
  401. //按下按鍵年月日時分秒的加減處理               
  402. ;+按鍵子程序
  403. KEY_INC:
  404.                 JB         SPT.0,S_INC     ;未按換位鍵 默認更改秒
  405.                 JB        SPT.1,M_INC     ;按一次更改分
  406.                 JB  SPT.2,H_INC     ;按兩次更改小時
  407.                 JB        SPT.3,D_INC     ;按三次更改日
  408.                 JB        SPT.4,MOU_INC   ;按四次更改月
  409.                 JB        SPT.5,YL_INC    ;按五次更改年的個十位
  410.                 JB        SPT.6,YH_INC    ;按六次更改年的百千位
  411.                
  412. S_INC:        INC ST                                ;+1S
  413.                 MOV R6,ST
  414.                 CJNE R6,#60,EXIT_INC
  415.                 MOV R6,#0
  416.                 MOV ST,R6
  417.                 RET
  418.                
  419. M_INC:        INC MT                                ;+1M
  420.                 MOV R6,MT
  421.                 CJNE R6,#60,EXIT_INC
  422.                 MOV R6,#0
  423.                 MOV MT,R6
  424.                 RET
  425.                
  426. H_INC:        INC HT                                ;+1H
  427.                 MOV R6,HT
  428.                 CJNE R6,#24,EXIT_INC
  429.                 MOV R6,#0
  430.                 MOV HT,R6
  431.                 RET
  432.                
  433. D_INC:        LCALL CHECK_Y
  434.                 MOV R6,FLAG
  435.                 CJNE R6,#1,PING1
  436.                 MOV DPTR,#R_YEAR
  437.                 SJMP YGO1
  438. PING1:        MOV DPTR,#P_YEAR        ;暫存本月天數上限
  439. YGO1:         MOV A,MOUT
  440.                 MOVC A,@A+DPTR               
  441.                 INC A
  442.                 INC DT                                ;+1D                               
  443.                 CJNE A,DT,EXIT_INC
  444.                 MOV R6,#1
  445.                 MOV DT,R6
  446.                 RET
  447.                
  448. MOU_INC:       
  449.                 INC MOUT                        ;+1M
  450.                 MOV R6,MOUT
  451.                 CJNE R6,#13,EXIT_INC
  452.                 MOV R6,#1
  453.                 MOV MOUT,R6
  454.                 RET
  455.                
  456. YL_INC:        INC YLT              ;+1Y低位
  457.                 MOV R6,YLT
  458.                 CJNE R6,#100,EXIT_INC
  459.                 MOV R6,#0
  460.                 MOV YLT,R6
  461.                 RET
  462.                
  463. YH_INC:        INC YHT               ;+1Y高位
  464.                 MOV R6,YHT
  465.                 CJNE R6,#100,EXIT_INC
  466.                 MOV R6,#0
  467.                 MOV YHT,R6
  468.                 RET
  469.                
  470. EXIT_INC:
  471.                 RET
  472.                
  473. ;-按鍵子程序
  474. KEY_DEC:
  475.                 //根據移位指針SPT哪一位是1
  476.                 JB         SPT.0,S_DEC       ;未按換位鍵 默認更改秒
  477.                 JB        SPT.1,M_DEC       ;按一次更改分
  478.                 JB  SPT.2,H_DEC       ;按兩次更改小時
  479.                 JB        SPT.3,D_DEC       ;按三次更改日
  480.                 JB        SPT.4,MOU_DEC     ;按四次更改月
  481.                 JB        SPT.5,YL_DEC      ;按五次更改年的個十位
  482.                 JB        SPT.6,YH_DEC      ;按六次更改年的百千位

  483. S_DEC:
  484.                 DEC ST                ;-1s
  485.                 MOV R6,ST
  486.                 CJNE R6,#0FFH,EXIT_DEC
  487.                 MOV R6,#59
  488.                 MOV ST,R6
  489.                 RET
  490. M_DEC:
  491.                 DEC MT                ;-1m
  492.                 MOV R6,MT
  493.                 CJNE R6,#0FFH,EXIT_DEC
  494.                 MOV R6,#59
  495.                 MOV MT,R6
  496.                 RET
  497. H_DEC:               
  498.                 DEC HT                ;-1h
  499.                 MOV R6,HT
  500.                 CJNE R6,#0FFH,EXIT_DEC
  501.                 MOV R6,#23
  502.                 MOV HT,R6
  503.                 RET
  504.                
  505. D_DEC:        LCALL CHECK_Y
  506.                 MOV R6,FLAG
  507.                 CJNE R6,#1,PING2
  508.                 MOV DPTR,#R_YEAR
  509.                 SJMP YGO2
  510. PING2:        MOV DPTR,#P_YEAR       
  511. YGO2:         MOV A,MOUT
  512.                 MOVC A,@A+DPTR                ;暫存本月天數上限
  513.                 DEC         DT                                ;-1D
  514.                 MOV R6,DT
  515.                 CJNE R6,#0,EXIT_INC
  516.                 MOV R6,A
  517.                 MOV DT,R6
  518.                 RET
  519.                
  520. MOU_DEC:
  521.                 DEC MOUT             ;-1MO
  522.                 MOV R6,MOUT
  523.                 CJNE R6,#0,EXIT_DEC
  524.                 MOV R6,#12
  525.                 MOV MOUT,R6
  526.                 RET
  527. YL_DEC:                            
  528.                 DEC YLT              ;-1Y(低位)
  529.                 MOV R6,YLT
  530.                 CJNE R6,#0FFH,EXIT_DEC
  531.                 MOV R6,#99
  532.                 MOV YLT,R6
  533.                 RET
  534. YH_DEC:       
  535.                 DEC YHT               ;-1Y(低位)
  536.                 MOV R6,YHT
  537.                 CJNE R6,#0FFH,EXIT_DEC
  538.                 MOV R6,#99
  539.                 MOV YHT,R6
  540.                 RET

  541. EXIT_DEC:
  542.                 RET
  543.                
  544. ;鬧鐘響鈴子程序
  545. CHECK_CLOCK:                   ;判斷是否響鈴
  546.                 MOV R0,#M                       
  547.                 MOV R1,#MC
  548.                 MOV R2,#5
  549. CHECK_NEXT:                        ;
  550.                 MOV        A,@R0
  551.                 SUBB A,@R1                           ;判斷當前時刻是否是鬧鈴時刻
  552.                 CLR C
  553.                 JNZ        CLOC_EXIT
  554.                 INC R0
  555.                 INC R1
  556.                 DJNZ R2,CHECK_NEXT
  557.                 LCALL TIMEOUT                        ;分 時 日 月 年均滿足則調用響鈴程序
  558.                 RET
  559.                
  560. CLOC_EXIT:                  
  561.                 CLR P3.5
  562.                 RET
  563. ;響鈴程序               
  564. TIMEOUT:                                       
  565.                 JNB K2,BUZ_END          ;按下按鍵停止響鈴
  566. BUZ:        SETB P3.5           
  567.                 LCALL BUZ_DELAY
  568.                
  569. BUZ_DELAY:                      ;延時
  570.                 MOV R3,#250
  571. BUZ_T:        MOV R2,#40
  572.                 DJNZ R2,$
  573.                 DJNZ R3,BUZ_T
  574.                 RET
  575. BUZ_END:       
  576.                 CLR P3.5
  577.                 RET
  578.                
  579. ;亮燈子程序
  580. LIGHT_ON:
  581.     MOV A,#12
  582.         CJNE A,H,TTE3
  583.         MOV A,#00
  584.         CJNE A,M,TTE3
  585.         MOV A,#00
  586.         CJNE A,S,TTE3
  587.         SETB P3.6                   ;從12:00:00開始亮
  588. TTE3:       
  589.    RET
  590. LIGHT_OFF:
  591.     MOV A,#23;CMP_LED_START
  592.         CJNE A,H,TTE4
  593.         MOV A,#00
  594.         CJNE A,M,TTE4
  595.         MOV A,#00
  596.         CJNE A,S,TTE4
  597.         CLR P3.6                    ;到21:00:00關燈
  598. TTE4:
  599. RET


  600.        
  601.                 END
  602. R_YEAR:        DB 0,31,29,31,30,31,30,31,31,30,31,30,31                ;

  603. TABLE:        DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H        ;
  604.        
  605.                 END
復制代碼

時間控制器.docx

22.58 KB, 下載次數: 1

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:414556 發表于 2021-5-31 22:52 | 只看該作者
看你的程序用的是有源蜂鳴器,你的硬件是不是焊了個無源的上去。
回復

使用道具 舉報

板凳
ID:900510 發表于 2021-5-31 23:00 | 只看該作者
只是仿真,沒有用硬件,仿真時蜂鳴器不響,用的是有源蜂鳴器
回復

使用道具 舉報

地板
ID:414556 發表于 2021-5-31 23:06 | 只看該作者
仿真不響那就是條件沒有達到,檢查前面的判斷數據。
回復

使用道具 舉報

5#
ID:930352 發表于 2021-5-31 23:46 | 只看該作者
為啥沒看到你蜂鳴器程序呢?一般蜂鳴器應該在中斷里面去做啊,你這蜂鳴器是有源還是無源也沒說
回復

使用道具 舉報

6#
ID:900510 發表于 2021-6-1 18:05 | 只看該作者
還是沒有找到問題
回復

使用道具 舉報

7#
ID:844772 發表于 2021-6-1 20:37 | 只看該作者
你按鍵定義有問題啊,你應該各個按鍵都不好使才對。我看不清你對應哪個端口,假設k1在P2.1 應該: k1 BIT P2.1;你現在定義到RAM了,又沒改值,默認的值就是0,在響鈴入口: JNB K2,BUZ_END          ;按下按鍵停止響鈴自動就跳導BUZ_END,所以就不響了。不過我很久很久沒用過匯編了,可能說的不對。
回復

使用道具 舉報

8#
ID:900510 發表于 2021-6-1 23:56 | 只看該作者
glinfei 發表于 2021-6-1 20:37
你按鍵定義有問題啊,你應該各個按鍵都不好使才對。我看不清你對應哪個端口,假設k1在P2.1 應該: k1 BIT P ...

謝謝大佬
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久看精品 | 免费观看一级毛片视频 | 自拍偷拍中文字幕 | 日韩中文字幕网 | 日韩一区二区三区视频 | 久久久91精品国产一区二区三区 | 激情欧美一区二区三区 | 99精品久久 | 蜜桃av一区二区三区 | 亚洲视频免费在线观看 | 黄免费在线 | 国产美女在线看 | 国产一级视频在线观看 | 成人在线一区二区三区 | 很黄很污的网站 | 国产91久久精品一区二区 | 国产精品日日夜夜 | 久久精品这里精品 | 国产久| 天天操天天射综合 | 999久久久久久久 | 一区二区三区视频免费观看 | 中文字幕免费视频 | 久久九九影视 | 成人精品一区二区 | 日韩欧美中文字幕在线视频 | 欧美中文一区 | 国产中文区二幕区2012 | 天天搞天天操 | 午夜影院在线观看 | 黄频免费 | 日韩中文字幕在线不卡 | 尤物在线精品视频 | 成人在线一区二区三区 | 成人国产一区二区三区精品麻豆 | 亚洲视频中文字幕 | 久久精品一区二 | 亚洲成人免费观看 | 日本一道本视频 | 欧美精品一区三区 | 99精品99|