//串行数码管显示 年-月-日 时-分-秒//芯片 ATMEGA16L //时钟 4MHz 内部 // DS1302 上升沿读写数据 // DS1302 读数据时 IO口上拉无效 //短延时 2us wait(); 长延时 n ms delay_nms(); #include //#include #d
/**************************文件所用资源1.端口:P0.4,P0.5,P0.62.调用delay_ms函数**************************//***********************1302引脚定义***********************/sbit T_RST= P0^4;sbit T_DAT = P0^5
#defineuintunsignedint#defineucharunsignedcharsbitlcdrs=P1^0;sbitlcdrw=P1^1;sbitlcden=P1^2;sbitkey0=P2^0;//功能键,选择时分秒sbitkey1=P2^1;//加1键sbitkey2=P2^2;//减1键sbitkey4=P2^4;sbitclk_1302=P1^5;//
#include#include"DS1302.h"#includevoidds1302_init(void){PORTX=0x00;DDRX=0x07;}voidwrite_ds1302_byte(unsignedchardat){unsignedchari;for(i=0;i>1;SCK=1;}}voidwrite_ds1302(unsignedcharadd,unsignedchardat)
进行产品开发的时候,逻辑的严谨性非常重要,如果一个产品或者程序逻辑上不严谨,就有可能出现功能上的错误。比如我们15.3.4节里的这个程序,我们再回顾一下,当单片机定时器时间到了 200 ms 后,我们连续把 DS1302
/*********************************************************************************1.本程序能够显示年,月,日,时,分,秒,星期七个参数.2.时间和日期可调。可分别完成年,月,日,时,分,秒六个参数的调整。
#include#define uchar unsigned char#define uint unsigned int#include"DS1302.h"#include"DS18B20.h"#define sec 0x80#define min 0x82#define hou 0x84#define read 0x01unsigned char hour,minute,second,id=0,
由于硬件出了问题,也就是外部低速晶振没用,震不起来,然后查看了网上的帖子,STM32的RTC果然口碑不怎么样,所以果断换DS1302,在移植的过程中还算顺利,记录下来吧,也算对自己的总结吧!1、所谓的DS1302这里面也指
DS1302 的一条指令一个字节共8位,其中第7位(即最高位)固定为1,这一位如果是0的话,那写进去也是无效的。第6位是选择 RAM 还是 CLOCK 的,我前边说过,我们这里主要讲 CLOCK 时钟的使用,它的 RAM 功能我们不用,
void wr1302(unsigned char dat) //向1302写1个字节 { unsigned char i; for(i=0;i>1; //数据右移 ; } } unsigned char rd1302(void) //从1302读1个字节 { unsigned char i; for(i=0;i>1; DATA130
//DS1302时钟程序//液晶用的ST7920控制芯片的12864#include #include /********************************************************************/#define LCD12864_IOP0#defineCLERADISPLAYLCD12864_command(0x01);#d
/**********************************************程序名称:DS1302时钟芯片C51驱动程序简要说明:read_clockS函数为读取时钟数据 调用Set_time即可调整时间并写入DS1302 sel为调整标志,可通过外部按键来更改其值****
//串行数码管显示 年-月-日 时-分-秒//芯片 ATMEGA16L //时钟 4MHz 内部 // DS1302 上升沿读写数据 // DS1302 读数据时 IO口上拉无效 //短延时 2us wait(); 长延时 n ms delay_nms(); #include//164数据线置1
如题, 这个是网上所谓的变态版的3线SPI总线:一根时钟线,一根使能线,一根双向IO线. 一个模块,两个文件://spi3.c#include "typedef.h"#include "spi3.h"/****************************************************
proteus仿真之DS1302+LCD1602显示试验仿真效果图为:C语言源程序如下:/*51单片机:DS1302+LCD1602 Proteus 仿真程序。功能:LCD1602时钟与日期的显示。仿真结果:LCD1602显示设定的时间与日期。*/#include /*******
修改后的头文件reg51.h内容:/*--------------------------------------------------------------------------REG51.HHeader file for generic 80C51 and 80C31 microcontroller.Copyright (c) 1988-2002 Keil Elek
/********************************************lcd1602_8h.h* * LCD1602操作库函数,8位数据联接关系: * * LCD1602:DB0-DB7 M16:PB0-PB7 * * LCD1602:RS M16:PD3 * * LCD1602:E M16:PD6 * * LCD1602:R/WGND
//;******************************************* #include #include #define uchar unsigned char #define uint unsigned int static volatile unsigned char acc @ 0x20; static volatile bit acc0 @ (u
用AT89S52单片机、DS1302时钟芯片、1602LCD做一个电子表 。各文件例举如下:1、main()函数所在文件部分:/*******************************************************************************说明:AT89S52芯片,12M
#include #include #include "delay.h"#include "lcd.h"#define uchar unsigned char#define uint unsigned int#define DS1302_RST_SET PORTA |= ( 1 > 4; DS1302TIMEDISP[t + 1] = DS1302TIME[i] & 0x0f;}}//将时间