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

當前位置:首頁 > 單片機 > 單片機
[導讀] 問題:做了一個小設計,用的是AT89C2051,其中P1口接兩位BCD指撥開關,P3.2接了一個開關,P3.3接了一個繼電器。兩位BCD指撥開關的具體接法是公共端接P1.1和P1.2口,8421分別接在P1.3~P1.6口。我想通過開

問題:做了一個小設計,用的是AT89C2051,其中P1口接兩位BCD指撥開關,P3.2接了一個開關,P3.3接了一個繼電器。
兩位BCD指撥開關的具體接法是公共端接P1.1和P1.2口,8421分別接在P1.3~P1.6口。
我想通過開關控制繼電器開合。具體要求是:按開關的次數(shù)由BCD開關的十位來決定,即BCD上顯示的是數(shù)字3,則按3次P3.2所接的開關,繼電器才開始動作,顯示5,則按5次繼電器才動作,以此類推;而繼電器開合時間由BCD開關的個位控制,如果BCD上顯示的是數(shù)字3,則繼電器開或合3分鐘,是5則開或合5分鐘。
不知道如何讀入的P1口值并分開成兩部分,請哪位前輩高手幫忙寫個程序,讓我學習學習。在此萬分感謝。
懸賞分:50 - 解決時間:2009-9-12 14:27
;============================
最佳答案:
利用兩個BCD指撥開關,設定了按鍵次數(shù)和延時時間(分鐘數(shù));按鍵輸入、繼電器輸出。
很簡單,樓主寫的非常清楚。
BCD指撥開關(又稱為撥盤、撥碼開關),其輸出是按照8421形式,但是它有個公共端,輸入高電平的時候,輸出的8421碼是高電平有效。
;----------------------------
;讀入BCD(8421)撥碼開關:
SETB P1.1 ;屏蔽一組
CLR P1.0 ;P1.0所連接的撥盤有效
MOV A, P1 ;讀入,低有效
CPL A ;有效值變高
RR A
RR A
ANL A, #0FH ;留下低四位
MOV R7, A ;存好
SETB P1.0 ;屏蔽另一組
CLR P1.1 ;P1.1所連接的撥盤有效
MOV A, P1 ;讀入,低有效
CPL A ;有效值變高
RR A
RR A
ANL A, #0FH ;留下低四位
MOV R6, A ;存好
;這樣,就將兩組BCD碼,存到了R6和R7。

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