Proteus 8 Professional 编译C51程序报L121错误的解决方法

在Proteus 8 Professional 编译C51程序报如下错误信息:

*** ERROR L121: IMPROPER FIXUP
    MODULE:  MAIN.OBJ (MAIN)
    SEGMENT: ABSOLUTE
    OFFSET:  0023H

在这里插入图片描述
【解决的方案】
将ROM改为LARGE
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【修改完成后编译成功!!!】
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Proteus 8 Professional是一款电路设计软件,可以用它来模拟和测试电路。如果你想要在Proteus 8 Professional中编写舵机程序,你需要使用微控制器来控制舵机。以下是一个简单的舵机控制程序示例: ``` #include <reg51.h> sbit servo = P1^0; // 将舵机连接到P1.0引脚 void delay_us(unsigned int us) // 微秒级延迟函数 { while(us--); } void main() { TMOD = 0x01; // 设置计时器0为模式1 TH0 = 0x4B; // 设置计时器0的高8位 TL0 = 0xFD; // 设置计时器0的低8位 TR0 = 1; // 启动计时器0 while(1) { servo = 1; // 将P1.0引脚置为高电平 delay_us(1500); // 延时1.5ms servo = 0; // 将P1.0引脚置为低电平 delay_us(18500); // 延时18.5ms } } ``` 这个程序使用计时器0来控制舵机。计时器0的工作原理是将TH0和TL0寄存器中的值加载到计时器中,在每个时钟周期中递减计时器的值,直到计时器的值为0时触发中断。在这个程序中,我们设置计时器0为模式1,它将自动重载,并在计时器值为0时触发中断。我们将TH0和TL0寄存器设置为适当的值,以便每20ms触发一次中断。在中断服务例程中,我们将P1.0引脚置为高电平1.5ms来控制舵机的角度。然后,我们延迟18.5ms,将P1.0引脚置为低电平,以便舵机返回到初始位置。 请注意,这只是一个简单的舵机控制程序示例,你需要根据你使用的舵机和微控制器进行适当的修改。同时,你需要将这个程序编译成HEX文件,并将其加载到微控制器中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值