资源简介
基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)。基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)。基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)。
代码片段和文件信息
#include
char code led_mod[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
int secondminhour;
int setmin=0sethour=0;
int currentmincurrenthour;
bit flag=0;
bit timeflag=1;
bit time24to12=1;
bit amorpm=0;
sbit P16=P1^6;
unsigned char status;
void delay(int time)
{
int i;
for(;time>0;time--)
for(i=0;i<250;i++);
}
int0_key() interrupt 0{
flag=1;
status=P0;
}
void sound(int n)
{
int i=0;
P16=1;
while(i {
P16=!P16;
i++;
}
}
void main()
{
int time;
IP=0x01;
IT0=1;
EX0=1;
EA=1;
second=50;
currentmin=58;
min=currentmin;
currenthour=20;
hour=currenthour;
while(1)
{
time=0;
if(second>59)
{
second=0;
currentmin++;
min++;
}
if(min>59)
{
min=0;
hour++;
}
if(hour>23)
{
hour=0;
}
if(currentmin>59)
{
currentmin=0;
sound(10);
currenthour++;
}
if(currenthour>23)
{
currenthour=0;
}
while(time<50)
{
P1=0x01;
P2=~led_mod[second/10];
delay(1);
P1=0x02;
P2=~led_mod[second%10];
delay(1);
P1=0x04;
P2=~led_mod[min/10];
delay(1);
P1=0x08;
P2=~led_mod[min%10];
delay(1);
P1=0x10;
P2=~led_mod[hour/10];
delay(1);
P1=0x20;
P2=~led_mod[hour%10];
delay(1);
time++;
}
P1=0x00;
P2=0x00;
if(!timeflag)
delay(100);
second++;
if(currentmin==setmin&¤thour==sethour)
{
sound(10);
}
if(flag)
{
switch(status){
case 0:min++;
status=0x06;
break;
case 1:hour++;
status=0x06;
break;
case 2:if(timeflag)
{
currentmin=min;
min=setmin;
currenthour=hour;
hour=sethour;
}
else
{
setmin=min;
min=currentmin;
sethour=hour;
hour=currenthour;
}
timeflag=!timeflag;
status=0x06;
break;
case 3:if(time24to12)
{
if(currenthour>12)
amorpm=0;
else
amorpm=1;
currenthour=currenthour%12;
hour=currenthour;
}
else
{
if(amorpm)
currenthour=currenthour+12;
hour=currenthour;
}
time24to12=!time24to12;
flag=0;
break;
default:break;
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-29 13:03 基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)\
文件 102486 2013-12-19 14:31 基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)\ClockShare.DSN
文件 2482 2013-12-19 14:16 基于单片机的数字时钟设计与实现(proteus仿真+C语言代码)\update7seg.c
相关资源
- 51单片机实现CRC校验
- 单片机C语言,Proteus仿真,多功能闹钟
- 51单片机电子琴
- 基于51单片机的家庭安全防火防盗系统
- 学生管理系统的设计与实现
- 扫描点阵式LED屏PIC单片机 附程序 原理
- ADS1115的51单片机驱动
- 单片机制作电池容量测试程序
- 基于单片机的智能计算器
- 单片机课程设计-自行车里程计速度计
- 函数信号发生器c语言
- 51单片机用C语言取出奇偶校验位
- 旋转编码开关C语言单片机开发
- IIC C语言编程实现单片机与存储器的数
- 51单片机C语言编程输出方波脉冲
- ADC0809做的电压+电流+功率数据采集系
- 进程调度的设计与实现图形界面c++
- 基于89c52单片机的八路抢答器 可加减
- 如何在keil中查看程序执行时间
- 基于单片机的水位控制系统
- 基于单片机的LED彩灯控制器设计
- 单片机 C语言温度控制程序
- 51单片机-光立方-C语言
- 单片机电子琴设计用C语言编写
- 单片机课程设计电子秤电子称proteus仿
- 51单片机数码管显示万年历的程序
- HMC830_HMC_MODE.rar
- AES单片机加密解密 C语言源代码
- 原创:51单片机操作ds18b20ds1302,lcd1
- Modbus源码(PIC单片机版)
评论
共有 条评论