新聞中心

STC15F2K60S2串口1程序

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
此程序為才寫的串口1,工作模式1程序,自己測試沒問題
//本示例在Keil開發(fā)環(huán)境下請選擇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位數(shù)據(jù),可變波特率
AUXR |= 0x40; //定時器1時鐘為Fosc,即1T
AUXR &= 0xFE; //串口1選擇定時器1為波特率發(fā)生器
TMOD &= 0x0F; //設(shè)定定時器1為16位自動重裝方式
TL1 = 0xE0; //設(shè)定定時初值
TH1 = 0xFE; //設(shè)定定時初值
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 ;
}
}



關(guān)鍵詞: STC15F2K60S2串口1程

評論


技術(shù)專區(qū)

關(guān)閉