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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

按鍵控制多種流水燈_匯編

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1 發(fā)表于 2010-6-1 00:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

源代碼和hex文件下載地址:
http://www.zg4o1577.cn/ziliao/51hei-5/流水燈_鍵控_asm.rar

;---------------------------------------------------------------
;程序名稱:按鍵控制幾種流水燈程序
;晶振:11.0592
;跳線設(shè)置:默認(rèn)
;實驗對象:51hei-5型單片機學(xué)習(xí)板 
;按板子上的4個獨立鍵盤就可看到現(xiàn)象
;---------------------------------------------------------------
;中斷入口程序;
;************;
;

ORG     0000H    ;程序執(zhí)行開始地址
LJMP    START    ;跳至START執(zhí)行
ORG     0003H    ;外中斷0中斷入口地址
RETI             ;中斷返回(不開中斷)
ORG     000BH    ;定時器T0中斷入口地址
RETI             ;中斷返回(不開中斷)
ORG     0013H    ;外中斷1中斷入口地址
RETI             ;中斷返回(不開中斷)
ORG     001BH    ;定時器T1中斷入口地址
RETI             ;中斷返回(不開中斷)
ORG     0023H    ;串行口中斷入口地址
RETI             ;中斷返回(不開中斷)
;
; 初始化程序 
;************
;
CLEAR:  clr     P2.7      ;鎖存74hc573 防止數(shù)碼管干擾led燈
        clr     P1.4       ;打開led總開關(guān)
        MOV     20H,#00H    ;20H單元內(nèi)存清0(閃爍標(biāo)志清0)
        SETB    00H         ;20H.0位置1(上電時自動執(zhí)行閃爍功能1)
        RET                 ;子程序返回
;
;  主 程 序  
;************
;
START:ACALL     CLEAR       ;調(diào)用初始化子程序
MAIN: LCALL     KEYWORK     ;調(diào)用鍵掃描子程序
      JB        00H,FUN0    ;20H.0位為1時執(zhí)行FUN0
      JB        01H,FUN1    ;20H.1位為1時執(zhí)行FUN1
      JB        02H,FUN8    ;20H.2位為1時執(zhí)行FUN2
      JB        03H,FUN2    ;備用
      AJMP      MAIN        ;返回主程序MAIN
;
;  功能程序  
;************;
;第1種閃爍功能程序
FUN0: MOV       A,#0FEH       ;累加器賦初值
FUN00:MOV       P0,A          ;累加器值送至P0口
      LCALL     DL05S         ;延時
      JNB       ACC.7,MAIN    ;累加器最高位為0時轉(zhuǎn)MAIN
      RL        A             ;累加器A中數(shù)據(jù)循環(huán)左移1位
      AJMP      FUN00         ;轉(zhuǎn)FUN00循環(huán)
;
;第2種閃爍功能程序
FUN1:MOV        A,#7fH    ;累加器賦初值
FUN11:MOV       P0,A       ;累加器值送至P0口
      LCALL     DL05S      ;延時
      JZ        MAIN       ;A為0轉(zhuǎn)MAIN
      RR        A          ;累加器A中數(shù)據(jù)循環(huán)左移1位
      ANL       A,P0       ;A同P1口值相與
      AJMP      FUN11      ;轉(zhuǎn)FUN11循環(huán)
;
;第2種閃爍功能程序
FUN8:MOV        A,#0feH    ;累加器賦初值
FUN88:MOV       P0,A       ;累加器值送至P0口
      LCALL     DL05S      ;延時
      JZ        MAIN       ;A為0轉(zhuǎn)MAIN
      Rl        A          ;累加器A中數(shù)據(jù)循環(huán)左移1位
      ANL       A,P0       ;A同P1口值相與
      AJMP      FUN88      ;轉(zhuǎn)FUN11循環(huán)
; 第4種閃爍功能程序
FUN2:MOV        A,#0AAH     ;累加器賦初值
      MOV       P0,A        ;累加器值送至P0口
      LCALL     DL05S       ;延時
      CPL       A           ;A中各位取反
      MOV       P0,A        ;累加器值送至P0口
      LCALL     DL05S       ;延時
      AJMP      MAIN        ;轉(zhuǎn)MAIN

;  掃鍵程序  
;************;
;
KEYWORK:MOV     P3,#0FFH    ;置P3口為輸入狀態(tài)
      JNB       P3.2,KEY0   ;讀P3.2口,若為0轉(zhuǎn)KEY0
      JNB       P3.4,KEY1   ;讀P3.3口,若為0轉(zhuǎn)KEY1
      JNB       P3.6,KEY2   ;讀P3.4口,若為0轉(zhuǎn)KEY2
      JNB       P3.7,KEY3   ;讀P3.5口,若為0轉(zhuǎn)KEY3
      RET                   ;子程序返回
;
;閃爍功能0鍵處理程序
KEY0:LCALL      DL10MS      ;延時10毫秒消抖
     JB         P3.2,OUT0   ;P3.2為1,子程序返回(干擾)
     SETB       00H         ;20H.0位置1(執(zhí)行閃爍功能1標(biāo)志)
     CLR        01H         ;20H.1位清0
     CLR        02H         ;20H.2位清0
     CLR        03H         ;20H.3位清0
OUT0:RET                    ;子程序返回
;
; 閃爍功能1鍵處理程序
KEY1:LCALL      DL10MS
     JB         P3.4,OUT1
     SETB       01H         ;20H.1位置1(執(zhí)行閃爍功能2標(biāo)志)
     CLR        00H
     CLR        02H
     CLR        03H
OUT1:RET
;
;閃爍功能2鍵處理程序
KEY2:LCALL      DL10MS
     JB         P3.6,OUT2
     SETB       02H         ;20H.2位置1(執(zhí)行閃爍功能3標(biāo)志)
     CLR        01H
     CLR        00H
     CLR        03H
OUT2:RET
;
;閃爍功能(備用)鍵處理程序
KEY3:LCALL      DL10MS
     JB         P3.7,OUT3
     SETB       03H         ;20H.3位置1(執(zhí)行備用閃爍功能標(biāo)志)
     CLR        01H
     CLR        02H
     CLR        00H
OUT3:RET
;
;  延時程序  
;************;
;0.5毫秒延時子程序,執(zhí)行一次時間為513微秒
DL512:MOV       R2,#0FFH
LOOP1: DJNZ     R2,LOOP1
       RET
;
;10毫秒延時子程序(調(diào)用20次0.5毫秒延時子程序)
DL10MS:MOV      R3,#14H
LOOP2: LCALL    DL512
       DJNZ     R3,LOOP2
       RET
;
;延時子程序,改變R4寄存器初值可改變閃爍的快慢(時間為15×25毫秒)
DL05S:MOV       R4,#0FH
LOOP3: LCALL    DL25MS
       DJNZ     R4,LOOP3
       RET
;
;25毫秒延時子程序,用調(diào)用掃鍵子程序延時,可快速讀出功能按鍵值
DL25MS:MOV      R5,#0FFH
LOOP4:LCALL     KEYWORK
      DJNZ      R5,LOOP4
      RET
END                       ;程序結(jié)束
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级毛片久久99精品蜜桃 | 欧美区在线 | 日韩在线视频观看 | 国产欧美一区二区三区免费 | av免费看在线 | 99九色| 男女啪啪高潮无遮挡免费动态 | 成人网视频| 成人黄页在线观看 | 免费精品 | 精品婷婷 | 国产99久久久国产精品下药 | 午夜欧美| 亚洲欧美一区二区三区1000 | 色呦呦在线 | 亚洲视频免费在线观看 | 久久一区二区三区免费 | 国产一区二区免费在线 | 伊人性伊人情综合网 | 国产一级特黄真人毛片 | 久久久久一区 | 91高清视频 | 亚洲在线电影 | 亚洲性人人天天夜夜摸 | 在线视频成人 | 精品一区二区久久久久久久网精 | 久久久激情视频 | 国产目拍亚洲精品99久久精品 | 国产一区欧美 | 欧美激情 亚洲 | 久国产视频 | 国产精品一码二码三码在线 | 久久久毛片 | 全免一级毛片 | 国产成人免费视频 | 国产黄色电影 | 精品国产乱码久久久久久牛牛 | 91视频88av| 精品亚洲一区二区 | 美女毛片免费看 | 欧美亚洲成人网 |