资源简介
基于51单片机的电子钟电路图仿真,c程序,已仿真成功。
代码片段和文件信息
//*************************************************************************************************
//* *
//* ***************************DS1302驱动程序************************* *
//* *
//*************************************************************************************************
//*************************************************************************************************
//* *
//* ******************************头文件及宏定义************************** *
//* *
//*************************************************************************************************
#include
#define DSIO P1_2 //实时时钟数据线引脚
#define DSCLK P1_1 //实时时钟时钟线引脚
#define DSRST P1_0 //实时时钟复位线引脚
#define DS_SECOND 0x80 //DS1302数据地址。
#define DS_MINUTE 0x82
#define DS_HOUR 0x84
#define DS_WEEK 0x8A
#define DS_DAY 0x86
#define DS_MONTH 0x88
#define DS_YEAR 0x8C
//*************************************************************************************************
//* *
//* ********************************全局变量****************************** *
//* *
//*************************************************************************************************
sbit ACC0 = ACC^0;
sbit ACC7 = ACC^7;
typedef struct TIME //定义的时间类型
{
unsigned char ucSecond;
unsigned char ucMinute;
unsigned char ucHour;
unsigned char ucWeek;
unsigned char ucDay;
unsigned char ucMonth;
unsigned char ucYear;
unsigned char ucaDateString[9];
unsigned char ucaTimeString[9];
}TIME;
//*************************************************************************************************
//* *
//* *********************实时时钟写入一字节(内部函数)************************* *
//* *
//*************************************************************************************************
void vWriteByte(unsigned char ucByte)
{
unsigned char ucCount;
ACC = ucByte;
for(ucCount=8;ucCount>0;ucCount--)
{
DSIO = ACC0; //把累加器第0位赋给DSIO口。
DSCLK = 1; //DSCLK下降沿,写入数据。
DSCLK = 0;
ACC = ACC >> 1; //把累加器里的数据右移一位。
}
}
//*************************************************************************************************
//* *
//* *********************实时时钟读入一字节(内部函数)************************ *
//* *
//*************************************************************************************************
unsigned char ucReadByte(void)
{
unsigned char ucCount;
for(ucCount=8;ucCount>0;ucCount--)
{
ACC = ACC >>1; //把累加器右移一位。
ACC7 = DSIO; //把DSIO的数据传给累加器最高位。
DSCLK = 1; //DSCLK下降沿读出数据。
DSC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 103650 2007-08-07 22:01 DigitalClock\DigitalClock.DSN
文件 935 2007-10-26 22:30 DigitalClock\DigitalClock.PWI
文件 36728 2007-08-07 23:36 DigitalClock\Keil\DigitalClock
文件 6644 2007-08-07 23:36 DigitalClock\Keil\DigitalClock.hex
文件 99 2007-08-07 23:36 DigitalClock\Keil\DigitalClock.lnp
文件 27580 2007-08-07 23:36 DigitalClock\Keil\DigitalClock.M51
文件 1948 2007-10-26 22:42 DigitalClock\Keil\DigitalClock.Opt
文件 209 2007-10-26 22:42 DigitalClock\Keil\DigitalClock.plg
文件 2339 2007-08-07 17:02 DigitalClock\Keil\DigitalClock.Uv2
文件 20023 2007-08-07 23:36 DigitalClock\Keil\DS1302.lst
文件 11374 2007-08-07 23:36 DigitalClock\Keil\DS1302.obj
文件 1317 2007-08-07 22:50 DigitalClock\Keil\include\DS1302.h
文件 178 2007-08-07 16:13 DigitalClock\Keil\include\Includes.h
文件 106 2007-08-06 09:27 DigitalClock\Keil\include\KeyProcess.h
文件 103 2007-08-06 09:36 DigitalClock\Keil\include\KeyScan.h
文件 1250 2007-08-06 08:51 DigitalClock\Keil\include\SMC1602.h
目录 0 2007-08-07 14:10 DigitalClock\Keil\include
文件 11074 2007-08-07 23:36 DigitalClock\Keil\KeyProcess.lst
文件 6296 2007-08-07 23:36 DigitalClock\Keil\KeyProcess.obj
文件 7181 2007-08-07 23:36 DigitalClock\Keil\KeyScan.lst
文件 3047 2007-08-07 23:36 DigitalClock\Keil\KeyScan.obj
文件 13132 2007-08-07 23:36 DigitalClock\Keil\main.lst
文件 9739 2007-08-07 23:36 DigitalClock\Keil\main.obj
文件 15631 2007-08-07 23:36 DigitalClock\Keil\SMC1602.lst
文件 11015 2007-08-07 23:36 DigitalClock\Keil\SMC1602.obj
文件 9121 2007-08-07 22:55 DigitalClock\Keil\source\DS1302.c
文件 4106 2007-08-07 22:25 DigitalClock\Keil\source\KeyProcess.c
文件 2962 2007-08-07 12:44 DigitalClock\Keil\source\KeyScan.c
文件 6617 2007-08-07 22:59 DigitalClock\Keil\source\main.c
文件 6840 2007-08-07 12:37 DigitalClock\Keil\source\SMC1602.c
............此处省略7个文件信息
- 上一篇:Qt实现的delaunay三角分割可视化
- 下一篇:可以查到任何芯片资料的小软件
相关资源
- 基于USB接口的51单片机与PC机通信的方
- STC-ISP.rar
- 基于AT89C51单片机的篮球比赛记分牌设
- 用有限状态机思想实现矩阵按键扫描
- 单总线两个DS18B20温度传感器程序及其
- 单片机外扩ROM外扩27C64的Proteus仿真
- proteus仿真max7219的使用方法
- 单片机的外文文献与翻译.2018_03_16
- 单片机PWM调速程序
- 基于AVR单片机的汽车空调控制系统资
- N76E003串口0、串口1中断程序模板
- stc15xxxx单片机RFID RC 522 读写卡程序可
- 按键数码管显示
- 基于tm4c1294单片机的打地鼠设计,M4的
- 基于单片机的智能电子钟设计
- 基于单片机的曼彻斯特编码程序
- 51单片机通过GSM模块发送短信控制LE
- 基于单片机的智能电子遥控车位锁设
- proteus中51单片机控制交通灯的仿真
- 60S2单片机驱动DS18B20温度传感器C程序
- 一看就懂的51单片机RS232串口程序
- 基于STC12C5A16S2单片机电子水平仪设计
- 实验三 开关控制警报器.DSN
- 单片机课程设计数字电压表,有软件
- 51单片机控制两个LED灯分别闪烁
- 基于AT89C52单片机的光功率计的设计
- 基于51单片机的信号发生器-完整电路
- 基于AT89S52单片机的多模式带音乐跑马
- 单片机 实现多路任意延时的一种方法
- 单片机控制多个电机程序
评论
共有 条评论