多路開關狀態(tài)指示,Switch indicator
關鍵字:AT89S51,開關狀態(tài)指示
1.實驗任務
如圖所示,AT89S51單片機的P1.0-P1.3接四個發(fā)光二極管L1-L4,P1.4-P1.7接了四個開關K1-K4,編程將開關的狀態(tài)反映到發(fā)光二極管上。(開關閉合,對應的燈亮,開關斷開,對應的燈滅)。
2.電路原理圖

3.系統(tǒng)板上硬件連線
(2.把“單片機系統(tǒng)”區(qū)域中的P1.4-P1.7用導線連接到“四路撥動開關”區(qū)域中的K1-K4端口上;
4.程序設計內(nèi)容
(1.開關狀態(tài)檢測
對于開關狀態(tài)檢測,相對單片機來說,是輸入關系,我們可輪流檢測每個開關狀態(tài),根據(jù)每個開關的狀態(tài)讓相應的發(fā)光二極管指示,可以采用JBP1.X,REL或JNBP1.X,REL指令來完成;也可以一次性檢測四路開關狀態(tài),然后讓其指示,可以采用MOVA,P1指令一次把P1端口的狀態(tài)全部讀入,然后取高4位的狀態(tài)來指示。
(2.輸出控制
根據(jù)開關的狀態(tài),由發(fā)光二極管L1-L4來指示,我們可以用SETBP1.X和CLRP1.X指令來完成,也可以采用MOVP1,#1111XXXXB方法一次指示。
5.程序框圖(略)
6.方法一(匯編源程序)
ORG 00H
START:MOV A,P1
ANL A,#0F0H
RR A
RR A
RR A
RR A
XOR A,#0F0H
MOV P1,A
SJMP START
END
7.方法一(C語言源程序)
#include
unsigned char temp;
void main(void)
{
while(1)
{
temp=P1>>4;
temp=temp | 0xf0;
P1=temp;
}
}
8.方法二(匯編源程序)
ORG 00H
START:JB P1.4,NEXT1
CLR P1.0
SJMP NEX1
NEXT1:SETB P1.0
NEX1:JB P1.5,NEXT2
CLR P1.1
SJMP NEX2
NEXT2:SETB P1.1
NEX2:JB P1.6,NEXT3
CLR P1.2
SJMP NEX3
NEXT3:SETB P1.2
NEX3:JB P1.7,NEXT4
CLR P1.3
SJMP NEX4
NEXT4:SETB P1.3
NEX4:SJMP START
END
9.方法二(C語言源程序)
#include
void main(void)
{
while(1)
{
if(P1_4==0)
{
P1_0=0;
}
else
{
P1_0=1;
}
if(P1_5==0)
{
P1_1=0;
}
else
{
P1_1=1;
}
if(P1_6==0)
{
P1_2=0;
}
else
{
P1_2=1;
}
if(P1_7==0)
{
P1_3=0;
}
else
{
P1_3=1;
}
}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
發(fā)布評論請先 登錄
相關推薦
熱點推薦
高速開關多路復用器AD8180:性能剖析與應用指南
高速開關多路復用器AD8180/AD8182:性能剖析與應用指南 在電子設計領域,高速開關多路復用器一直是實現(xiàn)信號切換和選擇的關鍵元件。AD8180和AD8182作為兩款高性能的高速2
高清視頻光端機指示燈含義全解析:廣州郵科設備狀態(tài)一目了然
在安防監(jiān)控、智能交通等領域的視頻傳輸系統(tǒng)中,高清視頻光端機扮演著至關重要的角色。作為一名專業(yè)工程師,能否快速準確地判斷設備運行狀態(tài),直接影響到整個系統(tǒng)的穩(wěn)定性和故障排查效率。而指示燈作為設備狀態(tài)
STM32H5開發(fā)VL53L8CX(4)----運動指示器
VL53L8CX傳感器內(nèi)置了一個固件功能,可以檢測場景中的運動。這個運動指示器是基于連續(xù)幀之間來計算的。使用插件vl53l8cx_plugin_motion_indicator可以使用這個選項
48V電池開關參考設計:R 48V BATT SWITCH10測評
48V電池開關參考設計:R 48V BATT SWITCH10測評 一、前言 在汽車電子領域,48V電池系統(tǒng)正逐漸成為主流,其對于高效電力管理和負載控制的需求日益凸顯。R 48V BATT
Switch的應用場景
Switch的應用場景如下:
調用一到多個函數(shù)
設置變量值或者返回一個值
執(zhí)行一到多個代碼片段
如果case標簽很多,在switch的前兩個使用場景中,使用查找表可以更高效的完成。例如下面的兩種
發(fā)表于 12-12 07:28
條件判斷法來實現(xiàn)狀態(tài)機
狀態(tài)用 switch—case 組織起來, 將事件也用switch—case 組織起來, 然后讓其中一個 switch—case 整體插入到另一個
發(fā)表于 12-09 08:18
光纖收發(fā)器6個指示燈含義
, 光纖收發(fā)器 6個指示燈的含義 正是快速定位故障的核心線索。本文將詳細解析這6個常見指示燈的功能與狀態(tài)判斷,助你高效運維! 廣州郵科光纖收發(fā)器 一、為什么需要了解光纖收發(fā)器指示燈?
語音芯片BUSY狀態(tài)指示功能詳解:提升體驗與穩(wěn)定的關鍵 | 語音IC廠家
機制。其中,BUSY狀態(tài)指示功能扮演著至關重要的角色,如同系統(tǒng)內(nèi)的“交通信號燈”,指揮著數(shù)據(jù)流的有序通行,是提升用戶體驗與保障系統(tǒng)穩(wěn)定的關鍵。一、核心概念:何為BU
Texas Instruments SN74LVC258A四路2轉1線路數(shù)據(jù)選擇器/多路復用器數(shù)據(jù)手冊
時強制它們進入高阻抗狀態(tài)。Texas Instruments SN74LVC258A的選擇 (A/B) 輸入為所有通道選擇數(shù)據(jù)源,低電平狀態(tài)指示A數(shù)據(jù)源,高電平狀態(tài)
Texas Instruments TMUXHS4612 6通道多路復用器開關數(shù)據(jù)手冊
Texas Instruments TMUXHS4612 6通道多路復用器開關是一款采用2:1多路復用器或1:2多路解復用器配置的高速雙向無源開
PLC指示燈異常閃爍原因及維修
PLC(可編程邏輯控制器)作為工業(yè)自動化控制的核心設備,其運行狀態(tài)的穩(wěn)定性直接影響生產(chǎn)線的效率與安全。指示燈作為PLC最直觀的狀態(tài)反饋窗口,其異常閃爍往往預示著潛在故障。本文將系統(tǒng)分析PLC指
超級電容在故障指示器中的作用有哪些?
超級電容在故障指示器中的作用有哪些?安裝在輸配電線路、電力電纜及開關柜進出線上的故障指示器在電流流通的線路中起著非常重要的作用,一旦線路發(fā)生故障,巡線人員可以利用指示燈的報警顯示快速的
LCR測試儀故障指示燈含義解讀及故障排除指南
LCR測試儀作為電子元件參數(shù)測量的核心設備,其故障指示燈系統(tǒng)為操作人員提供了快速診斷設備狀態(tài)的直觀窗口。當儀器出現(xiàn)異常時,不同顏色和閃爍模式的指示燈組合往往對應著特定的故障類型,準確解讀這些信號不僅
圣邦微電子車規(guī)級多路開關檢測接口SGMCD1020Q介紹
圣邦微電子推出車規(guī)級多路開關檢測接口(MSDI)芯片 SGMCD1020Q,為車身控制模塊帶來全新解決方案。該芯片具備卓越的多通道檢測能力,可精確監(jiān)測多達 22 個通道的開關狀態(tài),涵蓋
多路輸出的開關電源
多路輸出開關電源的設計及應用原則
摘要:比較了諸多國內(nèi)外多路輸出電源的設計思想,提出并總結了現(xiàn)今多路輸出電源的設計原則。關鍵詞: 開關電源;
發(fā)表于 03-12 14:38
多路開關狀態(tài)指示,Switch indicator
評論