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

QQ登錄

只需一步,快速開始

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

51單片機(jī)串口通信程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:234247 發(fā)表于 2017-9-21 23:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
51單片機(jī)串口通信

  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar  a;
  5. sbit d = P2^3;         
  6. void send(unsigned char dat)
  7. {
  8.    SBUF = dat;
  9.    while(!TI);
  10.    TI=0;
  11. }
  12. void init()
  13. {
  14.   TMOD = 0x20;  //設(shè)置定時(shí)器1為工作方式2
  15.   TH1 = 0xfd;
  16.   TL1 = 0xfd;
  17.   TR1 = 1;      //開定時(shí)器1
  18.   REN = 1;      //開串口通信.
  19.   SM0 = 0;      //設(shè)置串口通信方式1
  20.   SM1 = 1;
  21.   EA = 1;       //開總中斷.
  22.   ES = 1;       //開串口中斷.
  23. }
  24. void delay(uint z)
  25. {
  26.   uint  x, y;
  27.   for(x = z; x > 0; x--)
  28.    for(y = 110; y > 0; y--);
  29. }
  30. void main()
  31. {
  32.   init();
  33.   a = '4';
  34.   while(1)
  35.   {
  36.     if(a == '1')
  37.         {
  38.       d = 0;  delay(400);
  39.       d = 1;  delay(400);
  40.     }
  41.     else if(a == '2')
  42.         {
  43.       d = 0;  delay(200);
  44.       d = 1;  delay(200);
  45.     }
  46.     else if(a == '3')
  47.         {
  48.       d = 0;  delay(100);
  49.       d = 1;  delay(100);
  50.     }
  51.     else if(a == '4')
  52.         {
  53.       d = 1;
  54.     }
  55.   }
  56. }
  57. void ser() interrupt 4
  58. {
  59.    if (RI == 1)
  60.   {
  61.     RI = 0;
  62.     a = SBUF;          //中間變量.
  63.           send(a);
  64.   }
  65. }
復(fù)制代碼


串口通信.rar

20.15 KB, 下載次數(shù): 16, 下載積分: 黑幣 -5

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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