第一章 諸論1.1設(shè)計(jì)背景時(shí)鐘是人們必不可少的生活用品。從古代的滴漏更鼓到近代的機(jī)械鐘,從電子表到目前的數(shù)字時(shí)鐘,為了準(zhǔn)確的測(cè)量和記錄時(shí)間,人們一直在努力改進(jìn)計(jì)時(shí)工具。鐘表的數(shù)字化,大力推動(dòng)了計(jì)時(shí)的精確性和可靠性。在單片機(jī)構(gòu)成的裝置中,數(shù)字時(shí)鐘是必不可少的部件。它的用途十分廣泛,只要有計(jì)時(shí)的存在,便要用到數(shù)字時(shí)鐘的原理及結(jié)構(gòu);同時(shí)在日期中,它以其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)的喜愛(ài)。
隨著人類(lèi)科技文明的發(fā)展,人們對(duì)于時(shí)鐘的要求在不斷地提高。時(shí)鐘已不僅僅被看成一種用來(lái)顯示時(shí)間的工具,在很多實(shí)際應(yīng)用中它還需要能夠?qū)崿F(xiàn)更多其它的功能。高精度、多功能、小體積、低功耗,是現(xiàn)代時(shí)鐘發(fā)展的趨勢(shì)。在這種趨勢(shì)下,時(shí)鐘的數(shù)字化、多功能化已經(jīng)成為現(xiàn)代時(shí)鐘生產(chǎn)研究的主導(dǎo)設(shè)計(jì)方向。
本次設(shè)計(jì)的數(shù)字時(shí)鐘與傳統(tǒng)的時(shí)鐘相比,具有高精度、多功能、小體積、低功耗的優(yōu)勢(shì),其時(shí)間采用數(shù)字顯示。該設(shè)計(jì)控制器使用單片機(jī)AT89C51作為中央處理的核心,六位數(shù)碼管作為時(shí)間數(shù)字的顯示屏,實(shí)現(xiàn)了顯示時(shí)間、調(diào)整時(shí)間、鬧鐘定時(shí)等功能,達(dá)到了設(shè)計(jì)的要求和目的。
1.2 數(shù)字溫度計(jì)設(shè)計(jì)方案論證1.2.1 方案一基于FPGA的多功能數(shù)字時(shí)鐘的設(shè)計(jì)方法:DCM(數(shù)字時(shí)鐘管理器)。DCM使用完全數(shù)字反饋系統(tǒng)確保多個(gè)時(shí)鐘同步,使用完全數(shù)字延線技術(shù)可以精確控制時(shí)鐘的頻率和相位。用戶可以編程控制時(shí)鐘任意倍率和分頻及任意相位移動(dòng),使用非常方便可靠。
缺點(diǎn):設(shè)計(jì)較為復(fù)雜,成本高,無(wú)法實(shí)現(xiàn)溫度測(cè)量功能。
1.2.2 方案二基于VHDL的多功能數(shù)字時(shí)鐘的設(shè)計(jì)利用VHDL硬件描述語(yǔ)言設(shè)計(jì)的多功能數(shù)字時(shí)鐘的思路,在MAX+PLUSⅡK開(kāi)發(fā)環(huán)境中編譯和仿真了所設(shè)計(jì)的程序,并在可編程邏輯器上下載驗(yàn)證。
缺點(diǎn):結(jié)構(gòu)簡(jiǎn)單,實(shí)現(xiàn)功能不全面。
1.2.3 方案三基于AT89C51單片機(jī)的多功能數(shù)字時(shí)鐘系統(tǒng)具有高精度、多功能、小體積、低功耗等特點(diǎn)。系統(tǒng)的設(shè)計(jì)是在模塊化的基礎(chǔ)上設(shè)計(jì)系統(tǒng)的。基于智能化和模塊化的前提下設(shè)計(jì)數(shù)字時(shí)鐘的,通過(guò)對(duì)設(shè)計(jì)目標(biāo)的分析,分立出各個(gè)模塊,然后根據(jù)各個(gè)模塊的功能,選擇適當(dāng)?shù)男酒M(jìn)行設(shè)計(jì)的。對(duì)智能化、模塊化設(shè)計(jì)具有較強(qiáng)的推廣應(yīng)用價(jià)值。
綜上所述,我們可以看到,設(shè)計(jì)方案三綜合性能良好、造價(jià)低廉、且簡(jiǎn)單易行。所以我選用第三種設(shè)計(jì)方案。
1.3 方案三的總體設(shè)計(jì)框圖 數(shù)字時(shí)鐘的電路設(shè)計(jì)總體方框圖如圖1.1所示,使用AT89C51單片機(jī)作為控制核心,用七段數(shù)碼管來(lái)實(shí)現(xiàn)時(shí)間數(shù)字顯示。
圖1.1 總體設(shè)計(jì)方框圖
第二章 主要元器件介紹2.1 AT89C51的性能介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。
2.1.1 AT89C51的主要特性•與MCS-51 兼容
•4K字節(jié)可編程閃爍存儲(chǔ)器
•壽命:1000寫(xiě)/擦循環(huán)
•數(shù)據(jù)保留時(shí)間:10年
•全靜態(tài)工作:0Hz-24MHz
•三級(jí)程序存儲(chǔ)器鎖定
•128×8位內(nèi)部RAM
•32可編程I/O線
•兩個(gè)16位定時(shí)器/計(jì)數(shù)器
•5個(gè)中斷源
•可編程串行通道
•低功耗的閑置和掉電模式
•片內(nèi)振蕩器和時(shí)鐘電路
2.1.2 AT89C51的管腳說(shuō)明圖2.1.2 AT89C51管腳圖
1.AT89C51的管腳圖如圖2.1.2所示,其說(shuō)明如下:
- VCC:供電電壓。
- GND:接地。
- P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。
- P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。
- P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接 收、輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。當(dāng)P2口用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。
- P3口: P3口管腳是8個(gè)帶有內(nèi)部上拉電阻的雙向I/O口,可接收輸出 4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
3口也可作為AT89C51的一些特殊功能口,如下所示:
- P3.0 RXD(串行輸入口);
- P3.1 TXD(串行輸出口);
- P3.2 /INT0(外部中斷0);
- P3.3 /INT1(外部中斷1);
- P3.4 T0(記時(shí)器0外部輸入);
- P3.5 T1(記時(shí)器1外部輸入);
- P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通);
- P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通);
- P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。
- RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高 電平時(shí)間。
- ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址 的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。
- /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取值期間,每 個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
- /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
- XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
- XTAL2:來(lái)自反向振蕩器的輸出。
2.1.3 振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。
2.1.4 芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。
此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。
2.2 74LS373芯片2.2.1 74LS373的基本情況74LS373是常用的地址鎖存器芯片,它實(shí)質(zhì)是一個(gè)是帶三態(tài)緩沖輸出的8D觸發(fā)器,在單片機(jī)系統(tǒng)中為了擴(kuò)展外部存儲(chǔ)器,通常需要一塊74LS373芯片。
74LS373為三態(tài)輸出的八 D 透明鎖存器,共有 54/74S373 和 54/74LS373 兩種線路 結(jié)構(gòu)型式,其主要電器特性的典型值如表2.2.1所示:
表2.2.1(注:不同廠家具體值有差別):
1.74LS373的特點(diǎn):
·三態(tài)總線驅(qū)動(dòng)輸出
·置數(shù)全并行存取
·緩沖控制輸入
·使能輸入有改善抗擾度的滯后作用
2.2.2 74LS373的內(nèi)部結(jié)構(gòu)和性能參數(shù)74LS373的輸出端 O0~O7 可直接與總線相連,當(dāng)三態(tài)允許控制端 OE 為低電平時(shí),O0~O7 為正常邏輯狀態(tài),可用來(lái)驅(qū)動(dòng)負(fù)載或總 線。當(dāng) OE為高電平時(shí),O0~O7 呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但 鎖存器內(nèi)部的邏輯操作不受影響。 當(dāng)鎖存允許端 LE 為高電平時(shí),O隨數(shù)據(jù) D 而變。當(dāng) LE 為低電平時(shí),O 被鎖存在 已建立的數(shù)據(jù)電平。 當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。
引出端符號(hào):
D0~D7 數(shù)據(jù)輸入端
OE 三態(tài)允許控制端(低電平有效)
LE 鎖存允許端
O0~O7 輸出端
1.外部引腿圖:
圖 2.2.2-1
2.邏輯圖
圖 2.2.2-2
3.真值表
表 2.2.2-3 真值表
H:高電平;
L:低電平;
×:不定;
Z:高阻態(tài);
QO:建立穩(wěn)態(tài)輸入條件前Q 的電平.
2.3七段數(shù)碼管的引腳圖及使用在LED顯示電路中,我使用共陰極的七段數(shù)碼管作為L(zhǎng)ED顯示電路的主要元器件。
2.3.1七段數(shù)碼管的引腳圖圖2.3.1-1所示的是七段數(shù)碼管的引腳圖,其中共陽(yáng)極數(shù)碼管引腳圖和共陰極的是一樣的。
圖2.3.1-1 七段數(shù)碼管的引腳圖

圖2.3.1-2 七段數(shù)碼管的引腳圖
LED數(shù)碼管根據(jù)LED的接法不同分為:共陰極和共陽(yáng)極。不同類(lèi)型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.3.1-2是共陰極和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。
將多只LED的陰極連在一起即為共陰式,而將多只LED的陽(yáng)極連在一起即為共陽(yáng)式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將"b"和"c"段接上正電源,其它端接地或懸空,那么"b"和"c"段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將"a"、"b"、"d"、"e"和"g"段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它字符的顯示原理類(lèi)同。
2.3.2 數(shù)碼管使用條件1.?dāng)?shù)碼管使用條件如下:
(1) 段及小數(shù)點(diǎn)上加限流電阻;
(2) 使用電壓:
a.段:根據(jù)發(fā)光顏色決定;
b.小數(shù)點(diǎn):根據(jù)發(fā)光顏色決定;
(3) 使用電流:
a.靜態(tài):總電流 80mA(每段 10mA);
b.動(dòng)態(tài):平均電流 4-5mA 峰值電流 100mA
第三章 硬件設(shè)計(jì)系統(tǒng)整體硬件電路由中央處理單元電路(AT89C51)、振蕩電路(Crystal)、復(fù)位電路(電解電容)、顯示電路(七段數(shù)碼管)、按鍵掃描電路(按鈕)、鬧鐘電路(揚(yáng)聲器)這六個(gè)部分組成。各部分之間相互協(xié)作,構(gòu)成一個(gè)統(tǒng)一的有機(jī)整體,實(shí)現(xiàn)多功能數(shù)字時(shí)鐘的功能。各部分的硬件電路設(shè)計(jì)如下:
3.1振蕩電路和復(fù)位電路1.使用晶振CRYSTAL和瓷片電容構(gòu)成振蕩電路。
圖3.1-1振蕩電路
2.使用電解電容、按鈕和電阻構(gòu)復(fù)位電路,單片機(jī)根據(jù)掃描到的相應(yīng)端口的電平判斷是否滿足程序跳轉(zhuǎn)條件,從而實(shí)現(xiàn)數(shù)字時(shí)鐘的復(fù)位功能。
圖3.1-2 復(fù)位電路
3.2 鬧鐘電路圖3.2 鬧鐘電路
使用揚(yáng)聲器作為鬧鐘電路的主要元器件,通過(guò)接口從AT89C51單片機(jī)接受信號(hào),實(shí)現(xiàn)鬧鐘功能。
3.3按鍵電路圖3.3 按鍵電路
通過(guò)使用九個(gè)按鍵分別實(shí)現(xiàn)實(shí)際時(shí)間和鬧鐘時(shí)間的設(shè)置,AT89C51單片機(jī)根據(jù)掃描到的相應(yīng)端口的電平判斷是否滿足程序跳轉(zhuǎn)條件,從而實(shí)現(xiàn)實(shí)際時(shí)間和鬧鐘時(shí)間的設(shè)置。
3.4 顯示電路圖3.4 顯示電路
通過(guò)使用7SEG-MPX6-CC、電阻和74LS373芯片構(gòu)成LED顯示電路,經(jīng)接口從AT89C51單片機(jī)接受信號(hào),實(shí)現(xiàn)數(shù)字時(shí)間顯示功能。
第四章 軟件設(shè)計(jì)按照設(shè)計(jì)方案的要求,在硬件電路的基礎(chǔ)上,使用匯編語(yǔ)言進(jìn)行軟件設(shè)計(jì),為增加程序可讀性,可分為以下五個(gè)功能模塊:
- 主程序,主程序流程圖如圖4.1所示;
- 按鍵掃描子程序, 按鍵掃描子程序流程圖如圖4.2所示;
- 鬧鐘子程序,鬧鐘子程序流程圖如圖4.3所示;
- 中斷服務(wù)子程序, 中斷服務(wù)子程序流程圖如圖4.4所示;
- 時(shí)間顯示子程序, 時(shí)間顯示子程序流程圖如圖4.5.1和圖4.5.2所示。
4.1 主程序流程圖主程序是先開(kāi)始,然后初始化并啟動(dòng)定時(shí)器,在定時(shí)器啟動(dòng)后進(jìn)行按鍵掃描檢測(cè),檢測(cè)完后使用中斷服務(wù)實(shí)現(xiàn)計(jì)數(shù),最后就是顯示時(shí)間。主程序流程圖如圖4.1所示。
圖4.1 主程序流程圖
4.2 按鍵掃描子程序流程圖按鍵掃描子程序分為兩部分:當(dāng)前時(shí)間設(shè)置和鬧鐘時(shí)間設(shè)置。按鍵掃描子程序流程圖如圖4.2所示。
圖4.2按鍵掃描子程序流程圖
4.2.1 當(dāng)前時(shí)間設(shè)置按鈕掃描當(dāng)前時(shí)間設(shè)置按鍵掃描的過(guò)程如下:
(1) 首先檢測(cè)時(shí)間設(shè)置按鍵,如果按下,就檢測(cè)時(shí)針按鍵;如果沒(méi)有,就返回開(kāi)始。
(2) 如果時(shí)針按鍵按下,時(shí)針就加1;如果沒(méi)有,就檢測(cè)分針按鍵。
(3) 如果分針按鍵按下,分針就加1;如果沒(méi)有,就檢測(cè)時(shí)針按鍵。
(4) 如果時(shí)針按鍵按下,時(shí)針就加1;如果沒(méi)有,就把時(shí)間顯示出來(lái)。
4.2.2 鬧鐘時(shí)間設(shè)置按鍵掃描鬧鐘時(shí)間設(shè)置按鍵掃描的過(guò)程如下:
(1) 首先檢測(cè)查看鬧鐘按鍵,如果按下,就顯示鬧鐘時(shí)間;如果沒(méi)有,就檢測(cè)鬧鐘設(shè)置按鍵。
(2)如果鬧鐘設(shè)置按鍵按下,就檢測(cè)鬧鐘時(shí)針設(shè)置按鍵;如果沒(méi)有,就返回開(kāi)始。
(3) 如果鬧鐘時(shí)針設(shè)置按下,鬧鐘時(shí)針就加1;如果沒(méi)有,就檢測(cè)鬧鐘分針設(shè)置按鍵。
(4) 如果鬧鐘分針設(shè)置按鍵按下,鬧鐘分針就加1;如果沒(méi)有,就檢測(cè)鬧鐘完成設(shè)置按鍵。
(5) 如果鬧鐘完成設(shè)置按鍵按下,鬧鐘設(shè)置完成并顯示當(dāng)前時(shí)間;如果沒(méi)有,就返回開(kāi)始。
4.3 鬧鐘子程序流程圖鬧鐘子程序的功能包括顯示鬧鐘時(shí)間、設(shè)置鬧鐘時(shí)間和鬧鐘停止這三個(gè)功能,其流程圖如圖4.3所示。
圖4.3鬧鐘子程序流程圖
4.4 中斷服務(wù)子程序流程圖1.定時(shí)器中斷時(shí)的工作過(guò)程是:
- 先將累加器A和寄存器PSW入棧;
- 然后檢測(cè)1秒是否到,如果到,秒單元加1;如果沒(méi)到,就檢測(cè)1分鐘。
- 如果1分鐘到,則秒單元清零,分單元加1;如果沒(méi)到,就檢測(cè)1小時(shí)。
- 如果1小時(shí)到,則分單元清零,時(shí)單元加1;如果沒(méi)到,就檢測(cè)1天。
- 如果1天到,則時(shí)單元清零,天單元加1;如果沒(méi)到,就顯示時(shí)間。
圖4.4 中斷服務(wù)子程序流程圖
4.5 顯示子程序流程圖顯示子程序分為兩個(gè)部分:當(dāng)時(shí)間顯示和鬧鐘時(shí)間顯示,他們的流程圖如圖4.5.1和圖4.5.2所示。
4.5.1 當(dāng)前時(shí)間顯示流程圖當(dāng)前時(shí)間顯示子程序可實(shí)現(xiàn)當(dāng)前時(shí)間的時(shí)、分、針顯示,其流程圖如下:
圖4.5.1當(dāng)前時(shí)間顯示流程圖
4.5.2 鬧鐘時(shí)間顯示流程圖鬧鐘時(shí)間顯示子程序可實(shí)現(xiàn)鬧鐘時(shí)間的時(shí)、分顯示,其流程圖如下:
圖4.5.2鬧鐘時(shí)間顯示流程圖
第五章 仿真軟件5.1 PROTEUS仿真軟件介紹Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì),是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。
Proteus軟件是一款功能強(qiáng)大的電路設(shè)計(jì)分析軟件。在利用其進(jìn)行單片機(jī)的軟件仿真時(shí),僅僅是使用了其部分功能(如使用其中的ISIS智能原理圖輸入系統(tǒng)來(lái)繪制電路原理圖)。因此這里主要介紹該部分的相關(guān)知識(shí)。
5.2 Proteus ISIS智能原理圖輸入系統(tǒng)1.Proteus ISIS 是Proteus軟件的核心,具有以下特性:
(1)出版高質(zhì)量的原理圖:ISIS提供給用戶圖形外觀,包括線寬、填充類(lèi)型、字符庫(kù)等的全部控制,使用戶生成精美的原理圖。通過(guò)個(gè)性化設(shè)置,可以生成印刷質(zhì)量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用;
(2)良好的用戶界面:用戶只需要單擊元件的引腳或者先前布好的線,就能實(shí)現(xiàn)布線。而且擺放、移動(dòng)和刪除操作能都直接用鼠標(biāo)實(shí)現(xiàn),無(wú)需去單擊菜單或圖標(biāo);
(3)自動(dòng)走線:只要單擊想要連接的兩個(gè)引腳,就能簡(jiǎn)單地實(shí)現(xiàn)走線。自動(dòng)走線也能在元件移動(dòng)時(shí)操作,自動(dòng)解決相應(yīng)連線。節(jié)點(diǎn)能夠自動(dòng)布置和移除,使連接導(dǎo)線簡(jiǎn)單快捷,大大縮短繪圖時(shí)間,又避免一些可能的錯(cuò)誤;
(4)層次設(shè)計(jì):ISIS支持層次圖設(shè)計(jì),特殊的元件能夠定義為通過(guò)電路圖表示的模塊,能夠任意設(shè)定層次。模塊可畫(huà)成標(biāo)準(zhǔn)元件,在使用中可放置和刪除端口的子模塊電路;
(5)總線支持:使用總線器件和總線布線使電路設(shè)計(jì)簡(jiǎn)明清晰;
(6)豐富的器件庫(kù):超過(guò)27000種元器件,可方便地創(chuàng)建新元件。 ISIS的元件庫(kù)包含8000多個(gè)元件,有標(biāo)準(zhǔn)符號(hào)、三極管、二極管、CMOS、微處理器、存儲(chǔ)器元件、模擬IC和運(yùn)算放大器等;
(7)智能的器件搜索:通過(guò)模糊搜索可以快速定位所需要的器件。
2.Proteus ISIS 可運(yùn)行于Windows 98/2000/XP/Windows 7環(huán)境,對(duì)計(jì)算機(jī)的配置要求不是很高。在運(yùn)行Proteus ISIS的執(zhí)行程序后,先出現(xiàn)一個(gè)啟動(dòng)畫(huà)面,隨機(jī)進(jìn)入Proteus ISIS的編輯環(huán)境,如圖5.2所示。
圖5.2 Proteus ISIS的編輯環(huán)境
5.3 Proteus ISIS的界面和功能介紹如圖5.3所示,Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。
圖5.3 Proteus 窗口界面圖
(1)原理圖編輯窗口
- 用于繪制電路原理圖的,藍(lán)色方框內(nèi)為可編輯區(qū),元件要放到它里面。注意,這個(gè)窗口是沒(méi)有滾動(dòng)條的,可以通過(guò)預(yù)覽窗口來(lái)改變?cè)韴D的可視范圍。
(2)預(yù)覽窗口
- 它有兩個(gè)功能:一、當(dāng)從元件列表選擇一個(gè)元件時(shí),顯示該元件的預(yù)覽圖;二、當(dāng)你的鼠標(biāo)箭頭落在原理圖編輯窗口時(shí),顯示整張?jiān)韴D的縮略圖,并會(huì)顯示一個(gè)綠色的方框,綠色的方框里面的內(nèi)容就是當(dāng)前原理圖窗口中顯示的內(nèi)容。因此,可用鼠標(biāo)在它上面點(diǎn)擊來(lái)改變綠色的方框的位置,從而改變?cè)韴D的可視范圍。
(3)模型選擇工具欄
① 主要模型(Main Modes)
●1 用于編輯元件參數(shù) (默認(rèn)選擇的);
●2 選擇元件(components);
●3 放置連接點(diǎn);
●4 放置標(biāo)簽(用總線時(shí)會(huì)用到);
●5 放置文本;
●6 用于繪制總線;
●7 用于放置子電路 。
② 配件模型(Gadgets Modes))選擇工具欄

●1 終端接口(terminals) ,有 VCC、地、輸出、輸入等接口;
●2 器件引腳:用于繪制各種引腳;
●3 仿真圖表(graph) :用于各種分析,如 Noise Analysis;
●4 錄音機(jī);
●5 信號(hào)發(fā)生器(generators);
●6 電壓探針:使用仿真圖表時(shí)要用到;
●7 電流探針:使用仿真圖表時(shí)要用到;
●8 虛擬儀表:有示波器等。
③ 2D 圖形

(2D Graphics)

●1 畫(huà)各種直線;
●2 畫(huà)各種方框;
●3 畫(huà)各種圓;
●4 畫(huà)各種圓弧;
●5 畫(huà)各種多邊形;
●6 畫(huà)各種文本;
●7 畫(huà)符號(hào);
●8 畫(huà)原點(diǎn)等。
用于挑選元件(components)終端接口(terminals)信號(hào)發(fā)生器(generators)仿真圖表(graph)等。舉例,當(dāng)你選擇“元件(components)”單擊“P”按鈕會(huì)打開(kāi)挑選元件對(duì)話框,選擇了一個(gè)元件后該元件會(huì)在元件列表中顯示,以后要用到該元件時(shí),只需在元件列表中選擇即可。
(5)方向工具欄
旋轉(zhuǎn):

旋轉(zhuǎn)角度只能是 90 的整數(shù)倍。成水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。
使用方法:先右鍵單擊元件,再點(diǎn)擊(左擊)相應(yīng)的旋轉(zhuǎn)圖標(biāo)。
(6)仿真工具欄
仿真控制按鈕

●1 運(yùn)行;
●2 單步運(yùn)行;
●3 暫停;
●4 停止。
第六章 仿真調(diào)試使用Proteus軟件進(jìn)行仿真調(diào)試
6.1 仿真原理圖根據(jù)設(shè)計(jì)方案,將各部分電路進(jìn)行組合,可得仿真原理圖如6.1所示:
圖6.1 仿真原理圖
6.2 系統(tǒng)調(diào)試1.雙擊單片機(jī)出現(xiàn)如圖6.2-1所示的畫(huà)面,在Program File一欄中選擇仿真項(xiàng)目的源程序代碼文件,點(diǎn)擊OK。
圖6.2-1 加載源程序圖
2.點(diǎn)擊菜單中的“Source”—“Build All”,得到如圖6.2-2所示的“Build Log” 。
圖6.2-2 檢查日志圖
6. 3 仿真單擊Play按鈕,進(jìn)入仿真狀態(tài),得到仿真結(jié)果如圖6.3-1和圖6.3-2所示:
圖6.3-1 仿真結(jié)果一
圖6.3-2 仿真結(jié)果二
結(jié)束語(yǔ)經(jīng)過(guò)幾周的努力,我終于完成了這一份數(shù)字時(shí)鐘的設(shè)計(jì)。本次數(shù)字時(shí)鐘電路采用AT89C51單片機(jī)作為控制核心,使用按鈕設(shè)計(jì)控制電路,結(jié)合LED顯示屏、74LS373和電阻來(lái)實(shí)現(xiàn)了時(shí)、分、秒的顯示,采用揚(yáng)聲器實(shí)現(xiàn)鬧鐘功能。雖然達(dá)到了設(shè)計(jì)要求,但是還存在有待改善和提高的地方。
通過(guò)這份設(shè)計(jì),我發(fā)現(xiàn)自己在編寫(xiě)軟件程序方面的不足,也提高了我設(shè)計(jì)硬件電路和編寫(xiě)軟件程序的能力。同時(shí),通過(guò)這份畢業(yè)設(shè)計(jì),讓我明白:實(shí)踐和理論有很大的聯(lián)系,又高于理論。要把課本上所學(xué)的知識(shí)跟實(shí)際聯(lián)系起來(lái),才能把理論變成實(shí)際。本次電路的設(shè)計(jì)既鞏固了我從課本上所學(xué)的知識(shí),也使我把理論與實(shí)際結(jié)合起來(lái),增強(qiáng)了學(xué)習(xí)的興趣,考驗(yàn)了我們借助圖書(shū)館、互聯(lián)網(wǎng)搜索、查閱相關(guān)資料的綜合能力。
在學(xué)習(xí)過(guò)程中,要理論聯(lián)系實(shí)際、學(xué)以致用,把所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,通過(guò)實(shí)踐把所學(xué)的理論知識(shí)進(jìn)行鞏固。以上,就是我在這次畢業(yè)設(shè)計(jì)中的收獲,這為我以后從事電子電路設(shè)計(jì)、研制電子產(chǎn)品領(lǐng)域的工作提供了寶貴的經(jīng)驗(yàn)。
參考文獻(xiàn)
[1] 李朝青. 單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版). 杭州; 北京航空航天大學(xué)出版社,1998
[2] 李廣弟. 單片機(jī)基礎(chǔ)[M]. 北京; 北京航空航天大學(xué)出版社,1994
[3] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京; 高等教育出版社,1989
[4] 梁炳東. 單片機(jī)原理與應(yīng)用(第一版).北京;人民郵電出版社,2009.
[5] 高衛(wèi)東,辛友順,韓彥征. 51單片機(jī)原理與實(shí)踐[M]. 北京; 北京航空航天大學(xué)出版社,2008
致 謝
這份關(guān)于數(shù)字時(shí)鐘制作的畢業(yè)設(shè)計(jì)是在xxx老師的熱情關(guān)懷和悉心指導(dǎo)下完成的。從設(shè)計(jì)的選題,相關(guān)資料的查尋,到論文的撰寫(xiě)這一整個(gè)過(guò)程中,xxx老師以其廣博的知識(shí)、豐富的經(jīng)驗(yàn) 、清晰的思路,為我細(xì)心指導(dǎo)和幫助。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng)和孜孜不倦的求學(xué)精神令我受益匪淺,在此,我對(duì)鄭譽(yù)煌老師表示衷心的感謝!
在完成這份畢業(yè)設(shè)計(jì)的過(guò)程中,我也得到了許多同學(xué)的建議和幫助,在此一并致以真誠(chéng)的謝意,感謝所有幫助過(guò)我的老師和同學(xué)們!
最后,感謝在百忙中抽出時(shí)間對(duì)本畢業(yè)設(shè)計(jì)(論文)進(jìn)行評(píng)審并提出寶貴意見(jiàn)的老師們,謝謝!
附錄1 元器件清單
表附錄1 元器件清單