程序是如何载入单片机系统的?

程序是如何载入单片机系统的?,第1张

单片机系统里面有自带的存储系统,如ROM,RAM,Flash等。单片机自带的程序,如初始化程序等一般先存储在ROM或Flash中,然后运行时加载到RAM来执行相关的任务的。
在实际开发中,也是将写好的程序通过串口或者其他连线烧写(写入)到单片机的自带的存储系统中,然后再运行,大体就是这个样子。

有两种方法:
1,用keil生成hex文件,在isis中右击at89c51,再左击,出现相应元件的属性对话框“Program File”一项中选择要加入的hex文件。
2,联调联调设置步骤如下:
(1)把安装目录Proteus\MODELS下的VDM51dll文件复制到Keil安装目录的\C51\BIN目录中。
(2)修改Keil安装目录下Toolsini文件,在C51字段加入TDRV5=BIN\VDM51DLL(“PROTEUS 6 EMULATOR”)并保存。注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。
(3)打开Proteus,画出相应电路,在Proteus的“Debug”菜单中选中“Use Remote Debug Monitor”。
(4)进入Keil的Project菜单Option for Target‘工程名’。在Debug选项中右栏上部的下拉菜单选中Proteus Driver。再进入Settings,机子IP设为127001,端口号为8000。
(5)在Keil中进行debug,同时在Proteus中查看直观的结果。这样就可以像使用仿真器一样调试程序了。

1单片机通过串口(TXD RXD),经RS232协议转换电平再接电脑后面的COM口就可以了。
也可以接USB口(经过USB转串口线)
2KEIL程序写好后,编译通过生成HEX文件,再将该文件烧录进单片机即可运行。
有专门的烧写器、仿真器烧写。

如楼上所说,一般程序编译后会生成HEX(十六进制文件)或BIN(二进制文件)后缀的文件,这些文件可以通过专用的烧写设备写到单片机的程序存储器里面。有一些单片机也可以通过串口连接然后配合上位机烧写程序将程序写进Flash,还有的单片机使用JTAG也可以。这些会因使用的单片机不同而有所不同。相同的是,所谓把“程序写到单片机里面”其实是将程序写到单片机的程序存储器里面。
具体点吧,对于不支持ISP(in-system programming 在线系统编程)的器件(比如说AT89C51),那就需要用专用的烧写器,配合上位机软件将程序烧写到Flash里面。对于支持ISP的器件(比如AT89S51/52,PIC,MSP430,ARM等)就可以使用串口或JTAG连接(各个器件的ISP电路基本上DATASHEET都提供,上位机程序一般生产商也提供)通过简易的ISP软件,将程序烧写到Flash(当然像AT89S51/52,PIC等也可以使用编程器)。其中ARM提供JTAG下载方式。另外,如果单片机使用的是扩展外部存储器,那就可以使用编程器直接对外部存储器编程。ARM的程序下载比较复杂,可以使用其它的很多接口方式。
总结起来一句话,所谓的把“程序写到单片机里面”其实是将程序写到单片机的程序存储器里面。当然这可以使用任何有效的方法。

Keil 与 protues 不需要有什么连接的
在 protues 里面 画好系统图 后 只要 加载 你的 hex 文件给 单片机 就可以了
方法为 点单片机 右键 (编辑属性)加载 找到hex 文件 确定 就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13404755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存