基于单片机设计课程设计论文 - 图文 下载本文

*(ds_addr+0)=DTdata_tab[5]; //write modified data *(ds_addr+2)=DTdata_tab[4]; *(ds_addr+4)=DTdata_tab[3]; *(ds_addr+7)=DTdata_tab[2]; *(ds_addr+8)=DTdata_tab[1]; *(ds_addr+9)=DTdata_tab[0]; data_hl(); } } lcd_wcmd(0x0c); } } }

void datapro(void) //modify year、month、day、hour、minute、second data {

if(DTdata_tab[5]==0x60) //modify second data { DTdata_tab[5]=0x00; }

if(DTdata_tab[5]==0xf9) { DTdata_tab[5]=0x59; }

if(DTdata_tab[4]==0x60) //modify minute data { DTdata_tab[4]=0x00; }

if(DTdata_tab[4]==0xf9) { DTdata_tab[4]=0x59; }

if(DTdata_tab[3]==0x13) //modify hour data { DTdata_tab[3]=0x01; }

if(DTdata_tab[3]==0x00) { DTdata_tab[3]=0x12;

}

33

if(DTdata_tab[2]==0x32) //modify day data { DTdata_tab[2]=0x01; }

if(DTdata_tab[2]==0x00) { DTdata_tab[2]=0x31; }

if(DTdata_tab[1]==0x13) //modify month data { DTdata_tab[1]=0x01; }

if(DTdata_tab[1]==0x00) { DTdata_tab[1]=0x12; }

if(DTdata_tab[0]==0xa0) //modify year data { DTdata_tab[0]=0x00; }

if(DTdata_tab[0]==0xf9) { DTdata_tab[0]=0x99; } }

// End Of File KEY.H

#ifndef __key_h__ #define __key_h__

//----------------------------------------------------------------- // 数据类型宏定义

//----------------------------------------------------------------- #define uchar unsigned char #define uint unsigned int

// I/O口定义:控制/数据线接口 sbit keyset=P3^2; //按键设置 sbit keyadd=P3^1; //

34

sbit keysub=P3^0; //

// 外部变量声明

extern uchar code dis4[]; extern uchar code initdisp[]; extern uchar code DT_place[]; extern uchar code DT_lcdplace[]; extern uchar code DTdata_addr[]; extern uchar DTdata_tab[];

extern uchar xdata *ds_addr;

// 外部函数声明

extern void datapro(void); // LCD初始化

extern void key(void); // 检测LCD BF的状态

#endif

5.电源的配置

单片机整机供电电源在单片机应用中是非常重要的。因为单片机不仅要求电压、电流、能耗,还有上电复位的要求。所以电源不仅要提供稳定的电压、充足的电流,而且要求电源的电压建立时间快,功率消耗低。该电源电路就是这样的一个供电电源电路。

下图为5v电源供电电路原理图:

5.1稳压芯片78L05芯片

35

36