单片机C语言 - 电子时钟程序
更新时间:2024-07-09 00:51:01 阅读量: 综合文库 文档下载
- 单片机c语言推荐度:
- 相关推荐
#include #define uint unsigned int #define uchar unsigned char unsigned char key2; bit ding=1;
unsigned char Getkey(void); uchar a,n=0,shi,fen,miao; void delay01s(void);
uchar LED[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar LED1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//有小数点的 void init(); //函数声明 void Delay(unsigned char z);//函数声明 void display(); //函数声明 //函数声明 void main() //函数声明 {
P1=0xfe;//对P1口赋初值 init(); //函数调用 while(1) {
//函数调用 key2=Getkey(); switch(key2) { case 1: shi++; if(shi==24) {
shi=0; } break; case 2: fen++; if(fen==60) { fen=0; } break; case 3: if(fen!=0) fen--;
if(fen==24) {
fen=0; } break; case 4: ding=~ding; default: break; } display(); //函数调用 } }
void init() {
TMOD=0x01; //定时器工作方式选择和赋初值 TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; //开总中断 ET0=1; //开定时器中断 TR0=1; //启动定时器 }
void timer0() interrupt 1 //中断服务程序 {
if(ding==1) {
TH0=(65536-50000)/256;//中断时间50ms
TL0=(65536-50000)%6; //定时器重新赋初值 a++; if(a==10) {
n=~n; }
if(a==20) {
n=~n;
a=0;
P1=P1<<1|P1>>7; miao++;
if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) { shi=0; } } } } } }
void display()//显示程序 {
P0=LED[shi/10];
P2=((P2&0x0f)|0x70); Delay(4);
if(n==0) {
P0=LED[shi]; } else {
P0=LED1[shi]; }
P2=((P2&0x0f)|0xb0); Delay(4);
P0=LED[fen/10];
P2=((P2&0x0f)|0xd0);
Delay(4);
P0=LED[fen]; P2=((P2&0x0f)|0xe0); Delay(4); }
/**********获得键值子程序**********************/ unsigned char bool;//bool 是否松键的标志 unsigned char Getkey(void) {
unsigned char temp,key=0; P2=(P2&0xff)|0x0f;
if((P2&0xff)!=((P2&0xff)|0x0f)) // 有键按下 {
//delay01s();
if(((P2&0xff)!=((P2&0xff)|0x0f)) &&(bool==0)) // 有键按下 {
temp=~(P2|0xf0); if(temp==1) key=1;
else if(temp==2) key=2; else if(temp==4) key=3; else if(temp==8) key=4; bool=1; } }
if(((P2&0xff)==((P2&0xff)|0x0f)) &&(bool==1)) {
bool=0; }
return key; //返回1~16键值 }
/********延时程序******/ void delay01s(void) {
unsigned char j,k; for(j=5;j>0;j--) //198 {
for(k=15;k>0;k--)//248 { ; } } }
void Delay(unsigned char z) {
unsigned char i,j,k; for(i=z;i>0;i--) for(j=25;j>0;j--) for(k=20;k>0;k--); }
//定义变量
正在阅读:
单片机C语言 - 电子时钟程序07-09
主成分分析方法在长江水质评价中的应用05-24
中学教师网课感悟02-23
2019年度工作评议动员大会讲话稿02-25
事业单位转正自我鉴定总结范文11-18
单位植树节活动报道05-02
献给“八一”建军节!02-22
欠薪最新条令02-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 时钟
- 语言
- 程序
- 电子
- 全国中小学教师教育技术水平考试应掌握的知识要点
- 浅析唐代保辜制度
- 多种表面处理工艺PCB简单生产流程
- 辽师版小学品德与社会五年级下册教案 全册 - 图文
- 新手汽车驾驶实用技巧 - 图文
- 2018-2023年中国成型机行业市场与投资规划分析报告 - 图文
- 定向安置房项目 “三定三限三结合”实施方案
- 南京工业大学法律与行政学院
- 模电试卷及答案
- 东大18秋学期《理论力学》在线作业1
- 社会行政 张云亮
- 保险基础知识测试答案及解析3
- 课内特殊句式练习
- 针灸理疗科实习学生出科考试试题
- 通用技术做课导学案
- 最新北师大版六年级上册第四单元测试题
- 绿色有机无公害蔬菜标准化生产示范区建设项目可行性研究报告
- 建设与房地产法规复习资料
- 植物生理综合实验答案
- 1组(冲突 - PC-PC - 2013-03-05 16-10-45)