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

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

QQ登錄

只需一步,快速開始

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

大家?guī)兔匆幌逻@個(gè)串口通信用獨(dú)立波特率發(fā)生器的程序有什么問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:327115 發(fā)表于 2018-11-13 18:51 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include <STC12C5A.H>
#define uchar unsigned char
#define uint unsigned int
unsigned char a;//a用來存放串口接收到的數(shù)據(jù)(即模塊識(shí)別后的返回值)

sbit LED=P2^0; //LED正極接5V;負(fù)極串聯(lián)一個(gè)1K歐的電阻到單片機(jī)P0.0引腳

void Uart2Init()                //9600bps@11.0592MHz      
{
        AUXR |= 0x08;                //使能波特率倍速位S2SMOD:(波特率加倍)
        S2CON = 0x50;                //8位數(shù)據(jù),可變波特率
        AUXR &= 0xFB;                //獨(dú)立波特率發(fā)生器時(shí)鐘為Fosc/12,即12T
        BRT = 0xFA;                  //設(shè)定獨(dú)立波特率發(fā)生器重裝值
        AUXR |= 0x10;                //啟動(dòng)獨(dú)立波特率發(fā)生器
                IE2|=0X01;                                          //允許串口2中斷
                //S2REN=1;                                         //允許串口接收
}

main()
{
        Uart2Init();
        while(1)
        {  
           if(a==0x01)//識(shí)別到人喊“開燈“,語音識(shí)別模塊會(huì)從串口輸出1(也就是十六進(jìn)制0x01),判斷如果是1的話,點(diǎn)亮LED燈。
           {                  //注意這個(gè)“1”是跟詞條“開燈”的返回值“001”對(duì)應(yīng)的,為了直觀詞條返回值是用十進(jìn)制形式設(shè)置的,程序里面您用十進(jìn)制判斷也可以,數(shù)字前面不要“0x”即可。         
                   LED=0;
           }
           else if(a==0x02)//識(shí)別到人喊“關(guān)燈“,語音識(shí)別模塊會(huì)從串口輸出2(也就是十六進(jìn)制0x02),判斷如果是2的話,熄滅LED燈
           {                           //注意這個(gè)“2”是跟詞條“關(guān)燈”的返回值“002”對(duì)應(yīng)的,為了直觀詞條返回值是用十進(jìn)制形式設(shè)置的,程序里面您用十進(jìn)制判斷也可以,數(shù)字前面不要“0x”即可。
                LED=1;     //P0.0=1,LED滅,注意:P0口沒接上拉電阻是沒有電壓輸出的,不要用萬用表測,如果你想測電壓,將P0改成P1吧。
           }
           else ;      
        }
}

void UART_2Interrupt(void) interrupt 8          //串口中斷函數(shù)
{
     if(S2CON&S2RI)
         {
             S2CON&=~S2RI;                 //接收中斷標(biāo)志位標(biāo)志
                 a=S2BUF;
         }
     if(S2CON&S2TI)
         {
           S2CON&=~S2TI;           //發(fā)送中斷標(biāo)志位清零
         }
}




12M晶振      波特率9600   


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

使用道具 舉報(bào)

沙發(fā)
ID:164602 發(fā)表于 2018-11-14 08:17 | 只看該作者
你的波特率設(shè)置是不是有問題啊?
我用STC-ISP下載軟件的波特率計(jì)算功能得到的,和你的不一樣啊。



void UartInit(void)                //9600bps@12.000MHz
{
        SCON = 0x50;                //8位數(shù)據(jù),可變波特率
        AUXR |= 0x40;                //定時(shí)器1時(shí)鐘為Fosc,即1T
        AUXR &= 0xFE;                //串口1選擇定時(shí)器1為波特率發(fā)生器
        TMOD &= 0x0F;                //設(shè)定定時(shí)器1為16位自動(dòng)重裝方式
        TL1 = 0xC7;                //設(shè)定定時(shí)初值
        TH1 = 0xFE;                //設(shè)定定時(shí)初值
        ET1 = 0;                //禁止定時(shí)器1中斷
        TR1 = 1;                //啟動(dòng)定時(shí)器1
}



回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2018-11-14 13:16 | 只看該作者
使用12M晶振波特率不易大于2400,加倍不易大于4800,否則誤差太大。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 九色在线观看 | 久久久久久国模大尺度人体 | 97视频网站 | 久久精品一区二区视频 | 久久99视频 | 中文字幕一区二区三区不卡 | 国产在线精品一区二区三区 | 精品一二三区在线观看 | 高清欧美性猛交xxxx黑人猛交 | 日韩一区二区成人 | 美国一级毛片a | 不卡视频在线 | 欧美黄色一区 | 成人aaa视频 | www国产精 | 四虎成人在线播放 | 国产精品成人品 | 伊人青青久久 | 精品久久久网站 | 在线欧美日韩 | 国产精品夜色一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 国产精品久久久av | av看片网站 | 国产91视频一区二区 | 精品中文视频 | 亚洲综合成人网 | 国产精品久久国产精品 | 国产麻豆乱码精品一区二区三区 | 亚洲欧美日韩在线不卡 | 91久久综合亚洲鲁鲁五月天 | 国产91一区二区三区 | 成人国产精品免费观看 | 国产激情视频在线观看 | 亚洲国产成人精品久久 | av色站 | 麻豆久久久久 | 国产亚洲欧美在线 | 黄色av一区 | 亚洲综合在线网 | 亚洲成人免费视频 |