单片机课后习题答案[1]1

2026/4/24 10:39:00

/********** 初始化串口波特率 ************/

void initUart(void)/*初始化串口波特率,使用定时器1*/ {

/* Setup the serial port for 1200 baud at 11.0592MHz */ SCON = 0x50; //串口工作在方式1 TMOD = 0x20; PCON = 0x0;

TH1 = 0xe8; //波特率1200 TCON = 0x40;

if(!SEND_RECI_CTRL)

IE=0x90; //如果是接收方,则打开串口中断 }

void send(uchar *d) /*发送函数*/ {

uchar i;

for(i=0;i<15;i++){ time(10);

SBUF=d[i]; /*发送一个数据*/ while(TI==0){}TI=0; } }

/*********** 串行口中断服务程序***************/ void serial0_int(void) interrupt 4 {

*p_rbuf=SBUF;RI=0; p_rbuf++; }

/********************************************************* * 函数说明:延时5us,晶振改变时只用改变这一个函数! 1、对于11.0592M晶振而言,需要2个_nop_(); 2、对于22.1184M晶振而言,需要4个_nop_(); * 入口参数:无 * 返回: 无

*********************************************************/ void delay_5us(void)//延时5us,晶振改变时只用改变这一个函数! {

_nop_(); _nop_(); //_nop_(); //_nop_(); }

/************ delay_50us ***************/ void delay_50us(void)//延时50us { unsigned char i;

for(i=0;i<4;i++) { delay_5us(); } }

/******** 延时100us ******************/ void delay_100us(void)//延时100us { delay_50us(); delay_50us(); }

/*********** 延时单位:ms *******************/ void time(unsigned int ucMs)//延时单位:ms { unsigned char j; while(ucMs>0){

for(j=0;j<10;j++) delay_100us(); ucMs--; } }


单片机课后习题答案[1]1.doc 将本文的Word文档下载到电脑
搜索更多关于: 单片机课后习题答案[1]1 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219