[应用相关] STM32和C51程序编译并基于Proteus仿真

[复制链接]
2272|62
 楼主| 实际测量不符 发表于 2022-4-29 22:41 | 显示全部楼层
2.配置电源线

82965626bf8db8a0c2.png

design–power rial configuration–更改name为GND–分别添加VDDA、VSSA
 楼主| 实际测量不符 发表于 2022-4-29 22:42 | 显示全部楼层
3.连接组件
27241626bf933e923c.png
连线如图所示
 楼主| 实际测量不符 发表于 2022-4-29 22:42 | 显示全部楼层
4.开始仿真

27489626bf94cec568.png
56100626bf9536bc53.png
可以看到出现高低电平,但是灯没有亮,猜测是电阻值的问题,目前没有得到解决,但是可以得知仿真成功。
 楼主| 实际测量不符 发表于 2022-4-29 22:43 | 显示全部楼层
四、C51程序的设计和仿真
1.keil c51的安装

我在网上找到一个c51的安装包,打开安装程序后,生成的安装目录跟MDK5所在目录一样

74709626bf9893d7b0.png

然后出现了一个C51文件夹,这里我不是很懂,是否是keil c51与mdk5共存了,后续我也没遇到问题,但是看网上教程没有这么简单啊,有点迷惑,但是也算搭建成功了。

 楼主| 实际测量不符 发表于 2022-4-29 22:44 | 显示全部楼层
2.建立c51工程–实现led流水灯效果

前面选择芯片那些步骤之前都做过,这里选择了AT89C51,然后添加启动文件,新建main文件,这里不做截图一一展示了,最终创建的界面如下。

77379626bf9c758861.png
 楼主| 实际测量不符 发表于 2022-4-29 22:45 | 显示全部楼层
3.写入代码
  1. #include <reg51.h>
  2. void delay(void)
  3. {
  4. unsigned char i ,j;
  5. for(i=0;i<250;i++)
  6. for(j=0;j<250;j++);
  7. }
  8. void main(void)
  9. {
  10. while(1)
  11. {
  12.    P0=0xfe;
  13.   delay();
  14.   P0=0xfd;
  15.   delay();
  16.   P0=0xfb;
  17.   delay();
  18.   P0=0xf7;
  19.   delay();
  20.   P0=0xef;
  21.   delay();
  22.   P0=0xdf;
  23.   delay();
  24.   P0=0xbf;
  25.   delay();
  26.   P0=0x7f;
  27.   delay();
  28. }
  29. }
 楼主| 实际测量不符 发表于 2022-4-29 22:46 | 显示全部楼层
4.生成hex文件
89911626bfa3888a83.png
 楼主| 实际测量不符 发表于 2022-4-29 22:47 | 显示全部楼层
5.进入Proteus连接组件
15892626bfa7331447.png
 楼主| 实际测量不符 发表于 2022-4-29 22:47 | 显示全部楼层
6.链接到hex文件
99908626bfa91bb8a7.png
 楼主| 实际测量不符 发表于 2022-4-29 22:48 | 显示全部楼层
7.开始仿真
38155626bfab88ad98.png
很遗憾灯没有亮,但是通过高低电平的变化可以看出仿真成功了,可能电阻值,或者电源线配置有问题,这个留给以后去探究。
Bblythe 发表于 2022-10-6 08:22 | 显示全部楼层

TIM4、UART1初始化代码只是些各种相关基本配置,不跟别的外设有关联
Pulitzer 发表于 2022-10-6 11:21 | 显示全部楼层

显然直接调用的话,那么调用线程会被阻塞暂停
Uriah 发表于 2022-10-6 18:22 | 显示全部楼层

需要加上一定的工作电压
帛灿灿 发表于 2023-5-1 07:19 | 显示全部楼层

防止因瞬间大电流引起的电源电压下降
Bblythe 发表于 2023-5-1 08:22 | 显示全部楼层

HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高
童雨竹 发表于 2023-5-1 10:18 | 显示全部楼层

中断产生于单片机内部和外部的各种设备
Pulitzer 发表于 2023-5-1 11:21 | 显示全部楼层

通过函数指针传递的功能来获得B的功能
公羊子丹 发表于 2023-5-1 12:24 | 显示全部楼层

因为小灯中不会有电流通过
公羊子丹 发表于 2023-5-1 13:17 | 显示全部楼层

大部分能够读取或者识别Flash上的数据就能够获得Firmware文件
Wordsworth 发表于 2023-5-1 14:20 | 显示全部楼层

当晶振布置在PCB中间,或离PCB边缘较远时,由于PCB中工作地(GND)平面的存在,使大部分的电场控制在晶振与工作地之间,即在PCB内部,分布到参考接地板的电场大大减小,导致辐射发射就降低了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部