0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STC12C5A60S2串口演示程序(C語言版)

算法&編程學(xué)院 ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-03 03:10 ? 次閱讀

#include"reg51.h"

#defineFOSC18432000L
#defineBAUD115200
#defineNONE_PARITY0//無校驗位
#defineODD_PARITY1//奇校驗

#defineEVEN_PARITY2//偶校驗
#defineMARK_PARITY3//標(biāo)記校驗
#defineSPACE_PARITY4//空校驗

#definePARITYBITEVEN_PARITY

#defineS2RI0x01
#defineS2TI0x02
#defineS2RB80x04
#defineS2TB80x08

sfrAUXR=0x8e;
sfrS2CON=0x9a;
sfrS2BUF=0x9b;
sfrBRT=0x9c;
sfrIE2=0xaf;

bitbusy;

voidSendData(chardat);
voidSendString(char*s);

voidmain()
{
#if(PARITYBIT==NONE_PARITY)
S2CON=0x5a;//8位可變波特率(無校驗位)
#elif(PARITYBIT==ODD_PARITY)||(PARITYBIT==EVEN_PARITY)||(PARITYBIT==MARK_PARITY)
S2CON=0xda;//9位可變波特率,校驗位初始為1
#elif(PARITYBIT==SPACE_PARITY)
S2CON=0xd5;//9位可變波特率,校驗位初始為0
#endif

BRT=-(FOSC/32/BAUD);//設(shè)置獨立波特率發(fā)生器的重載初值
AUXR=0x14;//獨立波特率發(fā)生器工作在1T模式
IE2=0x01;//使能串口2中斷
EA=1;//開總中斷

SendString("STC12C5A60S2\r\nUART2Test!\r\n");
while(1);
}

voidUart2()interrupt8using1
{
if(S2CON&S2RI)
{
S2CON&=~S2RI;//清除接收完成標(biāo)志
P0=S2BUF;//P0顯示串口數(shù)據(jù)
P2=(S2CON&S2RB8);//P2.2顯示校驗位
}
if(S2CON&S2TI)
{
S2CON&=~S2TI;//清除發(fā)送完成標(biāo)志
busy=0;
}
}

voidSendData(chardat)
{
while(busy);//等待上個數(shù)據(jù)發(fā)送完成
ACC=dat;//取得偶校驗位P
if(P)//根據(jù)P來設(shè)置串口數(shù)據(jù)的校驗位
{
#if(PARITYBIT==ODD_PARITY)
S2CON&=~S2TB8;//置校驗位為0
#elif(PARITYBIT==EVEN_PARITY)
S2CON|=S2TB8;//置校驗位為1
#endif
}
else
{
#if(PARITYBIT==ODD_PARITY)
S2CON|=S2TB8;//置校驗位為1
#elif(PARITYBIT==EVEN_PARITY)
S2CON&=~S2TB8;//置校驗位為0
#endif
}
busy=1;
S2BUF=ACC;//發(fā)送數(shù)據(jù)
}

voidSendString(char*s)
{
while(*s)//判斷字符串結(jié)束標(biāo)志
{
SendData(*s++);//發(fā)送字符
}
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STC12C5A60S2
    +關(guān)注

    關(guān)注

    36

    文章

    219

    瀏覽量

    69412
收藏 人收藏

    評論

    相關(guān)推薦

    STC12C5A60S2的相關(guān)資料分享

    STC12C5A60S2串口通信(使用獨立波特率發(fā)生器)STC12C5A60S2獨立PWMSTC12C5A60S2在LCD1602基本顯示程序
    發(fā)表于 02-18 07:25

    STC12C5A60S2/STC12C5201AD系列單片機(jī)

    STC12C5A60S2/STC12C5201AD系列單片機(jī)器件手冊
    發(fā)表于 09-23 23:33 ?176次下載

    STC12C5A60S2資料

    STC12C5A60S2的全部中文資料,單片機(jī)的器件使用手冊。
    發(fā)表于 04-11 15:18 ?73次下載

    STC12C5A60S2

    STC12C5A60S2中文資料全面實用 適合學(xué)習(xí)。
    發(fā)表于 05-13 16:40 ?19次下載

    stc12c5a60s2中文資料_引腳定義圖及最小系統(tǒng)

    本文給出了關(guān)于stc12c5a60s2中文詳細(xì)資料,stc12c5a60s2引腳圖及引腳定義詳細(xì)說明,stc12c5a60s2內(nèi)部結(jié)構(gòu)圖及特點,stc12c5a60s2最小系統(tǒng)原理圖,
    發(fā)表于 10-20 09:40 ?15.6w次閱讀
    <b class='flag-5'>stc12c5a60s2</b>中文資料_引腳定義圖及最小系統(tǒng)

    stc12c5a60s2串口程序

    用過stc12C5A60S2單片機(jī)的朋友都知道,該單片機(jī)有兩個串口可用,看到官網(wǎng)的程序注釋的也是比較多,所以自己寫了個串口2使用的
    發(fā)表于 10-23 09:31 ?5550次閱讀

    STC12C5A60S2精簡開發(fā)板介紹

    STC12C5A60S2精簡開發(fā)板有具有電源指示;所有I/O已引出;可以實現(xiàn)與電腦串口通信;可以實現(xiàn)RS485通訊等等特點
    發(fā)表于 01-25 10:23 ?6619次閱讀
    <b class='flag-5'>STC12C5A60S2</b>精簡開發(fā)板介紹

    STC12C5A60S2單片機(jī)不同波特率串口12通訊演示程序和工程文件

    本文檔的主要內(nèi)容詳細(xì)介紹的是STC12C5A60S2單片機(jī)不同波特率串口12通訊演示程序和工程文件免費(fèi)下載。
    發(fā)表于 08-12 08:00 ?10次下載
    <b class='flag-5'>STC12C5A60S2</b>單片機(jī)不同波特率<b class='flag-5'>串口</b><b class='flag-5'>12</b>通訊<b class='flag-5'>演示</b>的<b class='flag-5'>程序</b>和工程文件

    STC12C5A60S2串口演示9位數(shù)據(jù)的程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STC12C5A60S2串口演示9位數(shù)據(jù)的程序和工程文件免費(fèi)下載。
    發(fā)表于 08-12 08:00 ?5次下載
    <b class='flag-5'>STC12C5A60S2</b><b class='flag-5'>串口</b><b class='flag-5'>演示</b>9位數(shù)據(jù)的<b class='flag-5'>程序</b>和工程文件免費(fèi)下載

    STC12C5A60S2單片機(jī)11.0592晶振實現(xiàn)115200波特率串口通信

    /////////STC12C5A60S2單片機(jī)11.0592晶振實現(xiàn)115200波特率串口通/////////////////////////////////STC12C5A60S2或者
    發(fā)表于 11-18 11:51 ?48次下載
    <b class='flag-5'>STC12C5A60S2</b>單片機(jī)11.0592晶振實現(xiàn)115200波特率<b class='flag-5'>串口</b>通信

    STC12C5A60S2單片機(jī)雙串口通信,互相發(fā)送

    STC12C5A60S2單片機(jī)雙串口通信,互相發(fā)送STC12C5A60S2單片機(jī)擁有兩個全雙工串行通信接口,串口1的功能及操作與傳統(tǒng)51單片機(jī)串行相同;特殊的是
    發(fā)表于 11-18 12:06 ?28次下載
    <b class='flag-5'>STC12C5A60S2</b>單片機(jī)雙<b class='flag-5'>串口</b>通信,互相發(fā)送

    STC12C5A60S2串口1測試(BRT-500Kbps)源代碼

    STC12C5A60S2-串口1測試(BRT-500Kbps)源代碼
    發(fā)表于 05-17 15:18 ?1次下載

    STC12C5A60S2串口1-串口2測試程序asm源代碼

    STC12C5A60S2-串口1-串口2-測試程序asm源代碼
    發(fā)表于 05-17 15:17 ?0次下載

    STC12C5A60S2串口1-串口2測試程序源代碼

    STC12C5A60S2-串口1-串口2-測試程序源代碼
    發(fā)表于 05-17 15:16 ?0次下載

    STC12C5A60S2串口1讀ID例程源代碼

    STC12C5A60S2-串口1讀ID例程源代碼
    發(fā)表于 05-17 15:15 ?1次下載