久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機如何讓一個燈閃爍 其余7個燈流水 求幫助

[復制鏈接]
跳轉到指定樓層
樓主
ID:499984 發表于 2019-3-28 16:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:412827 發表于 2019-3-28 19:41 | 只看該作者
直接操作一個P1口,然后進行移位,再次操作P2.1不停的取反就行
回復

使用道具 舉報

板凳
ID:423511 發表于 2019-3-28 20:31 | 只看該作者
給你來個簡單例子
#include <reg52.h>
       
#define led P2            //P2連接led,共陽極連接

void delay(int z)      //1ms延時
{
        int x,y;
        for(x=z;x>0;x--)
         for(y=110;y>0;y--);
}

void main()              
{
        while(1)
        {
                led=0x7f;
          delay(100);
                led=0xbf;
          delay(100);
                led=0x5f;
          delay(100);
                led=0xef;
          delay(100);
                led=0x77;
          delay(100);
                led=0xfb;
          delay(100);
                led=0x7d;
          delay(100);
                led=0xfe;
          delay(100);
        }
}
回復

使用道具 舉報

地板
ID:416287 發表于 2019-3-28 20:54 | 只看該作者
你可以用一個io口控制閃爍一個io口控制另外七個燈流動閃爍 比如先是第一個燈亮 0西   或者你的io口比較多  可以用
回復

使用道具 舉報

5#
ID:416287 發表于 2019-3-28 20:56 | 只看該作者
你可以用一個io口控制閃爍一個io口控制另外七個燈流動閃爍 比如先是第一個燈亮 0x01然后每好多秒 移位一次 0x01>>1 這樣  這是最簡單的 或者你的io口比較多  可以用多個io口分別控制
回復

使用道具 舉報

6#
ID:213173 發表于 2019-3-28 21:37 | 只看該作者
你先寫一個燈流水程序發上來看看你入門了沒有。否則基礎太差,給你程序你也看不懂。
回復

使用道具 舉報

7#
ID:499770 發表于 2019-3-29 09:04 | 只看該作者
用一個字節a的固定一位間接取反,另外7位間接移位后存回a,再把a字節傳到端口
回復

使用道具 舉報

8#
ID:317383 發表于 2019-3-29 09:24 | 只看該作者
最簡答的方法采用查表的方法,將7種所有情況放在表中,進行調用
回復

使用道具 舉報

9#
ID:500397 發表于 2019-3-29 09:52 | 只看該作者
用控制引腳的方式來,分別定義位端口。一個讓他實現閃爍功能亮滅,其余實現流水。流水可以用一個函數來寫。寫完在調用。
回復

使用道具 舉報

10#
ID:302534 發表于 2019-3-29 10:00 | 只看該作者
兩個子程序,一個單獨控制一個LED燈,一個控制其余七個,
回復

使用道具 舉報

11#
ID:425029 發表于 2019-3-29 11:26 | 只看該作者
#include<reg52.h>  
#define uchar unsigned char
#define uint unsigned int

/* 函數申明 -----------------------------------------------*/
void delay(uint z);

/*
********************************************************************************
** 函數名稱 : main(void)
** 函數功能 : 主函數
********************************************************************************
*/
void main()
{
        uchar  num,dat1,dat2;
        delay(500);
        P0=0;
        while(1)
        {
                dat1=0xfe;
               
                for(num=0;num<7;num++)
                {
                        P1=dat1;          //初始化賦值
                        dat1=dat1<<1; //右移一位
                        P1^0=~P1^1;  //讓P1^0口始終閃爍
                        delay(500);   //延時       
                }
               
        }
}

/*
********************************************************************************
** 函數名稱 : delay(uint z)
** 函數功能 : 延時函數
********************************************************************************
*/
void delay(uint z)
{
    uchar j;
    for(z;z>0;z--)
        for(j=200;j>0;j--);
}
回復

使用道具 舉報

12#
ID:500775 發表于 2019-3-29 19:42 | 只看該作者
  1. #include<reg52.h>

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit led1 = P1^0;
  5. sbit led2 = P1^1;
  6. sbit led3 = P1^2;
  7. sbit led4 = P1^3;
  8. sbit led5 = P1^4;
  9. sbit led6 = P1^5;
  10. sbit led7 = P1^6;
  11. sbit led8 = P1^7;

  12. sbit L = P2^5;                //流水燈鎖存器
  13. uchar i = 0, num_T0;
  14. void delay()
  15. {
  16.         uint i, j;
  17.         for(i=1000; i>0; i--)
  18.                 for(j=110; j>0; j--)
  19.                         ;
  20. }

  21. void main()
  22. {
  23.         L = 1;                        //打開流水燈
  24.         //設置定時器0中斷
  25.         TMOD = 0x01;
  26.         TH0 = (65536 - 45872) / 256;
  27.         TL0 = (65536 - 45872) % 256;
  28.         EA = 1;
  29.         ET0 = 1;
  30.         TR0 = 1;
  31.         while(1)
  32.         {
  33.                 switch(i)
  34.                 {
  35.                         case 0:        led1 = 0; delay(); led1=1; break;
  36.                         case 1:        led2 = 0; delay(); led2=1; break;
  37.                         case 2:        led3 = 0; delay(); led3=1; break;
  38.                         case 3:        led4 = 0; delay(); led4=1; break;
  39.                         case 4:        led5 = 0; delay(); led5=1; break;
  40.                         case 5:        led6 = 0; delay(); led6=1; break;
  41.                         case 6:        led7 = 0; delay(); led7=1; break;
  42.                 }
  43.                 i = (i+1) % 7;
  44.         }
  45. }

  46. void Time0() interrupt 1
  47. {
  48.         TH0 = (65536 - 45872) / 256;
  49.         TL0 = (65536 - 45872) % 256;
  50.         num_T0++;
  51.         if(num_T0 == 8)
  52.         {
  53.                 num_T0 = 0;
  54.                 led8 = ~led8;
  55.         }
  56. }
復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产大片黄色 | 亚洲免费在线 | 99亚洲精品 | 色妞av| 日本不卡在线视频 | 成人影 | 久久国产精品一区 | 国产第一页在线观看 | 久久久久国产精品 | 欧产日产国产精品99 | 久热m3u8 | 欧美在线观看黄色 | 亚洲精品二区 | 国产一二三区免费视频 | 天天影视色综合 | 成人免费视频在线观看 | 精品成人69xx.xyz | 亚洲精品一区二区三区中文字幕 | 一区视频在线 | 久久久女女女女999久久 | 欧美成人精品 | 中国三级黄色录像 | 久草在线免费资源 | 亚洲第一成年免费网站 | 欧美一级黄色免费 | 欧美电影一区 | 91社区视频 | 亚洲国产精品一区二区第一页 | 久草中文在线观看 | 国产欧美精品区一区二区三区 | 日韩高清电影 | 欧美一级黄色片在线观看 | 91精品国产91久久久久久最新 | av黄色在线观看 | 色av一区二区三区 | 久久久精品视频一区二区三区 | 一级免费毛片 | 日韩中文字幕一区 | 午夜伦4480yy私人影院 | 欧美日韩一区不卡 | 午夜三区 |