proteus和matlab的区别,Proteus仿真与实际的差别

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

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

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

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

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

1511181653471616.png

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

1511181653258334.png

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

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

我自己的:

?

1

2

3

4

5

6void delay(unsigned char ms)

{

unsigned char i,j;

for(i=0; i

for(j=0; j<120; j++);

}

群里老大给的:

?

1

2

3

4

5

6void delay(int ms)

{

int i,j;

for(i=0; i

for(j=0; j<120; j++);

}

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

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

1511181653511686.png

1511181654167895.png

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

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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值