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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3164|回復: 0
收起左側

單片機電子琴匯編源碼

[復制鏈接]
ID:209876 發表于 2017-6-10 16:24 | 顯示全部樓層 |閱讀模式
ORG 0000H   ;初始位置00H
             JMP STARET  ;跳到主程序
                 ORG 000BH   ;定時器0中斷起始單元
                 JMP TIME0    ;跳到中斷程序
          
STARET:  MOV TMOD,#00000001B;設定工作方式為1
          MOV IE,  #10000010B  ;開中斷允許
                    SETB TR0
               
L1:       CALL  KEY  ;調用鍵盤掃描程序
          CLR  EA     ;關中斷總允許
                    JB   F0,L1     ;查詢鍵盤按下標志
                    MOV A,22H    ;將鍵盤碼送單元A
                    MOV DPTR,#TABLE1
                    MOVC A,@A+DPTR ;將查詢的數碼管顯示碼送A
                    MOV  P0,A        ;將數碼管顯示碼送數碼管
                    MOV A,22H        ;將鍵盤碼送單元A
                    RL A          ;數據倍乘
                    MOV DPTR,#TABLE
                    MOVC A,@A+DPTR;將聲音編碼送A
                    MOV TH0,A;將聲音編碼高位給TH0
                    MOV 21H,A;送聲音編碼給21H單元儲存
                    MOV A,22H
                    RL A
                    INC A
                    MOVC A,@A+DPTR;取聲音編碼地位給A
                    MOV TL0,A;將聲音編碼送TL0
                    MOV 20H,A;將聲音編碼低位送20H儲存
L2:       CALL KEY;調用江畔掃描程序
          SETB EA;開斷總允許
                    JB F0,L1;查詢鍵盤按下標志
                    JMP L2 ;沒有轉L2循環
/*******鍵盤掃描程序*********/
KEY:      SETB F0   ;鍵盤按下標志至1
          MOV R3,#0F7H;R3送掃描碼
                    MOV R1,#00H;R1初始為0
L3:       MOV A,R3;將掃描碼送A
          MOV P2,A;將掃描碼送描p2掃描
                    MOV A,P2;讀取鍵盤狀態
                SETB C;進位至1
                    MOV R5,#04H;將4給R5單元,用于行掃描
L4:       RLC A
        JNC KEYIN;有鍵按下跳到KEYIN
                  INC R1;無鍵按下R1加1
                  DJNZ R5,L4;判斷一行有沒有判斷完畢
                  MOV A,R3;掃描完畢后,再次送掃描碼給A
                  SETB C;進位置1
                  RRC A;對A進行右移
                  MOV R3 ,A ;送新的掃描碼給R3
                  JC L3 ;判斷是否掃描完畢,是則循環
                  RET;返回主程序
KEYIN:      MOV 22H,R1;將鍵盤碼送22H儲存
        CLR F0;對鍵盤按下標志清0
                  RET;返回主程序
TIME0:      PUSH ACC;將A壓入堆棧
        PUSH PSW;將PSW壓入堆棧
              MOV TL0,20H;將聲音編碼低位送TL0
                  MOV TH0,21H;將聲音編碼高位送TH0
                  CPL P1.0;對輸出口聲音信號取反
                  POP PSW;.從堆棧還原PSW
                  POP ACC;從堆棧還原ACC
                  RETI        ;中斷返回
/********音符編碼***************/
TABLE:   DW 64021,64103,64260,64400
     DW 64524,64580,64684,64777
           DW 64820,64898,64968,65030
           DW 65058,65110,65157,65178
/********共陽極數碼編碼*********/

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天躁日日躁bbbbb | 亚洲人在线| 蜜桃视频一区二区 | 国产性色av | 日韩毛片网站 | 九九精品在线观看 | www.国产精品.com| a在线免费观看 | 91看片视频 | 狠狠干影院 | 日本婷婷| 91婷婷| 成人免费福利 | 玖玖视频在线 | 中文日韩在线 | 日本福利在线 | 欧美成人一级片 | 青青草国产成人av片免费 | 久久久久久久网 | 国产成人精品一区二区三区视频 | 日本黄a三级三级三级 | www.4hu95.com四虎 丰满岳乱妇一区二区 | 日本三级久久 | 亚洲一级二级三级 | 精品一区二区三区三区 | 亚洲激情成人 | 国产中文字幕在线播放 | 色综合小说 | 国内精品一区二区 | 天天操天天干天天 | 欧洲精品一区二区 | 22精品一区二区三区 | 成人免费看片在线观看 | 免费av毛片 | 国产高清视频一区 | 天天干天天操天天爽 | 成人欧美一区二区三区白人 | 91一区| 人人爱av| 久久伊人av | 日韩免费在线观看视频 |