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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

從機密碼確認——小車串口(多C程序)

[復制鏈接]
跳轉到指定樓層
樓主
ID:76556 發表于 2015-4-10 01:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本程序為main.c和串口通信.c組成        密碼字符為THE password Is Corret !(注意空格也算字符)
主機箱向從機發送一個X從機收到X后就一直回應主機X,主機收到從機發送的X后證明從機已準備好接受數據(如果從機向主機發送的不是X則主機一直向從機發送X直到從機收到正確的數據即X),主機向從機發送非X的任意字符叫從機停止發送,主機向從機發送密碼“THE password Is Corret !”從機收到密碼后向主機發送M(一直發)表示密碼正確,如果在傳輸數據的過程中出現干擾導致的密碼輸入錯誤,那么就必須在發送完最后一個字符后從新發送(注意:這里最后一個字符是用來校驗的如果發送錯誤則必須重新發送直到最后一個字符正確后才可以重新發密碼)


/***************main.c******************/
#include<reg51.h>
void Init_Serialport1();
void Uart();
void main()
{
Init_Serialport1();
Uart();
}











/*******************串口通信.c*************************/
#include<reg51.h>
unsigned char Serial_data; //串口數據(Serial_data)用這個來保存。
static unsigned char Into=0;
static bit Password_Num1=0;
void Init_Serialport1()  //初始化串口1(Serial port)
{
TMOD=TMOD&0x0F;
TMOD=TMOD|0x20;
TH1=0xFD;
TL1=0xFD;
TR1=1;
SCON=SCON&0x0F;
SCON=0x50;
EA=1;
ES=1;
}
void Uart()
{
Init_Serialport1();
while(1)
         {
        static bit Password1=0;
        static bit Password2=0;
        static bit Password3=0;
        static bit Password4=0;
        static bit Password5=0;
        static bit Password6=0;
        static bit Password7=0;
        static bit Password8=0;
        static bit Password9=0;
        static bit Password10=0;
        static bit Password11=0;
        static bit Password12=0;
        static bit Password13=0;
        static bit Password14=0;
        static bit Password15=0;
        static bit Password16=0;
        static bit Password17=0;
        static bit Password18=0;
        static bit Password19=0;
        static bit Password20=0;
        static bit Password21=0;
        static bit Password22=0;
        static bit Password23=0;
        static bit Password24=0;
        static bit Password25=0;
         static unsigned char Into_Password=0;
         while(Into==1)
                  {
                  static unsigned char I=0;
                  ES=0;
                  SBUF=Serial_data;
                  while(TI==0);
                  TI=0;     
                  if(Serial_data=='X')
                          {
                        I=1;
                        }
                  if(Serial_data!='X'&I==1)
                          {
                        Into_Password=1;
                        Into=0;
                        }
                  ES=1;
                  }         
                 ES=0;
                  SBUF='9';
                  while(TI==0);
                  TI=0;
                  ES=1;
          while(Into_Password==1)
                  {
                static bit Num_Password=1;
                static bit o=0;
                static bit y=0;
                static bit r=0;
                static bit c=0;
                static bit u=0;
                static bit v=0;
                static bit l=0;
                static bit q=0;
                static bit m=0;
                static bit h=0;
                if(Password_Num1==1)
                        {                
                        ES=0;
                         SBUF='0';
                        while(TI==0);
                        TI=0;
                        if(Serial_data=='T')
                        {Password1=1;}
                        else if(Serial_data=='H')
                        {Password2=1;}
                        else if(Serial_data=='E')
                        {Password3=1;}
                        else if(Serial_data==' '&r==0)
                        {Password4=1;r=1;}
                        else if(Serial_data=='p')
                        {Password5=1;}
                        else if(Serial_data=='a')
                        {Password6=1;}
                        else if(Serial_data=='s'&y==0)
                        {Password7=1;y=1;}
                        else if(Serial_data=='s'&q==0)
                        {Password8=1;q=1;}
                        else if(Serial_data=='w')
                        {Password9=1;}
                        else if(Serial_data=='o'&m==0)
                        {Password10=1;m=1;}
                        else if(Serial_data=='r'&h==0)
                        {Password11=1;h=1;}
                        else if(Serial_data=='d')
                        {Password12=1;}
                        else if(Serial_data==' '&c==0)
                        {Password13=1;c=1;}
                        else if(Serial_data=='I')
                        {Password14=1;}
                        else if(Serial_data=='s'&l==0)
                        {Password15=1;l=1;}
                        else if(Serial_data==' '&u==0)
                        {Password16=1;u=1;}
                        else if(Serial_data=='C')
                        {Password17=1;}
                        else if(Serial_data=='o')
                        {Password18=1;}
                        else if(Serial_data=='r'&o==0)
                        {Password19=1;o=1;}
                        else if(Serial_data=='r')
                        {Password20=1;}
                        else if(Serial_data=='e')
                        {Password21=1;}
                        else if(Serial_data=='c')
                        {Password22=1;}
                        else if(Serial_data=='t')
                        {Password23=1;}
                        else if(Serial_data==' '&v==0)
                        {Password24=1;v=1;}
                        else if(Serial_data=='!')
                        {Password25=1;Num_Password=0;}                //&Password16==1&Password17==1&Password18==1&Password19==1&Password20==1&Password21==1&Password22==1&Password23==1&Password24==1&Password25==1
                        if(Password1==1&Password2==1&Password3==1&Password4==1&Password5==1&Password6==1&Password7==1&Password8==1&Password9==1&Password10==1&Password11==1&Password12==1&Password13==1&Password14==1&Password15==1&Password16==1&Password17==1&Password18==1&Password19==1&Password20==1&Password21==1&Password22==1&Password23==1&Password24==1&Password25==1)
                                {
                                Into_Password=2;
                                Password_Num1=0;
                                }
                        if(Num_Password==0)
                                {
                                Num_Password=1;
                                o=0;y=0;r=0;c=0;u=0;v=0;l=0;q=0;m=0;h=0;
                                Password1=0;Password2=0;Password3=0;Password4=0;Password5=0;Password6=0;Password7=0;Password8=0;Password9=0;Password10=0;Password11=0;Password12=0;Password13=0;Password14=0;Password15=0;Password16=0;Password17=0;Password18=0;Password19=0;Password20=0;Password21=0;Password22=0;Password23=0;Password24=0;Password25=0;}       
                        Password_Num1=0;
                        ES=1;
                        }
                }
        while(Into_Password==2)
                {
                ES=0;
                SBUF='M';
                while(TI==0);
                TI=0;
                ES=1;
                }
         }
}
void Serial_port1() interrupt 4
{
static bit a1=0;
RI=0;
Serial_data=SBUF;
Password_Num1=1;
if(a1==0)
        {
        Into=1;
        a1=1;
        }
}










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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av在线成人 | 精品国产99久久久久久宅男i | 日韩综合一区 | 国产操操操 | 国产乱码一区二区三区 | 99热思思 | 亚洲高清毛片一区二区 | 国产欧美一区二区精品忘忧草 | 亚洲精品视频免费观看 | 国产亚洲视频在线观看 | 蜜乳av懂色av粉嫩av | 色综合久久88色综合天天 | 黄色片视频在线观看 | a毛片大片 | 久久综合五月天 | 国产精品天美传媒入口 | 欧美一级做性受免费大片免费 | 日韩精品久久久久久 | 国产精品一区二区免费 | 一级黄色片免费观看 | 中文字幕在线观看一区 | 超碰成人av | 欧美日韩精品一区二区在线播放 | 免费av片 | 国产在线视频网站 | 成人9ⅰ免费影视网站 | 在线观看黄色小视频 | 欧美日韩精品一区二区 | 国产黄色大片 | 日本国产在线观看 | 日本不卡一区 | 久久一区二区视频 | 午夜美女福利视频 | 国产又粗又大又硬 | 草草网 | 亚洲精品www久久久久久广东 | 成人国产在线观看 | 欧美一级片免费观看 | 国产女人18毛片水18精品 | 久久精品播放 | 99国产精品99久久久久久粉嫩 |