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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)串口發(fā)射 接收顯示二極管,四個(gè)按鍵控制四種顯示狀態(tài)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
按鍵1按下從上到下點(diǎn)亮
按鍵2按下從兩頭往中間點(diǎn)亮
按鍵3按下從中間往兩邊點(diǎn)亮
按鍵4按下從下面往上點(diǎn)亮

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define ILEN 8                                         //接收緩沖區(qū)大小
  3. unsigned char display_data[ILEN][8];                //顯示方式數(shù)據(jù)緩沖存儲(chǔ)區(qū)
  4. unsigned char istart=0;                                //接收緩沖區(qū)起始索引
  5. unsigned char iend=0;                                //接收緩沖區(qū)結(jié)束索引
  6. unsigned int dat_size[ILEN]=0;                        //顯示方式數(shù)據(jù)長(zhǎng)度存儲(chǔ)區(qū)
  7. /******************************************************
  8. 函數(shù)功能:延時(shí)N微秒
  9. ******************************************************/
  10. void delay_nus(unsigned int i)
  11. {
  12.   i=i/10;
  13.   while(--i);
  14. }
  15. /******************************************************
  16. 函數(shù)功能:延時(shí)N毫秒
  17. ******************************************************/
  18. void delay_nms(unsigned int n)
  19. {
  20.   n=n+1;
  21.   while(--n)
  22.     delay_nus(900);
  23. }
  24. void main()
  25. {
  26.   unsigned char j;
  27.   TMOD=0x20;      //定時(shí)器T1工作方式2
  28.   SCON=0x50;      //串口工作方式1
  29.   PCON=0x00;      //SMOD=0,波特率不倍增
  30.   TH1=0xfd;
  31.   TL1=0xfd;          //根據(jù)規(guī)定給定時(shí)器T1賦初值,即波特率為9600b/s
  32.   TR1=1;          //啟動(dòng)定時(shí)器T1
  33.   ES=1;              //串口中斷允許
  34.   EA=1;              //開(kāi)啟總中斷
  35.   while(1)
  36.   {
  37.     while(iend == istart)       //等待數(shù)據(jù)緩沖區(qū)出現(xiàn)新數(shù)據(jù)
  38.       ;
  39.     for(j=0;j < dat_size[istart & (ILEN-1)];j++)  //根據(jù)顯示數(shù)據(jù)長(zhǎng)度取出數(shù)據(jù)
  40.     {
  41.       P1=display_data[istart & (ILEN-1)][j];   //送顯示數(shù)據(jù)
  42.       delay_nms(500);
  43.     }
  44.     istart++;          //為下次從緩沖區(qū)取出一組顯示數(shù)據(jù)做好準(zhǔn)備
  45.   }
  46. }
  47. /******************************************************
  48. 函數(shù)功能:串口中斷接收服務(wù)函數(shù)
  49. ******************************************************/
  50. void com_isr() interrupt 4 using 1
  51. {
  52.    unsigned char c;
  53.    static unsigned char i=0;
  54.    if(RI==1)           //是否接收完成
  55.    {
  56.      c=SBUF;             //從緩沖寄存器中取出數(shù)據(jù)
  57.      RI=0;               //軟件清零
  58.      if(istart+ILEN !=iend )   //判斷緩沖區(qū)是否以存滿
  59.      {
  60.        if(c!=0xff)              //判斷接收的數(shù)據(jù)是否是結(jié)束標(biāo)志數(shù)據(jù)
  61.        {
  62.          display_data[iend & (ILEN-1)][i++]=c;    //緩沖區(qū)接收數(shù)據(jù)
  63.        }
  64.        else                      //一組顯示數(shù)據(jù)接收完成
  65.        {
  66.          dat_size[iend & (ILEN-1)]=i;     //同時(shí)存儲(chǔ)該組數(shù)據(jù)的長(zhǎng)度
  67.          iend++;            //為接收下組數(shù)據(jù)做好準(zhǔn)備
  68.          i=0;
  69.        }
  70.      }  
  71.    }
  72. }
復(fù)制代碼

所有資料51hei提供下載:
串口發(fā)射 接收四種方式點(diǎn)亮8個(gè)二極管.rar (78.96 KB, 下載次數(shù): 15)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产亚洲精品久久久久久牛牛 | 国产观看 | 男女污网站 | 亚洲成人精品在线 | 欧美在线a | 国产精品久久免费观看 | 久草资源在线视频 | 亚洲一区 中文字幕 | 在线播放国产一区二区三区 | 欧美黄色性生活视频 | 久久一 | 精品久久久久久一区二区 | 黄网站涩免费蜜桃网站 | 在线日韩福利 | 999久久 | 91精品国产综合久久婷婷香蕉 | 久久精品屋 | 久久精品欧美视频 | 亚洲精品视频在线 | 在线一区 | 免费国产视频 | 精品日韩在线 | 国产在线色 | 欧美黑人一级爽快片淫片高清 | 亚洲国产成人av好男人在线观看 | 欧美亚洲一区二区三区 | 欧美电影网 | 中文字幕第一页在线 | 午夜不卡福利视频 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 性做久久久久久免费观看欧美 | 99精品亚洲国产精品久久不卡 | 成人免费视频网站在线观看 | 日韩毛片在线免费观看 | 国产精品亚洲一区二区三区在线 | 久久蜜桃资源一区二区老牛 | 日韩欧美在线视频 | 中文字幕精品一区久久久久 | 久在线观看| 精品一二区 | 亚洲一区二区三区免费视频 |