基于SDCC和Edsim51的代码仿真

基于SDCC和Edsim51的代码仿真

一. 安装SDCC和Edsim51,采用汇编语言与C语言两种方式,在Edsim51虚拟开发板上点亮一个Led灯,并思考尝试让Led灯周期性闪烁。写作详细操作过程。
1.使用C语言:

在终端中输入指令创建一个led1.c文件
在这里插入图片描述

编译内容

在这里插入图片描述

继续输入终端指令,生成ihx文件和hex文件

在这里插入图片描述

在edsim51仿真器中选择生成的hex文件

在这里插入图片描述

update freq选择50000,run后得到结果

可以看到, run 运行后 变为 Pause (点击后可以进行单步调试,我们在后面会介绍),在左下方可以看到LED灯亮了(白色表示灭,最右边的红色表示 LED 0 灯亮),在右边可以看到 P1 口的状态( 0 或 1 )。

2.使用汇编语言:

在edsim51仿真器中直接输入汇编语言

在这里插入图片描述
在这里插入图片描述

与C语言操作一致,结果也一致
在这里插入图片描述

3.周期性闪烁

操作与上述一致,将C语言编码改成
在这里插入图片描述

汇编语言改为

在这里插入图片描述

二. 参考附件中8051指令集大全手册,在Edsim51,把汇编语言点亮Led1灯的代码,手工翻译转换为机器指令,与Edsim51 编译生成的机器码指令进行对比,查看是否一致。写作详细操作过程。

使用edsim51将指令转化为机器指令
在这里插入图片描述

与8051指令集大全手册中一一对应

三. 在Proteus中画出一个与Edsim51虚拟电路原理基本相同的电路,用Proteus仿真完成Led灯的点亮和闪烁,须分别采用以下方式(1)采用Proteus+SDCC 的C程序编程; (2)采用Proteus+Keil C51 的C程序编程;(3)采用Proteus 内置汇编语言编译的方式。
1.采用Proteus+SDCC 的C程序编程

在proteus中绘制电路图

双击at89c51芯片选择(一)(二)中生成的hex文件,led灯正常发光与闪烁

在这里插入图片描述

2.采用Proteus+Keil C51 的C程序编程

使用keil c51创建文件,输入C语言编辑生成hex文件

发亮:

闪烁:

选择keil c51生成的hex文件,led正常发亮,闪烁

3.采用Proteus 内置汇编语言编译的方式。

对at89c51芯片右击鼠标选择Edit Source Code,在start处编辑

发亮:

闪烁:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

led灯正常发亮与闪烁

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值