找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7005|回复: 9
收起左侧

8位数码管动态显示程序,请大侠指导

[复制链接]
ID:83375 发表于 2015-6-23 16:26 | 显示全部楼层 |阅读模式
AT89C51 晶震频率为12MHz. 实现目标为数码管显示0-9,LEDCHR[] 真值表每个数值都单独测试过,protues显示没有问题。而用我附件里面的程序仿真的时候protues显示全亮八、单步仿真也是一直全亮八。很是纳闷,难道protues上用单片机内部定时器需要特殊设置? 请各位大虾指教。

8位数码管动态显示protues

8位数码管动态显示protues

8位数码管动态显示程序

8位数码管动态显示程序
回复

使用道具 举报

ID:81808 发表于 2015-6-23 23:27 来自手机 | 显示全部楼层
把unsigned char三句拿到main以外,把T0初始化四句拿到while1以外

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:81808 发表于 2015-6-23 23:29 来自手机 | 显示全部楼层
按你的程序,t0就一直初始化了,根本不工作,所以p0一直是0xff,当然显示8

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:83375 发表于 2015-6-24 07:48 | 显示全部楼层
yanjibao 发表于 2015-6-23 23:29
按你的程序,t0就一直初始化了,根本不工作,所以p0一直是0xff,当然显示8

感谢大虾的指导,按照你的意思修改后确实能正常显示了。但是还有个问题模拟一开始是全八 大概1秒后才正常循环。请问这是何故?
回复

使用道具 举报

ID:83753 发表于 2015-6-24 08:01 | 显示全部楼层
不断把刷新

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:81808 发表于 2015-6-24 08:41 来自手机 | 显示全部楼层
23054334 发表于 2015-6-24 07:48
感谢大虾的指导,按照你的意思修改后确实能正常显示了。但是还有个问题模拟一开始是全八 大概1秒后才正常 ...

加一句话,在while1以前给p0赋值(初始值)

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:83375 发表于 2015-6-24 08:44 | 显示全部楼层
yanjibao 发表于 2015-6-24 08:41
加一句话,在while1以前给p0赋值(初始值)

那是不是就是说不给单片机赋初值,单片机的引脚默认输出的是高电平?
回复

使用道具 举报

ID:81808 发表于 2015-6-24 09:11 来自手机 | 显示全部楼层
23054334 发表于 2015-6-24 08:44
那是不是就是说不给单片机赋初值,单片机的引脚默认输出的是高电平?

是的,atmel和stc内核的51都是这样,发现这一点,说明你单片机完成入门了

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:83824 发表于 2015-6-24 20:49 | 显示全部楼层
把unsigned char三句拿到main以外,把T0初始化四句拿到while1以外,按你的程序,t0就一直初始化了,根本不工作,所以p0一直是0xff,当然显示8

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:85338 发表于 2015-7-11 13:47 | 显示全部楼层
每次显示一个数字  延时一段时间  再去显示另一个数字  前天刚写过这个小程序

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表