版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課程設計任務書學 院信息科學與工程學院專 業(yè)計算機科學與技術學生姓名朱偉杰班級學號1203050116課程設計題目電子日歷時鐘顯示器設計實踐教學要求與任務:1 學習Proteus仿真系統(tǒng)下的原理圖設計方法和系統(tǒng)仿真調試方法;2 掌握簡單的51單片機應用系統(tǒng)的軟硬件設計方法;3 學習Keil C51集成開發(fā)環(huán)境的使用和程序調試方法。具體任務如下:(1)通過檢索、查資料和研究學習,設計單片機應用系統(tǒng)原理圖;(2)在Keil 51集成開發(fā)環(huán)境下編寫應用系統(tǒng)程序;(3)在Proteus仿真環(huán)境下進行軟硬件系統(tǒng)調試,實現(xiàn)應用系統(tǒng)設計目標;(4)寫出課程設計報告。 工作計劃與進度安排:第1619周:布置課
2、程設計任務;查閱資料;分組設計原理圖;編寫程序代碼。第20周:系統(tǒng)仿真調試,驗收,答辯,編寫課程設計報告。指導教師:馬秀麗 劉猛 2014年12月7日專業(yè)負責人: 2014年12月8日學院教學副院長: 2014年12月8日成績評定表學生姓名朱偉杰班級學號1203050116專業(yè)計算機科學與技術課程設計題目電子日歷時鐘顯示器設計評語組長簽字:成績日期 年 月 日目錄1.設計目的及要求11.1課程設計目的11.2設計內容、技術條件和要求11.2.1設計內容11.2.2 設計要求12.系統(tǒng)的組成及工作原理22.1系統(tǒng)組成22.2 工作原理22.3 Protues簡介32.4 Keil C51簡介33
3、器件的功能和作用43.1 AT89C51簡介43.2DS1302簡介63.3 LM016L簡介74系統(tǒng)硬件設計95.系統(tǒng)軟件設計105.1程序流程圖105.2 程序清單及程序功能注釋106.系統(tǒng)仿真調試206.1程序調試過程206.2仿真調試過程227.結果分析248.體會與感想249.參考文獻241.設計目的及要求1.1課程設計目的1. 培養(yǎng)學生文獻檢索的能力,如何利用Internet檢索需要的文獻資料。2. 培養(yǎng)學生綜合分析問題、發(fā)現(xiàn)問題和解決問題的能力。3. 培養(yǎng)學生綜合運用知識的能力和工程設計的能力。4. 培養(yǎng)學生理論聯(lián)系實際的能力。5. 提高學生課程設計報告撰寫水平。1.2設計內容、
4、技術條件和要求1.2.1設計內容電子日歷時鐘系統(tǒng)主要功能為實時時間的顯示,以AT89C51單片機為核心芯片,通過DS1302時鐘芯片的功能擴展;在共陰極LED數(shù)碼管上或LM1602液晶顯示屏上顯示出來。(1)時鐘芯片選用DS1302;(2)數(shù)碼管選用4位共陰極動態(tài)顯示的數(shù)碼管;(3)能實時顯示年、月、日和時、分、秒,用數(shù)碼管顯示時,要求年、月、日與時、分、秒交替顯示,間隔1秒;(4)可通過按鍵調節(jié)、設置當前時間。1.2.2 設計要求DS1302時鐘芯片的控制設計。時間調節(jié)按鍵的電路設計。繪制實現(xiàn)本設計內容的硬件電路(原理圖),系統(tǒng)的組成框圖。相應的控制狀態(tài)表;編寫本課程設計內容的軟件設計(包含
5、程序流程圖和對程序注釋)。硬件實驗部分可選用實驗箱測試或Proteus仿真軟件實現(xiàn)。2.系統(tǒng)的組成及工作原理2.1系統(tǒng)組成圖2.1系統(tǒng)組成原理圖2.2 工作原理設計的題目是電子時鐘。根據(jù)設計要求顯示正常的年、月、日、時、分、秒。要想實現(xiàn)上述功能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機的結合在一起,方可實現(xiàn)我們設計任務中的各項要求。硬件系統(tǒng)主要有單片機AT89C51、DS1302、74LS154 等。AT89C51 主要功能是存儲程序、根據(jù)程序的內容對各個端口進行判斷并做出相應的處理。DS1302主要的功能是控制年、月、日、時、分、秒的顯示效果。根據(jù)設計要求,電子日歷要顯示年、月、日、時、分、秒就需要1
6、6個顯示數(shù)碼管,由于數(shù)碼管的數(shù)量較多,必須采用動態(tài)顯示掃描的方法。例如07-12-01,首先日分為個位和十位,個位顯示到09時,應向日的十位自動進位,即個位清0,十位置1,顯示為10,繼續(xù)累計;當顯示為31時,日的十位就應自動向月的個位進位,顯示為01,當月顯示到09時,月的個位自動向月的十位進位,個位清0,十位置1,即為10,當月至12時,月向年的個位進位,即顯示08,同時月、日開始從01月01日繼續(xù)顯示,依次周而復始的循環(huán)運行。根據(jù)按鍵電路可實現(xiàn)年、月、日、時、分、秒的調整,當K1鍵按下時,可以調整時間,K2、K3鍵分別對時間進行加或減,K4鍵可以切換正常模式與省電模式。利用單片機將RC復
7、位電路、動態(tài)顯示電路、電源電路、去抖電路等正確的連接在一起,并通過單片機的編程來實現(xiàn)本次設計任務中的要求。2.3 Protues簡介Protues軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。迄
8、今為止是世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯2.4 Keil C51簡介Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編
9、、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。3器件的功能和作用3.1 AT89C51簡介AT89C51各引腳結構如圖3.1所示:圖3.1AT89C51引腳圖VCC:電源電壓 GND:接地 P0口:P0口是一組8位漏極開路雙向I/O口,即地址/數(shù)據(jù)總線復用口。作為輸出口時,每一個管腳都能夠驅
10、動8個TTL電路。當“1”被寫入P0口時,每個管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問外部數(shù)據(jù)存儲器或程序存儲器時,轉換地址和數(shù)據(jù)總線復用,并在這時激活內部的上拉電阻。P0口在閃爍編程時,P0口接收指令,在程序校驗時,輸出指令,需要接電阻。 P1口:P1口一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動4個TTL電路。對端口寫“1”,通過內部的電阻把端口拉到高電平,此時可作為輸入口。因為內部有電阻,某個引腳被外部信號拉低時輸出一個電流。閃爍編程時和程序校驗時,P1口接收低8位地址。 P2口:P2口是一個內部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動4個TTL電路。
11、對端口寫“1”,通過內部的電阻把端口拉到高電平,此時,可作為輸入口。因為內部有電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內容在整個運行期間不變。閃爍編程或校驗時,P2口接收高位地址和其它控制信號。 P3口:P3口是一組帶有內部電阻的8位雙向I/O口,P3口輸出緩沖故可驅動4個TTL電路。對P3口寫如“1”時,它們被內部電阻拉到高電平并可作為輸入端時,被外部拉低的P3口將用電阻輸出電流。P3口除了作為一般的I/O口外,更重要的用途是它的第二功能,具體如下:P3.0-RX
12、D,P3.1-TXD,P3.2-INT0,P3.3-INT1,P3.4-T0,P3.5-T1,P3.6-WR,P3.7-RD。P3口還接收一些用于閃爍存儲器編程和程序校驗的控制信號。 RST:復位輸入。當震蕩器工作時,RET引腳出現(xiàn)兩個機器周期以上的高電平將使單片機復位。 ALE/ :當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE以時鐘震蕩頻率的1/16輸出固定的正脈沖信號,因此它可對輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖時,閃爍存儲器編程時,這個引腳還用于輸入編程脈沖。如果必要,可對特殊寄存器
13、區(qū)中的8EH單元的D0位置禁止ALE操作。這個位置后只有一條MOVX和MOVC指令ALE才會被應用。此外,這個引腳會微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。 PSEN:程序儲存允許輸出是外部程序存儲器的讀選通信號,當AT89C51由外部程序存儲器讀取指令時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN 信號不出現(xiàn)。 EA/VPP:外部訪問允許。欲使中央處理器僅訪問外部程序存儲器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內部程序存儲器中的指令。閃爍存儲
14、器編程時,該引腳加上+12V的編程允許電壓VPP,當然這必須是該器件是使用12V編程電壓VPP。 XTAL1:片內振蕩器反相放大器和時鐘發(fā)生線路的輸入端。使用片內振蕩器時,連接外部石英晶體和微調電容。XTAL2:片內振蕩器反相放大器的輸出端。當使用片內振蕩器時,外接石英晶體和微調電容。3.2DS1302簡介DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。結構如圖3.2所示:圖3.2 DS1302引腳圖采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)
15、的時鐘信號或RAM數(shù)據(jù)。DS1302內部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。DS1302 的管腳排列及描述如下圖及表所示X1、X2:32.768KHZ晶振接入引腳。GND:地。RST:復位引腳,低電平有效。IO:數(shù)據(jù)輸入輸出引腳,具有三態(tài)功能。SCLK:串行時鐘輸入引腳。VCC1:工作電源引腳。VCC2:備用電源引腳。3.3 LM016L簡介1602采用標準的16腳接口,結構如圖3.3所示:圖3.3 LMO16L其中:VSS:為電源地VDD:接5
16、V電源正極VEE:為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。RS:為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。RW:為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。E(或EN):為使能(enable)端,高電平(1)時讀取信息,負跳變時執(zhí)行指令。D0D7:為8位雙向數(shù)據(jù)端。表3.1指令集表指令碼功能指令RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM填滿20H,并且設定DDRAM的地址計數(shù)器(AC)到00H地址歸位00
17、0000001X設定DDRAM的地址計數(shù)器(AC)到00H,并且將游標移到開頭原點位置;顯示狀態(tài)開/關0000001DCBD=1: 整體顯示 ONC=1: 游標ONB=1:游標位置反白允許進入點設定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時,設定游標的移動方向及指定顯示的移位游標或顯示移位控制000001S/CR/LXX設定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內容功能設定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=0/1:基本指令操作 / 擴充指令操作設定CGRAM地址0001AC5AC4AC3AC2AC1AC0設定CGRAM 地址設定DDRAM地址00
18、10AC5AC4AC3AC2AC1AC0設定DDRAM 地址(顯示位址)第一行:80HA7H第二行:C0HE7H讀取忙標志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標志(BF)可以確認內部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內部的RAM 讀出RAM的值11數(shù)據(jù)從內部RAM讀取數(shù)據(jù)D7D04系統(tǒng)硬件設計電子日歷時鐘系統(tǒng)主要功能為實時時間的顯示,以AT89C51單片機為核心芯片,通過DS1302時鐘芯片的功能擴展;在共陰極LED數(shù)碼管上或LM1602液晶顯示屏上顯示出來。原理圖如圖4.1所示:圖4.1 系統(tǒng)原理圖5.系統(tǒng)軟件
19、設計5.1程序流程圖軟件設計分為:動態(tài)掃描、主程序、系統(tǒng)資源分配和軟件模塊幾部分,在此設計中采用定時器來完成動態(tài)掃描顯示。用定時器T0定20ms的時間間隔,每次定時時間到時就輸出一個LED信號,即顯示一位。主程序初始化后,就開始進行對DS1302的讀時間;讀完后送顯示緩沖區(qū),同時并對定時時間進行判斷比較。DS1302的地址由114字節(jié)的用戶RAM存放。10字節(jié)的存放實時時鐘時間日歷和定鬧RAM及用于控制和狀態(tài)的4字節(jié)特殊寄存器組成,幾乎所有的128個字節(jié)直接讀寫。設計程序有:主程序、讀取時間的子程序和顯示刷新程序。圖5.1程序流程圖5.2 程序清單及程序功能注釋#include /包含單片機寄
20、存器的頭文件#include /包含_nop_()函數(shù)定義的頭文件/*以下是DS1302芯片的操作程序*/unsigned char code digit10=0123456789; /定義字符數(shù)組顯示數(shù)字sbit DATA=P17; /位定義1302芯片的接口,數(shù)據(jù)輸出端定義在P1.7引腳sbit RST=P15; /位定義1302芯片的接口,復位端口定義在P1.5引腳sbit SCLK=P16; /位定義1302芯片的接口,時鐘輸出端口定義在P1.6引腳/*函數(shù)功能:延時若干微秒入口參數(shù):n*/ voiddelaynus(unsigned char n)unsigned char i;fo
21、r(i=0;in;i+);/*函數(shù)功能:向1302寫一個字節(jié)數(shù)據(jù)入口參數(shù):x*/ void Write1302(unsigned char dat)unsigned char i; SCLK=0; /拉低SCLK,為脈沖上升沿寫入數(shù)據(jù)做好準備delaynus(2); /稍微等待,使硬件做好準備for(i=0;i=1; /將dat的各數(shù)據(jù)位右移1位,準備寫入下一個數(shù)據(jù)位/*函數(shù)功能:根據(jù)命令字,向1302寫一個字節(jié)數(shù)據(jù)入口參數(shù):Cmd,儲存命令字;dat,儲存待寫的數(shù)據(jù)*/ void WriteSet1302(unsigned char Cmd,unsigned char dat)RST=0;
22、/禁止數(shù)據(jù)傳遞SCLK=0; /確保寫數(shù)居前SCLK被拉低RST=1; /啟動數(shù)據(jù)傳輸delaynus(2); /稍微等待,使硬件做好準備Write1302(Cmd); /寫入命令字Write1302(dat); /寫數(shù)據(jù)SCLK=1; /將時鐘電平置于已知狀態(tài)RST=0; /禁止數(shù)據(jù)傳遞/*函數(shù)功能:從1302讀一個字節(jié)數(shù)據(jù)入口參數(shù):x*/ unsigned char Read1302(void)unsigned char i,dat;delaynus(2); /稍微等待,使硬件做好準備for(i=0;i=1; /將dat的各數(shù)據(jù)位右移1位,因為先讀出的是字節(jié)的最低位if(DATA=1) /
23、如果讀出的數(shù)據(jù)是1dat|=0x80; /將1取出,寫在dat的最高位SCLK=1; /將SCLK置于高電平,為下降沿讀出delaynus(2); /稍微等待SCLK=0; /拉低SCLK,形成脈沖下降沿delaynus(2); /稍微等待 return dat; /將讀出的數(shù)據(jù)返回 /*函數(shù)功能:根據(jù)命令字,從1302讀取一個字節(jié)數(shù)據(jù)入口參數(shù):Cmd*/ unsigned char ReadSet1302(unsigned char Cmd)unsigned char dat;RST=0; /拉低RSTSCLK=0; /確保寫數(shù)居前SCLK被拉低RST=1; /啟動數(shù)據(jù)傳輸Write1302
24、(Cmd); /寫入命令字dat=Read1302(); /讀出數(shù)據(jù)SCLK=1; /將時鐘電平置于已知狀態(tài)RST=0; /禁止數(shù)據(jù)傳遞return dat; /將讀出的數(shù)據(jù)返回/*以下是對液晶模塊的操作程序*/sbit RS=P20; /寄存器選擇位,將RS位定義為P2.0引腳sbit RW=P21; /讀寫選擇位,將RW位定義為P2.1引腳sbit E=P22; /使能信號位,將E位定義為P2.2引腳sbit BF=P07; /忙碌標志位,將BF位定義為P0.7引腳/*函數(shù)功能:延時1ms(3j+2)*i=(333+2)10=1010(微秒),可以認為是1毫秒*/void delay1ms
25、()unsigned char i,j; for(i=0;i10;i+)for(j=0;j33;j+); /*函數(shù)功能:延時若干毫秒入口參數(shù):n*/voiddelaynms(unsigned char n)unsigned char i;for(i=0;i4)*10 + (ReadValue&0x0F);/將讀出數(shù)據(jù)轉化Display(second,0x4c); /顯示秒ReadValue = ReadSet1302(0x83); /從分寄存器讀minute=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); /將讀出數(shù)據(jù)轉化 Display(minute,0x
26、49); /顯示分ReadValue = ReadSet1302(0x85); /從小時寄存器讀hour=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); /將讀出數(shù)據(jù)轉化Display(hour,0x46); /顯示小時ReadValue = ReadSet1302(0x87); /從分寄存器讀day=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); /將讀出數(shù)據(jù)轉化Display(day,0x0c); /顯示日ReadValue = ReadSet1302(0x89); /從分寄存器讀month=(ReadValue&0x
27、70)4)*10 + (ReadValue&0x0F); /將讀出數(shù)據(jù)轉化Display(month,0x09); /顯示月ReadValue = ReadSet1302(0x8d); /從分寄存器讀year=(ReadValue&0xf0)4)*10 + (ReadValue&0x0F); /將讀出數(shù)據(jù)轉化Display(year,0x06); /顯示年 6.系統(tǒng)仿真調試6.1程序調試過程(1)在keilC51中建立project,在keilc51界面上點擊菜單欄的“Project”,選擇“New Project”,在界面會顯示出如圖6.1所示的窗口,保存路徑自己定義,在文件名上輸入自己給工程起的名字,然后點擊保存圖6.1創(chuàng)建工程文件(2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年杭州客車駕駛員考試試題答案
- 2024年金昌道路旅客運輸知識考試題庫
- 2024年重慶客運駕駛員試題及答案
- 2024年寧德小型客運從業(yè)資格證理論考題
- 裝飾裝修工程重點難點及處理措施
- 賽項規(guī)程-中職學生組(學前教育技能)
- 《基礎會計學》期末模擬試題及答案
- 山西省長治市武鄉(xiāng)縣多校2024-2025學年八年級上學期期中地理試卷
- 班主任工作讀書報告
- 服裝租賃解除律師函
- 信息網(wǎng)絡傳播視聽節(jié)目許可證申請表(示范文本及錯誤示例)
- 2024年發(fā)展對象考試試題庫及答案(完整版)
- 跨境電商數(shù)據(jù)分析與應用-課程標準
- (高清版)JTG 5210-2018 公路技術狀況評定標準
- DZ∕T 0033-2020 固體礦產(chǎn)地質勘查報告編寫規(guī)范(正式版)
- 2024年輔警招聘考試試題庫附參考答案(完整版)
- 《電力建設施工企業(yè)安全生產(chǎn)標準化實施規(guī)范》
- 如何開展指向學科核心素養(yǎng)的大單元設計
- 三叉神經(jīng)微血管減壓術的手術配合專家講座
- GB/T 43638-2024周圍神經(jīng)功能障礙法醫(yī)臨床鑒定技術規(guī)范
- 國旗國徽國歌知識講座
評論
0/150
提交評論