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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

按鍵與數碼管匯編例程

作者:佚名   來源:本站原創   點擊數:  更新時間:2009年10月29日   【字體:

/*
程序效果:八個數碼管同時顯示,按鍵最后按下的八個數值
*/
   ORG 0000H
   LJMP START
   ORG 0030H
START:    MOV 30H,#00   //賦初值
   MOV 31H,#00
   MOV 32H,#00
   MOV 33H,#00
   MOV 34H,#00
   MOV 35H,#00
   MOV 36H,#00
   MOV 37H,#00
   MOV P1,#0FFH //打開最右邊的數碼管
   MOV P2,#00  //給P2口送0值
LOOP:     LCALL KEY  //不斷掃描鍵盤 
   LCALL DISPLAY  //不斷顯示值
   LJMP  LOOP
//鍵盤掃描子程序
KEY:         MOV R0,#0FEH   //賦初值,用于循環,不斷掃描鍵值
   MOV R2,#04   //總循環4次
LRP:         MOV A,R0  //暫存A的值
   MOV P0,A
   RL A    //循環左移1位
   XCH A,R0
   MOV A,P0   //讀?P0口的值
   CJNE A,#7EH,LKP  //判斷按鍵0是否按下
   MOV 40H,#3FH  //是,則將鍵值暫存在40h單元中
LFP:         MOV A,P0  //讀?P0口的值
   CJNE A,#7EH, LKOP1 //判斷按鍵是否松手
   LCALL DISPLAY  //按鍵沒有松手,繼續顯示
   LJMP  LFP    //等待按鍵松手,否則繼續循環
LKP:        CJNE A,#0BEH,LKP1  //以下功能同上
   MOV 40H,#66H 
LFP1:     MOV A,P0
   CJNE A,#0BEH,LKOP1
   LCALL DISPLAY
   LJMP LFP1
LKP1:      CJNE A,#0DEH,LKP2
   MOV 40H,#7FH
LFP2:       MOV A,P0
   CJNE A,#0DEH,LKOP1
   LCALL DISPLAY
   LJMP LFP2
LKP2:       CJNE A,#0EEH,LKP3
   MOV 40H,#39H
LFP3:       MOV A,P0
   CJNE A,#0EEH,LKOP1
   LCALL DISPLAY
   LJMP LFP3

LKP3:       CJNE A,#7DH,LKP4
   MOV 40H,#06H
LFP4:       MOV A,P0
   CJNE A,#7DH,LKOP1
   LCALL DISPLAY
   LJMP LFP4
LKP4:       CJNE A,#0BDH,LKP5
   MOV 40H,#06DH
LFP5:       MOV A,P0
   CJNE A,#0BDH,LKOP1
   LCALL DISPLAY
   LJMP LFP5
LKP5:      CJNE A,#0DDH,LKP6
   MOV 40H,#6FH
LFP6:       MOV A,P0
   CJNE A,#0DDH,LKOP1
   LCALL DISPLAY
   LJMP LFP6
    
LKOP1:    LJMP LKOP  //加本條語句的作用是:擴大CJNE的跳轉范圍

 

LKP6:      CJNE A,#0EDH,LKP7
   MOV 40H,#5EH
LFP7:       MOV A,P0
   CJNE A,#0EDH,LKOP1
   LCALL DISPLAY
   LJMP LFP7

LKP7:      CJNE A,#7BH,LKP8
   MOV 40H,#5BH
LFP8:       MOV A,P0
   CJNE A,#7BH,LKOP1
   LCALL DISPLAY
   LJMP LFP8
LKP8:      CJNE A,#0BBH,LKP9
   MOV 40H,#7DH
LFP9:       MOV A,P0
   CJNE A,#0BBH,LKOP
   LCALL DISPLAY
   LJMP LFP9
LKP9:      CJNE A,#0DBH,LKP10
         MOV 40H,#77H
LFP10:     MOV A,P0
   CJNE A,#0DBH,LKOP
   LCALL DISPLAY
   LJMP LFP10
LKP10:     CJNE A,#0EBH,LKP11
   MOV 40H,#79H
LFP11:     MOV A,P0
   CJNE A,#0EBH,LKOP
   LCALL DISPLAY
   LJMP LFP11

LKP11:    CJNE A,#77H,LKP12
   MOV 40H,#4FH
LFP12:   MOV A,P0
   CJNE A,#77H,LKOP
   LCALL DISPLAY
   LJMP LFP12
LKP12:    CJNE A,#0B7H,LKP13
   MOV 40H,#07H
LFP13:     MOV A,P0
   CJNE A,#0B7H,LKOP
   LCALL DISPLAY
   LJMP LFP13
LKP13:   CJNE A,#0D7H,LKP14
   MOV 40H,#7CH
LFP14:     MOV A,P0
   CJNE A,#0D7H,LKOP
   LCALL DISPLAY
   LJMP LFP14
LKP14:   CJNE A,#0E7H,LKP15
   MOV 40H,#71H
LFP15:     MOV A,P0
   CJNE A,#0E7H,LKOP
   LCALL DISPLAY
   LJMP LFP15
LKOP:    MOV 37H,36H //以下語句的作用是:在有按鍵按下時
   MOV 36H,35H  //所有數據左移一位,空出30H單元
   MOV 35H,34H
   MOV 34H,33H
   MOV 33H,32H
   MOV 32H,31H
   MOV 31H,30H
   MOV 30H,40H
LKP15:     DJNZ  R2,LRP1  //以下三條語句的作用是:擴大DJNZ的跳轉范圍
   LJMP LRP2
LRP1:      LJMP LRP
LRP2:    NOP
   RET
//顯示子程序
DISPLAY: MOV R1,#0FFH 
   MOV P1,R1   //點亮最右邊的數碼管
   MOV P2,30H   //顯示30H單元的內容
   LCALL DELAY  //延時,使數碼管更加亮,但時間要適宜
   DEC R1    //準備點亮下一個數碼管

   MOV P1,R1  //點亮下一個數碼管
   MOV P2,31H
   LCALL DELAY
   DEC  R1

   MOV P1,R1
   MOV P2,32H
   LCALL DELAY
   DEC  R1

   MOV P1,R1
   MOV P2,33H
   LCALL DELAY
   DEC  R1

   MOV P1,R1
   MOV P2,34H
   LCALL DELAY
   DEC  R1

   MOV P1,R1
   MOV P2,35H
   LCALL DELAY
   DEC  R1

   MOV P1,R1
   MOV P2,36H
   LCALL DELAY
   DEC  R1

   MOV P1,R1
   MOV P2,37H
   LCALL DELAY
   RET
//延時時間約為:2us*250=15ms
DELAY:    MOV R6,#250
DEL1:    DJNZ R6,DEL1
   RET
   END
 

關閉窗口

相關文章

主站蜘蛛池模板: 三区在线观看 | 一区二区三区亚洲精品国 | 国产精品视频500部 a久久 | 亚洲视频免费在线观看 | 视频一区二区三区四区五区 | 成人久久久 | 久久久久国产一级毛片高清网站 | 97国产精品视频人人做人人爱 | 91视频18 | 99福利视频导航 | 一区二区三区高清 | 久久久久久网站 | 国产精品久久网 | 男人天堂99 | 中文在线一区二区 | 欧美精品综合在线 | 午夜精品一区二区三区在线视频 | 中文字幕欧美日韩一区 | 99福利 | 免费骚视频 | www.天天干.com | 超碰成人免费观看 | 久久久久久久久久久久91 | 粉嫩一区二区三区国产精品 | 日韩成人在线观看 | 男女羞羞视频免费看 | 综合色久 | 一区二区视屏 | 日韩av一区二区在线观看 | 日韩成人免费 | 久久久国产精品一区 | 国产一区二 | 一级亚洲| 亚洲视频免费在线观看 | 日韩欧美在线播放 | 午夜av免费 | 久久男人 | 欧美日韩国产在线观看 | 国产精品免费一区二区三区四区 | 欧美乱淫视频 | 成人国产精品 |