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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3373|回復: 4
收起左側

單片機怎么用按位與、或、異來控制流水燈從兩端流向中間?

[復制鏈接]
ID:370709 發表于 2018-9-28 10:51 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:403712 發表于 2018-9-28 17:50 | 顯示全部樓層
TLOW    EQU  0F0H
THIGH   EQU  0D8H

FLAG_DIR    BIT 20H.0;FANGXIANG

COUNT_INT   DATA 30H
COUNT_K     DATA 31H
LEDVALUE    DATA 32H
COUNT_KEY   DATA 33H
KEY0    EQU P2.0
KEY1    EQU P2.1
KEY2    EQU P2.2
KEY3    EQU P2.3
;--------------------------------------------------
ORG  0000H
JMP  MAIN
ORG  0BH
JMP  T0_INT
;--------------------------------------------------
MAIN:
    MOV  SP,#60H
    CALL  INIT_TIMER
    SETB  TR0
    CLR FLAG_DIR
    MOV LEDVALUE,#01H
    MOV COUNT_KEY,#50
    MOV COUNT_K,#50
MAIN_LOOP:
READKEY0:
    JB KEY0,READKEY1
    JNB KEY0,$
    SETB FLAG_DIR
    AJMP READKEYEND
READKEY1:
    JB KEY1,READKEY2
    JNB KEY1,$
    CLR FLAG_DIR
    AJMP READKEYEND
READKEY2:
    JB KEY3,READKEY3
    JNB KEY3,$
    CLR C
    MOV A,COUNT_KEY
    ADDC A,#5
    JNC COUNT_KEY_NOT_OV
    MOV A,#250
COUNT_KEY_NOT_OV:   
    MOV COUNT_KEY,A
    MOV COUNT_K,A
    AJMP READKEYEND
READKEY3:
    JB KEY2,READKEYEND  
    JNB KEY2,$   
    MOV A,COUNT_KEY
    SUBB A,#5
    JNC COUNT_KEY_NOT_OV2
    MOV A,#5
COUNT_KEY_NOT_OV2:     
    MOV COUNT_KEY,A
    MOV COUNT_K,A
    AJMP READKEYEND
READKEYEND:   
;   MOV A,COUNT_KEY
;    MOV COUNT_K,A
    JMP MAIN_LOOP
;;-------------------------     


;;-------------------------
INIT_TIMER:                ;初始化定時器
    MOV  TMOD,#01H    ;設置定時器0 工作模式為模式1
    MOV  IE,  #82H    ;啟用定時器0 中斷產生
    MOV  TL0,#TLOW      ;10MS
    MOV  TH0,#THIGH
    RET
;;-------------------------
T0_INT:
    PUSH  ACC
    PUSH  PSW
    MOV  TL0,#TLOW
    MOV  TH0,#THIGH
    INC COUNT_INT
    MOV A,COUNT_INT
    CJNE A,#1,RUNOUT
    MOV COUNT_INT,#0
    DJNZ COUNT_K,RUNOUT
    MOV A,COUNT_KEY
    MOV COUNT_K,A
RUN:   
    JB  FLAG_DIR,RUN_R;
RUN_L:
    MOV A,LEDVALUE
    RL A
    MOV LEDVALUE,A
    AJMP RUNOUT
RUN_R:
    MOV A,LEDVALUE
    RR A
    MOV LEDVALUE,A
    AJMP RUNOUT  
RUNOUT:
;   MOV A,LEDVALUE
    MOV P0,LEDVALUE
T0_T:
    POP PSW
   POP  ACC
    RETI

;;-------------------------   
END
回復

使用道具 舉報

ID:111634 發表于 2018-9-30 06:50 | 顯示全部樓層
用邏輯運算實現花樣亮燈操作,不是好方法,且復雜單調,應采用數組調用方法,可做到隨心所欲。

評分

參與人數 1黑幣 +20 收起 理由
yousunny + 20 贊一個!

查看全部評分

回復

使用道具 舉報

ID:396960 發表于 2018-9-30 09:07 | 顯示全部樓層
嗯嗯,贊成 “zl2168” 的說話
“用邏輯運算實現花樣亮燈操作,不是好方法,且復雜單調,應采用數組調用方法,可做到隨心所欲!

省心。
回復

使用道具 舉報

ID:391338 發表于 2018-9-30 09:38 | 顯示全部樓層
TLOW    EQU  0F0H THIGH   EQU  0D8H FLAG_DIR    BIT 20H.0;FANGXIANG COUNT_INT   DATA 30H COUNT_K     DATA 31H LEDVALUE    DATA 32H COUNT_KEY   DATA 33H KEY0    EQU P2.0 KEY1    EQU P2.1 KEY2    EQU P2.2 KEY3    EQU P2.3 ;-------------------------------------------------- ORG  0000H JMP  MAIN ORG  0BH JMP  T0_INT ;-------------------------------------------------- MAIN:     MOV  SP,#60H     CALL  INIT_TIMER     SETB  TR0     CLR FLAG_DIR     MOV LEDVALUE,#01H     MOV COUNT_KEY,#50     MOV COUNT_K,#50 MAIN_LOOP: READKEY0:     JB KEY0,READKEY1     JNB KEY0,$     SETB FLAG_DIR     AJMP READKEYEND READKEY1:     JB KEY1,READKEY2     JNB KEY1,$     CLR FLAG_DIR     AJMP READKEYEND READKEY2:     JB KEY3,READKEY3     JNB KEY3,$     CLR C     MOV A,COUNT_KEY     ADDC A,#5     JNC COUNT_KEY_NOT_OV     MOV A,#250 COUNT_KEY_NOT_OV:         MOV COUNT_KEY,A     MOV COUNT_K,A      AJMP READKEYEND READKEY3:     JB KEY2,READKEYEND       JNB KEY2,$         MOV A,COUNT_KEY     SUBB A,#5     JNC COUNT_KEY_NOT_OV2     MOV A,#5 COUNT_KEY_NOT_OV2:          MOV COUNT_KEY,A     MOV COUNT_K,A     AJMP READKEYEND READKEYEND:     ;   MOV A,COUNT_KEY ;    MOV COUNT_K,A     JMP MAIN_LOOP ;;-------------------------      ;;------------------------- INIT_TIMER:                ;初始化定時器     MOV  TMOD,#01H    ;設置定時器0 工作模式為模式1     MOV  IE,  #82H    ;啟用定時器0 中斷產生     MOV  TL0,#TLOW      ;10MS     MOV  TH0,#THIGH     RET ;;------------------------- T0_INT:     PUSH  ACC     PUSH  PSW     MOV  TL0,#TLOW     MOV  TH0,#THIGH     INC COUNT_INT     MOV A,COUNT_INT     CJNE A,#1,RUNOUT     MOV COUNT_INT,#0     DJNZ COUNT_K,RUNOUT     MOV A,COUNT_KEY     MOV COUNT_K,A RUN:        JB  FLAG_DIR,RUN_R; RUN_L:     MOV A,LEDVALUE     RL A     MOV LEDVALUE,A     AJMP RUNOUT RUN_R:     MOV A,LEDVALUE     RR A     MOV LEDVALUE,A     AJMP RUNOUT   RUNOUT: ;   MOV A,LEDVALUE     MOV P0,LEDVALUE T0_T:     POP PSW    POP  ACC     RETI ;;-------------------------     END
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 男女午夜激情视频 | 一区二区三区精品视频 | 韩三级在线观看 | 天堂亚洲网| 欧美一级片在线 | 成人在线精品 | 午夜激情影院 | 欧美成人一区二区 | 欧美极品在线 | 久久天天综合 | 午夜播放器在线观看 | 综合另类 | 伊人超碰在线 | 天堂网中文 | 99re在线免费视频 | 不卡在线一区 | 国产视频久久 | 久久亚洲欧美日韩精品专区 | 免费毛片www com cn | 亚洲综合色视频在线观看 | 中文字幕综合在线 | 欧美区日韩区 | 中国三级黄色录像 | 狠狠操你 | 亚洲精品免费在线观看 | av网站观看 | 欧美在线视频一区 | 中文字幕高清免费日韩视频在线 | 北条麻妃视频在线观看 | 在线免费黄色小视频 | 一区二区精品 | 91视频18 | 四虎影视在线 | 欧美午夜视频 | 国产精品免费看 | 国产91久久久久蜜臀青青天草二 | 一级高清 | 在线观看国产视频 | 国产精品18hdxxxⅹ在线 | 91免费高清| 久久一区二区三区四区 |