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

正文內(nèi)容

基于單片機(jī)的萬年歷的設(shè)計與制作畢業(yè)論文(留存版)

2025-04-27 10:24上一頁面

下一頁面
  

【正文】 Vcc( 40 腳):正電源引腳。 ② ALE/ PROG( 30 腳):地址鎖存允許 /編程引腳。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運(yùn)行。適合在惡劣環(huán)境的現(xiàn)場進(jìn)行溫度測試,可應(yīng)用于環(huán)境控制 ,過程控制、測溫類消費(fèi)電子產(chǎn)品中。 輸出時 。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄 存器外的所有寄存器內(nèi)容。 圖 10. DS18B20 溫度采集 ( 2)原理說明 ① DS18B20 測溫原理 DS18B20 的具體測溫原理如圖 11 所示 。 DS18B20 復(fù)位時序如圖 12( a) 所示。 指令 9:讀忙信號和光標(biāo)地址 BF:忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或數(shù)據(jù),如果為低電平表示不忙。j33。 _nop_()。i++) //用 i來設(shè)定一字節(jié)的數(shù)據(jù) { if((mand amp。 write_byte(0xcc)。time++)。 //儲存讀出的一個字節(jié)數(shù)據(jù) for (i=0。 //延時 3us,兩個讀時序之間必須有大于 1us 的恢復(fù)期 } return(dat)。//延時 3us,兩個寫時序間至少需要 1us的恢復(fù)期 dat=1。 /**/ //函數(shù)聲明 void DS1302_InputByte(unchar Data)。 //由低位到高位 DS1302_CLK = 1。 DS1302_RST = 0。 ReadValue = Read1302(DS1302_SECOND)。 ReadValue = Read1302(DS1302_WEEK)。 TimeDateString[2] = 39。 TimeTimeString[1] = TimeHour%10 + 39。 TimeTimeString[7] = TimeSecond%10 + 39。 TimeDateString[8] = 39。 } /**/ //日期轉(zhuǎn)化成字符 void DateToStr(SYSTEMTIME *Time) { TimeDateString[0] = TimeYear/10 + 39。 ReadValue = Read1302(DS1302_DAY)。 //WP=0 允許數(shù)據(jù)寫入 DS1302 } /**/ //設(shè)置時間函數(shù) void DS1302_SetTime(unchar Address, unchar Value) { DS1302_SetProtect(0)。 DS1302_RST = 1。 for(i=8。 //時鐘引腳 sbit DS1302_IO = P1^7。//延時約 30us, DS18B20 在拉低后的約 15~60us 期間從數(shù)據(jù)線上采樣 DQ=1。 //如果讀到的數(shù)據(jù)是 1,則將 1 存入 dat else dat|=0x00。time++)。 //設(shè)置全局變量,專門用于嚴(yán)格延時 /***************************************************** 函數(shù)功能:將 DS18B20 傳感器初始化,讀取應(yīng)答 信號 出口參數(shù): flag ***************************************************/ bit Init_DS18B20(void) { bit flag。 //直接向 18b20 發(fā)送溫度變換命令 write_byte(0x44)。 //每次取出最高位 } return byte。 } bit read_bit(void) //讀一比特,特別注意對于 18b20,要讀數(shù)據(jù)時,一定要產(chǎn)生 DS 正脈沖,然后才傳送數(shù)據(jù) { bit temp。 //定義數(shù)據(jù)傳輸接口 /***************************************************** 函數(shù)功能:延時 1ms (3j+2)*i=(3 33+2) 10=1010(微秒 ),可以認(rèn)為是 1毫秒 ***************************************************/ void delay1ms() { unsigned char i,j。 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍 ,低電平不閃爍。 幾種溫度數(shù)據(jù)輸出舉例如表 6所列。表3為 DS1302 的日歷、時間寄存器內(nèi)容:“ CH”是時鐘暫停標(biāo)志位,當(dāng)該位為 1時,時鐘振蕩器停止, DS1302 處于低功耗狀態(tài);當(dāng)該位為 0 時,時鐘開始運(yùn)行。假設(shè)現(xiàn)有數(shù)據(jù)為 31s,那么其存儲情況應(yīng)為 bit6~ bit4=011, bit3~ bit0=0001。 主要單元模塊的設(shè)計 及原理 單片機(jī)主控制模塊的設(shè)計 系統(tǒng)主控 制部分原理圖如圖 7所示。 圖 4. DS1302 引腳圖 DS18B20 溫度芯片 DS18B20 簡介 DS18B20 是由 Dallas 半導(dǎo)體公司生產(chǎn)的數(shù)字化溫度傳感器,是世界上第一個支持“一線總線”接口的溫度傳感器,“ 一線總線 ” 接口芯片獨(dú)特芯片而且經(jīng)濟(jì),使用戶可以輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入了全新概念。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的 時鐘信號 或 RAM 數(shù)據(jù)。 P3口為 8 位準(zhǔn)雙向 I/O接口 ,它是雙功能復(fù)用口,作為通用 I/O 接口 時,功能與 P1 口相同,常使用第二功能。 除此之外,單片機(jī)還具有集成度高、體積小、性價比高、應(yīng)用廣泛、易于產(chǎn)品化 。 C語言提供了很多函數(shù),并支持浮點(diǎn)運(yùn)算,開發(fā)效率高,故可縮短開發(fā)時間,增加程序可讀性和可維護(hù)性。并且可以同時顯示大量信息 ,所以在此設(shè)計中采用 LCD 液晶顯示屏 。 軟件方面主要包括日歷程序、時間調(diào)整程序,顯示程序等。基于單片機(jī)的萬年歷的設(shè)計與制作 摘要 : 單片機(jī)應(yīng)用技術(shù)飛速發(fā)展,縱觀我們現(xiàn)在生活的各個領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能 IC 卡、電子寵物等,這些都離不開單片機(jī)。程序采用C 語言編寫,以 便更簡單地實(shí)現(xiàn)調(diào)整時間功能。 所以采用了 LCD液晶顯示屏 作為顯示。而且 C語言可以嵌入?yún)R編語言來解決高時效性的代碼編寫問題。 MCS51 單片機(jī)外部引腳 AT89S52 單片機(jī)為 40個引腳的雙列直插式( DIP)封裝,共分為電源線、端口線和控制線三類。作為第二功能使用時, 各位的作用見表 1。 DS1302 內(nèi)部有一個 318 的用于臨時性存放數(shù)據(jù)的 RAM寄存器。 DS18B20“一線總線”數(shù)字化溫度傳感器的測量溫度范圍55℃~ +125℃,在 10~ +85℃范圍 內(nèi),精度為177。 AT89S52 主控制模 塊 鍵盤模塊 DS18B20 溫度采集模塊 LCD液晶 顯示模塊 DS1302時鐘模塊 圖 時鐘模塊 的設(shè)計 及原理 ( 1)模塊設(shè)計 系統(tǒng)時間部分原理圖如圖 8 所示 。后面幾個時鐘寄存器中數(shù)據(jù)存儲情況基本和秒寄存器數(shù)據(jù)的存儲情況相同。“ WP” 是寫保護(hù)位,在任何的對時鐘和 RAM 的寫操作之前, WP 必須為 0。 表 6 DS18B20 溫度數(shù)據(jù)舉例 溫度值 /℃ 數(shù)據(jù)輸出(二進(jìn)制) 數(shù)據(jù)輸出( 16 進(jìn)制) +125 0000 0011 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0001 0191H + 0000 0000 1010 0010 00A2H + 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H 1111 1111 1111 1000 FFF8H 1111 1111 0101 1101 FF5EH 1111 1110 0101 1110 FE6FH 55 1111 1100 1001 0000 FC90H ③ DS18B20 溫度轉(zhuǎn)換的時序 根據(jù) DS18B20 的通信 協(xié)議,主機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過這幾個步驟:初始化 DS18B20(發(fā)復(fù)位脈沖),接著 ROM 功能命令,發(fā)存儲器操作命令,最后處理數(shù)據(jù)。 指令 5:光標(biāo)或顯示移位 S/C :高電平時顯示移動的文字,低電平時移動光標(biāo) 指令 6:功能設(shè)置命令 DL:高電平時為 4位總線,低電平時為 8位總線 N:低電平時為單行顯示,高電平時為雙行顯示, F:低電平時顯示 5X7的點(diǎn)陣字符,高電平時顯示 5X10的顯示字符。 for(i=0。 DS=0。 //返回字節(jié)數(shù) } void write_byte(uchar mand) //寫一字節(jié)到 18b20 { uchar i。 //啟動 18b20 進(jìn)行溫度轉(zhuǎn)換 } uint tmp() //獲取溫度 { float tt。 //儲存 DS18B20 是否存在的標(biāo)志, flag=0,表示存在;flag=1,表示不存在 DQ = 1。 //延時足夠長時間,等待存在脈沖輸出完畢 return (flag)。//如果讀到的數(shù)據(jù)是 0,則將 0存入 dat //將單片機(jī)檢測到的電平信號 DQ 存入 r[i] for(time=0。 //釋放數(shù)據(jù)線 for(time=0。 //數(shù)據(jù)引腳 sbit DS1302_RST = P1^5。 i0。 DS1302_InputByte(Address)。 Write1302(Address,((Value/10)4|(Value%10)))。 TimeDay = ((ReadValueamp。039。\039。039。039。039。0x0f)。 } /**/ //讀出時間 void DS1302_GetTime(SYSTEMTIME *Time) { unchar ReadValue。 DS1302_CLK = 1。 DS1302_IO = ACC0。 sbit ACC7 = ACC^7。time++) 。time++)。 unsigned char dat。time2。 reset()。i8。 DS=1。i++) for(j=0。 指令 8: DDRAM地址設(shè)置。 DS18B20 上電復(fù)位時的溫度值固定為 0550H,即 85℃。 溫度采集模塊 的 設(shè)計 及 原理 ( 1)模塊設(shè)計 系統(tǒng)溫度采集部分原理圖如圖 10 所示。 此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等??刂谱止?jié)的高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中;位 6如果 0,則表示存取日歷時鐘數(shù)據(jù),為 1 表示存取 RAM 數(shù)據(jù);位 5至位 1 指示操作單元的地址;最低有效位(位0)如為 0表示要進(jìn)行寫操作,為 1表示進(jìn)行讀操作?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。 引腳功能說明 圖 4 示出 DS1302 的引腳排列,其中 Vcc1為后備電源, Vcc2 為主電源。該引腳的第二功能是作為備用電源輸入線。 圖 1. AT89S52 引腳圖 1) 電源線 ① GND( 20 腳):接地引腳。 所以此次設(shè)計 選用 C語言編寫程序。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時間誤差較大。最后在老師同學(xué)的幫助以及自己的努力下完成了此次電子萬年歷的設(shè)計。它體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上。單片機(jī)使用了AT89S52 單片機(jī),該單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。 所以選擇采用 AT89S52 作為主控制系統(tǒng) . 顯示模塊的選擇方案和論證 方案一: 采用 LED 數(shù)碼管動態(tài)掃描 ,LED 數(shù)碼管價格適中 ,對于顯示數(shù)字 很 合適 ,但考慮本次設(shè)計中要顯示多位日期數(shù)據(jù),并且要顯示溫度數(shù)據(jù),在實(shí)際電路連接時會需要很多連線,增加出問題的可能性,所以不采用此方案。 匯編語言 能充分地發(fā)揮指令系統(tǒng)的功能和效率,可獲得最簡練的目標(biāo)程序,但可讀性卻不強(qiáng),復(fù)雜一點(diǎn)的程序就更難讀懂了,而本設(shè)計的軟件設(shè)計部分必然是需要大篇幅的程序作為支持的,所以不采用匯編語言作為此次設(shè)計的編程語言。許多單片機(jī)可以在 3V,甚至更低的電壓下運(yùn)行,有 些單片機(jī)的工作電
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1