资源简介
DS1302 LCM1602 protues仿真

代码片段和文件信息
/* 本程序所使用CPU为51单片机,时钟为24MHZ,程序主体网上所得,稍加修,念在下初学,还请原作者见谅。特此声明*/
#include
#include
#include “LCM1602.h“
#include “DS1302.h“
sbit Add_Key = P3 ^ 3;//加1键
sbit Dec_Key = P3 ^ 4;//减1键
sbit OK_Key = P3 ^ 5;//确定键
struct TimerStruct //定义时钟的数据结构
{
unsigned char Year;
unsigned char Month;
unsigned char Day;
unsigned char Week;
unsigned char Hour;
unsigned char Minute;
unsigned char Second;
};
unsigned char DateBuffer[] ={“2000/12/20“}; // 随便设置,不表示显示的初始值,只为方便子程序调用
unsigned char TimeBuffer[] = {“21:49:00“}; //初始值在主程序中设置
unsigned int SecondCounter;//秒计数器(无符号整型)
unsigned char Keyboard_Clock_Number;
unsigned char Temp;
struct TimerStruct RealClock;
void timer0(void) interrupt 1 //定时T0溢出中断每25mS产生一次中断 方式1 9E58
{ unsigned char Temp;
// struct
TH0=0x9e;//(65536-46080)/256; //重新装入定时25mS的初值到TH0TL0
TL0=0x58;//(65536-46080)%256;
SecondCounter++; //秒计数器加1
if(SecondCounter==40) //到40表示1S时间到
{
SecondCounter=0;
/****--以下是读取DS1302的时钟信息并将结果存储到显示缓冲区中****/
Temp=Read_DS1302_RTC(0x81); //读秒信息
RealClock.Second=Temp;
TimeBuffer[7]=(Temp%16)|0x30;
TimeBuffer[6]=(Temp>>4)|0x30;
Temp=Read_DS1302_RTC(0x83); //读分信息
RealClock.Minute=Temp;
TimeBuffer[4]=(Temp%16)|0x30;
TimeBuffer[3]=(Temp>>4)|0x30;
Temp=Read_DS1302_RTC(0x85); //读时信息
RealClock.Hour=Temp;
TimeBuffer[1]=(Temp%16)|0x30;
TimeBuffer[0]=(Temp>>4)|0x30;
Temp=Read_DS1302_RTC(0x87); //读日信息
RealClock.Day=Temp;
DateBuffer[9]=(Temp%16)|0x30;
DateBuffer[8]=(Temp>>4)|0x30;
Temp=Read_DS1302_RTC(0x89); //读月信息
RealClock.Month=Temp;
DateBuffer[6]=(Temp%16)|0x30;
DateBuffer[5]=(Temp>>4)|0x30;
Temp=Read_DS1302_RTC(0x8d); //读年信息
RealClock.Year=Temp;
DateBuffer[3]=(Temp%16)|0x30;
DateBuffer[2]=(Temp>>4)|0x30;
/*****************---送到LCD上显示出来***********************/
DisplayListChar(00DateBuffer);//刷新LCD上的日期信息
DisplayListChar(01TimeBuffer);//刷新LCD上的时间显示信息
}
}
void main(void){
TMOD=0x01; //T0工作于16位定时功能
TH0=(65536-46080)/256; //T0定时25mS的初值装入TH0TL0
TL0=(65536-46080)%256;
EA=1; //CPU开中断
ET0=1; //允许T0溢出中断
Delay400Ms();
LCMInit(); //初始化LCD
/************ Init_DS1302_RTC();//初始化DS1302*************/
Init_1302();
TR0=1; //启动T0开始工作
while(1)
{
OK_Key = 1;
Add_Key = 1;
Dec_Key = 1;
if (OK_Key == 0) // 设置和选择项目键
{
Delay5Ms();
Delay5Ms();
EA = 0;
if(OK_Key == 0)
{
Keyboard_Clock_Number++;if(Keyboard_Clock_Number>5)Keyboard_Clock_Number=0;
}
while(OK_Key == 0);
}
switch( Keybo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 68578 2007-11-23 11:41 DS1302\DS1302.DSN
文件 2431 2007-11-23 11:28 DS1302\DS1302.h
文件 484 2007-11-23 11:41 DS1302\DS1302.PWI
文件 64284 2007-11-22 19:31 DS1302\Last Loaded DS1302.DBK
文件 2424 2006-04-15 22:22 DS1302\LCD\LCD
文件 2693 2006-04-15 22:22 DS1302\LCD\LCD.BIN
文件 2120 2006-04-15 22:22 DS1302\LCD\LCD.C
文件 2763 2006-04-15 22:28 DS1302\LCD\LCD.DSK
文件 6505 2006-04-15 22:22 DS1302\LCD\LCD.HEX
文件 7186 2006-04-15 22:22 DS1302\LCD\LCD.LST
文件 8950 2006-04-15 22:22 DS1302\LCD\LCD.M51
文件 3790 2006-04-15 22:22 DS1302\LCD\LCD.OBJ
文件 2636 2006-04-14 22:38 DS1302\LCD\lcd.PRJ
文件 59312 2007-06-22 21:54 DS1302\LCD\LCD四线\000.JPG
文件 13101 2007-06-22 21:52 DS1302\LCD\LCD四线\LCD1602
文件 4837 2007-10-15 10:11 DS1302\LCD\LCD四线\LCD1602.h
文件 5029 2007-06-22 21:52 DS1302\LCD\LCD四线\LCD1602.hex
文件 43 2007-06-22 21:52 DS1302\LCD\LCD四线\LCD1602.lnp
文件 18821 2007-06-22 21:52 DS1302\LCD\LCD四线\LCD1602.M51
文件 992 2007-06-22 21:45 DS1302\LCD\LCD四线\LCD1602.Opt
文件 855 2007-06-22 21:52 DS1302\LCD\LCD四线\LCD1602.plg
文件 1681 2007-06-22 21:40 DS1302\LCD\LCD四线\LCD1602.Uv2
文件 992 2007-06-22 21:45 DS1302\LCD\LCD四线\LCD1602_Opt.Bak
文件 1681 2007-06-22 21:40 DS1302\LCD\LCD四线\LCD1602_Uv2.Bak
文件 247 2007-06-22 21:45 DS1302\LCD\LCD四线\Main.c
文件 1169 2007-06-22 21:52 DS1302\LCD\LCD四线\Main.LST
文件 15376 2007-06-22 21:52 DS1302\LCD\LCD四线\Main.OBJ
文件 58059 2007-06-22 21:53 DS1302\LCD\LCD四线\Proteus\Last Loaded LCD1602.DBK
文件 58070 2007-10-11 21:05 DS1302\LCD\LCD四线\Proteus\LCD1602.DSN
文件 386 2007-11-22 19:07 DS1302\LCD\LCD四线\Proteus\LCD1602.PWI
............此处省略14个文件信息
- 上一篇:EDA程序绝对经典
- 下一篇:慕课网网站布局demo
相关资源
- 利用DS1302和msp430进行闹钟和万年历的
- 步进电机protues仿真
- 毕业设计 单片机 对讲机 protues仿真
- 数据采集系统——ADC0808的应用,单片
- 数字电压表(源程序 protues仿真)
- 基于51单片机的计算器(C51编写,有
- 数据采集系统——ADC0808的应用
- STM32F407实时时钟_DS1302实时时钟模块和
- 基于STM32F103的实时时钟程序,采用D
- 51单片机_DS1302时钟芯片_共阴数码管
- 红绿灯protues仿真
- DS1302时钟带可调时间显示
- DS1302+DS13B20+12864,万年历。农历
- 基于51单片机的十字路口交通灯Protu
- AVR多功能实验箱DS1302时钟实验源码资
- 畅学STM32多功能实验箱DS1302时钟芯片源
- 16x128LED点阵显示屏横向滚动.zip
- TLC2543程序+protues仿真
- stm32f103和时钟芯片ds1302
- 点阵12864 protues仿真+源码
- STM32+RTCDS1302实时时钟设计,整个工程
- protues仿真stm32f103r6输出正弦波
- protues仿真stm32f103输出PWM
- 基于AD1674的模数转换电路及程序
- Protues仿真8051-PWM控制LED的亮度仿真程
- DS1302驱动程序.zip
- 单片机 PROTUES仿真大全(附带原理图)
- AT89S51单片机试验及实践教程(含有大
- 基于51单片机串口温湿度采集和传输仿
- 51单片机与PC串口通信的protues仿真的工
评论
共有 条评论