<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

算法&編程學院 ? 來源:網絡整理 ? 2018-02-03 03:10 ? 次閱讀

#include"reg51.h"

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

#defineEVEN_PARITY2//偶校驗
#defineMARK_PARITY3//標記校驗
#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);//設置獨立波特率發生器的重載初值
AUXR=0x14;//獨立波特率發生器工作在1T模式
IE2=0x01;//使能串口2中斷
EA=1;//開總中斷

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

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

voidSendData(chardat)
{
while(busy);//等待上個數據發送完成
ACC=dat;//取得偶校驗位P
if(P)//根據P來設置串口數據的校驗位
{
#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;//發送數據
}

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STC12C5A60S2
    +關注

    關注

    36

    文章

    219

    瀏覽量

    68972
收藏 人收藏

    評論

    相關推薦

    STC12C5A60S2接1602不顯示怎么辦???

    我的程序在51的板上顯示沒有問題。但是換到了STC12C5A60S2上就不顯示了,這是怎回事??求大神知道,小弟剛玩STC12C5A60S2
    發表于 09-26 22:25

    STC12C5A60S2

    STC12C5A60S2使用手冊
    發表于 05-21 16:38

    stc12c5a60s2STC89C51在延時上面的區別?

    我是新手,所以對于stc12c5a60s2STC89C51的區別不是很了解。想請各位幫忙分析一下,是不是STC89C51是12個周期運行一次,st
    發表于 07-29 15:59

    STC12C5A60S2的EEPROM程序測試

    STC12C5A60S2的EEPROM程序測試希望對新手有幫助
    發表于 07-30 00:13

    kile 怎樣添加stc12c5a60s2的頭文件?使得可以編程stc12c5a60s2

    kile 怎樣添加stc12c5a60s2的頭文件?使得可以編程stc12c5a60s2
    發表于 03-28 11:29

    誰用過STC12C5A60S2的?

    大家給STC12C5A60S2芯片燒程序都是怎么燒的求大神指點我用USB轉TTL模塊給STC12C5A60S2程序,一直提示給MCU上電換一塊芯片
    發表于 07-05 20:07

    STC12C2052AD與STC12C5A60S2的區別?

    STC12C2052AD與STC12C5A60S2的區別??
    發表于 05-31 13:14

    EEPROM使用與驗證在STC12C5A60S2

    EEPROM使用與驗證在STC12C5A60S2串口輸出方便調試
    發表于 09-05 16:01

    STC12C5A60S2 的PWM程序與硬件

    目標:使用2個按鍵控制PWM輸出,控制LED的亮度,一鍵增加亮度,一鍵減少亮度。硬件:STC12C5A60S2 1個,微動開關2個問題:1 PWM的引腳號是多少?。STC12C5A60S2
    發表于 01-01 21:09

    跪求,stc12c5a60s2串口2輸出不了怎么辦?

    ,也是沒輸出,我是某寶買的stc12c5a60s2的最小系統開發板,買了兩塊都是一樣,串口2串口調試助手看,完全沒有輸出,不知道怎么回事,求大神用過的解答一下。小白小弟跪求了?。。?!
    發表于 11-19 22:25

    stc12c5a60s2

    stc12c5a60s2來控制兩電機的小車,前后左右,要什么硬件電路,和程序,謝謝各位的解答!
    發表于 11-02 23:54

    STC12C5A60S2免掉電自動下載

    STC12C5A60S2免掉電自動下載調試更方便,有了它載程序是不用再去按開關可以按復位鍵來載程序或通過串口來下載DOWNLOAD.H (2.16 KB )
    發表于 04-08 09:34

    STC12C5A60S2單片機串口通信的相關資料推薦

    STC12C5A60S2單片機雙串口通信,互相發送STC12C5A60S2單片機擁有兩個全雙工串行通信接口,串口1的功能及操作與傳統51單片機串行相同;特殊的是
    發表于 11-26 07:07

    STC12C5A60S2的相關資料分享

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

    基于STC12C5A60S2的51個系統板

    描述最低 51 個系統板該板基于STC12C5A60S2芯片,集成CH330串口,晶體振蕩器和上電復位電路。尺寸為寬21mm,長52.3mm,并可插入 DIP40 芯片座和面包板。PCB+原理圖
    發表于 08-15 06:49
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>