久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
VB上位機程序控制DS1302時鐘的proteus仿真+單片機代碼
[打印本頁]
作者:
羅富永1
時間:
2019-1-22 17:59
標題:
VB上位機程序控制DS1302時鐘的proteus仿真+單片機代碼
捕獲.PNG
(42.5 KB, 下載次數: 45)
下載附件
2019-1-22 17:58 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(15.41 KB, 下載次數: 55)
下載附件
2019-1-22 22:04 上傳
單片機源碼:
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;
}
void v_BurstR1302T(unsigned char *pSecDa)
{
unsigned char i;
T_RST = 0;
T_CLK = 0;
T_RST = 1;
v_RTInputByte(0xbf); /* 0xbf:時鐘多字節讀命令 */
for (i=8; i>0; i--)
{
*pSecDa = uc_RTOutputByte(); /* 讀1Byte數據 */
pSecDa++;
}
T_CLK = 1;
T_RST =0;
}
void v_BurstW1302R(unsigned char *pReDa)
{
unsigned char i;
v_W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作?*/
T_RST = 0;
T_CLK = 0;
T_RST = 1;
v_RTInputByte(0xfe); /* 0xbe:時鐘多字節寫命令 */
for (i=31;i>0;i--) /*31Byte 寄存器數據 */
{
v_RTInputByte(*pReDa); /* 寫1Byte數據*/
pReDa++;
}
T_CLK = 1;
T_RST =0;
}
void v_BurstR1302R(unsigned char *pReDa)
{
unsigned char i;
T_RST = 0;
T_CLK = 0;
T_RST = 1;
v_RTInputByte(0xff); /* 0xbf:時鐘多字節讀命令 */
for (i=31; i>0; i--) /*31Byte 寄存器數據 */
{
*pReDa = uc_RTOutputByte(); /* 讀1Byte數據 */
pReDa++;
}
T_CLK = 1;
T_RST =0;
}
void v_setd1302(unsigned char *pSecDa)
{
unsigned char i;
unsigned char ucAddr = 0x80;
v_W1302(0x8e,0x00); /* 控制命令,WP=0,寫操作?*/
for(i =7;i>0;i--)
{
v_W1302(ucAddr,*pSecDa); /* 秒 分 時 日 月 星期 年 */
pSecDa++;
ucAddr +=2;
}
v_W1302(0x8e,0x80); /* 控制命令,WP=1,寫保護?*/
}
void delay()
{ unsigned char y;
for(y=0;y<0xff;y++)
{;}
}
void wc51r(unsigned char j)//寫命令
{
e=0;rs=0;rw=0;
e=1;
P1=j;
e=0;
delay();
}
void init()//初始化
{
wc51r(0x01);
wc51r(0x38);
wc51r(0x38);
wc51r(0x0e);
wc51r(0x06);
wc51r(0x0c);
}
void wc51ddr(unsigned char j)//寫數據
{
e=0;rs=1;rw=0;
e=1;
P1=j;
e=0;
delay();
}
void write1602(unsigned char add,unsigned char da)//寫入顯示數據
{wc51r(add);wc51ddr(da);}
void main(void)
{
unsigned char ucCurtime[7];
unsigned char i,yearh,yearl,monh,monl,dah,dal,hoh,hol,mih,mil,seh,sel;
unsigned char ucAddr;
unsigned int c;
init();
write1602(0x85,0x35);
for(c=0;c<30000;c++);
write1602(0x86,0x32);
for(c=0;c<30000;c++);
write1602(0x87,0x4D);
for(c=0;c<30000;c++);
write1602(0x88,0x43);
for(c=0;c<30000;c++);
write1602(0x89,0x55);
for(c=0;c<30000;c++);
write1602(0xC2,0x51);
write1602(0xC3,0x51);
write1602(0xC4,0x3A);
write1602(0xC5,0x35);
write1602(0xC6,0x39);
write1602(0xC7,0x37);
write1602(0xC8,0x33);
write1602(0xC9,0x38);
write1602(0xCA,0x35);
write1602(0xCB,0x33);
write1602(0xCC,0x36);
write1602(0xCD,0x39);
for(c=0;c<50000;c++);
init();//LCD初始化
TMOD=0X20;
TH1=0XF3;
TL1=0XF3;
SCON=0X50;
PCON=0X00;
IT0=1;
EX0=1;
IT1=1;
EX1=1;
TR1=1;
EA=1;
ES=1;
while(1)
{ucAddr = 0x81;
for (i=0;i<7;i++)
{
ucCurtime[i] = uc_R1302(ucAddr);/*格式為: 秒 分 時 日 月 星期 年 */
ucAddr += 2;
}
yearh=ucCurtime[6]/16;
yearl=ucCurtime[6]%16;
monh=ucCurtime[4]/16;
monl=ucCurtime[4]%16;
dah=ucCurtime[3]/16;
dal=ucCurtime[3]%16;
hoh=ucCurtime[2]/16;
hol=ucCurtime[2]%16;
mih=ucCurtime[1]/16;
mil=ucCurtime[1]%16;
seh=ucCurtime[0]/16;
sel=ucCurtime[0]%16;
write1602(0x80,0x44);
write1602(0x81,0x61);
write1602(0x82,0x74);
write1602(0x83,0x65);
write1602(0x84,0x3a);//顯示date:
write1602(0x85,tab[yearh]);
write1602(0x86,tab[yearl]);
write1602(0x87,0x2d);//顯示年
write1602(0x88,tab[monh]);
write1602(0x89,tab[monl]);
write1602(0x8a,0x2d);//顯示月
write1602(0x8b,tab[dah]);
write1602(0x8c,tab[dal]);
write1602(0xc0,0x54);
write1602(0xc1,0x69);
write1602(0xc2,0x6d);
write1602(0xc3,0x65);
write1602(0xc4,0x3a);//顯示time:
write1602(0xc5,tab[hoh]);
write1602(0xc6,tab[hol]);
write1602(0xc7,0x3a);//顯示小時
write1602(0xc8,tab[mih]);
write1602(0xc9,tab[mil]);
write1602(0xca,0x3a);//顯示小時
write1602(0xcb,tab[seh]);
write1602(0xcc,tab[sel]);
if((ucCurtime[1]==0)&(ucCurtime[0]==0|ucCurtime[0]==1|ucCurtime[0]==2))//3秒整點報時
speaker=0;
else speaker=1;
}
}
serint() interrupt 4
{ //EA=0;
static unsigned char k;
unsigned char temp,year,month,date,hour,min,sec,week;
unsigned char stemp[7]={0};
RI=1;
temp=SBUF;
RI=0;
k++;
switch (k)
{ case 1:sec=temp;
break;
case 2:min=temp;
break;
case 3:hour=temp;
break;
case 4:date=temp;
break;
case 5:month=temp;
break;
case 6:week=temp;
break;
case 7:year=temp;
stemp[0]=(sec/10)*16+sec%10;
stemp[1]=(min/10)*16+min%10;
stemp[2]=(hour/10)*16+hour%10;
stemp[3]=(date/10)*16+date%10;
stemp[4]=(month/10)*16+month%10;
stemp[5]=(week/10)*16+week%10;
stemp[6]=(year/10)*16+year%10;
v_setd1302(stemp);//設定值
k=0;
break;
}
}
復制代碼
全部資料51hei下載地址:
0007、VB上位機程序控制DS1302時鐘的proteus仿真.rar
(682.27 KB, 下載次數: 33)
2019-1-22 17:59 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲自拍一区在线观看
|
a欧美
|
中文字幕第一页在线
|
h在线免费观看
|
91精品久久久久久久久
|
国产视频二区在线观看
|
美国十次成人欧美色导视频
|
成人不卡
|
国产精品久久久久久久久图文区
|
欧美日韩国产精品一区
|
中文在线一区二区
|
国产精品视频网站
|
在线观看中文字幕av
|
国产精品久久久久9999鸭
|
欧美一区二区三区国产
|
久久精品久久久久久
|
亚洲在线视频
|
精品免费国产视频
|
日本在线小视频
|
国产精品久久久久aaaa九色
|
91精品国产乱码久久蜜臀
|
九九九久久国产免费
|
免费能直接在线观看黄的视频
|
狠狠婷婷综合久久久久久妖精
|
奇米久久
|
欧美亚洲国产一区二区三区
|
国产精品国产三级国产aⅴ浪潮
|
国产视频不卡一区
|
国产欧美一级二级三级在线视频
|
激情一区二区三区
|
国产精品99免费视频
|
99视频在线免费观看
|
国产精品视频一区二区三区四蜜臂
|
欧美xxxx做受欧美
|
91九色视频在线
|
插插宗合网
|
久久99国产精品久久99果冻传媒
|
国内精品久久影院
|
精品一二三区
|
久久小视频
|
日韩av福利在线观看
|