山科大_《单片机的C语言程序设计与运用(第2版)》期末复习题及答(7)

2019-04-14 20:00

{ uchar i; do

{ SBUF=0xAA; //发送联络信号 while(TI= =0); //等待一帧发送完毕 TI=0; //发送完毕,标志位清0 while (RI= =0); //等待乙机应答信号 RI=0;

} while (SBUF^0xBB!=0); //乙机未准备好,继续联络 do

{ pf=0; //校验和变量清0 for(i=0;i<10;i++){

SBUF=d[i]; //发送一个数据 pf+=d[i]; //计算校验和 while(TI= =0); TI=0;}

SBUF=pf; //发送校验和 while (TI= =0);TI=0;

while (RI= =0);RI=0; //等待乙机应答 }while (SBUF!=0); //回答出错,则重新发送 }

/*接收函数*/

void receive(uchar idata*d)

31

{uchar i; do

{ while(RI= =0); RI=0;

}while(SBUF^0xAA)!=0); //判断甲机是否请求 SBUF=0xBB; //发应答信号 while(TI= =0);TI=0; while(1){

pf=0; //清校验和 for(i=0;i<10;i++){

d[i] = SBUF; //接收数据 pf+=d[i];} //计算校验和 while(RI= =0);RI=0; //接收甲校验和 If((SBUF^pf)= =0){ //比较校验和 SBUF=0x00;break;} //校验和相等,发0x00 else{

SBUF=0xFF; //校验和不相等,发0Xff while(TI= =0);TI=0;

} } }

第六章

静态:【例6-1】利用单片机的并行口作为静态显示的输出口的示例

32

静态轮流显示“12”、“- -”和“AB”的C51源程序如下: #include #define uchar unsigned char uchar data dis_buf[2];//显示缓冲区 uchar code able[18]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00}; void dl( ) { unsigned int i;

for(i=0;i<40000;i++); }

void display(void) //显示函数 { uchar segcode;

segcode=dis_buf[0];//P0口显示

33

//显示的代码表

segcode=table[segcode]; P0=segcode;

segcode=dis_buf[1]; //P3口显示 segcode=table[segcode]; P3=segcode; }

void main(void) //主函数 { while(1)

{ dis_buf[0]=1;dis_buf[1]=2; //显示12 display( ); dl();

dis_buf[0]=16;dis_buf[1]=16;//显示- - display( ); dl( );

dis_buf[0]=10;dis_buf[1]=11;//显示AB display( ); dl( ); } }

示例中的显示函数display( )可以再简单一些,如下面程序段: void display(void)

{ P0=table[dis_buf[0]]; //P0口显示 P3=table[dis_buf[1]]; //P3口显示 }

动态:【例6-3】利用MCS-51单片机的并行口作为动态显示的段口与

34

位口的示例

6位数码管动态显示“123456”的C51源程序如下 1)随机调用 #include #define uchar unsigned char uchar data dis_buf[6];//显示缓冲区 uchar code table[18]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00};//代码表 void dl_ms() //延时1ms函数 { unsigned int j; for(j=0;j<200;j++) ; }

void display(void)//显示函数 { uchar segcode, bitcode, i;

35


山科大_《单片机的C语言程序设计与运用(第2版)》期末复习题及答(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:刘学军《继电保护原理 》课后答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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