历史上的今天
今天是:2025年12月21日(星期日)
2022年12月21日 | 51单片机和52单片机区别是什么?51仿真器有必要买吗?
2022-12-21 来源:zhihu
我们在开发单片机程序的时候,经常会碰到编译没有错误,程序代码反复的检查,但就是找不到问题所在,不知道问题到底出现在哪里了?
这个时候的心情就会特别烦躁,单片机程序代码就是字母加数字,有点抽象,所以很多的程序代码我们都在在芯片原厂提供技术资料上开发的,
如果单片机程序一旦出现一些比较抽象的问题,又找不出问题,那是一件非常苦恼的事情。
碰到这些问题,我们该怎么去处理。
①通过LED的闪烁效果来锁定问题,怀疑那里有问题就在哪里实现LED的效果
②通过串口打印来查找问题,这个是我在51单片机程序开发过程中使用最多的调试方法
③通过单片机硬件仿真来处理
虽然找问题有很多种办法,但我们不得不认可,单片机硬件仿真是效率最高的,而且使用起来是非常方便的。
一.单片机仿真器是什么?
单片机仿真器就是一个帮助电子工程师,在产品开发过程中分析程序代码运行的逻辑,查找问题的工具。

单片机仿真器和电脑仿真软件配套使用。
仿真器的电脑仿真软件可以对单片机程序进行单步跟踪调试,也可以设置断点,全速运行等调试手段来观察程序代码中各种变量,RAM以及寄存器的事实运行数据,跟踪程序的执行情况,同时对硬件电路,软件程序逻辑进行实时的调试。
单片机仿真器可以迅速的帮助我们查找程序种的错误和问题,大大提高我们处理程序代码运行异常的效率。
尤其是对于单片机程序开发经验不丰富的初学者,如果程序运行中出现问题,无法通过肉眼观察程序运行的现象找到程序代码的问题,特别是一些比较隐秘的问题,更是难以解决。
二.51仿真器有必要买吗?
51单片机项目我已经做过很多,但到目前为止,我还没有用过仿真器,我们在某宝上搜索51仿真器,出来的都是ARM仿真器,半天也没有找到一个51单片机仿真器的商品。
这是因为51单片机项目开发中,使用仿真器的软件工程师很少,基本上没有什么市场,而STM32单片机的开发,仿真似乎是必不可少的工具。
另一个就是传统的51单片机是不支持仿真的,如果需要仿真功能,就需要购买专用的仿真芯片,这种操作感觉比较麻烦。
51单片机的程序代码量相对比较小,如果有什么问题,我们基本上可以协助LED灯闪烁来查找到问题,也可以通过串口打印的方式来调试。
但是如果大家基础比较差的话,大家可以选择购买支持仿真的51单片机芯片来学习。
STC单片机的仿真功能介绍:
习最常用的51单片机就是STC品牌的51单片机,STC的51单片机很很多型号,也分很多系列。
打开STC官方提供干的STC-ISP软件,选择Keil仿真设置,如下图所示:

我们在Keil仿真配置中,可以参看STC支持仿真的所有单片机的型号。
STC单片机的仿真操作:

STC单片机仿真使用方法:
1、首先必须安装仿真驱动,可通过点击此页面中的”添加MCU型号到Keil中”按钮进行安装
2、准备1片支持仿真的STC单片机芯片,并在Keil仿真设置界面,单片机型号种选择对应的单片机型号
3、将其设置为仿真目标芯片
4、按照上图将芯片与电脑进行连接
5、打开目标CPU的电源
6、在Keil软件中打开项目,并进行相关设置(参考STC Monitor51仿真器使用指南)
7、设置完成即可开始调试
8、仿真监控程序占用P3.0/P3.1口,但不占用串口1,
用户可以将串口1切换到P3.6/P3.7或者P1.6/P1.7再使用
9.仿真监控程序占用内部扩展RAM(XDATA)的最后768字节
51单片机学习过程中,我们是不需要购买仿真器的,因为压根就没有51单片机仿真器。
如果想实现51单片机的仿真功能,大家选择支持仿真功能芯片的开发板即可。
三.51单片机和52单片机的区别是什么?
51单片机和52单片机都属于8位单片机,但52单片机的资源更丰富,是51单片机的升级优化版本。

52单片机是在51单片机的基础上做了很多的改进,增加了很多51单片机不具备的功能。拥有灵巧的8位CPU和系统可编程Flash等。
主要区别:
①51单片机的RAM是128个字节,52单片机是256个字节
②52单片机是51单片机的增强型,52单片机和51单片机相比,定时器多一个T2,RAM多128B,ROM多4K,中断多2个,多一个看门狗,在掉电、数据指针等方面还有一些改进。
③52单片机支持低功耗功能。
④52单片机的最高外接晶振可以达到33MHz,51单片机只有24MHz,部分型号支持内部时钟。
在实际开发过程中,51单片机和52单片机是相互兼容的,没有太大的区别,只要单片机的外设资源可以满足需求就没有问题。
史海拾趣
|
有没有人知道怎么在Source Insigth加入Keil的编译器,连接器等 有没有人知道怎么在Source Insigth加入Keil的编译器,连接器 把整个工程建立目标生成HEX文件。… 查看全部问答> |
|
我在IAR调试模式下,我的局部变量在locals窗口中总是显示unavailable,用watch窗口下也一样,一直没找到原因,请各位帮助一下!!!急用,谢谢!… 查看全部问答> |
|
推荐几款高速单片机(60M以上),越高越好,越简洁越好,越便宜越好,多多谢谢! 推荐几款高速单片机(60M以上),越高越好,越简洁越好,越便宜越好,多多谢谢! ==========================================… 查看全部问答> |
|
Error: M4K memory block WYSIWYG primitive \"ramlpm:ram|altsyncram:altsyncram_component|altsyncram_abj1:auto_generated|altsyncram_lmg2:altsyncram1|ram_block3a7\" utilizes the dual-port dual-clock mode. However, this mode is not sup ...… 查看全部问答> |
|
[CoreUtil/General]: Illegal State IAR 编译的错误码 Internal Error:[CoreUtil/General]: Illegal State 有遇到相同问题的朋友吗?… 查看全部问答> |
|
【设计工具】白皮书WP410 – 用FPGA 来应对工业应用挑战 全球各大工厂正在经历一场自动化革命的洗礼,以提高生产力、降低总拥有成本并提高安全性。此白皮书介绍了工厂设备设计人员所面临的发展趋势与挑战,并说明了设计人员将如何通过 FPGA 解决方案来 ...… 查看全部问答> |
|
[内部推荐]阿尔卡特朗讯 南京/上海 FPGA和硬件工程师职位招聘 阿尔卡特朗讯现大量招人,有FPGA工程师和硬件工程师或相关经历的可以把简历投到我邮箱 内推的:jianfeng.A.xin@alcatel-sbell.com.cn 最好附上中英文简历 南京招聘岗位: FPGA Designer FPGA工程师 Hardware Qualification RF Test Engineer ...… 查看全部问答> |
|
虽然MCU通常在3.3V的低压下运行,但经常会有在12V高压下工作,需要控制负载的情况。如果不能通过低边开关控制,MCU就需要一个在低电压输出情况下控制高边开关的方法。 我们只要很少的器件就可以,输入电压保持大约15伏以下,输出电压将等于输 ...… 查看全部问答> |
|
MSP430 Launch pad 外部供电后导致串口异常的问题 MSP430 Launch pad开发板 + G2553,内置程序未做任何修正,将J3的 1,2;3,4 跳线帽拔掉,将J1 的P1.1 和P1.2 分别连接PC串口的RX 和TX,P1.1和P1.2直接和PC串口的RX和TX连接,利用USB供电,工作正常,串口输出正常。 但是,拔掉USB线以后,用外部3. ...… 查看全部问答> |




