日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文介紹了PIC單片機(jī)讀寫DS1302程序

本文介紹了PIC單片機(jī)讀寫DS1302程序

 #i nclude

#define uchar unsigned char

#define T_CLK RC3

#define T_IO RC4

#define T_RST RC5

unsigned char TDATA;

int js;

int Order[3];

bit sci_sign=0;

int buf[2];

void Get1302(uchar *);

void RTInputByte(uchar);

uchar RTOutputByte(void) ;

void W1302(uchar , uchar );

uchar R1302(uchar);

void Set1302(uchar*);

void sciint(void);

void sci(int);

void int_to_asc(int);

//*SCI部件接收初始化子程序*/

void sciint()

{

TRISC7= 1 ;// |= 0xc0;//設(shè)置為輸入

TRISC6= 0 ;

BRGH = 1 ; //高波特率選擇位

SPBRG = 25 ; //((20000000/9600)/16)-1

SYNC = 0 ;//異步

SPEN = 1 ;//串口使能

RCIE = 1 ;// USART數(shù)據(jù)接收中斷使能位

TXIE = 0 ;//USART數(shù)據(jù)發(fā)送中斷使能位

TXEN = 1 ;//發(fā)送

CREN = 1 ;//連續(xù)接收使能位

RCIF=0;

PEIE= 1 ; //開中斷

GIE=1;

}

void sci(int tran)

{

while(!TXIF);

TXREG=tran; //*發(fā)出一個字符*/

TXIF=0;

}

void RTInputByte(uchar d)

{

uchar i;

TDATA = d;

for(i=8; i>0; i--)

{

T_IO =(bit)(TDATA&0X80); //*相當(dāng)于匯編中的 RRC

T_CLK = 1;

T_CLK = 0;

TDATA = TDATA >> 1;

}

}

uchar RTOutputByte(void)

{

uchar i;

TRISC4=1;

for(i=8; i>0; i--)

{

TDATA = TDATA >>1;

if(T_IO)

{

TDATA&=0X80;

}

T_CLK = 1;

T_CLK = 0;

}

TRISC4=0;

return(TDATA);

}

void W1302(uchar ucAddr, uchar ucDa)

{

T_RST = 0;

T_CLK = 0;

T_RST = 1;

RTInputByte(ucAddr); //* 地址,命令

RTInputByte(ucDa); //* 寫1Byte數(shù)據(jù)

T_CLK = 1;

T_RST = 0;

}

uchar R1302(uchar ucAddr)

{

uchar ucData;

T_RST = 0;

T_CLK = 0;

T_RST = 1;

RTInputByte(ucAddr); //* 地址,命令

ucData = RTOutputByte(); //* 讀1Byte數(shù)據(jù)

T_CLK = 1;

T_RST = 0;

return(ucData);

}

void Set1302(uchar *pClock)

{

uchar i;

uchar ucAddr = 0x80;

W1302(0x8e,0x00); //* 控制命令,WP=0,寫操作?

for(i =7; i>0; i--)

{

W1302(ucAddr,*pClock); //* 秒 分 時 日 月 星期 年

pClock++;

ucAddr +=2;

}

W1302(0x8e,0x80); //* 控制命令,WP=1,寫保護(hù)

}

void Get1302(uchar *ucCurtime)

{

uchar i;

uchar ucAddr = 0x81;

for (i=0; i<7; i++)

{

ucCurtime[i] = R1302(ucAddr);//*格式為: 秒 分 時 日 月 星期 年

ucAddr += 2;

}

}

void interrupt SCI_Admit(void)

{

if(RCIF&&RCIE) //判斷是否是接收中斷

{

if(Order[0]=='$')

{

js++;

Order[js]=RCREG;

if(js==2)

sci_sign=1;

}

else

{

Order[0]=RCREG;

sci_sign=0;

js=0;

}

}

}

void int_to_asc(int dat)

{

buf[0]=(dat/10)+'0';

buf[1]=(dat%10)+'0';

}

void main()

{

uchar str[]={30,10,9,20,8,1,7};

uchar dtime[]={0,0,0,0,0,0,0};

TRISC3=1;

TRISC4=1;

TRISC5=1;

sciint();

ei();

// Get1302(st);

// sci('E');

while(1)

{

if(sci_sign)

{

Get1302(dtime);

if(Order[1]=='R'&&Order[2]=='T')

{

sci('Y');

int_to_asc(dtime[6]);

sci(buf[0]);

sci(buf[1]);

sci('M');

int_to_asc(dtime[4]);

sci(buf[0]);

sci(buf[1]);

sci('T');

int_to_asc(dtime[3]);

sci(buf[0]);

sci(buf[1]);

sci('h');

int_to_asc(dtime[2]);

sci(buf[0]);

sci(buf[1]);

sci('m');

int_to_asc(dtime[1]);

sci(buf[0]);

sci(buf[1]);

sci('s');

int_to_asc(dtime[0]);

sci(buf[0]);

sci(buf[1]);

sci('W');

int_to_asc(dtime[5]);

sci(buf[0]);

sci(buf[1]);

sci(' ');

}

else if(Order[1]=='R'&&Order[2]=='S')

{

Set1302(str);

}

Order[0]=0;

Order[1]=0;

Order[2]=0;

sci_sign=0;

}

}

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

本文中,主要在于講解如何利用pic單片機(jī)實現(xiàn)紅外夜視儀設(shè)計。如果你對本文內(nèi)容具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 指數(shù) 紅外夜視儀

為幫助大家解決pic單片機(jī)應(yīng)用難點,本文將對pic單片機(jī)硬件死鎖問題予以講解。

關(guān)鍵字: pic單片機(jī) 指數(shù) 死鎖

電子相關(guān)專業(yè)的朋友對于pic單片機(jī)自然十分熟悉,為增進(jìn)大家對pic單片機(jī)的認(rèn)識,本文將繼續(xù)為大家介紹pic單片機(jī)。本文中,小編將對pic單片機(jī)的PAGE和BANK予以闡述。

關(guān)鍵字: pic單片機(jī) 指數(shù) 單片機(jī)

對于pic單片機(jī),大家都很熟悉,pic單片機(jī)是諸多類型單片機(jī)中最為受用的一款。本文是《pic單片機(jī)實際應(yīng)用,基于pic單片機(jī)實現(xiàn)IC卡讀寫器(上)》的余下內(nèi)容。如果你對pic單片機(jī)具有興趣,抑或?qū)ic單片機(jī)的應(yīng)用充滿好...

關(guān)鍵字: ic卡讀寫器 pic單片機(jī) 指數(shù)

為幫助大家增進(jìn)對pic單片機(jī)的認(rèn)識,本文將介紹如何基于pic單片機(jī)實現(xiàn)IC卡讀寫器。本文僅為上篇,剩余內(nèi)容請翻閱下篇。

關(guān)鍵字: pic單片機(jī) 指數(shù) ic卡讀寫器

為增進(jìn)大家對pic單片機(jī)的了解,本文將對pic單片機(jī)開發(fā)環(huán)境以及pic單片機(jī)的引腳3狀態(tài)予以講解。如果你對pic單片機(jī)具有興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 開發(fā)環(huán)境 指數(shù)

  當(dāng)人們晚上迷失在野外手上只有一個手電筒,此時有直升機(jī)飛過。人們用手電筒發(fā)出三短三長三短的光線。用這個國際通用的SOS求救信號,告訴飛行員來救你。人們規(guī)定的三短三長三短的光線,代表SOS就是一

關(guān)鍵字: pic單片機(jī) 通信協(xié)議

PIC單片機(jī)是一種用來開發(fā)和控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng),應(yīng)用十分廣泛,本文就為大家介

關(guān)鍵字: pic32 pic單片機(jī)

本文將基于兩點對pic單片機(jī)予以闡述:1.如何挑選合適的pic單片機(jī),2.pic單片機(jī)或運(yùn)算符運(yùn)用。如果你對本文內(nèi)容具有一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 指數(shù) 或運(yùn)算符

本文中,小編將介紹如何將pic單片機(jī)A/D轉(zhuǎn)換數(shù)據(jù)打包,以達(dá)到減少空間、提高效率的目的。如果你對本文內(nèi)容具有一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pic單片機(jī) 指數(shù) ad轉(zhuǎn)換數(shù)據(jù)
關(guān)閉