VB上位机用串口设置时间 51单片机DS1302时钟的proteus仿真程序

VB上位机通过串口控制设置51单片机ds1302时钟时间,附件有上位机VB源码、proteus仿真文件和51单片机c程序源码。

VB源码单片机c源码proteus仿真文件下载:

暂无优惠

已有0人支付

 

51单片机部分源码:

#include <reg52.h>

sbit T_CLK = P2^4; /*实时时钟时钟线引脚 */
sbit T_IO = P2^3; /*实时时钟数据线引脚 */
sbit T_RST = P2^2; /*实时时钟复位线引脚 */
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P2^7;
sbit setd=P3^2;
sbit sett=P3^3;
sbit add=P2^5;
sbit enter=P2^6;
sbit speaker=P3^7;
unsigned char code tab[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};


void v_RTInputByte(unsigned char ucDa)
{
unsigned char i;
ACC = ucDa;
for(i=8; i>0; i--)
{
T_IO = ACC0; /*相当于汇编中的 RRC */
T_CLK = 1;
T_CLK = 0;
ACC = ACC >> 1;
}
}

unsigned char uc_RTOutputByte(void)
{
unsigned char i;
for(i=8; i>0; i--)
{
ACC = ACC >>1; /*相当于汇编中的 RRC */
ACC7 = T_IO;
T_CLK = 1;
T_CLK = 0;
}
return(ACC);
}

void v_W1302(unsigned char ucAddr, unsigned char ucDa)
{
T_RST = 0;
T_CLK = 0;
T_RST = 1;
v_RTInputByte(ucAddr); /* 地址,命令 */
v_RTInputByte(ucDa); /* 写1Byte数据*/
T_CLK = 1;
T_RST =0;
}

unsigned char uc_R1302(unsigned char ucAddr)
{
unsigned char ucDa;
T_RST = 0;
T_CLK = 0;
T_RST = 1;
v_RTInputByte(ucAddr); /* 地址,命令 */
ucDa = uc_RTOutputByte(); /* 读1Byte数据 */
T_CLK = 1;
T_RST =0;
return(ucDa);
}

void v_BurstW1302T(unsigned char *pSecDa)
{
unsigned char i;
v_W1302(0x8e,0x00); /* 控制命令,WP=0,写操作?*/
T_RST = 0;
T_CLK = 0;
T_RST = 1;
v_RTInputByte(0xbe); /* 0xbe:时钟多字节写命令 */
for (i=8;i>0;i--) /*8Byte = 7Byte 时钟数据 + 1Byte 控制*/
{
v_RTInputByte(*pSecDa);/* 写1Byte数据*/
pSecDa++;
}
T_CLK = 1;
T_RST =0;
}
以上为部分代码,完整源码请见附件

 

1,本站所有资源来源于用户上传和网络搜集,如有侵权请邮件联系站长删除。
2,分享目的仅供大家个人的学习用途,请不要用于商业用途。
3,如果你也有好的源码或者教程,可以投稿到本站,采纳后有积分奖励。
4,本站提供的各类资源均不保证其可用性及完整性,也没有任何技术服务。
5,如有链接无法下载、失效、过期,请联系管理员处理。
6,本站资源部分需要积分只是赞助,仅用于本站服务器和日常运营所需,不提供任何技术支持。
快捷联系方式 Email:admin@lzbk.com QQ:361113272
蓝知博库 » VB上位机用串口设置时间 51单片机DS1302时钟的proteus仿真程序

提供最优质的资源集合

立即查看 了解详情