历时钟的设计Word格式文档下载.docx
- 文档编号:21394163
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:32
- 大小:251.75KB
历时钟的设计Word格式文档下载.docx
《历时钟的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《历时钟的设计Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
27.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。
在“Port”后面添加?
000”。
设置好的情形如图所示,然后点击“OK”按钮。
最后将工程编译,进入调试状态,并运行。
设置完之后,请重新编译、链接、生成可执行文件
5.Proteus的设置
进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“useromotedebugermonitor”,如图3-2所示。
此后,便可实现KeilC与Proteus连接调试
选项设置
6.Proteus里加载可执行文件
左键双击AT89C52原理图,点击加载可执行文件
调试结果
六、实验内容
源代码
#include<
at89x52.h>
stdio.h>
#include"
da1302.h"
lcd1602.h"
key.h"
unsignedcharkeytemp;
unsignedcharhourf,minutef;
voidInit_Com(void)
{
TMOD=0x20;
PCON=0x00;
SCON=0x50;
TH1=0xFd;
TL1=0xFd;
TR1=1;
}
SYSTEMTIMECurrentTime;
voidmain(void)
{
uchartime[8]={0x00,0x00,0x20,0x08,0x08,0x05,0x08,0x00};
//1302的时间预设值
LCD_initial();
Initial_DS1302();
set_time(time);
while
(1)
{
unsignedcharweek;
/*DS1302_GetTime(&
CurrentTime);
DateToStr(&
TimeToStr(&
LCD_set_position(0x06);
LCD_prints(CurrentTime.DateString);
LCD_set_position(0x46);
LCD_prints(CurrentTime.TimeString);
*/
Initial_DS1302();
DS1302_GetTime(&
if((CurrentTime.Hour==7)&
&
(CurrentTime.Minute==15)&
(CurrentTime.Second==0))
{
LCD_initial();
LCD_set_position(0x00);
}
week=CurrentTime.Week+'
0'
;
Delay1ms
(1);
LCD_set_position(0x02);
LCD_set_position(0x42);
LCD_set_position(0x4c);
LCD_printc(week);
Delay1ms(100);
}/*--------------------------------------------------------------------------
AT89X52.H
HeaderfileforthelowvoltageFlashAtmelAT89C52andAT89LV52.
Copyright(c)1988-2002KeilElektronikGmbHandKeilSoftware,Inc.
Allrightsreserved.
--------------------------------------------------------------------------*/
#ifndef__AT89X52_H__
#define__AT89X52_H__
/*------------------------------------------------
ByteRegisters
------------------------------------------------*/
sfrP0=0x80;
sfrSP=0x81;
sfrDPL=0x82;
sfrDPH=0x83;
sfrPCON=0x87;
sfrTCON=0x88;
sfrTMOD=0x89;
sfrTL0=0x8A;
sfrTL1=0x8B;
sfrTH0=0x8C;
sfrTH1=0x8D;
sfrP1=0x90;
sfrSCON=0x98;
sfrSBUF=0x99;
sfrP2=0xA0;
sfrIE=0xA8;
sfrP3=0xB0;
sfrIP=0xB8;
sfrT2CON=0xC8;
sfrT2MOD=0xC9;
sfrRCAP2L=0xCA;
sfrRCAP2H=0xCB;
sfrTL2=0xCC;
sfrTH2=0xCD;
sfrPSW=0xD0;
sfrACC=0xE0;
sfrB=0xF0;
P0BitRegisters
sbitP0_0=0x80;
sbitP0_1=0x81;
sbitP0_2=0x82;
sbitP0_3=0x83;
sbitP0_4=0x84;
sbitP0_5=0x85;
sbitP0_6=0x86;
sbitP0_7=0x87;
PCONBitValues
#defineIDL_0x01
#defineSTOP_0x02
#definePD_0x02/*Alternatedefinition*/
#defineGF0_0x04
#defineGF1_0x08
#defineSMOD_0x80
TCONBitRegisters
sbitIT0=0x88;
sbitIE0=0x89;
sbitIT1=0x8A;
sbitIE1=0x8B;
sbitTR0=0x8C;
sbitTF0=0x8D;
sbitTR1=0x8E;
sbitTF1=0x8F;
TMODBitValues
#defineT0_M0_0x01
#defineT0_M1_0x02
#defineT0_CT_0x04
#defineT0_GATE_0x08
#defineT1_M0_0x10
#defineT1_M1_0x20
#defineT1_CT_0x40
#defineT1_GATE_0x80
#defineT1_MASK_0xF0
#defineT0_MASK_0x0F
P1BitRegisters
sbitP1_0=0x90;
sbitP1_1=0x91;
sbitP1_2=0x92;
sbitP1_3=0x93;
sbitP1_4=0x94;
sbitP1_5=0x95;
sbitP1_6=0x96;
sbitP1_7=0x97;
sbitT2=0x90;
/*ExternalinputtoTimer/Counter2,clockout*/
sbitT2EX=0x91;
/*Timer/Counter2capture/reloadtrigger&
dirctl*/
SCONBitRegisters
sbitRI=0x98;
sbitTI=0x99;
sbitRB8=0x9A;
sbitTB8=0x9B;
sbitREN=0x9C;
sbitSM2=0x9D;
sbitSM1=0x9E;
sbitSM0=0x9F;
P2BitRegisters
sbitP2_0=0xA0;
sbitP2_1=0xA1;
sbitP2_2=0xA2;
sbitP2_3=0xA3;
sbitP2_4=0xA4;
sbitP2_5=0xA5;
sbitP2_6=0xA6;
sbitP2_7=0xA7;
IEBitRegisters
sbitEX0=0xA8;
/*1=EnableExternalinterrupt0*/
sbitET0=0xA9;
/*1=EnableTimer0interrupt*/
sbitEX1=0xAA;
/*1=EnableExternalinterrupt1*/
sbitET1=0xAB;
/*1=EnableTimer1interrupt*/
sbitES=0xAC;
/*1=EnableSerialportinterrupt*/
sbitET2=0xAD;
/*1=EnableTimer2interrupt*/
sbitEA=0xAF;
/*0=Disableallinterrupts*/
P3BitRegisters(Mnemonics&
Ports)
sbitP3_0=0xB0;
sbitP3_1=0xB1;
sbitP3_2=0xB2;
sbitP3_3=0xB3;
sbitP3_4=0xB4;
sbitP3_5=0xB5;
sbitP3_6=0xB6;
sbitP3_7=0xB7;
sbitRXD=0xB0;
/*Serialdatainput*/
sbitTXD=0xB1;
/*Serialdataoutput*/
sbitINT0=0xB2;
/*Externalinterrupt0*/
sbitINT1=0xB3;
/*Externalinterrupt1*/
sbitT0=0xB4;
/*Timer0externalinput*/
sbitT1=0xB5;
/*Timer1externalinput*/
sbitWR=0xB6;
/*Externaldatamemorywritestrobe*/
sbitRD=0xB7;
/*Externaldatamemoryreadstrobe*/
IPBitRegisters
sbitPX0=0xB8;
sbitPT0=0xB9;
sbitPX1=0xBA;
sbitPT1=0xBB;
sbitPS=0xBC;
sbitPT2=0xBD;
T2CONBitRegisters
sbitCP_RL2=0xC8;
/*0=Reload,1=Captureselect*/
sbitC_T2=0xC9;
/*0=Timer,1=Counter*/
sbitTR2=0xCA;
/*0=Stoptimer,1=Starttimer*/
sbitEXEN2=0xCB;
/*Timer2externalenable*/
sbitTCLK=0xCC;
/*0=SerialclockusesTimer1overflow,1=Timer2*/
sbitRCLK=0xCD;
sbitEXF2=0xCE;
/*Timer2externalflag*/
sbitTF2=0xCF;
/*Timer2overflowflag*/
T2MODBitValues
#defineDCEN_0x01/*1=Timer2canbeconfiguredasup/downcounter*/
#defineT2OE_0x02/*Timer2outputenable*/
PSWBitRegisters
sbitP=0xD0;
sbitFL=0xD1;
sbitOV=0xD2;
sbitRS0=0xD3;
sbitRS1=0xD4;
sbitF0=0xD5;
sbitAC=0xD6;
sbitCY=0xD7;
InterruptVectors:
InterruptAddress=(Number*8)+3
#defineIE0_VECTOR0/*0x03ExternalInterrupt0*/
#defineTF0_VECTOR1/*0x0BTimer0*/
#defineIE1_VECTOR2/*0x13ExternalInterrupt1*/
#defineTF1_VECTOR3/*0x1BTimer1*/
#defineSIO_VECTOR4/*0x23Serialport*/
#defineTF2_VECTOR5/*0x2BTimer2*/
#defineEX2_VECTOR5/*0x2BExternalInterrupt2*/
#endif
/*--------------------------------------------------------------------------
STDIO.H
PrototypesforstandardI/Ofunctions.
#ifndef__STDIO_H__
#define__STDIO_H__
#ifndefEOF
#defineEOF-1
#ifndefNULL
#defineNULL((void*)0)
#ifndef_SIZE_T
#define_SIZE_T
typedefunsignedintsize_t;
#pragmaSAVE
#pragmaREGPARMS
externchar_getkey(void);
externchargetchar(void);
externcharungetchar(char);
externcharputchar(char);
externintprintf(constchar*,...);
externintsprintf(char*,constchar*,...);
externintvprintf(constchar*,char*);
externintvsprintf(char*,constchar*,char*);
externchar*gets(char*,intn);
externintscanf(constchar*,...);
externintsscanf(char*,constchar*,...);
externintputs(constchar*);
#pragmaRESTORE
#endif//#include<
at89c51RB2.h>
intrins.h>
//#include"
ds1302.h"
lm3228.h"
hanzi.h"
#defineucharunsignedchar
voidWrite1302(unsignedcharucAddr,unsignedcharucDa);
unsignedcharRead1302(unsignedcharucAddr);
voidLCD_prints(unsignedchar*lcd_string);
#defineDS1302_SECOND0x80
#defineDS1302_MINUTE0x82
#defineDS1302_HOUR0x84
#defineDS1302_WEEK0x8a
#defineDS1302
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历时 设计