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

正文內(nèi)容

基于單片機的多功能液晶顯示數(shù)字畢業(yè)設(shè)計(編輯修改稿)

2024-07-17 12:36 本頁面
 

【文章內(nèi)容簡介】 I/O口線,每根I/O口線的按鍵工作狀態(tài)不會影響其他I/O口線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)可以很容易判斷哪個按鍵被按下了。(2)矩陣式鍵盤矩陣式鍵盤適用于按鍵數(shù)量較多的場合,由行線和列線組成,按鍵位于行列的交叉點上,節(jié)省I/O口。為了使設(shè)計簡潔、易于操作,本系統(tǒng)鍵盤部分設(shè)計使用了非編碼、獨立式按鍵了。系統(tǒng)中共有四個獨立按鍵,、。其中1號鍵為時間調(diào)整時間鍵,按下此鍵則進入時間調(diào)整狀態(tài),然后用2號鍵(增量鍵)或3號鍵(減量鍵)來完成時間的校準和鬧鐘的定時。用4號鍵可以顯示鬧鐘的具體時間。其具體的連接電路如圖315所示。圖315 AT89C51與鍵盤連接4 系統(tǒng)軟件設(shè)計軟件設(shè)計是本次系統(tǒng)設(shè)計的一個重要組成部分。而在單片機應(yīng)用系統(tǒng)中,最常用的程序設(shè)計方法是模塊程序設(shè)計。模塊程序設(shè)計具有結(jié)構(gòu)清晰、功能明確、設(shè)計簡便、程序模塊可共享、便于功能擴展及便于程序維護等特點。為了編制模塊程序,先要將軟件功能劃分為若干個子功能模塊,然后確定出各模塊的輸入、輸出及相互間的聯(lián)系。而本次系統(tǒng)設(shè)計也大都是使用這種軟件設(shè)計方法,根據(jù)系統(tǒng)軟、硬件的功能分工,確定出軟件應(yīng)完成的功能。在語言選擇方面,我選擇了匯編語言作為主開發(fā)語言。單片機的程序雖然也可以用C語言進行編寫。但與其相比,匯編語言只是在可讀性和開發(fā)周期上有些遜色于C語言,其運行效率一點都不比C語言差,相反用匯編語言編出來的程序無論是運行速度還是程序占用空間大小方面都比C語言編出來的程序要強的多。所以這次設(shè)計我選用了匯編語言。單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們編寫的匯編語言源程序需變?yōu)闄C器碼才可以在CPU上執(zhí)行。將源程序編譯成機器碼的軟件很多,我選用的是Keil軟件, Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN9NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的。用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。通過μVision可以完成編輯、編譯、連接等開發(fā)流程。Keil操作過程也十分的簡單,只需要打開Keil新建一個擴展名為asm文件,然后將其源程序代碼輸入進去,選擇編譯按鈕即可其源程序編譯成以hex為擴展名的二進制文件(機器碼),然后即可下載到單片機上執(zhí)行其程序。本系統(tǒng)程序設(shè)計采用匯編語言進行編寫。主程序設(shè)計思路為:先對系統(tǒng)進行初始化,如:LCD1602初始化,DS1302初始化等,然后才能進入主顯示模塊,即可在LCD1602上看到相應(yīng)的信息。對于LCD1602的初始化,主要是對開啟顯示屏,清屏,設(shè)置顯示初始行等操作。DS1302的初始化主要是先開啟寫功能,然后寫入一個初始值。具體的主程序流程如圖41開始系統(tǒng)初始化定時是否到?歡迎界面顯示主界面鬧鐘響調(diào)整時間是否調(diào)時間?查看定時?顯示定時是是所示。圖41 主程序流程圖主程序源代碼:MAIN:LCALL INIT_LCD1602 。調(diào)用顯示器LCD1602的初始化LCALL INIT_DS1302 。調(diào)用時鐘芯片DS1302的初始化LCALL INIT_TIMER 。調(diào)用鬧鐘初始化LCALL WELCOME 。調(diào)用歡迎界面START:LCALL DISPLAY_TIME 。調(diào)用時鐘顯示程序LCALL DISPLAY_TEMP 。調(diào)用溫度顯示程序LCALL TIMER 。調(diào)用鬧鐘判斷程序JB SETUP,START_NEXT 。判斷是否設(shè)置時間LCALL KEY_SELECT START_NEXT:JB TIMERDISPLAY,START 。判斷是否查看定點鬧鐘的具體時間LCALL TIMER_DISPLAYJMP START AT89C51LCD1602先將命令寫入LCD1602中,告訴它將做什么如果需要顯示數(shù)據(jù)的話,再將數(shù)據(jù)送入LCD1602中本系統(tǒng)采用的是LCD1602液晶顯示器,由于其是本身帶有驅(qū)動模塊的液晶屏,所以對于LCD1602操作程序可分為開顯示、設(shè)置顯示初始行、寫數(shù)據(jù)和清屏等部分。LCD1602的寫命令程序和寫數(shù)據(jù)程序分別以子程序的形式寫在程序里,以便主程序中的調(diào)用。對LCD1602的具體操作過程如圖42所示。圖42對LCD1602的具體操作過程1602LCD的總體操作流程圖見圖43所示。開始LCD初始化延時設(shè)第一行顯示位置顯示第一行內(nèi)容設(shè)第二行顯示位置顯示第二行內(nèi)容圖43 軟件流程圖LCD初始化程序:INIT_LCD1602:MOV LCD,01H ;清屏CALL ENABLE_ORDERMOV LCD,38H ;8位點陣,兩行顯示CALL ENABLE_ORDERMOV LCD,0CH ;顯示開關(guān)為開,光標開關(guān)為關(guān),閃爍開關(guān)為關(guān)CALL ENABLE_ORDERMOV LCD,80H ;顯示的起始位置為第一行的第一位CALL ENABLE_ORDERRETDS1302 與微處理器進行數(shù)據(jù)交換過程如圖44所示,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護;D6=0,指定時鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入), D0=1,指定讀操作(輸出)。 在DS1302的時鐘日歷或RAM進行數(shù)據(jù)傳送時,DS1302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。AT89C51LCD1602先將命令寫入DS1302,告訴它將做什么操作如果是寫數(shù)據(jù)的話,再將數(shù)據(jù)送入DS1302中如果是讀數(shù)據(jù)的話,直接從DS1302數(shù)據(jù)口讀出讀、寫DS1302的流程圖分別為圖45,圖46所示,其源程序見附錄代碼。開始復位端產(chǎn)生1個高電平將命令字寫到變量中向DS1302發(fā)送1位數(shù)據(jù)延時命令字是否傳輸完準備傳輸命令字中的下一位將數(shù)據(jù)寫到變量中向DS1302發(fā)送1位數(shù)據(jù)延時數(shù)據(jù)是否傳輸完準備傳輸數(shù)據(jù)中的下一位結(jié)束否否圖44 DS1302 與微處理器進行數(shù)據(jù)交換過程圖45 寫DS1302數(shù)據(jù)流程圖開始復位端產(chǎn)生1個高電平將命令字寫到變量中向DS1302發(fā)送1位數(shù)據(jù)延時命令字是否傳輸完準備傳輸命令字中的下一位將數(shù)據(jù)寫到變量中從DS1302接收 1位數(shù)據(jù)延時數(shù)據(jù)是否接收完準備接收數(shù)據(jù)中的下一位結(jié)束否否圖46 讀DS1302數(shù)據(jù)流程圖DS1302為單線接口且每一個DS18B20都有唯一的系列號,因此多個DS18B20可以存在于同一條單線上工作,但本系統(tǒng)就用了一個DS1302所以對DS18B20的搜索可以用Skip ROM命令跳過搜索,然后再對其進行操作。具體的DS18B20的操作過程如圖47所示。AT89C51LCD1602跳過搜索先將命令寫入DS1302,告訴它將做什么操作向DS18B20發(fā)讀命令如果是寫數(shù)據(jù)的話,再將數(shù)據(jù)送入DS1302中讀DS18B20的數(shù)據(jù)如果是讀數(shù)據(jù)的話,直接從DS1302數(shù)據(jù)口讀出圖47 DS18B20的操作過程開始初始化寫命令:跳過讀序列號操作(0XCC)寫命令:啟動溫度轉(zhuǎn)換溫度轉(zhuǎn)換結(jié)束?初始化寫命令:讀溫度寄存器寫命令:跳過讀序列號操作(0XCC)讀出溫度,并存儲結(jié)果結(jié)束否讀DS18B20的流程圖見圖48所示。其源程序可查閱附錄中的源代碼部分。圖48 讀DS18B20的流程圖鍵盤操作是本系統(tǒng)軟件設(shè)計中的難點,也是重點。本次設(shè)計我只用了四個鍵,它人分別是1號鍵(時間調(diào)整時間鍵),2號鍵(增量鍵),3號鍵(減量鍵),4號鍵(顯示定時時間鍵)。當按下1號鍵后會進入,時間調(diào)整程序,在不同的設(shè)置時段你可以通過2號鍵或者3號鍵來對年、月、日、周、時、分、鬧鐘的時、鬧鐘分進行設(shè)置。當退出時間調(diào)整程序后,按4號鍵可以查看設(shè)置鬧鐘的時間。鍵盤操作可以有兩個方式分別為中斷法和按鍵掃描法。我選擇的后者,因為用四個鍵如果用中斷的話,不容易控制,易出錯。而且如果用這種最傳統(tǒng)的掃描法,使程序看起來SETUP按下?調(diào)整年SETUP按下?調(diào)整月SETUP按下?調(diào)整日SETUP按下?調(diào)整周SETUP按下?調(diào)整時SETUP按下?調(diào)整分SETUP按下?調(diào)整鬧鐘時SETUP按下?調(diào)整鬧鐘分年否否否否否否否否思路更清晰、更明了、更容易理解。具體軟件設(shè)計流程圖如圖49所示。圖49 時間設(shè)置過程5 Proteus與Keil連接調(diào)試從“開始” —“程序” —“Keil μVision”中打開Keil工具,其工作界面如圖51所示。選擇“Project”—“New” —“μvision project”新建一個名為“多功能電子鐘程序”工程文件。將下來會出現(xiàn)如圖52所示的芯片選擇對話框,在“Data base”框下選擇“Ateml”公司的“AT89C51”芯片,點擊“確定”按鍵關(guān)閉此對話框。再選擇“File” —“New”新建一個文本文件,將源程序代碼添加到此文本中,然后將此文本文件以“”名進行保存,最后按編譯按鈕進行編譯。當編譯通過后將出現(xiàn)如圖53所示,同時系統(tǒng)也會生成一個 “”文本文件,此文件便是以后將要下載到單片機中的二進制文件。圖51 Keil主界面圖52 選擇器件界面圖53 編譯界面在Proteus中打開已經(jīng)設(shè)計好的硬件電路圖,選中AT89C51,將Keil編譯過的源程序?qū)懭雴纹瑱C中,見圖54所示。在Program File中選擇已經(jīng)編譯好的程序的仔細路徑,然后點擊“OK”按鈕,則Hex文件將正確地被寫入單片機中。圖54 寫入Hex文件點擊仿真按鈕,則將出現(xiàn)相應(yīng)的“WELCOM!”界面,如圖55所示。等歡迎使用界面過后就是本程序的主界面,即時間顯示界面,如圖56所示。圖55歡迎使用界面圖56時鐘顯示界面 6硬件實現(xiàn) Protel簡介Altium公司的Protel系列電路設(shè)計系統(tǒng)是建立在IBM系列PC兼容機環(huán)境下的EDA(電子設(shè)計自動化)輔助開發(fā)工具軟件,并且是世界上第一套將EDA環(huán)境引入Windows環(huán)境的EDA開發(fā)工具,以其良好的集成性和可擴展性而深受廣大電子設(shè)計愛好者歡迎。目前Protel系列軟件成為國內(nèi)電子電路設(shè)計者和各大公司使用最為廣泛的開發(fā)工具。其最新推出的Protel2004不僅具有以前版本所有的功能,而且其操作更為方便,功能更為強大,操作界面更加友好和個性化,是一套完整的板卡級設(shè)計系統(tǒng)。它使得電路系統(tǒng)開發(fā)設(shè)計更加智能化,從而縮短了產(chǎn)品的設(shè)計周期和調(diào)試時間,避免了設(shè)計錯誤。Portel是Portel公司在80年代末推出的EDA軟件,在電子行業(yè)的CAD軟件中,它當之無愧地排在眾多EDA軟件的前面,是電子設(shè)計者的首選軟件,它較早就在國內(nèi)開始使用,在國內(nèi)的普及率也最高,有些高校的電子專業(yè)還專門開設(shè)了課程來學習它,幾乎所有的電子公司都要用到它,許多大公司在招聘電子設(shè)計人才時在其條件欄上常會寫著要求會使用Portel。 Protel的硬件電路設(shè)計本系統(tǒng)硬件由控制時鐘芯片DS130溫度芯片DS18BAT89C51單片機和字符點陣型LCD1602液晶顯示器等器件構(gòu)成。用DS1302產(chǎn)生時鐘信號,用溫度芯片DS18B20產(chǎn)生溫度信號,由單片機負責接收并且對其進行控制,最后在LCD1602液晶顯示器然顯時間及溫度等信息。 創(chuàng)建項目文件選擇“開始”-“程序”-“Altium”-“DXP2004”啟動程序,進入到Protel DXP 2004漂亮的啟動界面,如圖61所示。圖61 Protel DXP2004啟動界面啟動界面自動加載完編輯器、編譯器、元件庫等模塊后進入設(shè)計主頁面,如圖62所示。圖62 Protel DXP 2004的主界面首先執(zhí)行菜單命令“文件” - “創(chuàng)建” - “項目” - “PCB項目”,創(chuàng)建一個新的PCB項目,并命名為“”,保存該項目到“在D:”下。然后在該項目中添加一個原理圖文件,命名為“”并保存在同一目錄下。 原理圖設(shè)計單擊工作區(qū)面板上的“Project”選項卡,從選項卡中選擇新建的原理圖文件“”,切換到原理圖編輯狀態(tài)界面,按照電路中用到的元件逐個放置,并對元件進行布局。再按照各個元件之間的電氣連接屬性,對電路進行連接。在連接的過程中,可以根據(jù)連接的需要適當調(diào)整元件的布局。在連線較復雜的地方可以通過放置
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1