新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STC15F2K60S2串口1程序

        STC15F2K60S2串口1程序

        作者: 時間:2016-11-26 來源:網絡 收藏
        此程序為才寫的串口1,工作模式1程序,自己測試沒問題
        //本示例在Keil開發環境下請選擇Intel的8058芯片型號進行編譯
        //假定測試芯片的工作頻率為18.432MHz
        #include "reg51.h"
        sfr P4 = 0xc0;
        sfr P5 = 0xc8;
        sfr AUXR = 0x8e ;
        unsigned char temp ;
        bit flag = 0 ;
        void UartInit(void) //9600bps@11.0592MHz
        {
        SCON = 0x50; //8位數據,可變波特率
        AUXR |= 0x40; //定時器1時鐘為Fosc,即1T
        AUXR &= 0xFE; //串口1選擇定時器1為波特率發生器
        TMOD &= 0x0F; //設定定時器1為16位自動重裝方式
        TL1 = 0xE0; //設定定時初值
        TH1 = 0xFE; //設定定時初值
        ET1 = 0; //禁止定時器1中斷
        TR1 = 1; //啟動定時器1
        EA = 1 ; //開啟總中斷
        ES = 1 ; //開串口中斷
        }
        void main( void )
        {
        UartInit() ;
        SBUF = A ;
        while(1)
        {
        if( flag == 1 )
        {
        SBUF = temp ;
        flag = 0 ;
        }
        }
        }
        void Uart( void ) interrupt 4 using 1
        {
        if( RI )
        {
        RI = 0 ;
        temp = SBUF ;
        flag = 1 ;
        }
        if( TI )
        {
        TI = 0 ;
        }
        }



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 南充市| 大埔县| 冷水江市| 巍山| 格尔木市| 鄯善县| 焦作市| 桃园市| 浙江省| 南开区| 常德市| 西畴县| 彭水| 云林县| 长海县| 肇源县| 新蔡县| 浏阳市| 新干县| 绍兴县| 揭西县| 安远县| 霍林郭勒市| 定安县| 建始县| 温州市| 白玉县| 莲花县| 阿克陶县| 姚安县| 和龙市| 绵竹市| 友谊县| 临洮县| 广水市| 灵川县| 天津市| 门头沟区| 杭州市| 来安县| 罗源县|