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

正文內容

畢業(yè)設計_基于單片機的實用數(shù)字萬年歷設計(編輯修改稿)

2025-01-06 20:57 本頁面
 

【文章內容簡介】 發(fā)送 I2C 總線的停止位 * 輸入:無 * 輸出:無 **************************************************************************/ void I2CStop(void) { SCL=0。 SDA=0。 SomeNOP()。 SCL=1。 SomeNOP()。 SDA=1。 EA=1。 } /************************************************************************** * ( 3)函數(shù)名: void WaitAck (void) * 功能:主機等待從機發(fā)送來的確認 ACK * 輸入:無 * 輸出: true / false **************************************************************************/ bool WaitAck(void) { uchar errtime=255。 //因故障接收方無 ACK,超時值為 255。 SDA=1。SomeNOP()。 SCL=1。SomeNOP()。 while(SDA) { 畢業(yè)設計(論文)報告紙 共 66 頁 第 14 頁 errtime。 if (!errtime) { I2CStop()。 SystemError=0x11。 return false。 } } SCL=0。 return true。 } /************************************************************************** * ( 4)函數(shù)名: void I2CSendByte (uchar ch) * 功能:向總線發(fā)送一個字節(jié)的數(shù)據(jù) * 輸入:要發(fā)送的字節(jié)數(shù)據(jù) * 輸出:無 **************************************************************************/ void I2CSendByte(uchar ch) { uchar i=8。 while (i) { SCL=0。_nop_()。 SDA=(bit)(champ。0x80)。 ch=1。 SomeNOP()。 SCL=1。 SomeNOP()。 } SCL=0。} /************************************************************************** * ( 5)函數(shù)名: uchar I2CReceiveByte (void) * 功能:接收總線上發(fā)來的一個字節(jié)的數(shù)據(jù) * 輸入:無 * 輸出:接收到的一個字節(jié)數(shù)據(jù) **************************************************************************/ uchar I2CReceiveByte(void) { uchar i=8。 uchar ddata=0。 SDA=1。 while (i) { 畢業(yè)設計(論文)報告紙 共 66 頁 第 15 頁 ddata=1。 SCL=0。 SomeNOP()。 SCL=1。 SomeNOP()。 ddata|=SDA。 } SCL=0。 return ddata。 } /************************************************************************** * ( 6)函數(shù)名: void GetPCF8563(uchar firsttype, uchar count, uchar *buff) * 功能: 讀取時鐘芯片 PCF8563 的時間 * 輸入: 設置要讀的第一個時間類型 firsttype,設置讀取的字節(jié)數(shù) count, * 再把 一次把時間讀取到 buff 中。順序是: 0x02( 秒 ) / 0x03( 分 ) / * 0x04( 小時 ) /0x05( 日 ) /0x06( 星期 ) /0x07( 月 ) /0x08( 年 ) * 輸出:無 **************************************************************************/ void GetPCF8563(uchar firsttype, uchar count, uchar *buff) { uchar i。 I2CStart()。 I2CSendByte(0xA2)。 //0xA2 表示從機的寫數(shù)據(jù)地址 WaitAck()。 I2CSendByte(firsttype)。 WaitAck()。 I2CStart()。 I2CSendByte(0xA3)。 //0xA3 表示從機的讀數(shù)據(jù)地址 WaitAck()。 for (i=0。icount。i++) { buff(i)=I2CReceiveByte()。 //從總線上讀取 count 字節(jié)的數(shù)據(jù) if (i!=count1) SendAck()。 //除最后一個字節(jié)外,其他都要從 MASTER 發(fā)應答。 } SendNotAck()。 I2CStop()。 } /************************************************************************** * ( 7)函數(shù)名: void SetPCF8563(uchar timetype, uchar value) * 功能:調整 PCF8563 芯片中 的時鐘值 * 輸入:要調整的時間類型 timetype,新設置的時間值 value( BCD 格式)。 畢業(yè)設計(論文)報告紙 共 66 頁 第 16 頁 * 時間類型為: 0x02( 秒 ) / 0x03( 分 ) / 0x04( 小時 ) /0x05( 日 ) / * 0x06( 星期 ) /0x07( 月 ) /0x08( 年 ) * 輸出:接收到的一個字節(jié)數(shù)據(jù) **************************************************************************/ void SetPCF8563(uchar timetype uchar value) { I2CStart()。 I2CSendByte(0xA2)。 //0xA2 表示從機的寫數(shù)據(jù)地址 WaitAck()。 I2CSendByte(timetype)。 //將時間類型發(fā)送到總線 WaitAck()。 I2CSendByte(value)。 //將新設置的時間發(fā)送到總線 WaitAck()。 //等待從機應答 I2CStop()。 } LCD 顯示子程序 本系統(tǒng)所使用的 LCD模塊內部已集成了驅動電路,在使用時非常方便,只需按照此LCD模塊的指令表,將指令寫入 LCD模塊即可實現(xiàn)對應功能。 此 LCD 模塊的控制函數(shù)有初始化函數(shù)、命令寫入函數(shù)和數(shù)據(jù)寫入函數(shù),具體代碼如下所述。 /************************************************************************** * ( 1)函數(shù)名: void LCD_Init(void) * 功能:初始化 LCD 模塊 * 輸入:無 * 輸出:無 **************************************************************************/ void LCD_Init(void) { LCD_Wcmd(0x01)。 //清零指令 LCD_Wcmd(0x38)。 //功能設置, 8 位數(shù)據(jù),兩行顯示, 5 7 矩陣 LCD_Wcmd(0x0E)。 //顯示開關,有光標,閃爍 LCD_Wcmd(0x06)。 //輸入方式,增量加 1 } /************************************************************************** * ( 2)函數(shù)名: void LCD_Wcmd(uchar cmd) * 功能:將命令寫入 LCD 模塊 * 輸入:要寫入的命令值 * 輸出:無 **************************************************************************/ void LCD_Wcmd(uchar cmd) 畢業(yè)設計(論文)報告紙 共 66 頁 第 17 頁 { RS=0。 //RS=0 表示寫指令 RW=0。 E=1。 P2=cmd。 //送指令到數(shù)據(jù)線 delay(5)。 E=0。 //下降沿寫入 } /************************************************************************** * ( 3)函數(shù)名: void LCD_Wbyte(uchar data) * 功能:將單個字節(jié)數(shù)據(jù)寫入 LCD 模塊 * 輸入:要寫入的數(shù)據(jù) * 輸出:無 **************************************************************************/ void LCD_Wbyte(uchar data) { RS=1。 //RS=1 表示寫數(shù)據(jù) RW=0。 E=1。 P2=cmd。 //送指令到數(shù)據(jù)線 delay(5)。 E=0。 //下降沿寫入 } /************************************************************************** * ( 4)函數(shù)名: void LCD_Wbyte(uchar *buf ) * 功能:連續(xù)寫 8 字節(jié)數(shù)據(jù)寫入 LCD 模塊 * 輸入:要寫入的數(shù)據(jù)緩沖區(qū)首址 * 輸出:無 **************************************************************************/ void LCD_Wbyte(uchar *buf ) { uchar i RS=1。 RW=0。 for(i=0。i8。i++) { E=1。 P2=buf[i]。 delay(5)。 E=0 } } 畢業(yè)設計(論文)報告紙
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1