日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] ;剛才在百度知道上看到一個(gè)題目:http://zhidao.baidu.com/question/439326240.html;轉(zhuǎn)眼之間,知道寶貝又找不到了,百度真是變化莫測。;呵呵,做而論道已經(jīng)提前一步保存下來了題目的要求。;==========

;剛才在百度知道上看到一個(gè)題目:http://zhidao.baidu.com/question/439326240.html

;轉(zhuǎn)眼之間,知道寶貝又找不到了,百度真是變化莫測。

;呵呵,做而論道已經(jīng)提前一步保存下來了題目的要求。

;=================================================

;題目:汽車轉(zhuǎn)向燈控制器的編程

;1號(hào)鍵(左轉(zhuǎn)向)按下時(shí) 實(shí)現(xiàn)P3.6閃亮,P0-P2口左流水;
;2號(hào)鍵(右轉(zhuǎn)向)按下時(shí) 實(shí)現(xiàn)P3.7閃亮,P0-P2口右流水;
;3號(hào)鍵(剎車鍵)按下時(shí) 實(shí)現(xiàn)P0-P2口同時(shí)亮;
;4號(hào)鍵(緊急狀況鍵) 按下時(shí) 實(shí)現(xiàn)P3.6和P3.7同時(shí)閃亮。

;按鍵按住時(shí),執(zhí)行上述程序,按鍵松開后關(guān)閉所有燈。

;=================================================

;按照題目要求,做而論道編寫了程序,用 PROTEUS 繪出了仿真電路圖,運(yùn)行起來如下所示:



;圖片鏈接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/b4f3e2dea9ec8a134811484bf703918fa1ecc077.html#

;程序如下:

L_T BIT 00H ;按鍵標(biāo)志位
R_T BIT 01H
S_T BIT 02H
J_J BIT 03H

SAME EQU 30H;按鍵緩沖區(qū)
Runw EQU 31H ;31H 32H,共16位數(shù),當(dāng)做流水燈
SP_B EQU 33H ;棧底位置
;--------------------------------
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
;--------------------------------
START:
MOV TMOD, #01H
MOV TH0, #4CH ;定時(shí)
MOV R3, #5 ;250ms閃爍一次
SETB TR0
MOV IE, #82H ;開中斷
MOV SP, #SP_B
MOV Runw, #255
MOV Runw + 1, #0
;--------------------------------
M_LOOP:
MOV A, P1 ;讀一次按鍵
ANL A, #0FH
MOV SAME, A ;保存

MOV R7, #40 ;延時(shí)約20ms
MOV R6, #0
DJNZ R6, $
DJNZ R7, $ - 4

MOV A, P1 ;再讀一次按鍵
ANL A, #0FH
CJNE A, SAME, M_LOOP ;兩次不等則是抖動(dòng)

CPL A
MOV C, ACC.3 ;保存按鍵信息
MOV R_T, C
MOV C, ACC.2
MOV J_J, C
MOV C, ACC.1
MOV S_T, C
MOV C, ACC.0
MOV L_T, C

SJMP M_LOOP ;繼續(xù)去讀
;--------------------------------
T0_INT:
MOV TH0, #4CH ;定時(shí)
PUSH ACC
DJNZ R3, T0_END ;不到5次就退出
MOV R3, #5
;----------------------;以下每隔250ms執(zhí)行一次
LEFT:
JNB L_T, RIGHT
MOV A, Runw
RRC A
MOV Runw, A
MOV A, Runw + 1
RRC A
MOV Runw + 1, A
MOV A, Runw
MOV ACC.7, C
MOV Runw, A

MOV P2, Runw
MOV P0, Runw + 1
SETB P3.7
CPL P3.6
JMP T0_END
RIGHT:
JNB R_T, STOP
MOV A, Runw
RLC A
MOV Runw, A
MOV A, Runw + 1
RLC A
MOV Runw + 1, A
MOV A, Runw
MOV ACC.0, C
MOV Runw, A

MOV P2, Runw
MOV P0, Runw + 1
CPL P3.7
SETB P3.6
JMP T0_END
STOP:
JNB S_T, JINJI
MOV P2, #0
MOV P0, #0
SETB P3.7
SETB P3.6
JMP T0_END
JINJI:
JNB J_J, NOTHING
MOV P2, #255
MOV P0, #255
CPL P3.7
CPL P3.6
JMP T0_END
NOTHING: ;關(guān)閉所有的燈
MOV P2, #255
MOV P0, #255
SETB P3.7
SETB P3.6
T0_END:
POP ACC
RETI
;--------------------------------

END

;試驗(yàn)的時(shí)候,應(yīng)該釋放了前一個(gè)按鍵,再按下另一個(gè)按鍵,這才能有理想的結(jié)果。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉