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

正文內(nèi)容

畢業(yè)論文(基于c語言實現(xiàn)在lcd1602多功能時鐘)——時鐘、年月日、星期、秒表、溫度測量、繼電控制-資料下載頁

2024-11-16 18:41本頁面

【導讀】MAX232芯片實現(xiàn)RS-232電平與TTL電平轉(zhuǎn)換……………電子時鐘主要是利用電子技術(shù)將時鐘電子化、數(shù)字化,擁有時鐘精確、體積小、界面友好、可擴展性強等特點,并廣泛運用到生活和工作當中。例外在生活和工農(nóng)業(yè)生產(chǎn)中,也常常需要溫度,這就需要電子時鐘具有多功能性。本設(shè)計主要實現(xiàn)一款可正常顯示時鐘、日歷、測量環(huán)境溫度、秒表、溫度檢測、自動控制電氣運行、低壓電壓表、帶有定時鬧鐘的多功能創(chuàng)新型電子時鐘。本文對當前電子鐘開發(fā)手段進行比較和分析,最終確定采用單片機技術(shù)實現(xiàn)多功能。本設(shè)計應(yīng)用ATMEL89S51芯片作為核心,LCD1602液晶實現(xiàn)功能顯示,使用DS1302實時時鐘日歷芯片完成時鐘、日歷功能,并且用AT24LC32A外部存儲芯片I2C存儲程序和時鐘等信息,同時利用DS18B20數(shù)字溫度傳感器測量環(huán)境溫度,下載程序用專用下載芯片MAX232。這種實現(xiàn)方法的優(yōu)點是電路簡單,性能可靠,實時性好,時間和溫度精確度高,操作簡便,編程容易。

  

【正文】 I字符集字庫,只有并行接口,無串行接口。LCD1602初始化設(shè)置:(1) 、顯示模式設(shè)置162顯示,57點陣,8位數(shù)據(jù)接口。(2) 、顯示開關(guān)及光標位置。(3) 、操作LCD1602時序流程如下:?、通過RS確定是寫數(shù)據(jù)還是寫命令。?、讀寫控制設(shè)置為寫模式,及低電平。?、將數(shù)據(jù)或命令送達數(shù)據(jù)線上。?、給E一個高脈沖1將數(shù)據(jù)送如液晶控制器,完成寫操作。 環(huán)境溫度采集子程序流程圖關(guān)于液晶時序圖,不同廠家生產(chǎn)的液晶其延時不同。大多數(shù)單片機寫控制程序主要是看時序圖中個引腳高低電平變化來讀寫芯片。顯示流程圖參見圖44 。源程序見附錄A。 鍵盤掃描子程序設(shè)計單片機對鍵盤掃描的方法有隨機掃描方式、定時掃描方式和中斷方式。在隨機掃描方式中,CPU完成某特定任務(wù)后,即執(zhí)行鍵盤掃描程序,以確定鍵盤有無按鍵輸入,然后根據(jù)按鍵功能轉(zhuǎn)去執(zhí)行相應(yīng)的操作。在執(zhí)行鍵盤按鍵規(guī)定的功能中不理睬鍵盤輸入。定時掃描方式與隨機掃描基本相同,只有利用CPU內(nèi)的定時中斷,每隔一定時間掃描有無按鍵被按下,鍵盤反應(yīng)速度較快,在處理按鍵功能過程中,可以通過鍵盤命令進行干預(yù),如取消,暫停等操作。前兩種掃描掃描方式均會占用CPU大量時間。不管有沒有鍵入操作,CPU總要一定的時間進行掃描,這對于單片機控制系統(tǒng)是很不利的。由于設(shè)計中AT89S51單片機在系統(tǒng)中的主要任務(wù)是接受DS1302和DS18B20的數(shù)據(jù)并送出顯示,完成時鐘/日歷校對和日期/溫度顯示控制。AT89S51單片機完全有能力完成以上工作,所以采用隨機掃描鍵盤方式,系統(tǒng)也能能夠正常運行。 。單片機掃描鍵盤,得到鍵值,并根據(jù)鍵值轉(zhuǎn)入執(zhí)行對應(yīng)任務(wù),以實現(xiàn)按鍵功能如果沒有按鍵按下,則程序掃描程序到Key=FFH,將鍵值Key清零,返回主程序。源程序見附錄A。 I2C總線讀寫子程序設(shè)計為了保證數(shù)據(jù)傳送的可靠性,標準I2C總線的數(shù)據(jù)傳送有嚴格的數(shù)據(jù)要求。I2C總線的起始信號、終止信號、應(yīng)答或發(fā)送“0”、非應(yīng)答或發(fā)送“1”。單片機在模擬I2C總線通信時,需要寫出幾個關(guān)鍵部分程序:總線初始化、啟動信號、應(yīng)答信號、停止信號、寫一個字節(jié)、讀一個字節(jié)。源程序見附錄A。SCL在高電平期間,SDA被從設(shè)備拉為低電平表示應(yīng)答,若在一段時間內(nèi)沒有收到從器件的應(yīng)答則主器件默認從器件已經(jīng)收到數(shù)據(jù)而不再等待應(yīng)答信號,所以后面程序加一個延時退出,一旦器件沒有收到應(yīng)答信號,程序?qū)⒂肋h停止在這里,而真正程序中不允許這樣的情況發(fā)生。 鬧鈴子程序設(shè)計鬧鈴子程序最主要的任務(wù)是不斷用時間分(min)與時(hour)同設(shè)定的鬧鈴分(clk_min)與鬧鈴時(clk_hour)比較,只有滿足min等于clk_min,hour等于clk_hour,響鈴啟動5分鐘,并根據(jù)外部按鍵執(zhí)行相應(yīng)貪睡任務(wù)。 。 源程序見附錄A。 顯示子程序流程圖5 系統(tǒng)調(diào)試調(diào)試工作分硬件調(diào)試和軟件調(diào)試兩個部分,調(diào)試方法介紹如下:首先,硬件調(diào)試主要是先搭建硬件平臺,然后利用萬用表等工具對電路檢測,最后應(yīng)用程序進行功能調(diào)試,硬件調(diào)試比較費時,需要細心和耐心,也需要熟練掌握電路原理。然后,可以直接應(yīng)用編輯或仿真軟件進行調(diào)試,比如單片機C51編輯軟件Keil。該軟件提供了一個集成開發(fā)環(huán)境uVision,它包括C編輯器、宏編輯器、連接器、庫管理和一個功能強大的仿真調(diào)試器。通過編譯、運行,可以檢查程序錯誤。但應(yīng)用此方法,仍需要十分了解所使用元器件的工作方式和管腳連接方式。在軟件調(diào)試過程中要仔細耐心,即便是要多些一兩個字符,都無法編譯成功。而有時往往在Keil中編譯、運行無錯,但燒錄到單片機中運行出錯,很可能是編程時管腳或時序編輯得不對。還有一種方式,即應(yīng)用仿真軟件搭建電路的軟件平臺,再導入程序進行仿真調(diào)試如果電路出錯,可以在計算機上方便的修改電路,程序出錯可以重新編輯程序,這種方法節(jié)時、省力、經(jīng)濟、方便。我應(yīng)用的仿真軟件是為Protuse ??傊{(diào)試過程是一個軟硬件結(jié)合調(diào)試的過程,硬件電路是基礎(chǔ),軟件是檢測硬件電路和實現(xiàn)其功能的關(guān)鍵。在調(diào)試過程中,首先必須明確調(diào)試順序。本設(shè)計是在單片機系統(tǒng)基礎(chǔ)上建立起來的,所 鍵盤掃描子程序以必須先確定單片機基礎(chǔ)電路是否工作。為了正確顯示時間,接下來還要確定顯示電路能否正常工作。硬件調(diào)試需要萬用表、示波器等,軟件調(diào)試一般需要諸如Keil等仿真編譯器,由于我做的這款電子時鐘已經(jīng)超過了始終的范圍了,就告訴大家我調(diào)試過程介紹如下: 硬件調(diào)試 單片機基礎(chǔ)電路調(diào)試 單片機基礎(chǔ)電路包括電源、單片機、外部時鐘振蕩電路、復位電路和外部接口電路。調(diào)試過程需要注意以下幾點:1. 檢查電源是否完好。2. 單片機電源連接真確,并且保證AT89S51的31引腳接1。AT89S51的31引腳是外部程序存儲器選擇信號端,當該引腳為1時,單片機會從片內(nèi)程序存儲器內(nèi)取指令。3. 如果使用P0口做I/O口,要接上拉電阻。4. 使用萬用表排查電路是否存在短路情況。在制作外部接口電路是排針,焊接時容易出現(xiàn)管腳之間短路,所以在上電時必須先排查電路。5. 編輯一個使一組發(fā)光二極管循環(huán)點亮的程序燒錄到單片機內(nèi),上電運行,檢查單片機是否正常工作,復位電路是否正確。 鬧鈴子程序流程圖 顯示電路調(diào)試本設(shè)計的顯示電路使用了LCD1602不必加電流驅(qū)動,在連接顯示電路要明確LCD160各管腳位置。在連接過程中,需要注意以下幾點:1. LCD1602的1腳電源地、2腳電源正、3腳對比度調(diào)節(jié),2腳3腳必須接上一個電位器調(diào)節(jié)輸入電壓的范圍以防損壞LCD。2. LCD的4腳RS輸入指令或數(shù)據(jù)、5腳R/W讀寫LCD數(shù)據(jù)、6腳E使能端。、。實現(xiàn)單片機控制LCD顯示。3. LCD的7腳到14腳8個腳依次連接單片機P0口作為單片機和LCD數(shù)據(jù)通行。4. LCD的15腳接串電位器到電源正,16腳接電源地。這樣LCD的背光在不同的光照可以調(diào)試亮度。 DS1302電路調(diào)試該電路含DS1302芯片、主電源、備用電源、晶振等部分。在與單片機連接的過程需要注意一下幾點:1. 清楚DS1302與單片機連接的管腳。本設(shè)計定義為:,I/。2. 注意電源正負極連接。3. 。該晶振體型比較小,在焊接是要小心,注意不要將晶振引腳弄斷。同時也要盡量使晶振離DS1302的XX2引腳近距離焊接。4. 編寫DS1302的時鐘/日歷程序,只要求能夠正確顯示時間。燒錄進單片機,檢查電路電源正負極連接是否正確。檢查無誤后上電檢查。 按鍵電路調(diào)試按鍵電路比較簡單,故調(diào)試起來也比較容易。如果確保按鍵焊接正確,只需在DS1302的調(diào)試程序上加上一段日歷顯示子程序。日歷顯示子程序原理與時鐘顯示子程序原理相同,源程序見附錄A。 數(shù)字溫度傳感DS18B20調(diào)試 I2C總線電路調(diào)試 軟件調(diào)試在硬件調(diào)試完畢的基礎(chǔ)上,需要進一步完善程序,也就是進入軟件調(diào)試階段。在本設(shè)計中,軟件調(diào)試主要分三大部分:實時時鐘日歷芯片調(diào)試、環(huán)境溫度采集子程序調(diào)試、按鍵子程序調(diào)試。將這三部分調(diào)試成功,那么整個設(shè)計的軟件部分也就基本完成了。在硬件調(diào)試部分,已經(jīng)將實時時鐘日歷子程序調(diào)試完畢了,只需在主程序中調(diào)用按鍵子程序即可,源程序見附錄A,這里不再贅訴。 環(huán)境溫度采集你重新調(diào)試DS18B20溫度傳感器使用起來非常方便,不但接線少,而且編程容易。該溫度傳感器在寫數(shù)據(jù)時需要要嚴格的時序,為了方便寫對應(yīng)的延時程序。為了能正常顯示溫度,需要將讀取到的TL和TH組合成一個字節(jié),在轉(zhuǎn)換成十進制數(shù)。本設(shè)計使用DS18B20時采集了溫度傳感器出廠默認設(shè)置——12位分辨率,所以定義溫度值temp等于TH,左移8位。在與TL進行“或”運算,即可得到溫度值。注意該芯片具有負壓特性,電源電壓接反后,芯片不會發(fā)熱而燒毀,但不能正常工作。仿真過程見附錄D。溫度顯示子程序與時間顯示子程序原理相同,源程序見附錄A。 鍵盤子程序調(diào)試依據(jù)設(shè)計要求,鍵盤子程序需要完成對時間/日歷的校對、日期/溫度的顯示和鬧鈴的開關(guān)。為了便于子程序和鬧鈴的調(diào)用。在調(diào)用鬧鈴子程序時,鬧鈴標志位為“1”,則開啟鬧鈴,否則關(guān)閉鬧鈴。源程序見附錄A。 LCD1602子程序調(diào)試寫命令操作和寫數(shù)據(jù)操作分別由兩個獨立函數(shù)來完成,函數(shù)內(nèi)部唯一的區(qū)別是液晶數(shù)據(jù)命令選擇端的電平,寫命令解釋如下:Void write(uchar ){Lcd_rs=0。//選擇寫命令模式P0=。//將要寫的命令字送到數(shù)據(jù)BUS上Delay(5)。//稍著延時以等待數(shù)據(jù)穩(wěn)定Lcden=1。//使能端給高電平,初始化函數(shù)中已經(jīng)將lcden=0Delay(5)。//稍著延時Lcden=0。//將使能端置0以完成高電平}初始化函數(shù)中幾個命令的解釋及指令碼功能說明。Write_(0x38)。//設(shè)置162顯示,57點陣,8位數(shù)據(jù)接口Write_(0x3c)。//設(shè)置開顯示,不顯示光標Write_(0x06)。//寫一個字符后地址自動加1Write_(0x01)。//顯示清0,數(shù)據(jù)指針清0進入主函數(shù),執(zhí)行完初始化函數(shù)后,用“Write_(0x80)。”命令將數(shù)據(jù)指針定位到第一行第一個字處,然后寫完第一行顯示的字,在每兩個字之間作簡短延時,這個時間可以自行測試,時間太長會影響寫入及顯示速度,時間太短會影響控制器接收數(shù)據(jù)的穩(wěn)定性已測試穩(wěn)定最佳。當寫入第二行需要重新定位數(shù)據(jù)指針Write_(0x80+0x40)。詳細程序過程參見附錄A。 DS1302子程序調(diào)試 I2C總線AT24LC32A調(diào)試子程序本程序中的“void delay() {。}”是一個微妙級延時函數(shù)內(nèi)部都是用變量替增或是替減實現(xiàn)延時,而這個函數(shù)是用空語句“nop()?!睂崿F(xiàn)短時間延時的,該延時函數(shù)大概4~5uS,用來操作I2C總線時用。“void write_add(uchar address,uchar date)”和“void read_add(uchar address)”兩個分別實現(xiàn)向AT24LC32A的任一地址寫一字節(jié)的數(shù)據(jù)和從AT24LC32A中任一地址讀取一字節(jié)數(shù)據(jù)功能,函數(shù)操作完全操作原理和時序。Sec=read_add(2)。If(sec100)。Sec=0。在主程序的開始處先讀取上次寫入AT24LC32A的數(shù)據(jù),下面兩句是為了防止第一次操作AT24LC32時出現(xiàn)意外而加的,若是新的AT24LC32A或是以前已經(jīng)被別人寫過的不知道是什么內(nèi)容的芯片,首次上電后讀出來的數(shù)據(jù)我們無法知道,若是大于100的數(shù)據(jù)無法顯示造成亂碼,若是100以內(nèi)還好處理。詳細程序就見附錄A。結(jié)論過去人們應(yīng)用時鐘僅僅為了明確當前時間。隨著生產(chǎn)力的發(fā)展,社會的進步,生產(chǎn)生活對時鐘的需求越來越大,尤其在一些關(guān)鍵場合需不同功能的時鐘,對時間的體型、功能的要求也有不同。所以多功能電子時鐘在今后的應(yīng)用也越來越廣泛?;趩纹瑱C實現(xiàn)電子時鐘,僅僅是眾多方法之一。并且市場上時鐘日歷芯片品類繁多,IC化的傳感器各種各樣,顯示方式也趨于人性化,所以多功能電子時鐘有多種實現(xiàn)方案,能夠?qū)崿F(xiàn)的功能也不多,本設(shè)計已經(jīng)通過仿真和調(diào)試,實現(xiàn)了時間日歷顯示校對、鬧鈴等功能。本文采用51單片機C語言進行編程,當然也可以應(yīng)用匯編語言編程。由于該電子時鐘還不十分完善還可以進一步優(yōu)化,并且還可以根據(jù)需求為電子時鐘增設(shè)新功能。致謝參考文獻1. 王守中、趙朋朋、索世文編著 51單片機應(yīng)用開發(fā)速查手冊——指令、模塊、實例 北京:人民郵電出版社出版發(fā)行 20009年4月2. 林全新、蘇麗娟 單片機原理與接口技術(shù) 北京:人民郵電出版社出版發(fā)行 2007年3月 3. 彭偉 單片機C語言程序設(shè)計設(shè)計實訓 北京:電子工業(yè)出版社 2009年6月4. 郭天祥 51單片機C語言教程——入門、提高、開發(fā)、拓展全攻略 北京:電子工業(yè)出版社 2009年6月 5. 譚浩強 C程序設(shè)計(第二版) 北京:清華大學出版社 2005年1月 6. 劉守義 鐘蘇 數(shù)字電子技術(shù)(第二版) 陜西:西安電子科技大學出版社 2007年7月 附錄 C 基于C51語言實現(xiàn)LCD電子時鐘電路原理附錄 D 基于C51語言實現(xiàn)LCD液晶電子時鐘顯示效果圖 33
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1