完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uchar unsigned char #define uint unsigned int ***it dula=P2^6; ***it wela=P2^7; ***it lcden=P3^4; ***it lcdrs=P3^5; ***it key1=P3^0; ***it key2=P3^1; ***it key3=P3^2; //***it key4=P3^3; ***it key=P3^7; void display(); void delayms(uint z); void keysscan(); void init(); void write_com(uchar com); void write_data(uchar date); uchar num,num1,num2;num3,num4; uchar sshi,sge,fshi,fge,mshi,mge; uint temp=0; void init() //初始化 { dula=0; wela=0; TMOD=0x01; TH0=(65536-45872)/256; TH1=(65536-45872)%256; EA=1; ET0=1; TR0=1; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } void write_com(uchar com) //写指令 { lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); lcden=0; } void write_data(uchar date) //写数据 { lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; } void delayms(uint z) //延时 { uint i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void display() //液晶屏显示 { write_com(0x80); write_data(sshi+48); delayms(1); write_com(0x80+0x01); write_data(sge+48); delayms(1); write_com(0x80+0x02); write_data(':'); delayms(1); write_com(0x80+0x03); write_data(fshi+48); delayms(1); write_com(0x80+0x04); write_data(fge+48); delayms(1); write_com(0x80+0x05); write_data(':'); delayms(1); write_com(0x80+0x06); write_data(mshi+48); delayms(1); write_com(0x80+0x07); write_data(mge+48); delayms(1); } void keysscan() { key=0; if(key1==0) { delayms(5); if(key1==0); { while(!key1); temp++; TR0=0; write_com(0x0f); } } switch(temp) { case 1: if(key2==0) { delayms(5); if(key2==0); { while(!key2) num1++; if(num1==60)num1=0; } } if(key3==0) { delayms(5); if(key3==0) { while(!key3) num1--; if(num1==-1)num1=0; } } break; case 2: { if(key2==0) { delayms(5); if(key2==0) { while(!key2); num2++; if(num2==60)num2=0; } } if(key3==0) { delayms(5); if(key3==0) { while(!key3); num2--; if(num2==-1)num2=0; } } } break; case 3: { if(key2==0) { delayms(5); if(key2==0) { while(!key2); num3++; if(num3==60)num3=0; } } if(key3==0) { delayms(5); if(key3==0) { while(!key3); num3--; if(num3==-1)num3=0; } } } break; case 4: { temp=0; TR0=1; write_com(0x08); } } } void T0_time()interrupt 1 //时钟0中断 { num++; TH0=(65536-45872)/256; TH1=(65536-45872)%256; if(num==20) { num=0; num1++; if(num1==60) { num1=0; num2++; } mshi=num1/10; mge=num1%10; if(num2==60) { num2=0; num3++; } fshi=num2/10; fge=num2%10; if(num3==24) { num3=0; // num4++; } sshi=num3/10; sge=num3%10; //if(num4) display(); } } void main() { init(); while(1) { keysscan(); } } |
|
相关推荐
2个回答
|
|
路过!
|
|
|
|
你key_scan里面的 num。每改变一次,都要写入一次,你们没有写入,要在num1或num2++之后加个display。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
551 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
910 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
575 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
572 浏览 0 评论
1221 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11769 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 19:55 , Processed in 0.727276 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号