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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4177|回復: 9
收起左側

51單片機匯編程序時鐘 供電后,程序似乎卡住,求解

[復制鏈接]
ID:272432 發表于 2018-1-6 18:42 | 顯示全部樓層 |閱讀模式
P1口段選,P2口位選,P3.0-3.3調秒分時。供電后,程序似乎卡住,求解  
  1. ORG         00H                    JMP MAIN         
  2.                    ORG  0BH
  3.                 JMP TIM0
  4. MAIN:
  5.        MOV IE,#82H                ;使能定時器中斷
  6.            MOV TMOD,#01H           ;設置計數初始值,設置為4ms中斷一次
  7.            MOV TH0,#0F0H
  8.            MOV TL0,#60H
  9.            MOV R0,#00H                   ;1秒鐘計數器,250次后為1s
  10.            MOV 30H,#00H                   ;秒分時初始值00
  11.            MOV 31H,#00H
  12.            MOV 32H,#00H
  13.            MOV R1,#00H                   ;位選累計器
  14.            SETB TR0
  15. LOOP:                                           ;按鍵設置時分秒,循環掃描按鍵,否則執行中斷程序
  16.            JB P3.0,NOPRESS2         
  17.            CALL FILTER
  18.            MOV A,30H
  19.            ADD A,#01H
  20.            DA A
  21.            MOV 30H,A
  22.            CJNE A,#60H,NOPRESS1;等于60則清零
  23.            MOV 30H,#00H
  24. NOPRESS1:
  25.            JNB P3.0,$
  26.            CALL FILTER
  27. NOPRESS2:
  28.            JB P3.1,NOPRESS4
  29.            CALL FILTER
  30.            MOV A,31H
  31.            ADD A,#01H
  32.            DA A
  33.            MOV 31H,A
  34.            CJNE A,#60H,NOPRESS3;等于60則清零
  35.            MOV 31H,#00H
  36. NOPRESS3:
  37.            JNB P3.1,$
  38.            CALL FILTER
  39. NOPRESS4:
  40.            JB P3.2,LOOP
  41.            CALL        FILTER
  42.            MOV A,32H
  43.            ADD A,#01H
  44.            DA A
  45.            MOV 32H,A
  46.            CJNE A,#24H,NOPRESS5;等于24則清零
  47.            MOV 32H,#00H
  48. NOPRESS5:
  49.            JNB P3.2,$
  50.            CALL FILTER
  51.            JMP LOOP
  52. TIM0:
  53.            PUSH ACC
  54.            CJNE R0,#250,SCAN   ;等于250時說明到1秒,未滿則繼續掃描顯示
  55.            MOV A,#30H
  56.            ADD A,#01H
  57.            DA A
  58.            MOV 30H,A
  59.            CJNE A,#60H,INCSEC ;等于60時說明到一分
  60.            MOV A,31H
  61.            ADD A,#01H
  62.            DA A
  63.            MOV 31H,A
  64.            CJNE A,#60H,INCMIN ;等于60時說明到一小時
  65.            MOV A,32H
  66.            ADD A,#01H
  67.            DA A
  68.            MOV 32H,A
  69.            CJNE A,#24H,INCHR ;等于24說明到一天,清零時分秒寄存器
  70.            MOV 30H,#00H
  71.            MOV 31H,#00H
  72.            MOV 32H,#00H
  73. INCSEC:
  74.            JMP INCTIM
  75. INCMIN:
  76.            MOV 30H,#00H        ;滿60秒,清零秒存儲器
  77.            JMP INCTIM
  78. INCHR:
  79.            MOV 30H,#00H ;滿60分,清零分寄存器,秒存儲器
  80.            MOV 31H,#00H         
  81. INCTIM:
  82.            MOV R0,#00H  ;秒存儲器清零
  83. SCAN:
  84.            CJNE R1,#6,DISPLAY ;6位數碼管掃描值為6,則完成一次掃描
  85.            MOV R1,#00H                  ;清零掃描計數器,繼續掃描
  86.            JMP SCAN
  87. DISPLAY:
  88.            CJNE R1,#0,CHK1          ;秒低位顯示
  89.            MOV A,30H
  90.            ANL A,#0FH
  91.            MOV P2,#0DFH
  92.            JMP RELOAD
  93. CHK1:
  94.            CJNE R1,#1,CHK2          ;秒高位顯示
  95.            MOV A,30H
  96.            SWAP A
  97.            ANL A,#0FH
  98.            MOV P2,#0EFH
  99.            JMP RELOAD
  100. CHK2:
  101.           CJNE R1,#2,CHK3    ;分低位顯示
  102.            MOV A,31H
  103.            ANL A,#0FH
  104.            MOV P2,#0F7H
  105.            JMP RELOAD
  106. CHK3:
  107.            CJNE R1,#3,CHK4          ;分高位顯示
  108.            MOV A,31H
  109.            SWAP A
  110.            ANL A,#0FH
  111.            MOV P2,#0FBH
  112.            JMP RELOAD
  113. CHK4:
  114.            CJNE R1,#4,CHK5           ;時低位顯示
  115.            MOV A,32H
  116.            ANL A,#0FH
  117.            MOV P2,#0FDH
  118.            JMP RELOAD
  119. CHK5:
  120.            CJNE R1,#5,RELOAD ;時高位顯示
  121.            MOV A,32H
  122.            SWAP A
  123.            ANL A,#0FH
  124.            MOV P2,#0FEH
  125. RELOAD:
  126.            MOV P1,A                         ;掃描顯示
  127.            INC R0
  128.            INC R1
  129.            MOV TH0,#0F0H
  130.            MOV TL0,#60H
  131.            POP ACC
  132.            RETI
  133. FILTER:
  134.        MOV R6,#60H
  135. D1:           MOV R7,#248
  136.            DJNZ R7,$
  137.            DJNZ R6,D1
  138.            RET
  139.            END
復制代碼


秒分時。供電后,程序似乎卡住,求解

運行時的圖片_1.png
數字表_1.png

評分

參與人數 1黑幣 +5 收起 理由
BH2RSJ + 5

查看全部評分

回復

使用道具 舉報

ID:272432 發表于 2018-1-7 13:14 | 顯示全部樓層
yzwzfyz 發表于 2018-1-7 12:50
看來你還不糊糊。
把你回答的,補寫到中斷服務程序中去。
另外DA A是依據PSW中的半進和進位標記進行調整 ...

保護程序標志位?什么意思啊,我回答的都是中斷程序中有的啊,搞不清楚了。。。。無知確實不是借口,但我真不清楚
回復

使用道具 舉報

ID:123289 發表于 2018-1-7 12:50 | 顯示全部樓層
看來你還不糊糊。
把你回答的,補寫到中斷服務程序中去。
另外DA A是依據PSW中的半進和進位標記進行調整的,你沒有保護PSW!!!
我回你的三點在中斷務程序中沒有看到。

這與你是不是初學無關,能理解、邏輯清楚就好。初學不可以作借口,態度要正確。
  
回復

使用道具 舉報

ID:272432 發表于 2018-1-7 11:56 | 顯示全部樓層
yzwzfyz 發表于 2018-1-6 20:45
寫程序,先畫個框圖,框圖走通了再寫程序。
這么點邏輯關系都搞不定,復雜一些怎么辦?學會畫框圖很重要!. ...

老師,我是初學,受教了
回復

使用道具 舉報

ID:272432 發表于 2018-1-7 11:54 | 顯示全部樓層
yzwzfyz 發表于 2018-1-6 20:42
1、R0何時+1?
2、如果T0中斷發生在:
NOPRESS4:

1,R0是每4毫秒加1,也就是每中斷1次就加一,
2,執行中斷時,我將累加器的值壓入了堆棧,中斷結束POP ACC,彈棧
3,秒不會等于大于60H,CJNE A,60H,INC MIN此時MOV 30H,00對秒請0了
回復

使用道具 舉報

ID:111634 發表于 2018-1-6 21:30 | 顯示全部樓層
本帖最后由 zl2168 于 2018-1-6 21:32 編輯

實例94  模擬電子鐘(由80C51定時器產生秒時基)
Proteus仿真一下,確認有效。
實例94 模擬電子鐘(由80C51定時器產生秒時基).rar (43.05 KB, 下載次數: 5)
模擬電子鐘.jpg
以上摘自張志良編著《80C51單片機實用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學習51單片機原理,程序雙解c和匯編語句條條有注解,便于閱讀理解,便于自學,可從零基礎c語言開始學習
仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

ID:111634 發表于 2018-1-6 21:18 | 顯示全部樓層
本帖最后由 zl2168 于 2018-1-6 21:28 編輯

實例93  具有校正功能的時鐘1302(LED數碼管顯示)
Proteus仿真一下,確認有效。
實例93 帶校正時分秒的時鐘1302(6位LED數碼管顯示).rar (732.75 KB, 下載次數: 5)

以上摘自張志良編著《80C51單片機實用教程——基于Keil CProteus》高等教育出版社ISBN 978-7-04-044532-9, 用于學習51單片機原理,程序雙解c和匯編語句條條有注解,便于閱讀理解,便于自學,可從零基礎c語言開始學習
仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

ID:123289 發表于 2018-1-6 20:46 | 顯示全部樓層
以分為例:
何時清0?何時+1?
回復

使用道具 舉報

ID:123289 發表于 2018-1-6 20:45 | 顯示全部樓層
寫程序,先畫個框圖,框圖走通了再寫程序。
這么點邏輯關系都搞不定,復雜一些怎么辦?學會畫框圖很重要!.
回復

使用道具 舉報

ID:123289 發表于 2018-1-6 20:42 | 顯示全部樓層
1、R0何時+1?
2、如果T0中斷發生在:
NOPRESS4:
           JB P3.2,LOOP
           CALL        FILTER
           MOV A,32H
           ADD A,#01H...........發生在這里

中斷返回后:
           DA A
           MOV 32H,A

這時的 DA A之后能保證正確碼?

3、當秒會不會=60H、61H、62H呢?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91在线视频 | 国产成人av在线播放 | 日韩精品一区二区三区中文字幕 | 九色av| 日本视频免费观看 | 视频一区二区三区四区五区 | 黄色片av| 中文字幕日本一区二区 | 精品欧美激情在线观看 | 国产精品永久免费 | 久久亚洲综合 | 中文字幕日韩在线 | 久久综合av | 日韩中文字幕av | 美女一级黄 | 超碰高清| 99精品国自产在线 | 日韩视频一区二区 | 久久一区二区三区四区五区 | 91精品国产综合久久精品图片 | 先锋资源网 | 亚洲精品一区二区另类图片 | 九九免费观看视频 | 国产成人精品午夜 | 在线不卡视频 | 久久久91精品国产一区二区三区 | 国产精品久久福利 | 91一区二区| 亚洲自拍偷拍欧美 | 91久久精品日日躁夜夜躁欧美 | 久久久一二三区 | 日日摸夜夜爽人人添av | 成人在线精品视频 | 91性高湖久久久久久久久_久久99 | 天天色av | 麻豆视频国产在线观看 | 欧美韩一区二区 | 久久精品国产久精国产 | 国产精品久久久一区二区三区 | 国产精品视频网 | 午夜精品久久久久久久久久久久久 |