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

正文內(nèi)容

基于proteus的單片機實時時鐘仿真設(shè)計-文庫吧資料

2025-07-03 18:29本頁面
  

【正文】 e_date(tabe2[lcdnum])。 //寫入第二行數(shù)據(jù) for(lcdnum=0。 delay(2)。lcdnum8。 lcd_write_(0x80)。 lcd_write_(0x06)。 lcd_write_(0x38)。第四章 系統(tǒng)的軟件設(shè)計 程序流程框圖圖A 主程序流程圖 圖B 時間調(diào)整程序流程圖 圖C 定時鬧鈴程序流程圖 子程序的設(shè)計 LCD1602初始化子程序void lcd1602_init() //LCD初始化函數(shù) { uchar lcdnum。單片機在收到每個字節(jié)數(shù)據(jù)后要做出應(yīng)答,只要AT24C02檢測到應(yīng)答信號后,其內(nèi)部的地址寄存器就自動加1指向下一個單元,并順序?qū)⒅赶虻膯卧臄?shù)據(jù)送到SDA線上。指定地址讀方式在指定地址讀方式下,單片機在啟動信號后先發(fā)送含有片選地址的寫操作控制字,AT24C02應(yīng)答后,再發(fā)送一個字節(jié)的指定單元的地址,AT24C02應(yīng)答后再發(fā)送一個含有片選地址的讀操作控制字,此時如果AT24C02做出應(yīng)答,被訪問單元的數(shù)據(jù)就會按SCL信號同步出現(xiàn)在SDA線上,供單片機讀取。頁寫入方式在頁寫入方式下,單片機先發(fā)送啟動信號,接著送一個字節(jié)的控制字,再送一個字節(jié)的存儲器起始單元地址,上述幾個字節(jié)都得到AT24C02應(yīng)答后,就可以發(fā)送最多一頁的數(shù)據(jù)并順序存放在以指定起始地址開始的相繼單元中,最后以停止信號結(jié)束。(4)AT24C02的讀/寫操作AT24C02有兩種寫入方式,一種是字節(jié)寫入方式,一種是頁寫入方式。R/為芯片讀/寫控制位,R/=0,表示對芯片進行寫操作;R/=1,表示讀芯片進行讀操作。AAA0引腳接高、低電平后得到確定的三位編碼,與1010形成7位編碼,即為該器件的地址碼。 芯片尋址AT2402的芯片地址固定為1010,是I2C總線器件特征編碼,其地址控制字格式為1010A2A1A0R/。當(dāng)一個字節(jié)傳送完畢時,再發(fā)送一個應(yīng)答位(第9位),如上一條所述,這樣每次傳送一個字節(jié)都需要9個時鐘脈沖。3  從機產(chǎn)生應(yīng)答信號,進入下一個傳送周期,如果從器件沒有給出應(yīng)答信號,此時主器件產(chǎn)生一個結(jié)束信號使得傳送結(jié)束,傳送數(shù)據(jù)無效。其中前7位為地址碼,第8位為方向位(R/W)。當(dāng)主器件傳送一個字節(jié)后,在第9個SCL時鐘內(nèi)置高SDA線,而從器件的響應(yīng)信號將SDA拉低,從而給出一個應(yīng)答位。如果沒有接受到應(yīng)答位,主機則產(chǎn)生一個停止條件結(jié)束本次的傳送。每個字節(jié)必須是8位,但是傳輸?shù)淖止?jié)數(shù)量不受限制,首先傳送的是數(shù)據(jù)的最高位。停止信號:當(dāng)SCL為高電平時,SDA發(fā)生從低到高的跳變,就定義為結(jié)束信號。那么是不是所有I2C總線中的信號都必須符合上述的有效性呢?只有兩個例外,就是開始和停止信號。(2)I2C總線上的數(shù)據(jù)傳送 1)位傳輸 I2C總線每傳送一位數(shù)據(jù)必須有一個時鐘脈沖。所以,I2C總線結(jié)構(gòu)的硬件結(jié)構(gòu)非常簡潔。連接到總線的器件具有不同的地址,CPU根據(jù)不同的地址進行識別,從而實現(xiàn)對硬件系統(tǒng)簡單靈活的控制。圖12 DS18B20使用MOSFET進行強上拉電路原理圖(1)I2C總線結(jié)構(gòu) I2C總線結(jié)構(gòu)很簡單,只有兩條線,包括一條數(shù)據(jù)線(SDA)和一條串行時鐘線(SCL)。 掉電保護模塊的設(shè)計I2C總線是一種雙向二線制總線,結(jié)構(gòu)簡單,可靠性和抗干擾性能好。如圖12所示。寄生供電時DS1820發(fā)送“ 0 ”,外接電源供電 DS1820發(fā)送“ 1 ”。 重調(diào)EEPROM0B8H 將EEPROM中內(nèi)容恢復(fù)到RAM中的第3 、4字節(jié)。 讀暫存器0BEH 讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫暫存器 4EH 發(fā)出向內(nèi)部RAM的4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 RAM指令表指 令 約定代碼功 能溫度變換44H啟動DS1820進行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最長為750ms()。適用于單片工作。為操作各器件作好準(zhǔn)備。 ROM指令表指 令 約定代碼功 能讀ROM33H讀DS1820溫度傳感器ROM中的編碼(即64位地址) 符合ROM55H發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS1820 使之作出響應(yīng),為下一步對該 DS1820 的讀寫作準(zhǔn)備。用戶可通過“回讀EEPROM”命令后,通過一個讀時隙來判斷回讀操作是否完成:如果回讀操作正在執(zhí)行,則DS18B20會向總線上發(fā)送一個0;如果回讀操作已完成,則DS18B20會向總線上發(fā)送一個1.“回讀EEPROM”命令會在DS18B20上電時自動完成一次,保證芯片在上電后可以使用有效數(shù)據(jù)。在器件上電時,將EEPROM中的數(shù)據(jù)復(fù)制到SRAM中,SRAM恢復(fù)默認值。字節(jié)8用于存放前8個字節(jié)的CRC校驗值。字節(jié)2和字節(jié)3可用于存放報警閾值或用戶寄存器。DS18B20的存儲器結(jié)構(gòu)如表7所示。EEPROM用于存放報警上限寄存器(TH)、報警下限寄存器(TL)和配置寄存器。無論是溫度測量值還是報警閾值,都會存儲在DS18B20芯片內(nèi)的寄存器中。一旦報警標(biāo)志設(shè)置后,器件就會響應(yīng)系統(tǒng)主機發(fā)出的條件搜索命令(ECH)。在DS18B20中有兩個報警寄存器,TH為溫度上限值,TL為溫度下限值,這兩個寄存器均為8位,所以在進行溫度比較時,只取出溫度的中間8位(D4~D11)進行比較。在表6中,+85℃是DS18B20上電復(fù)位后在溫度寄存器內(nèi)對應(yīng)的數(shù)字量。在實際使用過程中,如果DS18B20被設(shè)置為12位分辨率,則在溫度所有數(shù)據(jù)位都是有效位;如果DS18B20被設(shè)置為11位分辨率,則D0位數(shù)據(jù)無效;如果DS18B20被設(shè)置為10位分辨率,則DD0位數(shù)據(jù)無效;如果DS18B20被設(shè)置為9位分辨率,則DDD0位數(shù)據(jù)無效。 DS18B20的溫度數(shù)據(jù)輸出單位為“攝氏度”。 單總線系統(tǒng)中的主機發(fā)出溫度轉(zhuǎn)換命令(44H)后,DS18B20便開始啟動溫度測量并把測量的結(jié)果進行A/D轉(zhuǎn)換。芯片的分辨率可以按照用戶的需要配置為9位、10位、11位、12位,芯片在上電后默認設(shè)置為12位。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循圖11 DS18B20測溫原理圖環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。 圖10 DS18B20溫度采集 (1)DS18B20的理: DS18B20的測溫原理如圖11所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。 讀寄存器寫寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范圍81H80HCH10秒秒05983H82H10分分05985H84H12/24 010 時時112/023AM/PM87H86H0010日日13189H88H00010月月1128BH8AH00000周日178DH8CH年0998FH8EHWP0000000—— 表5 DS1302的日歷、時間寄存器 溫度傳感器模塊的設(shè)計如圖10所示。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 (4) DS1302的寄存器 DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表5。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。當(dāng)“WP”為1時,寫保護位防止對任一寄存器的寫操作。表6為DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標(biāo)志位,當(dāng)該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時,時鐘開始運行。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作。對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0。(1) 時鐘芯片DS1302的工作原理: DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置 “0”,再接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖9所示。中有在SCLK為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。如果在傳送過程中RSTS置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。X1和X2是振蕩源。當(dāng)Vcc2大于Vcc1+,Vcc2給DS1302供電。(4)1602LCD的一般初始化(復(fù)位)過程 延時15mS 寫指令38H(不檢測忙信號) 延時5mS 寫指令38H(不檢測忙信號) 延時5mS圖7 字符代碼與圖形對應(yīng)圖 寫指令38H(不檢測忙信號) 以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號 寫指令38H:顯示模式設(shè)置 寫指令08H:顯示關(guān)閉 寫指令01H:顯示清屏 寫指令06H:顯示光標(biāo)移動設(shè)置 寫指令0CH:顯示開及光標(biāo)設(shè)置 時鐘電路模塊的設(shè)計圖8示出DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數(shù)據(jù)應(yīng)該是: 01000000B(40H)+10000000B(80H)=11000000B(C0H)。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖6是1602的內(nèi)部顯示地址。 指令11:讀數(shù)據(jù)。 指令9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令7:字符發(fā)生器RAM地址設(shè)置。 指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。 指令4:顯示開關(guān)控制。 指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移;S:屏幕上所有文字是否左移或者右移。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。(2)1602LCD的指令說明及時序 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2所示。 第15腳:背光源正極。 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。 第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度 最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。 第1腳:VSS為地電源。 1602LCD分為帶背光和不帶背光兩種,其控制器大多為HD44780,帶背光的比不帶背光的厚,兩者尺寸差別如下圖3所示。單片機的最小系統(tǒng)如下圖所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1