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

標題: 4X4鍵盤設計的計算器匯編語言 [打印本頁]

作者: LEKI    時間: 2018-5-30 11:10
標題: 4X4鍵盤設計的計算器匯編語言
ORG    0000H;
JMP    MAIN;
ORG    0003H;
JMP    INP0;
ORG    0030H;
/*鍵盤所輸入數(shù)字依次存入70H-77H*/
MAIN:  MOV   R6, #70H;
       MOV   SP, #60H;
                CLR   80H;
                CLR   81H;
                SETB  EA;
       SETB  EX0;
                SETB  IT0;
DISP1:    MOV   R0,    #70H;//從第一位地址存數(shù)
          MOV   R2,    #01H;//位選第一位
DISP2:    MOV   A,     @R0;
          LCALL SEG7;                 //跳轉段碼
                   MOV   P0,   A;         //P0輸出字形
                   MOV   P2,   R2;         //位選輸出
                   LCALL D1MS;                 //跳轉延時
                   MOV   P2,   #0;         //位選關閉,段碼不輸出
                   INC   R0;                 //選擇下一位;
                   MOV   A,    R2;         
                   CLR   C;                         //進位標志清零
                   RLC   A;                         //掃描字右移
                   MOV   R2,   A;         //保存掃描字
                   JNC  DISP2;                 //C=0時, 循環(huán)一次未結束,跳轉到DISP2
PASS:     LJMP  DISP1;
D1MS:     MOV   R7,    #50H;//延時程序
DMS:      DJNZ  R7,    DMS;
                   RET;
SEG7:     MOV   DPTR,  #TABLE;//查表程序
          MOVC  A,     @A+DPTR;
                   RET;
TABLE: DB    0C0H, 0F9H, 0A4H, 0B0H;
       DB    99H,  92H, 82H,  0F8H;
                DB    80H, 90H,  88H,  83H;
                DB    0C6H, 0A1H, 86H,  8EH;
/*P3.6-3.7,行線;    P1.0-1.7,列線;*/
/*P0,輸出字形;      P2,輸出位選*/         
INP0:         
       PUSH  ACC;
                PUSH  B;
                PUSH  PSW;
START: MOV   R4, #00H;
L1:    MOV   R3, #0F7H;//設掃描初值,11110111P3.3=0
       MOV   R1, #00H;        //取碼指針;
/*首先行掃描*/
L2:    MOV   A,  R3;       //行掃描開始
       MOV   P1, A;        //掃描值輸出至p1
                MOV   A, P1;        //讀入P1的值
                MOV   R4, A;       //P3口中P3.4-3.7的狀態(tài)通過A,傳送到R4
                SETB  C;                //進位標志置1
                MOV   R5, #04H; //                  
l3:    RLC   A;                //按鍵左移,通過C是否為0,判斷此列是否有0;無0r1進行累加;有0跳轉到延時,
       JNC   KEY;                //C=0,跳轉到延時
                INC   R1;               
                DJNZ  R5, L3;
                MOV   A, R3;      
                SETB  C;
                RRC   A;          //換行掃描
                MOV   R3,A;         
                JC    L2;           //C=1,跳轉到L2
KEY:   ACALL DELAY;
D1:    MOV   A,P1;
       XRL   A,R4;
                JNZ    D1;
                MOV   A,  R6; //指定存入地址
                MOV   R0, A;  
                MOV   A,  R1; //存入數(shù)字
                MOV   @R0, A;
/*判斷運算法*/
       MOV   A,     R1;
                XRL   A,    #0AH;//判斷是否為加法符
                JZ    ADD1;
                MOV   A,    R1;
                XRL   A,  #0BH;//判斷是否為減法符
           JZ    SUBB1;
               MOV   A,    R1;
                XRL   A,  #0CH;//判斷是否為乘法符
           JZ    MUL1;
                MOV   A,    R1;
                XRL   A,  #0DH;//判斷是否為除法符
           JZ    DIV1;
                MOV   A,    R1;
                XRL   A,  #0EH;//判斷是否為等于號
           JZ    EQUAL1;
                MOV   A,    R1;
                XRL   A,  #0FH;//判斷是否為清零鍵
           JZ    ON1;
   
                INC   R0;          //選擇下一個地址
                MOV   A,  R0; //存入r0的新數(shù)值
                MOV   R6, A;
                POP   PSW;
                POP          B;
                pop   ACC;
                RET;
DELAY: MOV   R7,   #60;//消除抖動延時程序
DLY1:  DJNZ  R7,   DLY1;
                RET;
ADD1:  MOV   A,    80H; //加法程序
       MOV   81H,  A;
       LJMP  D1;
                MOV   A,   81H;
                ADD   A,       80H;
                MOV   80H, A;   
       RET;
SUBB1: MOV   A,    80H;//減法程序
       MOV   81H,  A;
       LJMP  DD1;
                MOV   A,   80H;
                SUBB  A,   81H;
                MOV   80H, A;
       RET;
MUL1:  MOV   A,    80H;//乘法程序
                MOV   81H, A;
       LJMP  DD1;
                MOV   A,   80H;
                MUL   AB;
                MOV          80H, A;   
       RET;
DIV1:  MOV   A,    80H;//除法程序
                MOV   81H, A;
       LJMP  DD1;
                MOV   A,   80H;
                DIV   AB;
                MOV   80H, A;  
       RET;
EQUAL1: MOV   A,   80H;//等于程序
                MOV   B,   #64H;//算百位數(shù)
                DIV   AB;
                MOV   72H, A;         //將此數(shù)除100,商數(shù)放72h,余數(shù)放71h
                MOV   71H, B;
                MOV   A,   71H;
                MOV   B,   0AH;//算十位數(shù)
                DIV   AB;
                MOV   71H, A;         //將此數(shù)除10,商數(shù)放71h,余數(shù)放70h
                MOV   70H, B;
                RET;
ON1:   CLR    70H;                 //清零程序
       CLR    71H;
                CLR    72H;
                CLR   73H;
                CLR    78H;
                CLR    79H;
                CLR    7AH;
                CLR    80H;
                CLR    81H;
                CLR    82H;
                CLR    88H;
                CLR    89H;
                CLR    8AH;
                MOV    R0, 00H;
                MOV    R1, 00H;
                MOV    R2, 00H;
                MOV    R3, 00H;
                MOV    R4, 00H;
                MOV    R5, 00H;
                MOV    R6, 70H;
                MOV    R7, 00H;
                RET;  
DD1:   MOV   B,            #0AH;//將所輸入兩位數(shù)轉換為十進制,并存入80h
       MOV   A,     78H;
       MUL   AB;
                ADD   A,    70H;
                MOV   80H,  A;
                RET;
END;


作者: hhf123    時間: 2019-6-8 17:53
你好,我是初學者。有附帶電路原理圖嗎?多謝你的幫助
作者: 金七仁    時間: 2019-12-14 19:48
有硬件連接圖嗎  51單片機直接連接數(shù)碼管和矩陣鍵盤嗎




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品欧美一区二区在线观看视频 | 自拍 亚洲 欧美 老师 丝袜 | 黄色片av | 成人精品系列 | 精品久久香蕉国产线看观看亚洲 | 欧美1区2区 | 久久精品国产一区 | 亚洲精品中文字幕在线观看 | 中文字幕免费 | 黄频免费 | 能看的av | 成人精品在线观看 | 国产伦精品一区二区三区照片91 | a视频在线观看 | 日日骚视频| 亚洲一区二区三区在线视频 | 久久国产精品视频观看 | av免费网址 | 国产精品成人国产乱一区 | 国精日本亚洲欧州国产中文久久 | 天天综合操 | 草久久久 | 亚州精品天堂中文字幕 | 亚洲一区免费 | 91精品国产91久久久久久不卞 | 国产高清一二三区 | 亚洲精品一二三区 | 欧美激情综合 | 福利网址 | 日韩淫片免费看 | 亚洲精品一区二区 | 久久久久久久久99 | 亚洲色图婷婷 | 岛国av免费在线观看 | 亚洲二区视频 | 亚洲最大福利网 | 天天插天天操 | 久久久久一区 | 亚洲精品久久久久久久不卡四虎 | 日韩在线小视频 | 国产91在线精品 |