電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

單片機多路開關狀態指示,Switch indicator

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2016-9-23

關鍵字:AT89S51,開關狀態指示

 
1.實驗任務
如圖所示,AT89S51單片機的P1.0-P1.3接四個發光二極管L1-L4,P1.4-P1.7接了四個開關K1-K4,編程將開關的狀態反映到發光二極管上。(開關閉合,對應的燈亮,開關斷開,對應的燈滅)。
2.電路原理圖
 
 
3.系統板上硬件連線
(1.       把“單片機系統”區域中的P1.0-P1.3用導線連接到“八路發光二極管指示模塊”區域中的L1-L4端口上;
(2.       把“單片機系統”區域中的P1.4-P1.7用導線連接到“四路撥動開關”區域中的K1-K4端口上;
4.  程序設計內容
(1.       開關狀態檢測
對于開關狀態檢測,相對單片機來說,是輸入關系,我們可輪流檢測每個開關狀態,根據每個開關的狀態讓相應的發光二極管指示,可以采用JB P1.X,REL或JNB P1.X,REL指令來完成;也可以一次性檢測四路開關狀態,然后讓其指示,可以采用MOVA,P1指令一次把P1端口的狀態全部讀入,然后取高4位的狀態來指示。
(2.       輸出控制
根據開關的狀態,由發光二極管L1-L4來指示,我們可以用SETB P1.X和CLR P1.X指令來完成,也可以采用MOV P1,#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;
          }
    }
}
Tags:單片機,多路開關,狀態指示,AT89S51  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
国产激情视频一区二区三区| 欧洲乱码专区一区二区三区四区| 我们离婚了第二季韩国综艺在线观看| 国产羞羞视频在线播放| 午夜国产羞羞视频免费网站| 久久香蕉精品视频| 3d无尽3d无尽动漫同人| 欧美色视频在线| 女仆被扒内裤打屁股动态图| 国产一级视频播放| 乳揉みま痴汉电车动漫中文字幕 | 国产一区二区精品久久岳| 亚洲一区二区影视| 888亚洲欧美国产VA在线播放| 波多野たの结衣老人绝伦| 尤物yw午夜国产精品视频| 国产丰满麻豆videossexhd| 久久综合香蕉国产蜜臀av| 黄色一级片在线播放| 欧美一级视频在线| 国产精品高清一区二区三区| 人与动性xxxxx免费| www视频免费看| 波多野结衣不卡| 大豆网52dun怪汉网如如| 免费女人18毛片a级毛片视频| 中国武警gaysexchina武警gay| 经典三级完整版电影在线观看| 无码人妻精品一区二区在线视频 | 中文字幕在线观看91| 精品人妻伦一二三区久久| 成av免费大片黄在线观看| 四虎影视永久地址www成人| 中文字幕无码无码专区| 精品一区二区三区3d动漫| 小少呦萝粉国产| 免费观看理论片毛片| 久久精品亚洲一区二区| 麻豆md传媒md00中国| 欧美亚洲人成网站在线观看| 国产精品免费看久久久无码|