freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)與sd2405日歷鐘間i2c通訊匯編編程畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-05-13 08:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 始信號(hào),則還要重新設(shè)置器件代碼(在傳輸方向需要改變時(shí),就用這種傳輸方式,如下面的讀數(shù)據(jù)方式1).主設(shè)備向從設(shè)備寫(xiě)入數(shù)據(jù)過(guò)程圖主設(shè)備向從設(shè)備直接讀取數(shù)據(jù)過(guò)程圖數(shù)據(jù)傳輸時(shí)改變其傳輸方向過(guò)程圖(3)SD2405AP數(shù)據(jù)傳輸?shù)膶?xiě)模式先送7位器件地址(0110010),第8位送入寫(xiě)命令(“0”),第9位是SD2405AP 的響應(yīng)位(ACK),SD2405AP進(jìn)入寫(xiě)狀態(tài);接下來(lái)一個(gè)字節(jié),高3位是傳輸模式(寫(xiě)狀態(tài)時(shí),傳輸模式定義為”000”),低5 位確定SD2405AP 的內(nèi)部地址(00H~1FH),第9位是SD2405AP的響應(yīng)位;開(kāi)始寫(xiě)數(shù)據(jù),每寫(xiě)完1個(gè)字節(jié)的數(shù)據(jù)之后,都經(jīng)過(guò)1位的響應(yīng)信號(hào)才能寫(xiě)下1字節(jié)的數(shù)據(jù);如果要結(jié)束寫(xiě)數(shù)據(jù)過(guò)程,則在ACK后送出停止命令即可.SD2405AP寫(xiě)數(shù)據(jù)示例(向14H,15H 地址寫(xiě)數(shù)據(jù)):1.除了WRTCWRTCWRTC3三個(gè)寫(xiě)允許位,對(duì)寄存器(00H~1FH)的寫(xiě)操作必須確認(rèn)芯片處于寫(xiě)允狀態(tài),否則寫(xiě)無(wú)效.2.寫(xiě)時(shí)間同步:每次對(duì)實(shí)時(shí)時(shí)間寄存器的寫(xiě)操作時(shí),都會(huì)對(duì)秒以下的內(nèi)部計(jì)數(shù)器清零,使時(shí)間同步。3.從當(dāng)前地址開(kāi)始,每次讀寫(xiě)完一個(gè)字節(jié)地址自動(dòng)加1直到1FH,讀寫(xiě)完1FH后地址自動(dòng)加1后為00h.4.如果寫(xiě)入的時(shí)間數(shù)據(jù)不存在,則不改寫(xiě)相對(duì)應(yīng)的時(shí)間寄存器的值.5.為了提高數(shù)據(jù)的可靠性,當(dāng)寫(xiě)完成后,應(yīng)將芯片置于寫(xiě)禁止?fàn)顟B(tài)。(4)SD2405AP數(shù)據(jù)傳輸?shù)淖x模式SD2405AP有兩種讀數(shù)據(jù)方法:I)讀方法1:從指定的內(nèi)部地址中讀取數(shù)據(jù)與寫(xiě)模式的前兩步一樣;重新發(fā)出開(kāi)始命令以改變兩線接口數(shù)據(jù)傳輸方向;再送7位器件地址(0110010),第8位送入讀命令(“1”),第9位是SD2405AP 的響應(yīng)位(ACK),SD2405AP進(jìn)入讀狀態(tài);開(kāi)始讀數(shù)據(jù),每讀完1個(gè)字節(jié)的數(shù)據(jù)之后,CPU都要送出1位的響應(yīng)信號(hào)(ACK,低電平)才能讀下1字節(jié)的數(shù)據(jù);如果想要結(jié)束讀數(shù)據(jù)過(guò)程,則CPU要送出1位的響應(yīng)信號(hào)(ACK_,高電平),ACK_后送出停止命令即可.SD2405AP讀數(shù)據(jù)方法1示例(從7H~9H 地址讀取數(shù)據(jù)):II)讀方法2:直接讀取數(shù)據(jù)(從內(nèi)部地址00h開(kāi)始)開(kāi)始信號(hào)后,先送7 位器件地址(0110010),第8位送入讀命令(“1”),第9位是SD2405AP的響應(yīng)位(ACK),SD2405AP進(jìn)入讀狀態(tài);每讀完1個(gè)字節(jié)的數(shù)據(jù)之后,CPU都要送出1位的響應(yīng)信號(hào)(ACK,低電平)才能讀下1字節(jié)的數(shù)據(jù);如果想要結(jié)束讀數(shù)據(jù)過(guò)程,則CPU要送出1位的響應(yīng)信號(hào)(ACK_,高電平),ACK_后送出停止命令即可.SD2405AP 讀數(shù)據(jù)方法2示例(從00H 地址開(kāi)始讀取數(shù)據(jù)): SD2405寄存器圖31 SD2405寄存器列表 實(shí)時(shí)時(shí)鐘數(shù)據(jù)寄存器是7字節(jié)的存儲(chǔ)器,它以BCD 碼方式存貯包括年、月、日、星期、時(shí)、分、秒的數(shù)據(jù)。 年數(shù)據(jù)[06H地址](00~99):設(shè)置千年(20XX)的后兩位數(shù)字(00~99),通 過(guò)自動(dòng)日歷功能計(jì)至2099年。(注意:2000年 為閏年) 月數(shù)據(jù)[05H地址(01~12): 每月包含的天數(shù)通過(guò)自動(dòng)日歷功能來(lái)更改。 1,3,5,7,8,10,12: 1~31 4,6,9,11: 1~30 2(閏年):1~29 2(普通):1~28 日數(shù)據(jù)[04H地址](01~31) 星期數(shù)據(jù)[03H地址](00~06):七進(jìn)制計(jì)數(shù)器,00對(duì)應(yīng)星期天,01對(duì)應(yīng)星期 一,依次類(lèi)推. 小時(shí)數(shù)據(jù)[02H地址](00~23或00~11):小時(shí)的最高位12_/24是12或24 小時(shí)制選擇位。當(dāng)12_/24=1時(shí),24小時(shí)制;當(dāng)12_/24=0時(shí),12小時(shí)制。12小時(shí)制時(shí),H20為AM/PM 指示位,H20=0為AM,H20=1為PM, 見(jiàn)下表:(位H20H10H8H4H2H1)當(dāng)讀取小時(shí)數(shù)據(jù)時(shí),要屏蔽掉小時(shí)的最高位12_/24,否則在24小時(shí)制時(shí)會(huì)因?yàn)?2_/24=1而顯示不對(duì).分?jǐn)?shù)據(jù)[01地址](00~59)秒數(shù)據(jù)[00H地址](00~59)例如:設(shè)時(shí)間為2006年12月20日星期三18點(diǎn)19分20秒(24小時(shí)制),則寄存器00~07H的賦值應(yīng)分別為20h、19H、98h、03h、20h、12h、06h。要特別注意此處小時(shí)位的賦值,因?yàn)槭?4小時(shí)制式,小時(shí)的12_/24位=1,所以小時(shí)的賦值為98h(1001 1000B)。在上電復(fù)位時(shí),芯片內(nèi)部不對(duì)實(shí)時(shí)時(shí)鐘數(shù)據(jù)寄存器作清零或置位處理。當(dāng)芯片收到讀實(shí)時(shí)時(shí)鐘數(shù)據(jù)命令,則所有實(shí)時(shí)時(shí)鐘數(shù)據(jù)被鎖存(時(shí)鐘走時(shí)并不影響),此功能可以避免時(shí)間數(shù)據(jù)的錯(cuò)讀現(xiàn)象。 程序流程圖第四章  總結(jié)與展望數(shù)字時(shí)鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒,數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車(chē)站,碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵罚捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字時(shí)鐘的精度,遠(yuǎn)遠(yuǎn)生產(chǎn)生活帶超過(guò)老式鐘表,鐘表的數(shù)字化給人們來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí) 功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字時(shí)鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。參考文獻(xiàn)[1]ATmega8515芯片資料 [EB/OL] ://.[2]SD2405芯片資料報(bào)訊 [EB/OL] ://.[3]李勛,耿德根 AVR單片機(jī)應(yīng)用技術(shù) 北京航空航天大學(xué)出版社.[4]沈建良Atmega128單片機(jī)入門(mén)與提高 北京航空航天大學(xué)出版社.[5]Jan Axelson 串行端口大全 中國(guó)電力出版社.[6]何宏 單片機(jī)原理與接口技術(shù) 國(guó)防工業(yè)出版社.[7]吳雙利 AVRGCC與AVR單片機(jī)C語(yǔ)言開(kāi)發(fā) 北京航空航天大學(xué)出版社.[8]武鋒 PIC單片機(jī)C語(yǔ)言開(kāi)發(fā)入門(mén) 北京航空航天大學(xué)出版社.[9]何立民.單片機(jī)應(yīng)用文集,北京:北京航空航天大學(xué)出版社,1991,53-72.[10][M].北京:北京航空航天大學(xué)出版社,2003.[11]公茂法.單片機(jī)人機(jī)接口實(shí)例集,北京:北京航空航天大學(xué)出版社, 32-59.[12][M].北京:人民郵電出版,2006.[13]MAXIM.NEW RELEASES DATA BOOK (VOLUME V),AMERICA,1996.[14]AT89C51 DATA SHEEP Philips Semiconductors .華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)附錄 程序代碼/************************************************* 芯片:ATMEGA8515 晶振: 指令周期:*************************************************/include include define uchar unsigned chardefine uint unsigned intdefine I2C_Speed 100000 define SD2405_I2C_SDA_0 PORTBamp。=0xef //I2C data line output 0define SD2405_I2C_SDA_1 PORTB|=0x10 //I2C data line output 1define SD2405_SDA_INorOUT_1 DDRB|=0x10 define SD2405_SDA_INorOUT_0 DDRBamp。=0xefdefine SD2405_I2C_read PINB|0x10define SD2405_I2C_SCL_0 PORTBamp。=0xdf //I2C clock line output 0define SD2405_I2C_SCL_1 PORTB|=0x20 //I2C clock line output 1define SD2405_SCL_INorOUT_1 DDRB|=0x20define SD2405_SCL_INorOUT_0 DDRBamp。=0xdfdefine Year (*(volatile unsigned char*)0x67) //YEAR 絕對(duì)尋址 0X67define Month (*(volatile unsigned char*)0x66)define Day (*(volatile unsigned char*)0x65)define Week (*(volatile unsigned char*)0x64)define Hour (*(volatile unsigned char*)0x63)define Minute (*(volatile unsigned char*)0x62)define Second (*(volatile unsigned char*)0x61) //uchar Year; //uchar Month; //uchar Day; //uchar Week; //uchar Hour; //uchar Minute; //uchar Second;void SD2405_Ack(void);void SD2405_init(void);void SD2405_Stop(void);void SD2405_Start(void);void SD2405_NoAck(void);void Get_SD2405Time(void);uchar SD2405_WaitAck(void);//return 1,Ack is Okuchar SD2405_ReceiveByte(void);//get data from high to lowvoid SD2405_SendByte(uchar m_data);//sent data from high to lowuchar SD2405_BCDtoDEC(uchar BCD_data);//change BCD_data to DEC_data uchar SD2405_DECtoBCD(uchar DEC_data);//change DEC_data to BCD_data void SetTimeAsTemprature(uchar m_Temprature); uchar SD2405_WriteData(uchar Addr,uchar m_Data);//write m_data into Addrvoid delay_us(uint z)//延時(shí)為 1ms { uchar x,x1; for(;z0;z) { for(x=0;x114;x++) { for(x1=0;x11;x1++); } } }//================================================================//函數(shù)功能:開(kāi)啟SD2405 I2C總線信號(hào)//================================================================void SD2405_Start(void){ SD2405_SDA_INorOUT_1; SD2405_SCL_INorOUT_1; delay_us(1); SD2405_I2C_SDA_1; delay_us(1); SD2405_I2C_SCL_1; delay_us(5); SD2405_SDA_INorOUT_0; delay_us(5); if(SD2405_I2C_read==0) return;//SDA線為低電平則總線忙,退出 SD2405_SDA_INorOUT_1; delay_us(1); SD2405_I2C_SDA_0; delay_us(10); SD2405_SDA_INorOUT_0; delay_us(10); if((SD2405_I2C_read)==1) return;//SDA線為高電平則總線出錯(cuò),退出 SD2405_I2C_SCL_0; delay_us(5); return;}//================================================================//函數(shù)功能:關(guān)閉SD2405 I2C總線信號(hào)//================================================================void SD2405_Stop(void){ SD2405_SCL_INorOUT_1; SD2405_SDA_INorOUT_1; delay_us(1); SD2405_I2C_SDA_0; delay_us(1); SD2405_I2C_SCL_0; delay_us(5); SD2405_I2C_SCL_1; delay_us(2); SD2405_I2C_SDA_1;}//============
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1