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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

當串口發送2時,為什么不能實現流水燈控制,求解,該怎么修改單片機代碼可以實現這...

[復制鏈接]
跳轉到指定樓層
樓主
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit led =P1;
  5. int i,a;
  6. char b[]={0xfe,0xfd,0xfb,0xfc,0xf7,0xef,0xdf,0xbf,0x7f};
  7. void bule_Init()
  8. {
  9.         TMOD= 0x20;
  10.         TH1 = 0xfd;
  11.         TL1 = 0xfd;
  12.   SM0 = 0;
  13.         SM1 = 1;
  14.         REN = 1;
  15.         TR1 = 1;
  16. }
  17. void main ()
  18. {
  19.         bule_Init();
  20.         P1=0xff;
  21.         while(1)
  22.         {
  23.                 if(RI==1)
  24.                 {
  25.                         a=SBUF;
  26.                         RI=0;
  27.                         if(a==0)
  28.                         {
  29.                                 P1=0x00;
  30.                         }
  31.                         else if(a==1)
  32.                         {
  33.                                 P1=0xff;
  34.                         }
  35.                         else if(a==2)
  36.                         {
  37.                                 while(1)
  38.                                 {
  39.                                         for(i=0;i<8;i++)
  40.                                   P1=b[i];
  41.                                 }
  42.                         }
  43.                 }
  44.         }
  45. }

復制代碼

效果圖.jpg (517.42 KB, 下載次數: 48)

串口發送2時,為什么實現不了流水燈效果,求大佬們指點一下

串口發送2時,為什么實現不了流水燈效果,求大佬們指點一下

串口發送字符.png (15.66 KB, 下載次數: 38)

串口發送字符.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:647434 發表于 2021-4-27 15:12 | 只看該作者
不要用HEX模式,選用文本模式發送試試
回復

使用道具 舉報

板凳
ID:392485 發表于 2021-4-27 16:11 | 只看該作者
while(1)
                                {
                                        for(i=0;i<8;i++)
                                  P1=b[i];
                                }
速度太快,看不出來效果,加一定的延時就能看出來了。
回復

使用道具 舉報

地板
ID:858009 發表于 2021-4-27 16:20 | 只看該作者
sync763 發表于 2021-4-27 16:11
while(1)
                                {
                                        for(i=0;i

加入延時報錯
回復

使用道具 舉報

5#
ID:858009 發表于 2021-4-27 16:20 | 只看該作者
sync763 發表于 2021-4-27 16:11
while(1)
                                {
                                        for(i=0;i

大佬能幫忙修改一下嗎
回復

使用道具 舉報

6#
ID:392485 發表于 2021-4-27 16:26 | 只看該作者
while(1)
                                {
                                        for(i=0;i<8;i++)
                                         {
                                             P1=b[i];
                                             delay();
                                           }
                                }
你自己完善一下delay()函數應該可以。
回復

使用道具 舉報

7#
ID:595604 發表于 2021-4-27 17:59 | 只看該作者
延時函數發來,可以看看
回復

使用道具 舉報

8#
ID:858009 發表于 2021-4-27 18:03 | 只看該作者
sync763 發表于 2021-4-27 16:26
while(1)
                                {
                                        for(i=0;i

可以是可以,但是串口輸入0或者1是無效的。輸入0串口發送應該是全亮,現在是死循環,沒法中斷
回復

使用道具 舉報

9#
ID:392485 發表于 2021-4-28 09:16 | 只看該作者
else if(a==2)
                        {
                               while(1)
                                {

                                        for(i=0;i<8;i++)
                                  P1=b;
                                }
                        }

將紅色的部分刪除試試。
回復

使用道具 舉報

10#
ID:569384 發表于 2021-4-28 10:35 | 只看該作者
sync763 發表于 2021-4-28 09:16
else if(a==2)
                        {
                                while(1)

同意,本來已經有個while(1)了,這個else if(a == 2)里面的while(1)就多余了
回復

使用道具 舉報

11#
ID:858009 發表于 2021-4-28 16:44 | 只看該作者
sync763 發表于 2021-4-28 09:16
else if(a==2)
                        {
                                while(1)

改了,但是流水燈不循環了,直接停在led8不動了
回復

使用道具 舉報

12#
ID:858009 發表于 2021-4-28 16:45 | 只看該作者
haokey 發表于 2021-4-28 10:35
同意,本來已經有個while(1)了,這個else if(a == 2)里面的while(1)就多余了

修改了,流水燈直接停在led8亮,不動了
回復

使用道具 舉報

13#
ID:569384 發表于 2021-4-28 17:02 | 只看該作者
qwettyuio 發表于 2021-4-28 16:45
修改了,流水燈直接停在led8亮,不動了

這樣你理解一下,你串口發送2,是單次的,單片機只接收到一次a=2,所以只會執行一次你的流水燈for循環。你看能不能想到解決辦法,如果不能再回復一下,可以告訴你怎么做。
回復

使用道具 舉報

14#
ID:889094 發表于 2021-4-29 00:01 | 只看該作者
串口接收程序RI的處理部分最好在串口中斷服務程序里解決,TI在其它地方發送還可以,接收那樣不好,說不定就是處理不到
回復

使用道具 舉報

15#
ID:213173 發表于 2021-4-29 07:48 | 只看該作者
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit led =P1;
  5. int i,j,a;
  6. char b[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

  7. void bule_Init()
  8. {
  9.         TMOD= 0x20;
  10.         TH1 = 0xfd;
  11.         TL1 = 0xfd;
  12.         SM0 = 0;
  13.         SM1 = 1;
  14.         REN = 1;
  15.         TR1 = 1;
  16. }
  17. void main ()
  18. {
  19.         bule_Init();
  20.         P1=0xff;
  21.         while(1)
  22.         {
  23.                 if(RI==1)
  24.                 {
  25.                         a=SBUF;
  26.                         RI=0;
  27.                 }
  28.                 if(a==0)
  29.                 {
  30.                         P1=0x00;
  31.                 }
  32.                 else if(a==1)
  33.                 {
  34.                         P1=0xff;
  35.                 }
  36.                 else if(a==2)
  37.                 {
  38.                         for(i=0;i<8;i++)
  39.                         {
  40.                                 P1=b[i];
  41.                                 j=50000;
  42.                                 while(j--);
  43.                         }
  44.                 }
  45.         }
  46. }

復制代碼
回復

使用道具 舉報

16#
ID:569384 發表于 2021-4-29 08:17 | 只看該作者
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产99视频精品免费播放照片 | 日本精品视频在线 | 国产精品免费大片 | 欧美性大战久久久久久久蜜臀 | 波多野结衣中文字幕一区二区三区 | xxx国产精品视频 | 中国一级大毛片 | 久久99精品久久久久久青青日本 | 99pao成人国产永久免费视频 | 亚洲啊v在线 | 天天操天天天干 | 成人中文字幕在线观看 | 亚洲三级av | 午夜影院免费体验区 | 日韩三区 | 亚洲精品日韩欧美 | 一区二区在线看 | 国产午夜精品理论片a大结局 | 亚洲人成免费 | 亚洲视频免费 | 精品视频一区二区三区在线观看 | 亚洲日本视频 | 欧美日韩亚洲视频 | 99久久99久久精品国产片果冰 | 在线看一区二区 | 天天碰日日操 | 91精品国产91久久久久久丝袜 | 久久成人一区 | 国产精品18毛片一区二区 | 久久久久久毛片免费观看 | 日韩精品久久久 | 国产欧美精品一区二区 | 国产一区二区电影 | 欧美一级网站 | 日韩在线观看一区 | 18av在线播放 | 日韩欧美精品 | 亚洲成人精品国产 | 免费观看一级特黄欧美大片 | 亚洲在线中文字幕 | 成人av网站在线观看 |