标题:
电子时钟程序(单片机和7279)
[打印本页]
作者:
邢普拉斯
时间:
2017-6-27 14:38
标题:
电子时钟程序(单片机和7279)
利用单片机和7279芯片实现①时钟②闹钟③定时器④万年历
单片机源程序如下:
#include <reg52.h>
#include "led.h"
#include "delay.h"
#include "7279.h"
#include "key.h"
u16 count=0; //时间计数
u8 hour=12; //时
u8 min=0; //分
u8 sec=0; //秒
u8 al_hour=25; //闹钟时
u8 al_min=0; //闹钟分
u8 al_sec=0; //闹钟秒
u8 mb_hour=0; //秒表时
u8 mb_min=0; //秒表分
u8 mb_sec=0; //秒表秒
u8 num[8]; //存放显示码
u8 A_FLAG=0; //闹钟响铃标志
u8 MB_PAUSE=0;//秒表暂停标志
u8 MB_ON=0; //秒表开启标志
u8 key_num=0; //功能键按下次数
sbit key_int=P3^2;//外部中断0
void Init(void);
/************************************************
*功能:主程序
************************************************/
void main()
{
Init(); //初始化
while(1)
{
if(sec==60) { min+=1; sec=0;} //分加1
if(min==60) { hour+=1; min=0;} //时加1
if(hour==24) { hour=0;}
if(mb_sec==60) { mb_min+=1; mb_sec=0;} //分加1
if(mb_min==60) { mb_hour+=1; mb_min=0;} //时加1
if(mb_hour==24) { mb_hour=0;}
//计时到设定的闹钟时间,置标志
if(hour==al_hour&&min==al_min&&sec==al_sec) A_FLAG=1;
GetValue(num,key_num); //取对应的不同模式的显示码,
Display(num); //LED数码动态显示时间
DingDing(); //闹钟响铃
}
}
/******************************************
*功能:初始化程序
******************************************/
void Init(void)
{
Bee=1; //关闭蜂鸣器
sent_byte(CMD_RESET); //复位7279
TMOD&=0xF0; //清定时器0工作方式
TMOD|=0x02; //方式2,8位自动装填
TH0=0x06; //次数250次,计数约271.267us
TL0=0x06; //
IP=0x01; //中断优先级
IT0=1; //外部中断0边沿触发
EA=1; //总中断
ET0=1; //T0中断
EX0=1; //外部中断0
TR0=1; //打开定时器;
key_int=1; //外部中断0引脚拉高(不是必要的)
num[2]=num[5]=0x0a; //时间分隔,编码0
}
/******************************************
*功能:定时器0中断服务程序
******************************************/
void TO_time() interrupt 1
{
count++;
if(count==3686)
{
sec++; //时间秒加1
if(MB_PAUSE) mb_sec++; //秒表秒加1
count=0;
}
}
/******************************************
*功能:外部中断0服务程序
******************************************/
void Int_0() interrupt 0
{
u8 key_id; //按键值
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
7279.zip
(54.81 KB, 下载次数: 25)
2017-6-27 14:37 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
51.MCU
时间:
2021-4-28 18:42
有没有仿真图?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1