导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→好奇怪呀[alai]

 *第12641篇: 好奇怪呀

  
楼 主:alai 2003年5月26日11:27
 好奇怪呀
我用89C52做了个小东东,仿真可以,脱机也可以脱。但是脱机后有两个数据总是和仿真的时候不一样。我定义这两个全局变量,让它们递增用数码管显示,如果在仿真状态下,完全正常。可是脱机之后,这两个数会乱变。复位电路没问题。这会是什么原因呀?急呀?
  
2楼:huzimax 2003年5月26日12:16
 仿真是用的板子上的晶振吗?
  
3楼:alai 2003年5月26日15:23
 用的是自己板子上的晶振呀?
用的是自己板子上的晶振呀?
  
4楼:alai 2003年5月26日20:57
 急呀
我发现并不是乱变的,定义的全局变量为
unsigned temp;
让它递增显示从0-99
每次增2
则显示的数仅有个位即02,04,06,08,0A,0C,0E,00……03(十六进制)
实际上加上十位的话是正确的。比如最后一位是03若十位加上6那么就是63(十六
进制)也就是99(十进制),可是仿真的时候却不是这样,而是正常的递增,这到底是为什么呀!!!!!!!!!
  
5楼:huzimax 2003年5月26日21:35
 在十位的口上加一个上拉试试,会不会是带不动(P0,或P2口?)?
  
6楼:alai 2003年5月26日21:47
 你说怪不怪——我是通过串口送到上位机看的数据
我是通过串口送到上位机看的数据,并没有驱动的问题
而且怪就怪在仿真的时候,完全正确!
  
7楼:guest 2003年5月26日22:05
 说说
你用的仿真机做显示的?是显示的十六进制数吧,是不是显示程序有问题,要不就是数码官反映不过来
  
8楼:alai 2003年5月27日17:07
 原来如此——仿真和脱机差多少
我说错了,并不是全局变量的问题。
我做东东是通过p1口读入数据,再通过串口传送到上位机,经过一天的排错
我觉得最有可能是由于P1口是准双向IO口,做为读入时,必须先输出0xff,
才可以读入正确的数据,可是在仿真时,wave的仿真头pod8x5x可以直接读入
正确的数字,但是脱机后的89c52却不可以,才会出现昨天的结果。
于是,在P1读入之前,先写P1=0XFF;
再读入,仿真通过。可是脱机后,送到上位机的数总是00!!!
我快晕了!

>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:一定要用cpld吗?

[下一篇主题]:牛人给推荐几款便宜的pic单片机仿真器