当前位置:首页 > 电子万年历毕业设计(基于AT89C51单片机和DS1302时钟芯片)
程序 //main.c//
#include
#define uint unsigned int #include\#include\#include\sbit k4=P1^3; char k=0;
char shi,fen,miao,nian,yue,ri; char
baojingshi=0x00,baojingfen=0x06,baojingmiao=0x00;
void sjdisplay(); void rqdisplay(); void baojingdisplay(); void delay(uint ms);
void display(char shu,char wei);
char table[]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; void main() {
ds1302_write(0x80,0x55); ds1302_write(0x82,0x45); ds1302_write(0x84,0x00); ds1302_write(0x8c,0x11); ds1302_write(0x88,0x10); ds1302_write(0x86,0x07); while(1) {
if(k4==0)
{
delay(5); if(k4==0) {
while(k4==0); k++; if(k==3) { k=0; } } } if(k==0) sjdisplay(); if(k==1) rqdisplay(); if(k==2)
baojingdisplay();
if((shi==baojingshi)&&(fen==baojingfen)&(miao==baojingmiao)) {
didi(10); } key(); } }
void sjdisplay() {
shi=ds1302_read(0x85);//hour fen=ds1302_read(0x83);//minites miao=ds1302_read(0x81);//second display((shi>>4)&0x07,0); display(shi&0x0f,1);
共分享92篇相关文档