求 用基于单片机ADuC848 4*4矩阵键盘 LED数码管 实现计算器的功能的C程序 .原理图 硬件

要求1)利用小键盘作为数据和命令的输入装置2)利用LED作为过程和结果的输出装置3)可实现基本的数据运算,包括:加、减、乘、除、开方等4)未工作时显示北京时间5)当数据超... 要求
1)利用小键盘作为数据和命令的输入装置
2)利用LED作为过程和结果的输出装置
3)可实现基本的数据运算,包括:加、减、乘、除、开方等
4)未工作时显示北京时间
5)当数据超出范围,可声音提示或报警
展开
 我来答
百晓通prince
2013-05-05
知道答主
回答量:17
采纳率:0%
帮助的人:19.1万
展开全部
uchar keyval()
{
uchar a,b,i;
b=0xfe;
for(i=0;i<4;i++) //i为行号
{
KEY=b;a=KEY;
if((a&0x10)==0) keynum=i*4; //第一列
if((a&0x20)==0) keynum=i*4+1; //第二列
if((a&0x40)==0) keynum=i*4+2; //第三列
if((a&0x80)==0) keynum=i*4+3; //第四列
b<<=1;b++;
}
SpeakContinue(1);
return (keynum);
}
/********************延时*********************/
void delay(uchar t)
{
uchar i=100;
while(t--)
{while(i--);}
}
void delay1(uchar time)
{
while(time--);
}
/*******************LCD驱动**************************/
//写控制字函数
void lcdcmd(uchar cmd)
{
RS=0;
RW=0;
DAT=cmd;
E=1;
_Nop();
_Nop();
E=0;
delay(2);
}
//写数据函数
void lcddata(uchar dat)
{ RS=1;
RW=0;
DAT=dat;
_Nop();
E=1;
_Nop();
_Nop();
E=0;
delay(2);
}
//LCD初始化函数
void lcdinit() //显示初始化
{
lcdcmd(0x38);
delay(2);
lcdcmd(0x38);
delay(2);
lcdcmd(0x38);
delay(2);
lcdcmd(0x01);
lcdcmd(0x06);
lcdcmd(0x0c);
}
艾普斯
2024-07-18 广告
稳频稳压电源哪家好?艾普斯电源(苏州)有限公司开始专业研发、制造及营销交流稳压电源,满足全球电子及信息业对电源设备日益蓬勃的市场需求。迄今为止,业已发展成为交流不间断电源、稳压电源、变频电源、中频航空- 军事专用电源、直流电源、逆变电源等产... 点击进入详情页
本回答由艾普斯提供
硫冰
2013-05-05 · 超过11用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:49.7万
展开全部
查看一下接口高低电平。 小键盘用矩阵键盘做输入。 逻辑判断超出范围发出提示音, 北京时间么,参考网上电子时间设计的程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式