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

正文內(nèi)容

基于51單片機(jī)的電子萬年歷設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-07-20 08:31 本頁面
 

【文章內(nèi)容簡介】 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,是目前功能最強(qiáng)大的單片機(jī)C語言集成開發(fā)環(huán)境。Keil C51生成的目標(biāo)代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。 Keil開發(fā)單片機(jī)程序的步驟如下:(1)工程的建立執(zhí)行菜單命令“工程(Project)\新建工程(New Project)”出現(xiàn)創(chuàng)建新工程對(duì)話框,起一個(gè)工程名,并在下拉列表中選擇單片機(jī)廠家和型號(hào),這里選擇Atmel公司的89C51,單擊“確定”按鈕。(2)工程屬性的設(shè)置根據(jù)不同的軟件配置和仿真調(diào)試情況,需要對(duì)工程屬性進(jìn)行設(shè)置:鼠標(biāo)右擊工程窗口下的“Target 1”,然后選擇“目標(biāo)屬性(Option for target 1)”,出現(xiàn)工程屬性對(duì)話框。該對(duì)話框有8個(gè)選項(xiàng)卡,大部分設(shè)置取默認(rèn)值即可。其中下列兩張選項(xiàng)卡需要進(jìn)行設(shè)置:“輸出(Output)” 輸出屬性設(shè)置圖目標(biāo)文件夾默認(rèn)為工程文件所在的文件夾,一般不需修改??梢詥螕簟斑x擇obj文件”按鈕進(jìn)行查看和修改。勾選“生成HEX文件”則在構(gòu)造時(shí)會(huì)產(chǎn)生HEX格式的目標(biāo)文件。這是Intel公司提出的數(shù)據(jù)格式,所有數(shù)據(jù)使用16進(jìn)制數(shù)字表示。在Proteus ISIS中進(jìn)行單片機(jī)仿真調(diào)試時(shí)需要用到這種格式文件;構(gòu)造實(shí)際的單片機(jī)應(yīng)用系統(tǒng)時(shí),也需要將這種格式的文件下載到單片機(jī)程序存儲(chǔ)器中。“調(diào)試(Debug)”選項(xiàng)卡設(shè)置Keil提供兩類調(diào)試方法。一是在Keil中進(jìn)行軟件仿真調(diào)試,這時(shí)應(yīng)選“使用仿真器”。二是配合硬件仿真器或電路仿真軟件進(jìn)行程序和電路的聯(lián)合調(diào)試,這時(shí)要選“使用:Proteus VSM Simulator”選項(xiàng),,安裝后在此處的列表中將會(huì)出現(xiàn)“Proteus VSM Simulator”選項(xiàng),供于ISIS進(jìn)行程序和電路的聯(lián)調(diào)使用。如果Keil和ISIS在同一臺(tái)計(jì)算機(jī)上運(yùn)行,則需單擊“設(shè)置”,填入運(yùn)行ISIS計(jì)算機(jī)的IP地址,端口號(hào)為8000。還要說明的是,兩者聯(lián)調(diào)時(shí),要在ISIS中選擇“DEBUG”菜單下的“Use remote debug monitor”。(3)源文件的建立和添加Keil內(nèi)集成有一個(gè)文本編輯器,故可以在集成環(huán)境中直接進(jìn)行源程序的輸入。編輯器支持語法著色功能,即對(duì)添加到工程中的源程序,不同語法成分用不同顏色著色表示,例如,關(guān)鍵字用藍(lán)色表示,以便查看和發(fā)現(xiàn)錯(cuò)誤。但該文本編輯器對(duì)漢字的支持較差,故程序注釋最好使用英文或漢語拼音。執(zhí)行、菜單命令“文件(File)\新建(New)”,在源程序窗口會(huì)出現(xiàn)一個(gè)新的文件輸入窗口,可在該窗口里輸入源程序。輸入完畢后,選擇“文件(File)\保存(Save)”,輸入文件名,把文件保存在工程目錄中。文件取名時(shí)必須加上擴(kuò)展名。 調(diào)試屬性的設(shè)置程序編寫完成以后,并不會(huì)自動(dòng)出現(xiàn)在工程窗口中,“Source group 1”,在出現(xiàn)的快捷菜單中選擇“增加文件到(ADD Files to Group“Source group 1”)”,出現(xiàn)添加文件的對(duì)話框,選擇相應(yīng)源程序即可。在工程中添加源文件也可以通過相應(yīng)的菜單操作完成:“工程(Project)\目標(biāo),組和文件(Targets Groups Files)?!盞eil 默認(rèn)加入文件格式為C語言源文件,因此在默認(rèn)情況下,“文件類型”下拉列表框中不顯示該文件夾下的匯編文件。要顯示匯編語言源文件,需要單擊“文件類型”下拉列表框右側(cè)的下三角按鈕,彈出下拉列表,選擇“Asm Source file(*.a*。*.src)”,這時(shí)才會(huì)將文件夾下的“*.asm”文件顯示出來。鼠標(biāo)左鍵雙擊要加入的文件,或單擊要加入的文件后單擊“Add”按鈕,都可以將該文件加入到工程中。回到主界面,加入的文件即出現(xiàn)在工程管理器“Source Group 1”上午下一級(jí)菜單中,雙擊該文件名,將在右邊編輯窗口打開該文件,可以進(jìn)行第一步編輯。(4)構(gòu)造目標(biāo)程序設(shè)置好工程并添加了源程序文件后,即單擊構(gòu)造目標(biāo)框上的相關(guān)構(gòu)造工具或按快捷鍵F7進(jìn)行目標(biāo)構(gòu)造,即對(duì)工程進(jìn)行匯編或編譯、連接,最終生成目標(biāo)文件*.HEX等相關(guān)文件。構(gòu)造過程中,有關(guān)信息將出現(xiàn)在屏幕下方輸出窗口中的“Build(構(gòu)造)”頁中。如果程序中有語法錯(cuò)誤,這里會(huì)出現(xiàn)錯(cuò)誤報(bào)告;雙擊錯(cuò)誤報(bào)告行,可以定位到源程序中相關(guān)的出錯(cuò)行。對(duì)源程序反復(fù)修改后,最終構(gòu)造后輸出窗口中應(yīng)出現(xiàn)“0錯(cuò)誤”或“0Error”,表示程序已沒有語法錯(cuò)誤。構(gòu)造的目標(biāo)文件*.HEX被用于下載到單片機(jī)芯片中。這一過程中,在工程文件夾中還會(huì)生成其他一些文件,如*.LST列表文件、*.obj目標(biāo)文件\*.M51程序符號(hào)列表文件。在設(shè)計(jì)和調(diào)試狀態(tài)下均可以直接修改程序的源代碼,必須對(duì)工程重新進(jìn)行構(gòu)造,從而產(chǎn)生新的目標(biāo)文件,否則Keil 調(diào)試所使用的目標(biāo)文件仍然是上次構(gòu)造的。 Proteus 與Keil的聯(lián)調(diào)(1)下載并安裝Proteus 與Keil軟件。(2)安裝完畢后,把Proteus 7 Professional\MODELS\目錄下的 Keil\C51\BIN 文件夾下。 (3)用記事本或者其它的編輯軟件,打開Keil 根目錄下的 文件,在[C51] 欄目下加入 TDRV3=BIN\ (Proteus VSM Monitor51 Driver ) ,其中“TDRV3” 中的 “3”要根據(jù)實(shí)際情況寫,不要和已有的TDRV重復(fù)即可。(4)keil的設(shè)置。把C:\Program Files\Labcenter Electronics\Proteus 6 Professional \SAMPLES中的8051 LCD Driver”文件夾復(fù)制到新建的Proteus文件夾下。運(yùn)行keil程序,在8051 LCD Driver文件夾下建立一個(gè)新的名為8051 LCD Driver工程。單片機(jī)的型號(hào)可選擇AT89C52,把LCDDEMO 文件加到Source Group 1組里。點(diǎn)擊工具欄的option for target按鈕,在出現(xiàn)的對(duì)話框里點(diǎn)擊Debug,在右欄上部的下拉菜單里選中 Proteus VSM Monitor51 Driver,還要點(diǎn)擊一下Use前面的小圓點(diǎn)。點(diǎn)擊Setting設(shè)置通信接口,在Host后面添上,如果想換一臺(tái)電腦,在這里添上另一臺(tái)電腦的IP地址即可。在Port后面添上8000。點(diǎn)擊OK按鈕。最后把工程編譯一下再運(yùn)行。(5)Proteus的設(shè)置。運(yùn)行Proteus的ISIS,進(jìn)入主界面后鼠標(biāo)左鍵點(diǎn)擊菜單DEBUG,選中use remote debugger monitor。再用鼠標(biāo)左鍵點(diǎn)擊菜單File,點(diǎn)擊Load Design,導(dǎo)入8051 LCD Driver。要把keil的工程和Proteus的文件放到同一個(gè)目錄下,即Proteus的工程文件要和Keil工程的那個(gè)文件夾在同一層目錄下。(6)調(diào)試并運(yùn)行。打開keil,按Ctrl+F5進(jìn)入調(diào)試界面或者點(diǎn)擊工具欄的調(diào)試按鈕。如果不能進(jìn)入調(diào)試界面,可能設(shè)置有誤,按照上面的步驟再重新設(shè)置一下。進(jìn)入了調(diào)試界面,按F5或者點(diǎn)擊工具欄的調(diào)試按鈕,全速運(yùn)行,再看看ISIS,觀察其變化。連接成功以后,就可以開始調(diào)試程序了,調(diào)試成功后再點(diǎn)擊運(yùn)行按鈕運(yùn)行程序得到運(yùn)行效果。 4 系統(tǒng)的軟件設(shè)計(jì) 程序流程框圖開始初始化讀、寫日期、時(shí)間和溫度分離日期\時(shí)間\溫度顯示值顯示子程序農(nóng)歷自動(dòng)更新子程序日期、時(shí)間修改子程序閏月子程返回定時(shí)鬧鈴子程序 主程序流程圖主程序才用模塊化設(shè)計(jì)。從上面主程序看出,主程序的組成是通過分別調(diào)用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,首先是初始化各模塊,之后調(diào)用鍵盤完成時(shí)間的調(diào)整,調(diào)用日歷子程序完成日歷時(shí)鐘的初始化和時(shí)間數(shù)據(jù)的讀寫,調(diào)用顯示子程序顯示數(shù)據(jù),最后又轉(zhuǎn)到鍵盤程序來回循環(huán)。初始化部分主要有初始化定時(shí)器部分和和一些寄存器、標(biāo)志位、初始化時(shí)間等。對(duì)定時(shí)器T0初始化時(shí),首先置初值,CPU開中斷,定時(shí)器T0開中斷,并且開始計(jì)數(shù),而對(duì)定時(shí)器T1初始化時(shí),首先置初值,定時(shí)器T1關(guān)中斷,并且停止計(jì)數(shù),只有收到命令時(shí)才能產(chǎn)生中斷。寄存器的初始化主要是初始化執(zhí)行程序時(shí)用到的部分RAM空間,防止程序執(zhí)行時(shí)帶來混亂。標(biāo)志位初始化是對(duì)時(shí)間調(diào)整時(shí)判斷是調(diào)分還是調(diào)時(shí)等而專設(shè)的位標(biāo)志,初始化過程中標(biāo)志位全部置0,即開始時(shí)是處于顯示狀態(tài),而不是調(diào)整狀態(tài),這一點(diǎn)在程序中相當(dāng)明了。初始化時(shí)間是開機(jī)時(shí)顯示的時(shí)間,并通過調(diào)用日歷時(shí)鐘的寫程序來完成時(shí)間的置初值。 程序的設(shè)計(jì) 主電路設(shè)計(jì)主電路的功能是完成年、月、日、星期、時(shí)、分、秒之間的轉(zhuǎn)換, 再送往LED顯示,并且接受鍵盤操作,對(duì)日期和時(shí)間進(jìn)行校正。,顯示部分用P0口做為輸出數(shù)據(jù)接到LED數(shù)碼管a到h,并接74ls244做為各段的驅(qū)動(dòng)(為了簡化電路圖在此用了8個(gè)上拉電阻代替74ls244)。用P3口的低3位接譯碼器的A0,A1,A2端,,,通過控制P3口來控制LED的動(dòng)態(tài)掃描。單片機(jī)的18和19引腳接12MHZ的晶振,并接兩個(gè)22PF的電容同時(shí)接地,單片機(jī)復(fù)位端接一極性電容并連接到電源處,在極性電容的負(fù)極接一10K的電阻,并連接至地做為放電用。本設(shè)計(jì)用到四個(gè)獨(dú)立式鍵盤分別接到P1口的低4位,,,并接兩個(gè)22PF的電容終端和地相連,各芯片的電源部分分別接到有開關(guān)式電源產(chǎn)生的+5V電源上,芯片的接地端都接在公共地上,在這里接電源部分就不再一一詳述。設(shè)計(jì)采用動(dòng)態(tài)顯示,輪流掃描各個(gè)LED使之顯示相應(yīng)的數(shù)型碼,當(dāng)掃描頻率大于人眼所能識(shí)別的頻率時(shí)就看不到閃爍現(xiàn)象。動(dòng)態(tài)顯示的亮度不如靜態(tài)顯示,但靜態(tài)顯示占用的I/O口資源較多,往往用移位寄存器74LS164等來擴(kuò)充其I/O口不足的情況,當(dāng)顯示位數(shù)較多時(shí),這樣勢必增加硬件開銷,增大成本,不利于開闊市場。本設(shè)計(jì)的突出之處在于硬件電路簡單,大大減少了硬件開銷,這樣又勢必增加了軟件開發(fā)的難度,但降低了成本有利于市場的開闊。 鍵盤子程序設(shè)計(jì)多功能鍵盤程序的設(shè)計(jì)是本設(shè)計(jì)的難點(diǎn),也是完成本設(shè)計(jì)的重點(diǎn),當(dāng)有鍵按下時(shí),調(diào)用10ms延時(shí)程序,再判斷是否有鍵按下無則返回,若有先調(diào)用顯示程序再判斷是否松開,否則再轉(zhuǎn)到顯示程序,這樣避免了在按鍵松開之前能正常顯示。其中K1鍵功能最多,通過判斷K1鍵按下的次數(shù)來判斷是調(diào)時(shí)間還是定時(shí),并對(duì)對(duì)應(yīng)的位置閃爍。本鍵盤深度為7級(jí),即連續(xù)按下K1鍵8次時(shí)則返回到原來界面。當(dāng)判斷鍵值為1時(shí)則為調(diào)秒狀態(tài),對(duì)應(yīng)的秒低位閃爍,為2時(shí)為調(diào)分狀態(tài)并分閃爍,為3時(shí)為調(diào)時(shí)狀態(tài)并時(shí)閃爍,為4時(shí)為調(diào)日狀態(tài)并日閃爍,為5時(shí)為調(diào)月狀態(tài)并月閃爍,為6時(shí)為調(diào)年?duì)顟B(tài)并年閃爍,為7時(shí)為調(diào)星期狀態(tài)并星期閃爍。 K2為加1鍵,K3為減1鍵,K4為總返回鍵,即在調(diào)時(shí)見時(shí)不用只有按下K1鍵值為8才返回,而通過按下K4鍵即可返回。由于鍵盤流程圖非常復(fù)雜,在此只表示秒,其余略。N開始 有鍵按下?延時(shí)10msK2按下?K3按下?K4按下?K1按下?調(diào)顯示K1為0?鍵值加1Y調(diào)顯示有鍵按下?鍵值清0標(biāo)志位清0返回回 NNNYNYN下頁1YYY下頁31鍵值為1?調(diào)顯示秒閃爍秒標(biāo)志位置1K2按下?K3按下?秒減1秒數(shù)據(jù)送DS1302秒加13YNYY鍵值為?N。。。。。 鍵盤子程序流程圖 日歷時(shí)鐘子程序設(shè)計(jì)DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。日歷時(shí)鐘DS1302的讀寫需要初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送是低位在先。讀寫都是16位數(shù)據(jù)高8位是地址低8位是數(shù)據(jù),在讀寫時(shí)要嚴(yán)格遵從其讀寫時(shí)序,否則讀寫將會(huì)失效。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc≥,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平,這一點(diǎn)我們要一定注意。當(dāng)RST置為高電平時(shí),在串行時(shí)鐘的SCLK的上升沿,DS1302從I/O端口讀入一位數(shù)據(jù),8個(gè)串行時(shí)鐘脈沖就可以讀入一字節(jié)的數(shù)據(jù)。在串行時(shí)鐘的下降沿,DS1302向I/O端口輸出一位數(shù)據(jù),8個(gè)串行時(shí)鐘脈沖就可以輸出一字節(jié)的數(shù)據(jù)。顯示子程序設(shè)計(jì)電子產(chǎn)品是否實(shí)用其中顯示占了很重要的地位,很多數(shù)人都渴求用視覺效果好,范圍廣,直觀明了,LED符合以上的要求,但相應(yīng)的硬件設(shè)計(jì)相對(duì)復(fù)雜。RST置1開 始發(fā)送1位命令碼命令碼8位送完?寫一位數(shù)據(jù)數(shù)據(jù)寫完?RST置0(a)時(shí)鐘寫結(jié) 束開 始RST置1發(fā)送1位命令碼命令碼8位送完?讀一位數(shù)據(jù)數(shù)據(jù)讀完?R
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1