51单片机入门与keil的使用
keil软件下载
keil uvision4以及注册机 http://www.liangchan.net/soft/softdown.asp?softid=5688
单独的注册机 http://www.newasp.net/soft/77176.html
注册
keil的注册入口为File菜单的license manager项
复制cid号码到注册机中,多generate几次,输入窗口,一定要出现类似\’expires 2020\’字样
建立一个项目并调试,以测试是否注册成功(解除仿真的2K程序限制)
测试代码
#include "reg51.h" #include "stdio.h" void main() { char var_a; TMOD=0X20; SCON=0X52; TH1=0XF3; TL1=0XF3; TR1=1;
printf("input number:"); scanf("%c",&var_a); printf("\nThe number you input is: %c",var_a);
while(1); }
调试顺序
rebuild编译,检查无错
进入debug(Ctrl+F5),调出URAT #1/Call Stack/Command
Run(F5)运行,在URAT #1窗口中观察串口输出或输入
若程序末尾有while(1)循环可以Stop
退出debug再按一次Ctrl+F5即可
相关工具栏
Command Windows – 提示运行信息,没有问题时只会显示文件路径
Disassembly Windows – 每行C以及对应汇编
Symbols Windows – 所有程序变量的查看(地址与类型)
Call Stack Windows – 自定变量的查看
Watch Windows – 指定变量查看
Memory Windows – 指定地址查看
Serial Windows – 串口查看/输入
Analysis Windows – 似乎是时序分析
Trace Windows
System Viewer Windows
Toolbox
使用静态变量实现阶乘
int fac(int n){ static int result=1; result*=n; return result; } ... for(i=1;i<5;i++) printf("%d\n",fac(i));