keil c51 printf 问题

#include<reg51.h>#include<stdio.h>voidmain(){chargrade;grade='B';switch(grade){case'A... #include<reg51.h>
#include<stdio.h>
void main()
{
char grade;
grade='B';
switch(grade)
{
case'A':
printf("Very good!");
break;
case'B':
printf("Good!");
break;
case'C':printf("Fine!");
break;
case'D':
printf("Pass!");
break;
default:
printf("Lost!");
}
}
要求是输出GOOD。
展开
 我来答
wjw111lu
2011-07-17 · TA获得超过114个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:179万
展开全部
在程序中,你需要配置串口的,虽然是仿真,也要初始化串口,keil仿真只不过相当于给了你硬件而已。在keil中printf 默认是向串口中发送数据的,所以,如果应用该函数,必须先初始化串口,否则可能引起死机的情况,并且在printf之前应该先将TI置位,参考资料:
http://blog.csdn.net/lizhoubob/archive/2010/07/20/5749737.aspx
更多追问追答
追问
这个博客里的资料我之前看过啦,不能不能就这个题目说下怎么改,哪里需要改,具体一些
追答
#include
#include
void main(void)
{
SCON = 0x50;
TMOD = 0x20;
TCON = 0x40;
TH1 = 0xE8;
TL1 = 0xE8;
TI = 1;
TR1 = 1;
while(1)
{
printf("This is an example!\n");
}
}
用这个程序,我试过了,可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-19
展开全部
可以下载一个“串口调试”和一个串口调试助手。可以在串口调剂窗口里看到输出的结果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghost4063
2011-07-16 · TA获得超过6528个赞
知道大有可为答主
回答量:2940
采纳率:75%
帮助的人:2841万
展开全部
你既然是在51单片机上做这个程序,那你就必须先把单片机的串口初始化一下啊,不然你怎么知道是哪个波特率啊,另外,你还要把编译好的HEX文件烧到单片机里,才能看效果啊
更多追问追答
追问
初始化串口我试过啦,TI=1后输出的是无穷的Good!而且这个是不需要连单片机的,仿真就可以啦,我的意思是怎么实现仿真条件下输出Good!
追答
输出无穷的GOOD是因为你的程序运行完了以后又重新启动了,相当于反复运行。如果只是仿真,你的程序是正确的。你可以直接用KEIL的仿真功能,将程序的输出定义到你的物理串口上去,这样你的物理串口就代替了单片机的串口。
记得仿真的时候,先MODE ,看提示配置串口,在ASSIGN,看提示把仿真的输出连接上去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mlvyang
2013-01-05 · TA获得超过256个赞
知道答主
回答量:2
采纳率:100%
帮助的人:3130
展开全部
#include<reg51.h>
#include<stdio.h>
void main(void)
{
char grade;
grade='B';
SCON = 0x50;
TMOD = 0x20;
TCON = 0x40;
TH1 = 0xE8;
TL1 = 0xE8;
TI = 1;
TR1 = 1;
// printf("This is an example!\n");
switch(grade)
{ case'A':
printf("Very good!");
break;
case'B':
printf("Good!");
break;
case'C':
printf("Fine!");
break;
case'D':
printf("Pass!");
break;
default:
printf("Lost!");
}
while(1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mia☆jiancha☆ce6608
2011-07-16 · TA获得超过1526个赞
知道小有建树答主
回答量:713
采纳率:100%
帮助的人:506万
展开全部
reg51.h 这个我不知道 是什么东西,但是这个程序需要这个吧,我去掉后试下,输出就是GOOD啊
追问
你是在keil里运行的吗?我说的是可是在keil环境下,不是在VC里
追答
哦,,那是我不懂了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式