多路開關工作及狀態(tài)指示_第1頁
多路開關工作及狀態(tài)指示_第2頁
多路開關工作及狀態(tài)指示_第3頁
多路開關工作及狀態(tài)指示_第4頁
多路開關工作及狀態(tài)指示_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、多路開關工作及狀態(tài)指示3 多路開關狀態(tài)指示 1 實驗任務 如圖二極管L1L4,P1.4P1.7接了四個開關K1K4,編程將開關的狀態(tài)反映到發(fā)光二極管上。(開關閉合,對應的燈亮,開關斷開,對應的燈滅)。 2 電路原理圖 圖 3 系統(tǒng)板上硬件連線 (1 把“單片機系統(tǒng)”區(qū)域中的P1.0P1.3用導線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1L4端口上; (2 把“單片機系統(tǒng)”區(qū)域中的P1.4P1.7用導線連接到“四路撥動開關”區(qū)域中的K1K4端口上; 4 程序設計內容 (1 開關狀態(tài)檢測 對于開關狀態(tài)檢測,相對單片機來說,是輸入關系,我們可輪流檢測每個開關狀態(tài),根據(jù)每個開關的狀態(tài)讓相應的發(fā)光二極

2、管指示,可以采用JBP1.X,REL或JNBP1.X,REL指令來完成;也可以一次性檢測四路開關狀態(tài),然后讓其指示,可以采用MOVA,P1指令一次把P1端口的狀態(tài)全部讀入,然后取高4位的狀態(tài)來指示。 (2 輸出控制 根據(jù)開關的狀態(tài),由發(fā)光二極管L1L4來指示,我們可以用SETBP1.X和CLRP1.X指令來完成,也可以采用MOVP1,1111XXXXB方法一次指示。 5 程序框圖 讀P1口數(shù)據(jù)到ACC中 ACC內容右移4次 ACC內容與F0H相或 ACC內容送入P1口 <!endif-> 圖 6 方法一(匯編源程序)ORG 00HSTART: MOV A,P1ANL A,#0F0H

3、RR ARR ARR ARR AXOR A,#0F0HMOV P1,ASJMP STARTEND7 方法一(C語言源程序)#include <AT89X51.H>unsigned char temp;void main(void)while(1)temp=P1>>4;temp=temp | 0xf0;P1=temp;8 方法二(匯編源程序)ORG 00HSTART: JB P1.4,NEXT1CLR P1.0SJMP NEX1NEXT1: SETB P1.0NEX1: JB P1.5,NEXT2CLR P1.1SJMP NEX2NEXT2: SETB P1.1NEX2: JB P1.6,NEXT3CLR P1.2SJMP NEX3NEXT3: SETB P1.2NEX3: JB P1.7,NEXT4CLR P1.3SJMP NEX4NEXT4: SETB P1.3NEX4: SJMP STARTEND9 方法二(C語言源程序)#include <AT89X51.H>void main(void)while(1)if(P1_4=0)P1_0=0;elseP1_0=1;if(P1_5=0)P1_1=0;elseP1_1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論