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

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

QQ登錄

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

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

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:247795 發(fā)表于 2017-11-20 21:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include#include //后面有一個(gè)比較函數(shù)
#define uchar unsigned char
#define uint unsigned int
bit  UART_Flag=0;  //定義串口接收標(biāo)志位
uchar  str[50];   //定義一數(shù)組
uchar length=0;  //數(shù)組長(zhǎng)度從0開(kāi)始
void init() //初始化uart
{
  
  
   TMOD=0X20;  //定時(shí)器1定時(shí)器方式  工作模式2,可自動(dòng)重載的8位計(jì)數(shù)器常把定時(shí)/計(jì)數(shù)器1以模式2作為串行口波特率發(fā)生器
SCON=0X50; //選擇工作模式1使能接收,允許發(fā)送,允許接收
    EA=1; //開(kāi)總中斷
ES=1;  //打開(kāi)串口中斷
ET1=0;  //打開(kāi)定時(shí)器中斷
        PCON=0X80; //8位自動(dòng)重載,波特率加倍
TH1=0XFF;  //用22.1184 mhz波特率
TL1=0XFF;
   
TR1=1; //打開(kāi)中時(shí)器


}
void UART_Putch(uchar dat)  //輸出一個(gè)字符
{
SBUF=dat; //把數(shù)據(jù)送給sbuf緩存器中
while(TI!=1);//發(fā)送標(biāo)志位 TI如果發(fā)送了為1,沒(méi)發(fā)送為0,沒(méi)發(fā)送等待,到了退出循環(huán)
TI=0;  //到了,TI清為0
}
void init1() interrupt 4  //uart中斷 ,4為串口中斷
{

  if(RI==1)  //收到數(shù)據(jù)
  {
     uchar m=SBUF; //m為計(jì)算機(jī)發(fā)送給串口的數(shù)據(jù),例,open //總體思想是,計(jì)算機(jī)通知串口,我要發(fā)數(shù)據(jù)了
  RI=0;   //收到清0
  
     if(m==' ')   //判斷m這位數(shù)據(jù)有無(wú)
       {
       UART_Putch(' ');  //回車(chē)
       UART_Putch(' ');  // 換行
    str[length]=''; //數(shù)據(jù)最后位加0標(biāo)志位表示發(fā)完了數(shù)據(jù)
    UART_Flag=1;  // 傳 完 標(biāo) 志 位
        }
   else if(m==' ')
  {

  }
     else if(m=='')//b表退格 //下面幾句表刪鋤
       {
         UART_Putch('');
    UART_Putch(' ');
    UART_Putch('');
    length=length-1; //刪鋤了后總長(zhǎng)度減一
       }
  
   
     else
     {
     str[length++]=m; //比如m為open,先傳0后傳p,length加一
  UART_Putch(m);    //輸出 比如open
     }
  
}
}
void check(char *str)  //計(jì)算機(jī)發(fā)一數(shù)據(jù),我來(lái)檢查,
{
   if( strcmp("open",str)==0 ) //比較兩數(shù)是否相同,相同為0,不同為1 //要加string.h頭文件
   {
       UART_Putch('o'); //計(jì)算機(jī)中寫(xiě)入open我回復(fù)ok
    UART_Putch('k');
       UART_Putch(' '); //回車(chē)是跑到這一行的最前      UART_Putch(' '); //換行是跳到下一行
  }
   else if( strcmp("close",str)==0 )
   {
       UART_Putch('o');
    UART_Putch('k');
       UART_Putch(' ');
       UART_Putch(' ');
  
  
   }
   else    //否則出錯(cuò)
   {
       UART_Putch('e');
    UART_Putch('r');
       UART_Putch('r');
       UART_Putch('o');
       UART_Putch('r');
       UART_Putch('!');
    UART_Putch(' ');
    UART_Putch(' ');
   }

}
void main()
{
  init();
  while(1)
  {
    if(UART_Flag==1)  //接收標(biāo)志位表示接收完成
     {
     check(str);//檢查
     length=0; //長(zhǎng)度清0
     UART_Flag=0;//標(biāo)志位清0
  }

  }

}

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天综合网7799精品 | 天天操夜夜操 | 理论片午午伦夜理片影院 | 久久婷婷色 | 一区二区三区免费在线观看 | 国产91久久久久久 | 天天影视网天天综合色在线播放 | 美女艹b| 久久综合狠狠综合久久 | 免费一区二区 | 中文在线视频 | 99视频免费在线观看 | 欧美一级毛片在线播放 | 婷婷99 | www.国产精| 99久久久久久 | 国产精品国色综合久久 | 天天综合久久 | 91视频网 | 亚洲精品乱码久久久久久久久 | 午夜影院官网 | 日本精品在线观看 | 国产精品视频一区二区三区不卡 | 56pao在线 | 成人高清视频在线观看 | 日韩综合在线 | 午夜黄色影院 | 一级毛片大全免费播放 | 免费一级片 | 成人免费在线播放视频 | 国产午夜精品一区二区三区四区 | 亚洲精品av在线 | 亚洲毛片在线观看 | 欧美一级三级 | 欧美色a v | 91精品国产91久久久久久最新 | 亚洲一级淫片 | 伊人伊人伊人 | 天天综合日日夜夜 | 在线视频 中文字幕 | 欧美日韩成人在线观看 |