Proteus仿真与实际的差别

2023-05-16

最近刚做好一个站,基于rails 3,教程为主,大家捧场看看,谢谢!www.yo945.com

    弄了几天的Proteus仿真,终于觉得自己想做的东西,已经全部用Proteus仿真过了,应该可以动手做了。于是先用Proteus画好原理图,再用ARES画好PCB板图——虽然我只是用洞洞板焊接,但是有个PCB板图做参照,连线会容易很多。花了两个小时,去中关村买了必要的原件,开始动手。

    单片机用的是STC89C552RC,原因除了价廉物美之外,最大的原因是,STC的单片机可以直接使用串口往里面下程序,这样我可以直接焊接好板子,然后连接好串口,一边写一边调试,不用把单片机拿来拿去了。为了焊的好看些,把线基本都布在了反面,前前后后,修修改改,共焊了3天才弄好,搞得眼睛一闭上都是洞洞板的圈圈。

    不过通过这次的实际制作,还真发现了不少Proteus仿真中不会想到的问题,现记录如下,希望以后再碰到时,可以作为参考。

    碰到的第一个问题,就是程序怎么也下载不到单片机中去。在Proteus仿真的时候,并不需要往单片机中写程序,编译好后,程序就已经在单片机中了,但是实际制作时,就得编译一次程序,下载一次。结果我在下载时,发现提示“不能连接到串口”,让我实在是头疼不已。试着用“串口助手”往单片机发数据时,发现数据指示类会闪烁,说明线路是通了。百思不得其解之下,同事提醒我说,是不是你这两个数据传送指示灯有问题?虽然我觉得成分的不可能,可是试着把两个LED灯去掉之后,还真可以了……

    这是先前的电路图(省略MAX232芯片)

image

结果串口在给单片机发数据的时候,灯是会闪烁的,让我坚定的以为,串口的通路是没问题的。后来把电路改成这样,串口不能通信,不能下载程序的问题就好了

image

 

    终于把串口弄好了,程序下载到了单片机上,结果效果和proteus上模拟的完全不一样。Proteus上的话,1602显示器直接就显示数据了,结果到了现实,什么都没有……死命的调节对比度电阻,也还是什么都没有,真的感觉无从下手了。后来去群里问,群里的老大给了一个示例程序,用上去也还是不行,这让我真的是感觉要崩溃了。不过想想焊了这么多天,放弃实在是不甘心,于是把所有和液晶显示不相关的代码全注释掉了,突然发现莫名其妙的,液晶出现了色块——当时感觉是太开心了,一天了,终于液晶上有显示了!不过此时仍然不能设置显示字符,不过相比没有任何显示已经好太多了。

    同样的代码,为什么这次可以了呢?仔细的分析了代码,发现这次的代码,唯一的不同,就是我为了少写几个字,延时函数用的是群里老大给的。这是唯一的不同之处。比对一下两个延时1毫秒的函数。

我自己的:

void delay(unsigned char ms)
{
    unsigned char i,j;
    for(i=0; i<ms; i++)
        for(j=0; j<120; j++);
}

 

 

群里老大给的:

void delay(int ms)
{
    int i,j;
    for(i=0; i<ms; i++)
        for(j=0; j<120; j++);
}

 

没错,两个函数唯一的区别,就是变量的类型,我写的时候,看变量都不会超过255,为了省点空间,定义的都是unsigned char,而一般的延时函数,用的是int类型,就是这两个变量类型的不同,导致了延时的不同,同样是想延时1毫秒,我的函数实际上只能延时0.4到0.5毫秒左右,就是这个的区别,让我在操作液晶时,各个时序的延时不够,给液晶的命令不能到达。后来修改后,再修改了一下程序其他地方,终于让液晶正确的显示了。

 

再说一个比较郁闷的事情,在Proteus里面,1602是这样显示的

image

image

买来实物后,我也理所当然的认为,有焊点的是下方(事实上我确实认为这样比较符合心理,哈哈)。结果程序写后好,一显示出来,全倒过来了…………

 

 

不管怎么说,今天总算让板子上的元件都工作正常了。明天开始改程序,实现具体功能。

 

Technorati 标签: STC89C52, 单片机, 制作, Proteus现实区别

转载于:https://www.cnblogs.com/varlxj/archive/2010/05/27/1745751.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Proteus仿真与实际的差别 的相关文章

  • 【软件相关】Proteus仿真STM32记录

    文章目录 0 前期教程1 前言2 先说说建议的流程3 需要注意的事项3 1 供电网配置不要忘了3 2 ADC模块的使用3 3 元器件查询手册 4 一些小技巧4 1 快速添加标号4 2 出现诡异问题的一种解决思路 0 前期教程 软件相关 Pr
  • Proteus 仿真8086+8255,运行时错误的解决

    要实现的功能 xff1a 通过开关控制流水灯的显示方式 电路原理图 xff1a 汇编源程序 xff1a CODE SEGMENT ASSUME CS CODE START MOV AL 90H OUT 36H AL AGAIN IN AL
  • Proteus仿真时报错:[SPICE] Too many iterations without convergence

    一 问题 xff1a 在利用Proteus仿真时 xff0c 经常会遇到 SPICE Too many iterations without convergence xff08 太多没有收敛的迭代 xff09 这个提示 xff0c 致使仿真
  • Proteus ISIS仿真软件中英文元件名称对照

    定时 计数器的使用方法 xff1a CLK xff1a 计数和测频状态时 xff0c 数字波的输入端 xff08 counter enable CE xff1a 计数使能端 xff1b 通过属性设置高还是低有效 无效暂停计数 RST 复位端
  • 【沧海拾昧】Proteus8仿真stm32:ADC转换程序

    C0102 沧海茫茫千钟粟 且拾吾昧一微尘 沧海拾昧集 CuPhoenix 阅前敬告 沧海拾昧集仅做个人学习笔记之用 所述内容不专业不严谨不成体系 如有问题必是本集记录有谬 切勿深究 目录 一 原理图绘制 二 多位七段数码管 三 ADC引脚
  • 基于51单片机的电子时钟万年历带农历温度proteus仿真

    硬件设计 本设计由数据显示模块 温度采集模块 时间处理模块和调整设置模块四个模块组成 系统以AT89S52单片机为控制器 以串行时钟日历芯片DS1302记录日历和时间 它可以对年 月 日 时 分 秒进行计时 还具有闰年补偿等多种功能 温度采
  • 共阳和共阴数码管详细段码(带图)

    今天带大家了解数码管的详细段码 数码管主要分共阳数码管和共阴数码管 区别在于其公共端是接电源还是接地 这里我们讲解共阴 共阳 数码管的0 F不带小数点段码和0 F带小数点段码 共阴数码管 1 共阴不带小数点0 F段码为 0x3f 0x06
  • 基于51单片机电子指南针设计程序+原理图+PCB+Proteus仿真+设计报告

    功能介绍 系统采用了磁阻 GMR 传感器采集某一方向磁场强度后通过MCU控制器对其进行处理并显示上传 通过对电子指南针硬件电路和软件程序的分析 阐述了电子指南针基本的工作原理及实现 实际测试指南针模块精度达到1 能够在LCD上显示当前方位并
  • 【Proteus仿真】【51单片机】水箱液位检测控制装置设计

    文章目录 一 主要功能 二 硬件资源 三 软件设计 四 实验现象 联系作者 一 主要功能 1 压力液位检测 2 阈值设定 超限报警 3 压力液位显示 4 补排水自动控制 二 硬件资源 1 51单片机核心模块 2 PCF8591 AD DA模
  • 【Proteus仿真】【STM32单片机】智能手环

    文章目录 一 功能简介 二 软件设计 三 实验现象 联系作者 一 功能简介 系统运行后 OLED显示温度 心率 加速度极其阈值 可按下K3键进入阈值设置模式 K1和K2调节对应阈值 K4确定 当检测体温 心率 加速度超出阈值范围 则蜂鸣器报
  • proteus中的标签的使用方法。

    我们在proteus中绘制原理图的时候常常会遇到元器件的连线比较繁杂 导致原理图看起来比较乱 或者不是太好看 我们一般采用两种比较典型的方式来解决 一 标签 1 终端模式下的标签 终端模式下的标签须确保我们已经选择了终端模式 如下图 双击终
  • 基于51单片机的羽毛球计分器(含Keil程序和Proteus文件)

    系统概述 系统使用的模块有AT89C51单片机 LCD1602显示屏 矩阵键盘 蜂鸣器 整个羽毛器计分器内的比赛双方的比赛分数和比赛时间和节数等都会在LCD1602显示屏上进行显示 通过左侧的按键可以增加双方的分数 还可以控制比赛的开始和暂
  • proteus仿真STM32串口的各种问题和解决办法

    最近在学习STM32串口通信 想试试能不能用proteus仿真 发现还是有挺多问题的 刚一开始在原理图放个STM32就报错 通过查阅资料才知道 选择 Design gt Configure Power Rails 添加到VCC VDD里头既
  • Proteus仿真时数码管不能动态显示的问题及解决方法

    今天做Proteus仿真时遇到了数码管不能动态显示的问题 我的程序是用单片机P1口控制数码管段选 P2口低四位控制数码管位选 数码管1ms显示一位 全部刷新需要4ms 正常情况下人眼是感受不到这个速度下数码管的刷新过程的 所以他应该是这个样
  • 基于51单片机的自动浇花浇水系统LCD1602显示仿真

    硬件设计 基本框架 该电路的工作原理是由STC89C52单片机和ADC0832组成系统的核心部分 湿度传感器将采集到的数据直接传送到ADC0832的IN端作为输入的模拟信号 选用湿度传感器和AD转换 电路内部包含有湿度采集 AD转换 单片机
  • 基于51单片机的霍尔自行车里程测速仪(含Keil程序和Proteus文件)

    系统概述 系统使用的模块有AT89C51单片机 LCD1602显示屏 霍尔测速模块 本设计采用51单片机为核心控制 使用LCD1602显示采集到的速度 霍尔测速模块进行测速 测速的原理是通过磁感应原理检测开关变化量 通过检测两个开关量的时间
  • Proteus 8.9原理图转换为PCB图

    Proteus 8 9原理图转换为PCB图 1 点击PCB设计图标 2 定义边界 在Board Edge图层建立矩形 此矩形内放置所有元器件 3 选用自动布局 Auto Placer 勾选所有器件 也可手动布置 没有的元器件封装可以重新选择
  • Proteus中继电器详解

    目录 一 引言 二 继电器实物 三 Proteus继电器选择 四 继电器工作原理及Proteus中继电器引脚 五 Proteus中继电器正确接法举例及仿真视频记录 一 引言 我们都知道继电器可以利用小信号控制大功率 有四两拨千斤功效 同时还
  • 基于51单片机实现8位数码管显示表白数字(Proteus仿真)

    wechat 嵌入式工程师成长日记 具体功能实现 8位数码管从左往右显示 5201314 并且不闪烁 使用器件 若干电阻 4只LED红灯 8位数码管 总线 排阻 NPN三极管 AT89C51芯片 Proteus仿真原理图 WeChat 愿随
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH

随机推荐

  • Linux批量加连续端口映射,批量端口映射

    内网ip 10 199 2 12 虚拟机网络 192 168 10 0 24 内网访问示例 xff0c 如访问ip为192 168 10 20的虚拟机 xff0c 远程桌面 10 199 2 12 6020 vnc 10 199 2 12
  • 想做Linux/Unix下的软件开发

    我学Linux Unix已经有段时间了 xff0c 工作中我也会写些Shell Script去完成一些任务 但是Linux Unix下的应用我还是没有开发过的 xff0c 基本上是拿来主义 xff0c 直接用别人开发好的软件包 其中最根本的
  • mpu和嵌入式linux区别,详解DSP、MCU、MPU的区别

    详解DSP MCU MPU的区别 2018年09月10日 11 17 57来源 xff1a 网络关键词 xff1a 嵌入式操作系统 CPU Central Processing Unit xff0c 中央处理器 发展出来三个分枝 xff0c
  • ug支持linux系统吗,Linux 黑话解释:什么是长期支持(LTS)版本?什么是 Ubuntu LTS?...

    在 Linux 的世界里 xff0c 特别是谈到 Ubuntu 的时候 xff0c 你会遇到 LTS 长期支持Long Term Support 这个词 如果你是一个经验丰富的 Linux 用户 xff0c 你可能知道 Linux 发行版的
  • ROS学习笔记十二:使用gazebo在ROS中仿真

    想要在ROS系统中对我们的机器人进行仿真 xff0c 需要使用gazebo gazebo是一种适用于复杂室内多机器人和室外环境的仿真环境 它能够在三维环境中对多个机器人 传感器及物体进行仿真 xff0c 产生实际传感器反馈和物体之间的物理响
  • 数学公式转换为图形的网站

    https www desmos com 贴一个动态图 xff0c 感受一下数学的魅力 转载于 https www cnblogs com lishidefengchen p 11089649 html
  • 激光雷达--看图

    转载于 https www cnblogs com tiandi p 10057244 html
  • css不常用属性

    1 出现滑动使用overflow xff1b 2 左右居中最常用的两种方法是margin 0 auto和text align center 3 透明背景使用transparent属性而不是使用rgba中的透明度数值来调节 4 文字连字符样式
  • 记录第一次互联网面经Momenta

    作为车辆的学渣 xff0c 去年开始研究图像算法 xff0c 也是第一次面纯做自动驾驶的公司 xff0c 留个纪念吧 1 简历过了第二天 xff0c HR就给打电话了 xff0c 还是非常效率的 xff0c 简单聊了两句就约了面试的时间 2
  • 大学学计算机专业高中怎样选课,高中选课大学对应专业 选什么科目能学的专业多...

    高中选课大学对应什么专业呢 xff0c 选什么科目大学可以选的专业多呢 xff0c 哪些组合是不推荐选择的呢 xff0c 下面小编为大家分析一下 xff0c 仅供大家参考 高中选课大学对应什么专业 新高考怎样选择学习的学科 第一 xff0c
  • GIT服务器配置

    GIT server build up 前几天说的任务启动了 xff0c 虽然server还在采购流程中 但已经在一台PC机上搞起来 xff0c 供小组内部测试啦 在此把过程记录下来吧 xff1a 硬件需求 xff1a 一台linux电脑
  • zookeeper(1)——zookeeper服务器集群搭建配置

    Zookeeper分布式集群管理系统 Author xff1a xusy 参考教程 xff1a http www cnblogs com z sm p 5691752 html 1 zookeeper下载 xff1a http mirror
  • ubuntu下安装intel realsense驱动

    在安装之前一定要确保系统是ubuntu 14 04 3 64位 xff01 由于一开始安装的是32位系统 xff0c 导致在升级内核版本到4 4时各种问题 xff0c 最终靠重装系统解决 因为intel给出的测试代码均是在64位14 04
  • linux网卡顺序发生变化,Linux 多网卡识别顺序邦定

    转自 http linux iyunv com bbs thread 1175497 1 1 html 使用linux系统时会出现这样的情况 xff0c 当你安装了某个网卡的驱动程序时 xff0c 或者安装了与网卡相关的程序后 网卡会出现所
  • js特效代码-onmouseover/onclick 改变标签(背景)颜色

    lt html gt lt head gt lt meta http equiv 61 34 Content Type 34 content 61 34 text html charset 61 gb2312 34 gt lt title
  • 利用Sphinx编写文档

    利用Sphinx编写文档 1 Sphinx简介和使用理由 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 Sphinx是一个用Python语言编写而成的文档编写工具 用Sphinx编写文
  • 通讯技术

    串口通讯基础 串口基本接线方法 xff08 作者 xff1a 龚建伟 2001 6 24 xff09 本文介绍了串口常用接线方法及注意事项 有关RS232与RS485接口的问答 来自中国工控网 xff09 RS232与RS485接口的区别及
  • microsoft微软登录新账户/切换账户失败,一直转圈,提示“你似乎没有连接到internet”

    无论有没有微软账户 xff0c 是切换账户还是新电脑登录 xff0c 原理都是一样的 xff0c 先使用一个账号注册 登录 设置好微软账户 xff0c 然后再进行你原本的操作 在可以进入到桌面并且联网的情况下 xff0c 登录不上微软账户的
  • 如何改善GPS的漂移?

    GPS飘移一直以来都是令用户和厂家比较头疼的问题 xff0c 也是很多用户选择GPS的首选指标 xff0c 好的产品定位精准 xff0c 漂移很小 xff0c 那么如何改善GPS的漂移 xff1f 1 xff09 纯软件方法 通过软件滤波算
  • Proteus仿真与实际的差别

    最近刚做好一个站 xff0c 基于rails 3 xff0c 教程为主 xff0c 大家捧场看看 xff0c 谢谢 xff01 www yo945 com 弄了几天的Proteus仿真 xff0c 终于觉得自己想做的东西 xff0c 已经全