【香皂火箭】最近学51遇到些问题
香皂火箭q2014/05/01电子技术 IP:山东
本帖最后由 香皂火箭q 于 2014-5-1 20:11 编辑

话说好久没来科创了
以前玩火箭,但最近搞起了51,买了块开发板。但出现了些问题,求解
先上程序:

#include<reg52.h>                                   //头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
uchar num,shi,ge,bai; //定义变量
sbit key1=P3^0;
sbit key2=P3^1; //位定义
sbit key3=P3^2;
sbit key4=P3^3;
sbit key5=P3^4;
sbit key6=P3^5;
sbit key7=P3^6;
sbit key8=P3^7;
sbit baiwei=P1^0;
sbit shiwei=P1^1;
sbit gewei=P1^2;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管字符表{从0-9}
void delay(uint z); //延时程序(1代表1毫秒)
void key(); //声明按键子程序
void xianshi(); //声明百十个位分解子程序
void main() //主程序
{
num=100; //定义变量
while(1)
{
xianshi(); //显示百位然后清零
P2=table[bai];
baiwei=0;
delay(10);
baiwei=1;
P2=0x00;

P2=table[shi]; //显示十位
shiwei=0;
delay(10);
shiwei=1;
P2=0x00;

P2=table[ge]; //显示个位
gewei=0;
delay(10);
gewei=1;
P2=0x00;

key(); //检测按键
}
}
void delay(uint z) //延时函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void xianshi() //百十个位分离子程序
{
  
bai=num/100;
shi=num%100/10;
ge=num%10;


}
void key() //按键子程序
{
P3=0xff;
if(key1==0)
{ num=num-1;}
if(key2==0)
{   num=num-2;}
if(key3==0)
{   num=num-3;}
if(key4==0)
{   num=num-4;}
if(key5==0)
{   num=num-5;}
if(key6==0)
{   num=num-6;}
if(key7==0)
{   num=num-7;}
if(key8==0)
{   num=num-8;}
}





嗯......就这样我出现了一些问题.keil编译没错误,我开发板上用的是8位数码管,有锁存器.电路图是这样的
QQ截图20140509200306.png
锁存器可以无视吧................
然后下载我就成了这样
DSCI0013.jpg
求回答[s:332] [s:309]
来自:电子信息 / 电子技术
11
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
香皂火箭q 作者
10年9个月前 IP:未同步
685824
问题出在哪啦?~~还没好好看看你们就乱了~
不由自主地唱起来
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
香皂火箭q作者
10年9个月前 IP:未同步
685840
人呢??[s:285][s:318]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
why1gz
10年9个月前 IP:未同步
685852
你把key()函数注释掉,再试试。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
香皂火箭q作者
10年9个月前 IP:未同步
685868
why1gz 发表于 2014-5-1 21:17
你把key()函数注释掉,再试试。


好的。注释掉后能稳定地显示100三位数,但一加上函数就又乱了。刚刚发现是我把线接反了,现在是就像计时器一样,第一位最慢然后第二位第二块第三位最快
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
why1gz
10年9个月前 IP:未同步
685886
按键去抖
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
香皂火箭q作者
10年9个月前 IP:未同步
686019
why1gz 发表于 2014-5-1 23:08
按键去抖


在对按键不进行任何操作时还是在变化。看来不是去不去抖的问题
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
香皂火箭q作者
10年9个月前 IP:未同步
686050
没人么??那我水水[s:7]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
英雄花
9年8个月前 IP:广东
769517
程序里面,你段选位选是哪个?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
钠爱上水
9年8个月前 IP:湖南
773217
加油
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
幻冰晓晴
9年7个月前 IP:山东
774146
你看郭天祥的《新概念51单片机》学习就行,他讲的很清楚。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
香皂火箭q
进士 机友 笔友
文章
14
回复
953
学术分
0
2012/04/27注册,6个月16天前活动

西南财经大学 金融与人工智能实验班在读

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}