用keil编写的单片机程序要编译成目标文件。具体要看你用的芯片。一般编译成十六进制文件或二进制文件。烧写的的方法也和芯片有关。有的要烧写器,有的就是在线。在线烧写就是不用把芯片卸下来直接烧写。一般用串行口或并行口。具体要咨询芯片厂家。每家用到软件都不同。一般都是厂家提供的。
如果你的计数过程不是非常快的话,可以不用外部中断。
include <reg51h>
void xianshi(long unsigned int i) //显示子函数,用来显示数字。
{
}
void delay() //延迟函数
{
int x,y;
for(x=0;x<100;x++) //修改数值,可改变延迟时间
for(y=0;y<10;y++); //修改数值,可改变延迟时间
}
main()
{
long unsigned int a=0; //定义无符号长整型 a
while(1) //大循环
{
if(P1_0==0) //判断脉冲信号,如果为低,进入计数,如果为高,则继续判断。
{
delay(); //等待一下,消抖,防止线路干扰等情况。
if(P1_0==0) //第二次判断
{ a++; //计数加1
xianshi(a); //执行显示函数,现实数字。
while(P1_0==0); //脱离计数检测,即“松手检测”,当被测物体一直在时,防止重复计数。
}
}
}
}
说明:自己现写的程序,呵呵,不知道有没有错误。
P10口接脉冲输入,可以自己定义其它接口。
当输入电平为低时,a就会自增一次,一般情况下可以计数到6万多或者几十亿。
可以根据实际情况,如被测物体速度、晶振频率等,修改delay函数中的值,以适合实际测量。
没有写显示函数,这取决于你要用的显示方式。
1怎么看程序写了多少行:点击Edit-configuration,选择Editor标签,在该标签的左下角,选中Show
Line
Number,这样在编辑界面就会有行数了若果你想看汇编有多少行,只需要反汇编一下
2怎么看程序占了多大的内存:程序编译成功后,在编译器界面下方的build窗口中,会给出程序占用的存储大小,比如:Program
Size:
data=130
xdata=0
code=298
,说明ROM被占用了298字节也可以查看你工程文件夹下的map文件,在该文件的最后给出了ROM和RAM的详细使用情况,比如:
=====================================================================
Total
RO
Size
(Code
+
RO
Data)
6320
(
617kB)
Total
RW
Size
(RW
Data
+
ZI
Data)
1328
(
130kB)
Total
ROM
Size
(Code
+
RO
Data
+
RW
Data)
6388
(
624kB)
=====================================================================
补充:⊙﹏⊙,你用的那个版本的keil
c51,我的keil
3,keil
4在菜单Edit都有configuration选项你现在用的至少也得是keil
3吧!
可以用keil调试中的串口通信仿真,然后下载一个虚拟串口工具,配置好就可以用串口软件显示,详细资料可以搜一下。你应该先下个虚拟串口工具(如VSPD),构建一对虚拟串口,软后配置keil中debug下的串口仿真通信(这部分资料可以百度,我简单的提一下:仿真时需要使用到的命令:ASSIGN和MODE。
例如:mode com6 9600,0,8,1
assign com6 <Sin> Sout),至于串口调试软件就很多了,随便找个就好了。这样就可以实现调试了。
以上就是关于怎么把用keil编写的单片机程序烧写到单片机中,有那几种方法,是不是用到一个软件,在线烧写是怎么回事全部的内容,包括:怎么把用keil编写的单片机程序烧写到单片机中,有那几种方法,是不是用到一个软件,在线烧写是怎么回事、怎样用keil编写单片机的计数程序、用Keil C51编写单片机程序,怎么看程序多少行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)