内容发布更新时间 : 2025/6/28 11:26:31星期一 下面是文章的全部内容请认真阅读。
}
}
27.利用库函数scanf编写一函数,实现从单片机串行口接收数据的C51程序,把接收的数据存放在片外数据存储器从0x240开始的区域,遇到回车符CR(ASCII码是0x0d)结束。 include
unsigned char xdata *xdpt; unsigned char i=0,temp; xdpt=0x240;
while(1) {
scanf(“%c”,&temp); if(temp==0x0d)
break;
*(xdpt+i)=temp; i++; } } 28.利用库函数putchar编写一函数,实现从单片机串行口发送数据的C51程序,发送的数据存放在片内数据存储器从0x50开始的区域,遇到回车符CR(ASCII码是0x0d)结束。 include
unsigned char data *dpt; unsigned char i=0; dpt=0x50;
while(*(dpt+i)!=0x0d) {
putchar(*(dpt+i)); i++; } } 29.利用库函数printf编写一函数,实现从单片机串行口发送数据的C51程序,发送的数据存放在片外数据存储器从0x100开始的区域,遇到回车符CR(ASCII码是0x0d)结束。 include
16
unsigned char xdata *xdpt; unsigned char i=0; xdpt=0x100;
while(*(xdpt+i)!=0x0d) {
printf(“%c”,*(xdpt+i)); i++; }
} 30.编写一定时器/计数器0定时100ms中断处理函数,使函数实现时钟的功能,即产生时钟的秒、分钟和小时。设定时初值的高、低字节分别为TIMER_H和TIMER_L。 设fosc=6mhz
#include
unsigned char data shi,fen,miao,bfm;
void main() {
TMOD=0x01;
TIMER_H=15536/16; TIMER_L=15536; ET0=1; EA=1; TR0=1; while(1); }
void time0_int() interrupt 1 {
TIMER_H=15536/16; TIMER_L=15536; bfm++;
if(bfm==10) {
bfm=0; miao++; }
if(miao==60) {
miao=0; fen++;
17
}
if(fen==60) {
fen=0; shi++; }
if(shi==24) {
shi=0; }
}
31.在Keill C的调试状态下,如何使用跟踪运行、单步运行、跳出函数运行命令?
答:Step命令和Step Over命令的区别:当遇到调用函数时,前者将跟踪进入函数,而后者是一步执行完函数。
如果用全速运行命令Go,可以使用Stop Running命令停止运行。
欲退出调试状