亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機三機通信課程設計(源碼)
[打印本頁]
作者:
yishichangan
時間:
2018-5-6 09:59
標題:
單片機三機通信課程設計(源碼)
這個是單片機課設,是關于三機通信的,主要是源代碼
0.png
(44.49 KB, 下載次數: 29)
下載附件
2018-5-6 18:01 上傳
單片機源程序如下(主機):
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar xingqi,nian,yue,ri,xiaoshi,miao;
uchar dd ;
sbit clk=P1^0; //注意P要大寫,DS1302的信號腳的連接
sbit dat=P1^1;
sbit rst=P1^2;
sbit A0=ACC^0;
sbit A1=ACC^1;
sbit A2=ACC^2;
sbit A3=ACC^3;
sbit A4=ACC^4;
sbit A5=ACC^5;
sbit A6=ACC^6;
sbit A7=ACC^7;
sbit p30=P3^0;
sbit p31=P3^1;
sbit p32=P3^2;
sbit p33=P3^3;
sbit p34=P3^4;
sbit p35=P3^5;
sbit p36=P3^6;
sbit p37=P3^7;
sbit date=P2^0; //max7219
sbit load=P2^1; //max7219
sbit clkk=P2^2; //max7219
uchar bdata bitmsb;
sbit m7=bitmsb^7;
uchar x,y,c; //x,y,max7219的寄存器地址
bit flag=0; //調整控制標記
bit flagh=1; //時間日期切換標記
uchar code tab[]={ 0xff,0xf9,0xA4,0xb0,0x99,0x92,0x82,0xf8}; //顯示星期的共陰極LED
uchar code tab1[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15,
0x16,0x17,0x18,0x19,0x20,0x21,0x22,0x23,
0x24,0x25,0x26,0x27,0x28,0x29,0x30,0x31,
0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
0x48,0x49,0x50,0x51,0x52,0x53,0x54,0x55,
0x56,0x57,0x58,0x59,0x60}; //PROTEUS顯示時間窗口的代碼
uchar code tab2[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b};
void send(void) //送MAX7219數據
{
uchar i;
uchar count;
bitmsb=x;
for(count=0;count<8;count++)
{
if(m7)
{
clkk=0;
date=1;
for(i=0;i<1;i++);//延時
clkk=1;
}
else
{
clkk=0;
date=0;
for(i=0;i<1;i++);
clkk=1;
}
bitmsb<<=1;
}
}
void wr(void)
{
load=0;
send();
x=y;
send();
load=1;
}
void ready(void)
{
x=0xfb;
y=0x07;
wr();
x=0xf9;
y=0x00;
wr();
x=0xfa;
y=0x0c;
wr();
x=0xfc;
y=0x01;
wr();
}
void inputbyte(uchar dd) //寫一個字節到1302中
{
uchar i;
ACC=dd;
for(i=8;i>0;i--)
{
dat=A0;
clk=1;
clk=0;
ACC=ACC>>=1;
}
}
void outputbyte(void) //從DS1302中讀到i個數據
{
uchar i;
dat=1;
for(i=8;i>0;i--)
{
ACC=ACC>>=1; //右移1位
A7=dat; //dat=p1.1,先讀出的是低位數據
clk=1;
clk=0;
}
dd=ACC;
}
void write(uchar addr,uchar num)
{
rst=0;
clk=0;
rst=1;
inputbyte(addr); //寫地址
inputbyte(num); //寫數據
clk=1;
rst=0;
}
void writesec(uchar num)
{
write(0x80,num);
}
void writemin(uchar num)
{
write(0x82,num);
}
void writehr(uchar num)
{
write(0x84,num);
}
void writeday(uchar num)
{
write(0x86,num);
}
void writemn(uchar num)
{
write(0x88,num);
}
void writewe(uchar num)
{
write(0x8a,num);
}
void writeys(uchar num)
{
write(0x8c,num);
}
void disablewp(void)
{
write(0x8e,0x00);
}
void read(uchar addr)
{
rst=0;
clk=0;
rst=1;
inputbyte(addr);
outputbyte();
clk=1;
rst=0;
}
void main(void)
{
uchar i;
uint xt=0; //......
uchar fen1,fen2,fen3,fen4,fen,nian,nianh,nianl,fenh,fenl;
uchar yue,yueh,yuel,ri,rih,ril,xiaoshi,xiaoshih,xiaoshil;
uchar miao,miaoh,miaol;
P3=0xff;
disablewp();
writesec(0x00);
writemin(0x58);
writehr(0x23);
writeday(0x27);
writemn(0x05);
writeys(0x08);
writewe(0x02);
ready();
for(i=0;i<222;i++);
for(i=0;i<222;i++);
while(1)
{
for(i=0;i<200;i++);
for(i=0;i<200;i++);
for(i=0;i<200;i++);
for(i=0;i<200;i++);
read(0x8b);
xingqi=dd;
read(0x8d); //讀年,轉換位BCD碼
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3>>=4;
nian=fen3*10+fen2;
nianh=nian/10;
nianl=nian%10;
read(0x89); //讀月,轉換位BCD碼
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3>>=4;
yue=fen3*10+fen2;
yueh=yue/10;
yuel=yue%10;
read(0x87); //讀日,轉換位BCD碼
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3>>=4;
ri=fen3*10+fen2;
rih=ri/10;
ril=ri%10;
read(0x85); //讀小時,轉換位BCD碼
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3>>=4;
xiaoshi=fen3*10+fen2;
xiaoshih=xiaoshi/10;
xiaoshil=xiaoshi%10;
read(0x83); //讀分,轉換位BCD碼
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3>>=4;
fen=fen3*10+fen2;
fenh=fen/10;
fenl=fen%10;
read(0x81); //讀秒,轉換為CD碼
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3>>=4;
miao=fen3*10+fen2;
miaoh=miao/10;
miaol=miao%10;
if(flagh)
{
c=1;
x=1;
y=tab2[xiaoshih];
x=c;
wr();
c++;
y=tab2[xiaoshil];
x=c;
wr();
c++;
y=0x01;
x=c;
wr();
c++;
y=tab2[fenh];
x=c;
wr();
c++;
y=tab2[fenl];
x=c;
wr();
c++;
y=0x01;
x=c;
wr();
c++;
y=tab2[miaoh];
x=c;
wr();
c++;
y=tab2[miaol];
x=c;
wr();
//c++;
P0=tab[xingqi];
}
else
{
c=1;
x=1;
y=tab2[nianh];
x=c;
wr();
c++;
y=tab2[nianl];
x=c;
wr();
c++;
y=0x01;
x=c;
wr();
c++;
y=tab2[yueh];
x=c;
wr();
c++;
y=tab2[yuel];
x=c;
wr();
c++;
y=0x01;
x=c;
wr();
c++;
y=tab2[rih];
x=c;
wr();
c++;
y=tab2[ril];
x=c;
wr();
c++;
P0=tab[xingqi];
}
if(p30==0)
if(flag)
{
read(0x8b);
xingqi=dd;
xingqi++;
if(xingqi>=8)
xingqi=1;
writewe(xingqi);
while(p30==0);
}
if(p31==0)
if(flag)
{
read(0x8d);
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3=fen3>>=4;
nian=fen3*10+fen2;
nian++;
if(nian>=31)
nian=8;
writeys(tab1[nian]);
while(p31==0);
}
if(p32==0)
if(flag)
{
read(0x89);
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3=fen3>>=4;
yue=fen3*10+fen2;
yue++;
if(yue>=13)
yue=1;
writemn(tab1[yue]);
while(p32==0);
}
if(p33==0)
if(flag)
{
read(0x87);
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3=fen3>>=4;
ri=fen3*10+fen2;
ri++;
if(ri>=32)
ri=1;
writeday(tab1[ri]);
while(p33==0);
}
if(p34==0)
if(flag)
{
read(0x85);
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3=fen3>>=4;
xiaoshi=fen3*10+fen2;
xiaoshi++;
if(xiaoshi>=24)
xiaoshi=0;
writehr(tab1[xiaoshi]);
while(p34==0);
}
if(p35==0)
if(flag)
{ read(0x83);
fen1=dd;
fen2=fen1&0x0f;
fen3=fen1&0xf0;
fen3=fen3>>=4;
fen4=fen3*10+fen2;
fen4++;
if(fen4>=60)
fen4=0;
writemin(tab1[fen4]);
while(p35==0);
}
if(p37==0)
{ flag=~flag;
if (flag)
writesec(0x80);
else
writesec(0x00);
while(p37==0);
}
if(p36==0)
{ flagh=~flagh;
while(p36==0);
}
}
}
復制代碼
所有資料51hei提供下載:
三機通信.zip
(447.36 KB, 下載次數: 33)
2018-5-6 09:57 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
okman
時間:
2019-6-25 15:43
感謝分享
作者:
okman
時間:
2019-6-25 15:43
感謝分享!!
作者:
bjgaocl
時間:
2019-6-25 21:49
為什么下載都要扣分?
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1