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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機電子表原理圖和代碼不是很匹配?求幫助

[復制鏈接]
跳轉到指定樓層
樓主
200黑幣
本帖最后由 jjh170102 于 2020-6-20 22:15 編輯

做一個簡易的電子表,按鍵是能夠控制啟動暫停和分鐘的加減,但是原理圖和代碼不是很匹配,按鍵控制的是時鐘的加減,顯示也左移了一格,求大神幫忙修改一下程序,求求了.附上代碼:
                ORG  0000H
                LJMP  START
                ORG  000BH
                LJMP  INIT0
START:  MOV  R0,#70H;主程序開始
        MOV  R7,#0CH
INIT:   MOV  @R0,#00H
        INC  R0
                DJNZ  R7,INIT
                MOV  72H,#10;對連字符進行裝值
                MOV  75H,#10
                MOV  TMOD,#01H;選擇定時器/計數器T0的方式1
                MOV  TL0,#0B0H;對地位賦初值
                MOV  TH0,#03CH;高位賦初值
                SETB  EA
                SETB  ET0
                SETB  TR0
START1: LCALL  SCAN
        LCALL  KEYSCAN
        SJMP  START1
DL1MS:  MOV  R6,#14H;延時1子程序
DL1:    MOV   R7,#19H
DL2:    DJNZ  R7,DL2
                DJNZ  R6,DL1
                RET
DL20MS: ACALL  SCAN;延時20ms子程序
        ACALL  SCAN
        ACALL  SCAN
        RET;數碼管顯示程序開始
SCAN:   MOV  A,78H
        MOV  B,#0AH
        DIV  AB;時間秒的十位送給A,時間秒的個位送給B
        MOV  71H,A;時間秒要顯示的十位
        MOV  70H,B;時間秒要顯示的個位
        MOV  A,79H
        MOV  B,#0AH
        DIV  AB;;時間分的十位送給A,時間分的個位送給B
        MOV  74H,A;時間分要顯示的十位送地址
        MOV  73H,B;時間分要顯示的個位送地址
        MOV  A,7AH
        MOV  B,#0AH
        DIV  AB;時間時的十位送給A,時間時的個位送給B
        MOV  77H,A;;時間時顯示的十位送地址
        MOV  76H,B;時間時要顯示的個位送地址
        MOV  R1,#70H
        MOV  R5,#01H
        MOV  R3,#08H
SCAN1:  MOV  A,R5;數碼管的顯示程序
        MOV  P2,A
        MOV  A,@R1
        MOV  DPTR,#TAB
        MOVC  A,@A+DPTR;對字段表取值表示
        MOV  P0,A
        MOV  A,R5
        LCALL  DL1MS
        INC  R1
        MOV  A,R5
                RL  A
                MOV  R5,A
                DJNZ  R3,SCAN1
                MOV  P2,#00H
                MOV  P0,#0FFH
                RET;”0-9”和“-”的字段表
TAB:    DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H;定時/計數器T0中斷程序
INIT0:  PUSH  ACC
                PUSH  PSW
                CLR  ET0
                CLR  TR0
                MOV  TL0,#0B0H
                MOV  TH0,#03CH
                SETB  TR0
                INC  7BH
                MOV  A,7BH
                CJNE  A,#19H,OUTT0;50ms是否到20次,沒有到就繼續執行50ms的延時
                MOV  7BH,#00
                INC  78H
                MOV  A,78H
                CJNE  A,#3CH,OUTT0;一秒的延時是否計到60次,沒有就繼續執行
                MOV  78H,#00
                INC  79H
                MOV A,79H
                CJNE  A,#3CH,OUTT0
                MOV  79H,#00
                INC  7AH
                MOV  A,7AH
                CJNE A,#18H,OUTT0;60分鐘的延時是否計到24次,沒有就繼續執行程序
                MOV  7AH,#00
OUTT0:  SETB ET0;啟動定時器T0
                POP  PSW
                POP  ACC
                RETI;按鍵處理程序
KEYSCAN:CLR  EA
                JNB  P1.0,KEYSCAN0;P1.0有按鍵按下則跳轉到子程序
                JNB  P1.1,KEYSCAN1;P1.1有按鍵按下則跳轉到子程序
                JNB  P1.2,KEYSCAN2;P1.2有按鍵按下則跳轉到子程序
KEYOUT: SETB  EA
                RET
KEYSCAN0:LCALL  DL20MS;20ms的延時消抖
                JB  P1.0,KEYOUT
WAIT0:  JNB  P1.0,WAIT0;判斷按鍵是否松手,松手就往下執行程序
                INC  7CH
                MOV  A,7CH
                CLR  ET0
                CLR  TR0
                CJNE  A,#03H,KEYOUT;按下第一次和第二次對時、分選定
                MOV  7CH,#00;按下第三次時就啟動計時
                SETB  ET0
                SETB  TR0
                SJMP  KEYOUT
KEYSCAN1:LCALL  DL20MS;按鍵加一的程序
                JB  P1.1,KEYOUT
WAIT1:  JNB  P1.1,WAIT1
                MOV  A,7CH
                CJNE  A,#02H,KSCAN11;如果功能鍵按下則對時加一調整
                INC  79H
                CJNE  A,#3CH,KEYOUT;如果加到60則清零?
                MOV  79H,#00
                SJMP  KEYOUT
KSCAN11:INC  7AH;如果功能鍵是按下第二次則對分進行加一調整
                MOV  A,7AH
                CJNE  A,#18H,KEYOUT
                MOV  7AH,#00
                SJMP  KEYOUT
KEYSCAN2:LCALL  DL20MS;延時消抖程序
                JB  P1.2,KEYOUT
WAIT2:  JNB  P1.2,WAIT2;判斷是否放開按鍵
                MOV  A,7CH
                CJNE  A,#02H,KSCAN21;如果功能鍵是按下第一次對時進行減一
                DEC  79H
                MOV  A,79H
                CJNE  A,#0FFH,KEYOUT
                MOV  79H,#3BH
                SJMP  KEYOUT
KSCAN21:DEC  7AH;如果功能鍵是按下第二次則對分進行減一
                CJNE  A,#0FFH,KEYOUT
                MOV  7AH,#17H
                SJMP  KEYOUT
                END
                下面是原理圖截圖



]RR_$LKX@EAA]H`()[O`)1L.png (72.17 KB, 下載次數: 67)

]RR_$LKX@EAA]H`()[O`)1L.png

Keil.rar

22.36 KB, 下載次數: 6

代碼和仿真圖

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

使用道具 舉報

沙發
ID:779990 發表于 2020-6-20 18:49 | 只看該作者
求助各位大佬幫忙看一下
回復

使用道具 舉報

板凳
ID:779990 發表于 2020-6-20 21:53 | 只看該作者
麻煩哪位大佬幫忙看一下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品视频在线观看 | 亚洲精品18 | 亚洲性视频网站 | 国产日韩av一区二区 | 影音先锋中文字幕在线观看 | 中文字幕一区二区三区在线视频 | 日韩欧美国产成人一区二区 | 国产剧情久久 | 中文字幕一区在线观看视频 | 91干b| 国产ts人妖另类 | 久久国产精品免费一区二区三区 | 日本不卡一区二区三区 | 九九热精品在线 | 免费观看一区二区三区毛片 | 国产一区二区精品在线观看 | 一区二区三区免费看 | 欧美精品v国产精品v日韩精品 | 一区二区三区在线观看免费视频 | 亚洲一区二区在线视频 | 亚洲欧美日本在线 | 国产大毛片 | 国产日韩欧美二区 | 青青草综合网 | 91婷婷韩国欧美一区二区 | 久久久久久亚洲精品 | 国产区一区二区三区 | 一区二区高清 | 成人网在线观看 | 亚洲一区在线播放 | 99这里只有精品视频 | 国产1区2区3区 | 91精品一区 | 国产91综合 | 精品一区二区三区91 | 91成人免费电影 | 日韩中文欧美 | 在线播放亚洲 | 欧美一级黄色片在线观看 | 亚洲精品天堂 | 久久精品亚洲 |