单片机硬件仿真与烧写程序结果同的原因分析

一.配置问题:
实际烧片时单片机的配置字与仿真的时候是不是一样?烧写时是否配置正确?
二.资源问题:
单片机的rom、ram大小与仿真器的rom、ram大小是不一样的!
三.驱动能力问题:
通常仿真器的驱动能力比单片机要强;可以分两步检查,一是分别用仿真器与单片机时对应io口波形进行对比,二是当仿真器与外设连接与不连接时波形的对比;
要进行基本要素分析:单片机供电正常?起振没有?复位电路正常?芯片损坏?
单片机上电不运行情况的分析
1.单片机是没有运行,还是运行不正确?
2.如果是没有运行,检测单片机的基本参数是否已经满足。
3.如果是运行不正确,检测
单片机调试办法
用led进行状态指示,用串口进行数据指示,比用其它外设指示更可靠;
加入断点,烧写时是在不同的语句后面加入while(1);
分模块调试,把每个小功能先调试通过,再进行组合。
keil c本身就是编译与仿真一体的,当不要外部数据时很方便,当要外部输入时(比如用定时器作计数器用)它提供几个调试输入用的窗口可用它们来摸拟输入,同时keil c本身提供一种调试函数用来配置摸拟外部输入的功能,这我在学习时看的一本书上讲过如用定时器作外部事件计数,调试函数由自己根据需要按特定的格式来编辑再按keil c的要求调入即可。学习时可用这种方法,做产品时最好是用仿真器调试。下面我给出我以前试过的用定时器作外部事件计数时摸拟外部输入的调试函数,并写出keil c调用的步骤如下:
1、编写如下信号函数:
single void t0_singal(void)
{
while(1)
{
port3|=0x10;//pull int0(p3.4) high again
port3&=~0x10;//pull int0(p3.4) low and generate interruptport3|=0x10;//pull int0(p3.4) high again
twatch(clock);//wait for 1 second
}
}
2、在debug状态下单击debug菜单在下拉菜单中单击“function editor(open ini file)... 选项, 弹出新屏幕后,将“打开”窗口关闭,这时屏上有function edito窗;
3、在function editor窗中输入上面的函数;
4、保存(注意:扩展名为.ini),编译该程序,成功后关闭function editor窗口;
5、执行用户程序(必须连续执行);
6、在屏幕左下脚的命令窗口中,键入t0_singl()后(必须回车)妈可向p3.4源源不断地提供脉冲信号。
keil c调试某系统时积累的一些经验1、由于keil c对中文支持不太好,因而会出现显示的光标与光标实际所在不一致的现象,这会对修改中文注释造成影响。在windows2000下面,我们可以把字体设置为courier,这样就可以显示正常。
2、当使用有片外内存的mcu(如w77e58,它有1k片外内存)的时候,肯定要设置标志位,并且编译方式要选择大模式,否则会出错。
3、当使用keil c跟踪程序运行状态的时候,要把引起warning的语句屏蔽,否则有可能跟踪语句的时候会出错。
4、在调用数组的时候,keil c是首先把数组load进内存。如果要在c中使用长数组的时候,我们可以使用code关键字,这样就实现了汇编的db的功能,keil c是不会把标志code的数组load入内存的,它会直接读取rom。
5、当编程涉及到有关通信,时序是很重要的。拉高管脚的执行速度远远比检查管脚电平的要快。
6、在等待管脚电平变化的时候,我们需要设置好超时处理,否则程序就会因为一个没有预计的错误而死锁。
7、能用c语言实现的地方,尽量不要用汇编,尤其在算法的实现,用汇编是晦涩难懂。
8、程序的几个参数数组所占篇幅很大,其中液晶背景数组最长,有四千个byte,因而把那些初始化数组都放在另外一个c文件,在主文件使用使用关键字extern定义,这样就不会对主文件的编写造成干扰。
9、所有函数之间的相关性越低越有利于以后功能的扩展。
10、6.20版在编译带code关键字的数组时,编译通过但是单片机运行结果是错误的,改用6.14版后正常。

摩托罗拉裁员传闻是真是假_联想内外地位不保原因为何?
和监控安防系统息息相关的NTP网络时间服务器
Intel人工智能产品线的最全盘点
关于便携式功率分析仪PC机调试软件设计
意法半导体的STGAP2DM栅极驱动器的功能
单片机硬件仿真与烧写程序结果同的原因分析
在PowerVR GPU上使用卷积神经网络进行物体识别
2013年数据采集技术主要趋势展望
为什么数据中心普遍要求采用专用光纤桥架进行敷设呢?
BAT跨界抢进,中国半导体行业迎机遇
连接器测试项目以及性能参数
plc系统运行环境的主要事项有哪些
音响机器中如何避免电源变压器产生的干扰,噪音干扰
山东联通联合中兴通讯打造5G网络智能矿山开采
巨头争相涌入,VR/AR崛起道路上已无障碍
核能发电的燃料是什么_核能发电发展趋势
洁净室的规程与规定
苹果自研GPU如此强悍:性能至少领先对手一代
基于ADV7125的嵌入式系统VGA接口设计
中国将引领5G发展