我单片机模块化编程出现的问题

我这个程序功能很简单,目的是实现按矩阵键盘,用数码管显示数字main.c:#include<reg52.h>#include"delay.h"#include"jianp... 我这个程序功能很简单,目的是实现按矩阵键盘,用数码管显示数字
main.c:
#include<reg52.h>
#include"delay.h"
#include"jianpan.h"
#include"smg.h"
void main()
{
P2=0x7f; //P2为数码管位选,接通其第七位
P0=gongyang[18];
while(1)
{
uchar temp;
P1=0xf0;
while(P1&0xf0!=0xf0)
{
temp=keyscan();
P0=gongyang[temp];
}
delay1ms(200);
}
}
smg.c:
#include"smg.h"
#include<reg52.h>
/*------------------------------
共阳极数码管显示程序
P2接通位选,P0接通段选
duanxuan取值范围是0~18
------------------------------*/
void display_smg_gya(unsigned char duanxuan)
{
P0=gongyang[duanxuan];
}
/*------------------------------
共阴极数码管显示程序
P2接通位选,P0接通段选
duanxuan取值范围是0~18
------------------------------*/
void display_smg_gyi(unsigned char duanxuan)
{
P0=gongyin[duanxuan];
}
展开
 我来答
GrandyLiao
2011-02-25 · TA获得超过898个赞
知道小有建树答主
回答量:199
采纳率:100%
帮助的人:223万
展开全部
首先,我不知道,你的.h文件里面的内容是什么,因该是:外部函数引用的语句,比如:
extern void XXX(unsigned int XXX); 这样才能对外部函数进行引用。
其次,我看你的每一个.C文件中都有#include<reg52.h>语句,这是不对的,编译都会出错,
你可以用#ifndef 和#endif进行编译预处理,这样可以防止出错。
注意以上两点就应该没有什么错误了。
电子疯人
2011-02-25 · TA获得超过262个赞
知道小有建树答主
回答量:416
采纳率:50%
帮助的人:114万
展开全部
什么问题?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式