在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2418|回复: 6

紧急求助 大家帮我看一下这个程序有没有问题

[复制链接]
发表于 2009-3-23 17:37:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家帮我看一下这个程序有没有问题

实验任务
利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。

#include <AT89X51.H>
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char Count;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
Count=0;
P0=table[Count/10];
P2=table[Count%10];
while(1)
{
if(P3_7==0)
{
delay10ms();
if(P3_7==0)
{
Count++;
if(Count==100)
{
Count=0;
}
P0=table[Count/10];
P2=table[Count%10];
while(P3_7==0);
}
}
}
}
发表于 2009-3-24 07:57:40 | 显示全部楼层
P0=table[Count/10];
这个是有问题的,你要的结果在0~9之间,这显然不对。
发表于 2009-3-24 09:56:40 | 显示全部楼层

没有对IO口进行功能设置

没有对IO口进行功能设置:输入或是输出等...
发表于 2009-3-24 13:24:59 | 显示全部楼层
建议你给出意见大致描述,以及故障现象。大家才有针对性。
发表于 2009-3-26 13:22:00 | 显示全部楼层
楼主应该把问题的现象说一下,免得大伙漫无边际的找。
但从代码上看应该是没什么问题。

[ 本帖最后由 icanfly0000 于 2009-3-26 13:23 编辑 ]
 楼主| 发表于 2009-3-29 16:10:50 | 显示全部楼层
感谢热心的朋友们,问题已经解决了,是硬件问题
发表于 2009-4-4 14:13:46 | 显示全部楼层
while(P3_7==0);这句是什么意思,没看明白
还有数码显示硬件部分好像不是怎么好,浪费资源!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 23:39 , Processed in 0.657985 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表