欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2794|回復: 0
打印 上一主題 下一主題
收起左側

單片機入門開關流水程序

[復制鏈接]
跳轉到指定樓層
樓主
單片機AT89S51的P2口接8個發光二極管led,P1口低兩位P1.0,P1.1接兩個按鈕開S1,S2。
要求:
1)S1鍵閉合,S2鍵斷開,8只led低四位點亮,高四位熄滅(依次低位到高位循環點亮);
2)S1鍵斷開,S2鍵閉合,8只led低四位熄滅,高四位點亮。(低四位和高四位交替閃爍)(注意畫上時鐘電路和復位電路。)
電路仿真原理圖如下圖所示
  
1)



源程序如下
#include <reg51.h>                        // 包含頭文件reg51.h
#include <intrins.h>
#define uchar unsigned char
        uchar i,temp,shift        ;
void delay()  //延時程序 //
{
    uchar i,j;
        for(i=0;i<250;i++)
        for(j=0;j<250;j++);

}
void liushuiyi()        //第一個流水燈程序//
{

  P2=0x0f;
   delay();
   P2=~P2 ;
   delay ();
}
void liushuier()        //第二個流水燈程序//
{
    temp=0xfe;
        for(i=0;i<8;i++)
     {
      P2=temp;
       delay();
     temp=_crol_(temp,1);  }
}
void  main(  )                                 //主函數main( )
{        
        char state;
         do
         {        
                P1=0xff;                                // P1口為輸入
                 state=P1;                        // 讀入P1口的狀態,送入state
                 state=state&0x03;                            // 屏蔽P1口的高6位
                 switch (state)                        // 判P1口低2位開關狀態
                 {        
                        case 0: P2=0xf1; break;// P1.1、P1.0=00,點亮P2.0腳LED
                         case 1: liushuiyi();break;// P1.1、P1.0=01,點亮P2.1腳LED
                         case 2: liushuier();break;// P1.1、P1.0=10,點亮P2.2腳LED
                         case 3: P2=0xf8;break;// P1.1、P1.0=11,點亮P2.3腳LED 1111 0011
                 }
         }while ( 1 );
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表