找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3329|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

該單片機(jī)代碼為什么串口通信沒能實現(xiàn)流水燈控制以及熄滅,編譯沒有出錯,用串口不...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:858009 發(fā)表于 2021-4-25 15:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. code tabup[]={0xfb,0xfc,0xfd,0xfe,0x7f,0xdf,0xcf,0xbf};
  6. sbit LED1 = P1^0;
  7. sbit beep=P2^3;
  8. uchar buf,temp,i;
  9. void delay (uint z)
  10. {
  11.         uint x,y;
  12.         for(x=z;x>0;x--)
  13.         for(y=110;y>0;y--);
  14. }
  15. void madup()
  16. {
  17.         delay(1000); //延時1000毫秒
  18.         while(1)        //大循環(huán)
  19.         {
  20.                 for(i = 0; i < 8; i++)
  21.                 {
  22.                         P1 = tabup[i];
  23.                         delay(1000);        
  24.                 }
  25.         }
  26. }
  27. void main()
  28. {
  29.         TMOD =0x20;
  30.         SCON =0x50;
  31.         PCON =0x00;
  32.         EA =1;
  33.         ES=1;
  34.         TL1=0xfd;
  35.         TH1=0xfd;
  36.         TR1=1;
  37.         while(1);
  38. }
  39. void serial() interrupt 4
  40. {
  41.         ES=0;
  42.         RI=0;
  43.         buf=SBUF;
  44.         switch (buf)
  45.         {
  46.                 case 0: mabup();delay (100);break;
  47.                 case 1: P1=0xff;delay(100);break;
  48.                 default:    beep=0;P1=0xff;break;  //接受到其它數(shù)據(jù),蜂鳴器響  
  49.         }
  50.         ES=1;
  51. }

復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:77479 發(fā)表于 2021-4-25 16:36 | 只看該作者
mabup[]= 與   P1=tabup();  數(shù)組名不一樣吧?
回復(fù)

使用道具 舉報

板凳
ID:275826 發(fā)表于 2021-4-25 17:21 | 只看該作者
怎么在串口中斷寫這么多的語句,程序錯誤很多
回復(fù)

使用道具 舉報

地板
ID:858009 發(fā)表于 2021-4-25 17:57 | 只看該作者
tyrl800 發(fā)表于 2021-4-25 17:21
怎么在串口中斷寫這么多的語句,程序錯誤很多

怎么修改
回復(fù)

使用道具 舉報

5#
ID:684049 發(fā)表于 2021-4-25 20:59 | 只看該作者
中斷里怎么加了 ES=0;呢?
回復(fù)

使用道具 舉報

6#
ID:496117 發(fā)表于 2021-4-26 10:28 | 只看該作者
很明顯你這個延時函數(shù)不對啊,delay(1000)等于延時1000微秒即1毫秒差不多,1毫秒的閃爍你看不到效果的
回復(fù)

使用道具 舉報

7#
ID:569384 發(fā)表于 2021-4-28 11:05 | 只看該作者
燈亮不亮,madup()函數(shù)里面的while(1)要刪掉
回復(fù)

使用道具 舉報

8#
ID:569384 發(fā)表于 2021-4-28 11:14 | 只看該作者
haokey 發(fā)表于 2021-4-28 11:05
燈亮不亮,madup()函數(shù)里面的while(1)要刪掉

先不管燈亮不亮,madup()函數(shù)里面的while(1)要刪掉
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表