求51单片机系统扩展12864和1307的时钟c程序
意法半导体(中国)投资有限公司
2023-06-12
2018-07-16 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
关注
展开全部
#include <reg51.h>
#include <string.h>
#include "ds1302.h"
#include "menu.h"
#include "lcd12864.h"
#define uchar unsigned char
#define uint unsigned int
sbit led=P3^7;
uchar temp,keyval;
uchar usern=0; //用户序号
//struct mlist *nuser;
uchar disdat[16];
void displaykey()
{
keyval=0xff;
P1=0xfe;
temp=P1;
temp&=0xf0;
if(temp!=0xf0)//判断是否有键盘按下,真 为有
{
delay(50);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)//判断是否有键盘按下,真 为有
{
temp=P1;
switch (temp)
{
case 0xee:keyval='0';break;
case 0xde:keyval='1';break;
case 0xbe:keyval='2';break;
case 0x7e:keyval='3';break;
default: break;
}
}
}
while((P1&0xf0) != 0xf0);
//判断第二行键盘
P1=0xfd;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)//判断是否有键盘按下,真 为有
{
temp=P1;
switch (temp)
{
case 0xed:keyval='4';break;
case 0xdd:keyval='5';break;
case 0xbd:keyval='6';break;
case 0x7d:keyval='7';break;
default: break;
}
}
}
while((P1&0xf0) != 0xf0);
//判断第三行键盘
P1=0xfb;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)//判断是否有键盘按下,真 为有
{
temp=P1;
switch (temp)
{
case 0xeb:keyval='8';break;
case 0xdb:keyval='9';break;
case 0xbb:keyval='a';break;
case 0x7b:keyval='b';break;
default:break;
}
}
}
while((P1&0xf0) != 0xf0);
//判断第四行键盘
P1=0xf7;
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(50);
temp=P1;
temp=temp&0xf0;
if(temp!=0xf0)//判断是否有键盘按下,真 为有
{
temp=P1;
switch (temp)
{
case 0xe7:keyval='c';break;
case 0xd7:keyval='d';break;
case 0xb7:keyval='e';break;
case 0x77:keyval='f';break;
default:break;
}
}
}
while((P1&0xf0) != 0xf0);
}
void distime(void)
{
uchar *cal="年月日";
disdat[0]='2';
disdat[1]='0';
disdat[2]='0'+TIME[6]/16; //年
disdat[3]='0'+(TIME[6]&0x0f);
disdat[4]=cal[0];
disdat[5]=cal[1];
disdat[6]='0'+TIME[4]/16; //月
disdat[7]='0'+(TIME[4]&0x0f);
disdat[8]=cal[2];
disdat[9]=cal[3];
disdat[10]='0'+TIME[3]/16; //日
disdat[11]='0'+(TIME[3]&0x0f);
disdat[12]=cal[4];
disdat[13]=cal[5];
disdat[14]=0;
displaystr(1,2,disdat);
disdat[0]='0'+TIME[2]/16; //时
disdat[1]='0'+(TIME[2]&0x0f);
disdat[2]=':';
disdat[3]='0'+TIME[1]/16; //分
disdat[4]='0'+(TIME[1]&0x0f);
disdat[5]=':';
disdat[6]='0'+TIME[0]/16; //秒
disdat[7]='0'+(TIME[0]&0x0f);
disdat[8]=0;
displaystr(4,4,disdat);
}
void init_timer(void)
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x40;
}
main()
{
uchar num;
InitLCD();//初始LCD
Ds1302Init();
init_timer();
ClearScreen(0);
delay(200);
num=0;
while(1)
{
Ds1302ReadTime();
distime();
displaykey();
delay(200);
}
}
意法半导体(中国)投资有限公司
2020-01-15 广告
2020-01-15 广告
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询