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

正文內(nèi)容

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

2024-09-01 21:37本頁(yè)面
  

【正文】 0x0f ; m_DEC_data[2]=m_DEC_data[0]*10+m_DEC_data[1] ; return m_DEC_data[2] ; } //================================================================ //函數(shù)功能:將十六進(jìn)制 DEC 數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制 BCD 數(shù)據(jù),并返回該數(shù)據(jù) //================================================================ uchar SD2405_DECtoBCD(uchar DEC_data)//change DEC_data to BCD_data { uchar m_DEC_data[3] ; m_DEC_data[0]=DEC_data/10 ; m_DEC_data[0] =4 ; m_DEC_data[1]=DEC_data%10 ; m_DEC_data[2]=m_DEC_data[0]|m_DEC_data[1] ; return m_DEC_data[2] ; } //================================================================ // 函 數(shù) 功 能 : 初 始 化 SD2405 數(shù)據(jù) //================================================================ void SD2405_init(void) { SD2405_WriteData(0x10 , 0xa1) ; //wrt1=1 ; intfe=1 ; ints1=1 SD2405_WriteData(0x0f , 0x84) ; //wrt2 , wrt3=1 ; SD2405_WriteData(0x12 , 0x00) ; // 清零數(shù)字調(diào)整寄存器 SD2405_WriteData(0x11 , 0x03) ; //1024hz SD2405_Start() ; 華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 SD2405_SendByte(0x64) ; SD2405_WaitAck() ; SD2405_SendByte(0x00) ; // 設(shè)置寫起始地址 SD2405_WaitAck() ; SD2405_SendByte(0x00) ; //second SD2405_WaitAck() ; SD2405_SendByte(0x00) ; //minute SD2405_WaitAck() ; SD2405_SendByte(0x80) ; //hour ,二十四小時(shí)制 SD2405_WaitAck() ; SD2405_SendByte(0x01) ; //week SD2405_WaitAck() ; SD2405_SendByte(0x01) ; //day SD2405_WaitAck() ; SD2405_SendByte(0x01) ; //month SD2405_WaitAck() ; SD2405_SendByte(0x00) ; //year SD2405_WaitAck() ; SD2405_Stop() ; } //================================================================ // 函 數(shù) 功 能 : 得 到 SD2405 數(shù)據(jù) //================================================================ void Get_SD2405Time(void) { uchar next , m_temp ; uchar m_data[7] ; SD2405_Start() ; SD2405_SendByte(0x65) ; SD2405_WaitAck() ; for(next=0 ; next7 ; next++) { if(next==2)// 小 時(shí) 數(shù) 據(jù) 去 除 前 3 位 , 保 留 真 實(shí) 數(shù) 據(jù) { m_temp=SD2405_ReceiveByte() ; 華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 31 m_temp amp。0x80) SD2405_I2C_SDA_1 ; else SD2405_I2C_SDA_0 ; m_data=1 ; delay_us(3) ; SD2405_I2C_SCL_1 ; delay_us(3) ; } SD2405_I2C_SCL_0 ; } //================================================================ // 函數(shù)功能: MCU 從 SD2405 總 線 上 面 讀 取 一 個(gè) 數(shù) 據(jù) //================================================================ uchar SD2405_ReceiveByte(void)//get data from high to low { uchar next=8 ; uchar m_data=0 ; SD2405_SCL_INorOUT_1 ; delay_us(1) ; SD2405_I2C_SDA_1 ; delay_us(1) ; SD2405_SDA_INorOUT_0 ; //SDA=1 ; 端口切換 為 輸 入 狀 態(tài) ??! 華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 28 delay_us(1) ; while(next) { m_data=1 ; // 數(shù) 據(jù) 從 高 位 開 始 讀 取 delay_us(1) ; SD2405_I2C_SCL_0 ; delay_us(5) ; // 從 高 位 開 始 SD2405_I2C_SCL_1 ; delay_us(5) ; if(SD2405_I2C_read) m_data|=0x01 ; } SD2405_I2C_SCL_0 ; SD2405_SDA_INorOUT_1 ; return m_data ; } //================================================================ // 函數(shù)功能:指定 SD2405 內(nèi)部地址寫數(shù)據(jù) //================================================================ uchar SD2405_WriteData(uchar Addr , uchar m_Data) { SD2405_Start() ; SD2405_SendByte(0x64) ; SD2405_WaitAck() ; SD2405_SendByte(Addr) ; SD2405_WaitAck() ; SD2405_SendByte(m_Data) ; SD2405_WaitAck() ; SD2405_Stop() ; return 0 ; } //================================================================ //函數(shù)功能:將二進(jìn)制 BCD 數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制 DEC 數(shù)據(jù),并返回該數(shù)據(jù) //============================================================華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 ==== uchar SD2405_BCDtoDEC(uchar BCD_data)//change BCD_data to DEC_data { uchar m_DEC_data[3] ; m_DEC_data[0]=(BCD_data4)amp。=0xdf //I2C clock line output 0 define SD2405_I2C_SCL_1 PORTB|=0x20 //I2C clock line output 1 define SD2405_SCL_INorOUT_1 DDRB|=0x20 define SD2405_SCL_INorOUT_0 DDRBamp。=0xef //I2C data line output 0 define SD2405_I2C_SDA_1 PORTB|=0x10 //I2C data line output 1 define SD2405_SDA_INorOUT_1 DDRB|=0x10 define SD2405_SDA_INorOUT_0 DDRBamp。因此,研究數(shù)字時(shí)鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實(shí)的意義。 程序流程圖 華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 18 A T M E G A 8 5 1 5 初 始 化S D 2 4 0 5 芯 片 初 始 化輸 出 7 位 器 件 地 址 和 1 位 讀 寫 指 令M C U 讀 取 A C K 信 號(hào) 是 否 為 “ 1 ”判 斷 地 址 是 否 為 0 2 H小 時(shí) 數(shù) 據(jù) 去 除 前 3 位 保 留 真 實(shí) 數(shù) 據(jù)將 二 進(jìn) 制 B C D 數(shù) 據(jù) 轉(zhuǎn) 換 成 十 進(jìn) 制 D E C 數(shù) 據(jù)M C U 發(fā) 送 N O A C K 信 號(hào)關(guān) 閉 S D 2 4 0 5 I I C 總 線 信 號(hào)將 數(shù) 據(jù) 保 存 在 數(shù) 組 里NYYN 華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 19 第四章 總結(jié)與展望 數(shù)字時(shí)鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒,數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站,碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字時(shí)鐘的精度,遠(yuǎn)遠(yuǎn)生產(chǎn)生活帶超過老式鐘表,鐘表的數(shù)字化給人們來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí) 功能。 在上電復(fù)位時(shí),芯片 內(nèi)部不對(duì)實(shí)時(shí)時(shí)鐘數(shù)據(jù)寄存器作清零或置位處理。 12 小時(shí)制時(shí), H20 為 AM/PM 指示位, H20=0 為 AM, H20=1 為 PM, 見下表: (位 H20H10H8H4H2H1) 當(dāng)讀取小時(shí)數(shù)據(jù)時(shí),要屏蔽掉小時(shí)的最高位 12_/24,否則在 24 小時(shí)制時(shí)會(huì)因?yàn)?12_/24=1 而顯示不對(duì) . 分?jǐn)?shù)據(jù) [01 地址 ](00~59) 秒數(shù)據(jù) [00H 地址 ](00~59) 例如:設(shè)時(shí)間為 2020 年 12 月 20 日星期三 18 點(diǎn) 19 分 20 秒 (24 小時(shí)制 ),則寄存器 00~ 07H的賦值應(yīng)分別為 20h、 19H、 98h、 03h、 20h、 12h、 06h。 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)星期 一,依次類推 . 小時(shí)數(shù)據(jù) [02H 地址 ](00~23 或 00~11):小時(shí)的最高位 12_/24 是 12 或 24 小時(shí)制選擇位。 年數(shù)據(jù) [06H 地址 ](00~99):設(shè)置千年 (20XX)的后兩位數(shù)字 (00~99),通 過自動(dòng)日歷功能計(jì)至 2099 年。 3.從當(dāng)前地址開始,每次讀寫完一個(gè)字節(jié)地址自動(dòng)加 1 直到 1FH,讀寫完華南理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 15 1FH 后地址自動(dòng)加 1 后為 00h. 4.如果寫入的時(shí)間數(shù)據(jù)不存在,則不改寫相對(duì)應(yīng)的時(shí)間寄存器的值 . 5.為了提高數(shù)據(jù)的可靠性,當(dāng)寫完成后,應(yīng)將芯片置于寫禁止?fàn)顟B(tài)。 圖 33 實(shí)時(shí)時(shí)鐘確認(rèn)信號(hào) 數(shù)據(jù) /指令傳輸格式 當(dāng) CPU 發(fā)出開始條件與實(shí)時(shí)時(shí)鐘建立連接后, CPU 首先通過 SDA 總線連續(xù)輸出 7 位器件地址和 1 位讀 /寫指令來喚醒 SD2405AP. (1)器件代碼: 其中高 7 位 BIT7~BIT1 稱“器件代碼”,它代表實(shí)時(shí)時(shí)鐘
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1