资源简介
基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)-单片机原理及应用课程实习报告。数字钟要求:24小时制时间显示,可随时进行时间校对调整,整点报时及闹钟功能。(或根据实际数字钟增加其它功能)。
代码片段和文件信息
#include
#include
#include
sbit kgnxz=P3^0; //功能选择键,按一次设定时间,按两次设定闹钟时间,按三次又显示时间表
sbit ksec=P3^1;//调整秒
sbit kmin=P3^2;//调整分
sbit khour=P3^3;//调整时
sbit bear=P1^0;//蜂鸣器控制口
unsigned char secshi=0secge=0minshi=0minge=0hourshi=0hourge=0flag=0//flag是按键的计数
secshi1=0secge1=0minshi1=0minge1=0hourshi1=0hourge1=0;//定义存储时间和闹钟时分秒的个位和十位
unsigned int num=0sec=00min=59hour=00sec1=00min1=1hour1=1 num1=0;//定义时间和闹钟的时分秒
unsigned char code table[10]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};//数码管段控口
void keyscan();//键盘扫描函数
void display();//时钟显示函数
void display1();//闹钟显示函数
void clock();//闹钟函数即蜂鸣器函数
/***延时函数****/
void delay(unsigned char z)
{unsigned char xy;
for(x=z;x>0;x--)
for(y=255;y>0;y--);
}
/***中断函数****/
void time0() interrupt 1
{num++;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(num==20)
{num=0;
sec++;
if(sec==60)
{sec=0;
min++;
if(min==60)
{min=0;
hour++;
if(hour==24)
{hour=0;
}
}
}
}
}
/******时钟显示函数******/
void display()
{
secge=sec%10;
secshi=sec/10;
minge=min%10;
minshi=min/10;
hourge=hour%10;
hourshi=hour/10;
P2=0xfe;
P0=table[secge];
delay(5);
P2=0xfd;
P0=table[secshi];
delay(5);
P2=0xfb;
P0=0x40;
delay(5);
P2=0xf7;
P0=table[minge];
delay(5);
P2=0xef;
P0=table[minshi];
delay(5);
P2=0xdf;
P0=0x40;
delay(5);
P2=0xbf;
P0=table[hourge];
delay(5);
P2=0x7f;
P0=table[hourshi];
delay(5);
}
/*****闹钟显示函数****/
void display1()
{
secge1=sec1%10;
secshi1=sec1/10;
minge1=min1%10;
minshi1=min1/10;
hourge1=hour1%10;
hourshi1=hour1/10;
P2=0xfe;
P0=table[secge1];
delay(15);
P2=0xfd;
P0=table[secshi1];
delay(15);
P2=0xfb;
P0=0x40;
delay(15);
P2=0xf7;
P0=table[minge1];
delay(15);
P2=0xef;
P0=table[minshi1];
delay(15);
P2=0xdf;
P0=0x40;
delay(15);
P2=0xbf;
P0=table[hourge1];
delay(15);
P2=0x7f;
P0=table[hourshi1];
delay(15);
}
/*****键盘扫描*********/
void keyscan()
{if(kgnxz==0) //功能选择键是否按下
{ delay(10);//延时消抖
if(kgnxz==0)//再次判断键是否按下
{flag++;} //计数,功能选择键按键次数加一
while(!kgnxz); //释放键
}
if(flag==1)//功能选择键
{if(ksec==0)//秒调整键
{delay(10);//延时消抖
if(ksec==0)//再次判断键是否按下
{sec++;//秒加加
if(sec>=60)//如果秒大于60
sec=0;//秒清零
}
while(ksec==0)//释放键
display();}
if(kmin==0)
{delay(10);
if(kmin==0)
{min++;
if(min>=60)
min=0;
}
while(kmin==0)
display();
}
if(khour==0)
{delay(10);
if(khour==0)
{hour++;
if(hour==24)
hour=0;
}
while(khour==0)
display();
}
}
if(flag==2)//闹钟调整
{if(ksec==0)
{delay(5);
if(ksec==0)
{sec1++;
if(sec1==60)
sec1=0;}
while(!ksec)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-29 13:05 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\
文件 241664 2018-12-17 23:05 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\单片机原理及应用课程设计报告文档.doc
目录 0 2019-12-29 13:05 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\
文件 4259 2018-06-18 21:29 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟.txt
文件 100943 2018-06-18 14:11 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\Backup Of 可调带闹钟数字钟.DBK
文件 97412 2018-06-18 21:49 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\Last Loaded 可调带闹钟数字钟.DBK
目录 0 2019-12-29 13:03 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\
文件 4037 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong
文件 3496 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong.hex
文件 31 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong.lnp
文件 15169 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong.M51
文件 956 2018-06-20 15:13 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong.Opt
文件 0 2018-06-20 14:54 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong.plg
文件 1651 2018-06-18 00:28 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong.Uv2
文件 956 2018-06-20 14:50 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong_Opt.Bak
文件 0 2018-06-17 23:38 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\shizhong_Uv2.Bak
文件 6369 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\project\时钟.obj
文件 100920 2018-06-19 21:56 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\可调带闹钟数字钟.DSN
文件 742 2018-06-20 14:18 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\可调带闹钟数字钟.PWI
文件 4292 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\时钟.c
文件 8271 2018-06-20 11:39 基于c51可调数字钟包括整点报时功能闹钟(C语言代码+设计报告文档)\时钟\时钟.LST
相关资源
- 宠物管理系统课程设计(源码+数据库
- c语言课程设计:客房登记系统源码
- 8位竞赛抢答器的课程设计报告.docx
- VC++MFC课程设计的学生成绩管理系统
- C++实现21点游戏
- c++课程设计学生管理系统浙工大源码
- 课程设计: MFC 学生信息管理系统
- dsp课程设计——语音加密.zip
- 广东工业大学数据结构课程设计航空
- 数据结构课程设计扑克牌排序
- c++课程设计宾馆客房管理系统
- c语言课程设计-职工信息管理系统-单
- 飞机票订购系统C语言课程设计报告全
- c++ 课程设计_中国象棋
- 编译原理课程设计-C语言子集编译器
- 操作系统课程设计(银行家算法)附
- 用c写的航空订票系统 航班信息改变
- 信息论课程设计——LZW编码
- 人员管理系统 c语言源码 课程设计专
- MFC课程设计学生管理系统
- vc++课程设计 让计算机来猜测用户“暗
- 职工工作量统计系统.rar
- 扫雷游戏.cpp C++ 课程设计
- C语言数据结构课程设计之统计C程序单
- 职工信息管理系统C 链表
- C++课程设计 扑克牌游戏内含2程序
- 学生成绩管理系统 (C语言版)课程设
- 软件工程课程设计--自动排课排课系统
- 数据结构课程设计 停车场管理系统
- 操作系统课程设计(生产者-消费者存
评论
共有 条评论