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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2286|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

4X4鍵盤設(shè)計(jì)的計(jì)算器匯編語(yǔ)言

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:335941 發(fā)表于 2018-5-30 11:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
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;                 //跳轉(zhuǎn)段碼
                   MOV   P0,   A;         //P0輸出字形
                   MOV   P2,   R2;         //位選輸出
                   LCALL D1MS;                 //跳轉(zhuǎn)延時(shí)
                   MOV   P2,   #0;         //位選關(guān)閉,段碼不輸出
                   INC   R0;                 //選擇下一位;
                   MOV   A,    R2;         
                   CLR   C;                         //進(jìn)位標(biāo)志清零
                   RLC   A;                         //掃描字右移
                   MOV   R2,   A;         //保存掃描字
                   JNC  DISP2;                 //C=0時(shí), 循環(huán)一次未結(jié)束,跳轉(zhuǎn)到DISP2
PASS:     LJMP  DISP1;
D1MS:     MOV   R7,    #50H;//延時(shí)程序
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;//設(shè)掃描初值,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)通過(guò)A,傳送到R4
                SETB  C;                //進(jìn)位標(biāo)志置1
                MOV   R5, #04H; //                  
l3:    RLC   A;                //按鍵左移,通過(guò)C是否為0,判斷此列是否有0;無(wú)0r1進(jìn)行累加;有0跳轉(zhuǎn)到延時(shí),
       JNC   KEY;                //C=0,跳轉(zhuǎn)到延時(shí)
                INC   R1;               
                DJNZ  R5, L3;
                MOV   A, R3;      
                SETB  C;
                RRC   A;          //換行掃描
                MOV   R3,A;         
                JC    L2;           //C=1,跳轉(zhuǎn)到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;
/*判斷運(yùn)算法*/
       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;//判斷是否為等于號(hào)
           JZ    EQUAL1;
                MOV   A,    R1;
                XRL   A,  #0FH;//判斷是否為清零鍵
           JZ    ON1;
   
                INC   R0;          //選擇下一個(gè)地址
                MOV   A,  R0; //存入r0的新數(shù)值
                MOV   R6, A;
                POP   PSW;
                POP          B;
                pop   ACC;
                RET;
DELAY: MOV   R7,   #60;//消除抖動(dòng)延時(shí)程序
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ù)轉(zhuǎn)換為十進(jìn)制,并存入80h
       MOV   A,     78H;
       MUL   AB;
                ADD   A,    70H;
                MOV   80H,  A;
                RET;
END;

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

使用道具 舉報(bào)

沙發(fā)
ID:556513 發(fā)表于 2019-6-8 17:53 | 只看該作者
你好,我是初學(xué)者。有附帶電路原理圖嗎?多謝你的幫助
回復(fù)

使用道具 舉報(bào)

板凳
ID:663935 發(fā)表于 2019-12-14 19:48 | 只看該作者
有硬件連接圖嗎  51單片機(jī)直接連接數(shù)碼管和矩陣鍵盤嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: www.精品国产 | 91久久国产综合久久 | av高清| 国产98色在线 | 日韩 | 毛片网站在线观看 | 91久久精品国产91久久 | 久久er99热精品一区二区 | 日日骚网 | 日本电影韩国电影免费观看 | 欧美一区在线视频 | 蜜桃av鲁一鲁一鲁一鲁 | 国产精品成人国产乱 | 久草视频在线看 | 啪一啪在线视频 | 国产91精品在线 | 亚洲久久一区 | 国产色| 国产综合在线视频 | 国产欧美精品区一区二区三区 | 日本aaaa| 成人免费视频网 | 99免费视频 | 成人久久久久久久久 | 国产高清在线精品一区二区三区 | 成人午夜电影网 | 精品免费国产一区二区三区四区介绍 | 精品久久久久久久久亚洲 | 国产一级电影网 | 久久久av一区 | www.日日夜夜| 日韩三区 | 在线午夜 | 一区二区三区国产 | 成人久久18免费网站 | 久久久久久91香蕉国产 | 一区2区 | 美日韩精品 | 亚洲精品一区二区三区在线观看 | 久久久久亚洲av毛片大全 | 精品免费视频一区二区 | 精品免费国产一区二区三区 |