91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 17.57MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-06-26
  • 語言: C/C++
  • 標簽: dianpa??

資源簡介

基于51單片機的萬年歷設計,使用C語言編碼,以及使用芯片的相關介紹,附帶參考論文,相關軟件的安裝。

資源截圖

代碼片段和文件信息

/*
*******************************************************************************
*?文件名:DS1302.c
*?描??述:實時時鐘芯片DS1302驅動模塊
*?版本號:v1.0.0
*?備??注:
*******************************************************************************
*/

#include?

sbit?DS1302_CE?=?P1^6;
sbit?DS1302_CK?=?P1^4;
sbit?DS1302_IO?=?P1^5;

struct?sTime?{??//日期時間結構體定義
????unsigned?int??year;??//年
????unsigned?char?mon;???//月
????unsigned?char?day;???//日
????unsigned?char?hour;??//時
????unsigned?char?min;???//分
????unsigned?char?sec;???//秒
????unsigned?char?week;??//星期
};

/*?發送一個字節到DS1302通信總線上?*/
void?DS1302ByteWrite(unsigned?char?dat)
{
????unsigned?char?mask;
????
????for?(mask=0x01;?mask!=0;?mask<<=1)??//低位在前,逐位移出
????{
????????if?((mask&dat)?!=?0)?//首先輸出該位數據
????????????DS1302_IO?=?1;
????????else
????????????DS1302_IO?=?0;
????????DS1302_CK?=?1;???????//然后拉高時鐘
????????DS1302_CK?=?0;???????//再拉低時鐘,完成一個位的操作
????}
????DS1302_IO?=?1;???????????//最后確保釋放IO引腳
}
/*?由DS1302通信總線上讀取一個字節?*/
unsigned?char?DS1302ByteRead()
{
????unsigned?char?mask;
????unsigned?char?dat?=?0;
????
????for?(mask=0x01;?mask!=0;?mask<<=1)??//低位在前,逐位讀取
????{
????????if?(DS1302_IO?!=?0)??//首先讀取此時的IO引腳,并設置dat中的對應位
????????{
????????????dat?|=?mask;
????????}
????????DS1302_CK?=?1;???????//然后拉高時鐘
????????DS1302_CK?=?0;???????//再拉低時鐘,完成一個位的操作
????}
????return?dat;??????????????//最后返回讀到的字節數據
}
/*?用單次寫操作向某一寄存器寫入一個字節,reg-寄存器地址,dat-待寫入字節?*/
void?DS1302SingleWrite(unsigned?char?reg?unsigned?char?dat)
{
????DS1302_CE?=?1;???????????????????//使能片選信號
????DS1302ByteWrite((reg<<1)|0x80);??//發送寫寄存器指令
????DS1302ByteWrite(dat);????????????//寫入字節數據
????DS1302_CE?=?0;???????????????????//除能片選信號
}
/*?用單次讀操作從某一寄存器讀取一個字節,reg-寄存器地址,返回值-讀到的字節?*/
unsigned?char?DS1302SingleRead(unsigned?char?reg)
{
????unsigned?char?dat;
????
????DS1302_CE?=?1;???????????????????//使能片選信號
????DS1302ByteWrite((reg<<1)|0x81);??//發送讀寄存器指令
????dat?=?DS1302ByteRead();??????????//讀取字節數據
????DS1302_CE?=?0;???????????????????//除能片選信號
????
????return?dat;
}
/*?用突發模式連續寫入8個寄存器數據,dat-待寫入數據指針?*/
void?DS1302BurstWrite(unsigned?char?*dat)
{
????unsigned?char?i;
????
????DS1302_CE?=?1;
????DS1302ByteWrite(0xBE);??//發送突發寫寄存器指令
????for?(i=0;?i<8;?i++)?????//連續寫入8字節數據
????{
????????DS1302ByteWrite(dat[i]);
????}
????DS1302_CE?=?0;
}
/*?用突發模式連續讀取8個寄存器的數據,dat-讀取數據的接收指針?*/
void?DS1302BurstRead(unsigned?char?*dat)
{
????unsigned?char?i;
????
????DS1302_CE?=?1;
????DS1302ByteWrite(0xBF);??//發送突發讀寄存器指令
????for?(i=0;?i<8;?i++)?????//連續讀取8個字節
????{
????????dat[i]?=?DS1302ByteRead();
????}
????DS1302_CE?=?0;
}
/*?獲取實時時間,即讀取DS1302當前時間并轉換為時間結構體格式?*/
void?GetRealTime(struct?sTime?*time)
{
????unsigned?char?buf[8];
????
????DS1302BurstRead(buf);
????time->year?=?buf[6]?+?0x2000;
????time->mon??=?buf[4];
????time->day??=?buf[3];
????time->hour?=?buf[2];
????time->min??=?buf[1];
????time->sec??=?buf[0];
????time->week?=?buf[5];
}
/*?設定實時時間,時間結構體格式的設定時間轉換為數組并寫入DS

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????..A.SH.?????12800??2017-12-08?19:30??00使用前必讀\Thumbs.db

?????文件??????59392??2017-07-09?18:31??00使用前必讀\使用前必讀.doc

?????文件??????17781??2018-03-17?21:33??01源程序(源文件+Word版)\Word版.docx

?????文件???????4296??2018-10-20?22:36??01源程序(源文件+Word版)\源程序-keil4可打開\DS1302.c

?????文件???????7363??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\DS1302.LST

?????文件???????8266??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\DS1302.OBJ

?????文件???????2930??2018-03-31?23:48??01源程序(源文件+Word版)\源程序-keil4可打開\DS18B20.c

?????文件???????5440??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\DS18B20.LST

?????文件???????5691??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\DS18B20.OBJ

?????文件??????????0??2017-07-23?09:46??01源程序(源文件+Word版)\源程序-keil4可打開\keyboard.c

?????文件????????723??2017-12-26?17:59??01源程序(源文件+Word版)\源程序-keil4可打開\keyboard.LST

?????文件????????261??2017-12-26?17:59??01源程序(源文件+Word版)\源程序-keil4可打開\keyboard.OBJ

?????文件???????1949??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\Lcd1602.c

?????文件???????3956??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\Lcd1602.LST

?????文件???????4849??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\Lcd1602.OBJ

?????文件??????10254??2018-10-29?11:02??01源程序(源文件+Word版)\源程序-keil4可打開\main.c

?????文件??????17939??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\main.LST

?????文件??????20556??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\main.OBJ

?????文件???????6376??2009-05-07?14:37??01源程序(源文件+Word版)\源程序-keil4可打開\STARTUP.A51

?????文件??????14048??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\STARTUP.LST

?????文件????????749??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\STARTUP.OBJ

?????文件??????33231??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷

?????文件???????8214??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷.hex

?????文件????????105??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷.lnp

?????文件??????46192??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷.M51

?????文件????????505??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷.plg

????.......????144367??2019-01-01?00:00??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷.uvopt

?????文件??????13892??2017-12-31?17:46??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷.uvproj

????.......????144380??2018-11-10?23:01??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷_uvopt.bak

?????文件??????14062??2017-12-26?17:59??01源程序(源文件+Word版)\源程序-keil4可打開\萬年歷_uvproj.bak

............此處省略144個文件信息

評論

共有 條評論

相關資源