久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6373|回復: 0
打印 上一主題 下一主題
收起左側

基于Proteus數字時鐘制作畢業設計論文下載(共44頁word文檔)

[復制鏈接]
跳轉到指定樓層
樓主
ID:242893 發表于 2017-11-13 13:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
數字時鐘制作畢業設計(論文)說明書
(論文)
摘要
本次數字時鐘電路采用AT89C51單片機作為控制核心,使用按鈕設計控制電路,結合LED數碼管、74LS373和排阻實現時、分、秒的顯示,采用揚聲器實現鬧鐘功能。硬件電路設計主要包括中央處理單元電路、鍵盤掃描電路以及鬧鐘電路。軟件程序設計則采用匯編語言實現。本設計實現了顯示時間、調整時間、鬧鐘定時等功能,達到了設計的要求和目的。并在Proteus軟件上進行了仿真和調試

目  錄
摘要            
Abstract            
第一章 諸論            
1.1設計背景            
1.2 數字溫度計設計方案論證
1.2.1 方案一
1.2.2 方案二
1.2.3 方案三
1.3 方案三的總體設計框圖
第二章 主要元器件介紹
2.1 AT89C51的性能介紹
2.1.1  AT89C51的主要特性
2.1.2 AT89C51的管腳說明
2.1.3 振蕩器特性
2.1.4 芯片擦除
2.2 74LS373芯片
2.2.1 74LS373的基本情況
2.2.2 74LS373的內部結構和性能參數
2.3七段數碼管的引腳圖及使用
2.3.1七段數碼管的引腳圖
2.3.2 數碼管使用條件
第三章 硬件設計
3.1振蕩電路和復位電路
1.使用晶振CRYSTAL和瓷片電容構成振蕩電路。
3.2 鬧鐘電路
3.3按鍵電路
3.4 顯示電路
第四章 軟件設計
4.1 主程序流程圖
4.2 按鍵掃描子程序流程圖
4.2.1 當前時間設置按鈕掃描
4.2.2 鬧鐘時間設置按鍵掃描
4.3 鬧鐘子程序流程圖
4.4 中斷服務子程序流程圖
4.5 顯示子程序流程圖
4.5.1 當前時間顯示流程圖
4.5.2 鬧鐘時間顯示流程圖
第五章 仿真軟件
5.1 PROTEUS仿真軟件介紹
5.2 Proteus ISIS智能原理圖輸入系統
5.3 Proteus ISIS的界面和功能介紹
第六章 仿真調試
6.1 仿真原理圖
6.2 系統調試
6. 3 仿真
結束語
參考文獻
致 謝
附錄1 元器件清單
附錄2 程序

第一章 諸論1.1設計背景
時鐘是人們必不可少的生活用品。從古代的滴漏更鼓到近代的機械鐘,從電子表到目前的數字時鐘,為了準確的測量和記錄時間,人們一直在努力改進計時工具。鐘表的數字化,大力推動了計時的精確性和可靠性。在單片機構成的裝置中,數字時鐘是必不可少的部件。它的用途十分廣泛,只要有計時的存在,便要用到數字時鐘的原理及結構;同時在日期中,它以其小巧,價格低廉,走時精度高,使用方便,功能多,便于集成化而受廣大消費的喜愛。
隨著人類科技文明的發展,人們對于時鐘的要求在不斷地提高。時鐘已不僅僅被看成一種用來顯示時間的工具,在很多實際應用中它還需要能夠實現更多其它的功能。高精度、多功能、小體積、低功耗,是現代時鐘發展的趨勢。在這種趨勢下,時鐘的數字化、多功能化已經成為現代時鐘生產研究的主導設計方向。
本次設計的數字時鐘與傳統的時鐘相比,具有高精度、多功能、小體積、低功耗的優勢,其時間采用數字顯示。該設計控制器使用單片機AT89C51作為中央處理的核心,六位數碼管作為時間數字的顯示屏,實現了顯示時間、調整時間、鬧鐘定時等功能,達到了設計的要求和目的。
1.2 數字溫度計設計方案論證1.2.1 方案一
基于FPGA的多功能數字時鐘的設計方法:DCM(數字時鐘管理器)。DCM使用完全數字反饋系統確保多個時鐘同步,使用完全數字延線技術可以精確控制時鐘的頻率和相位。用戶可以編程控制時鐘任意倍率和分頻及任意相位移動,使用非常方便可靠。
缺點:設計較為復雜,成本高,無法實現溫度測量功能。
1.2.2 方案二
基于VHDL的多功能數字時鐘的設計利用VHDL硬件描述語言設計的多功能數字時鐘的思路,在MAX+PLUSⅡK開發環境中編譯和仿真了所設計的程序,并在可編程邏輯器上下載驗證。
缺點:結構簡單,實現功能不全面。
1.2.3 方案三
基于AT89C51單片機的多功能數字時鐘系統具有高精度、多功能、小體積、低功耗等特點。系統的設計是在模塊化的基礎上設計系統的。基于智能化和模塊化的前提下設計數字時鐘的,通過對設計目標的分析,分立出各個模塊,然后根據各個模塊的功能,選擇適當的芯片進行設計的。對智能化、模塊化設計具有較強的推廣應用價值。
綜上所述,我們可以看到,設計方案三綜合性能良好、造價低廉、且簡單易行。所以我選用第三種設計方案。


1.3 方案三的總體設計框圖
    數字時鐘的電路設計總體方框圖如圖1.1所示,使用AT89C51單片機作為控制核心,用七段數碼管來實現時間數字顯示。
圖1.1 總體設計方框圖

第二章 主要元器件介紹2.1 AT89C51的性能介紹
AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。
2.1.1 AT89C51的主要特性
•與MCS-51 兼容
•4K字節可編程閃爍存儲器
  •壽命:1000寫/擦循環
  •數據保留時間:10年
  •全靜態工作:0Hz-24MHz
  •三級程序存儲器鎖定
  •128×8位內部RAM
  •32可編程I/O線
  •兩個16位定時器/計數器
  •5個中斷源
  •可編程串行通道
  •低功耗的閑置和掉電模式
•片內振蕩器和時鐘電路

2.1.2 AT89C51的管腳說明
圖2.1.2 AT89C51管腳圖
1.AT89C51的管腳圖如圖2.1.2所示,其說明如下:
  •     VCC:供電電壓。
  •     GND:接地
  • P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。
  • P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。
  • P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接   收、輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。當P2口用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。
  • P3口: P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出     4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。
3口也可作為AT89C51的一些特殊功能口,如下所示:
  • P3.0 RXD(串行輸入口
  • P3.1 TXD(串行輸出口)
  • P3.2 /INT0(外部中斷0)
  • P3.3 /INT1(外部中斷1)
  • P3.4 T0(記時器0外部輸入
  • P3.5 T1(記時器1外部輸入)
  • P3.6 /WR(外部數據存儲器寫選通)
  • P3.7 /RD(外部數據存儲器讀選通
  • P3口同時為閃爍編程和編程校驗接收一些控制信號。
  • RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高  電平時間。
  • ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址   的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
  • /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取值期間,每       個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
  • /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
  • XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
  • XTAL2:來自反向振蕩器的輸出。

2.1.3 振蕩器特性
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。

2.1.4 芯片擦除
整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節被重復編程以前,該操作必須被執行。
此外,AT89C51設有穩態邏輯,可以在低到零頻率的條件下靜態邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數器,串口和中斷系統仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。

2.2 74LS373芯片2.2.1 74LS373的基本情況
74LS373是常用的地址鎖存器芯片,它實質是一個是帶三態緩沖輸出的8D觸發器,在單片機系統中為了擴展外部存儲器,通常需要一塊74LS373芯片。
74LS373為三態輸出的八 D 透明鎖存器,共有 54/74S373 和 54/74LS373 兩種線路 結構型式,其主要電器特性的典型值如表2.2.1所示:
表2.2.1(注:不同廠家具體值有差別):
型號
tPd
PD
54S373/74S373
7ns
525mW
54LS373/74LS373
17ns
120mW 373


1.74LS373的特點:
·三態總線驅動輸出
·置數全并行存取
·緩沖控制輸入
·使能輸入有改善抗擾度的滯后作用

2.2.2 74LS373的內部結構和性能參數
74LS373的輸出端 O0~O7 可直接與總線相連,當三態允許控制端 OE 為低電平時,O0~O7 為正常邏輯狀態,可用來驅動負載或總 線。當 OE為高電平時,O0~O7 呈高阻態,即不驅動總線,也不為總線的負載,但 鎖存器內部的邏輯操作不受影響。 當鎖存允許端 LE 為高電平時,O隨數據 D 而變。當 LE 為低電平時,O 被鎖存在 已建立的數據電平。 當 LE 端施密特觸發器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mV。
引出端符號:
D0~D7  數據輸入端
OE      三態允許控制端(低電平有效)
LE       鎖存允許端
O0~O7    輸出端

1.外部引腿圖:
圖 2.2.2-1
2.邏輯圖
圖 2.2.2-2

3.真值表
表 2.2.2-3 真值表
輸入
輸出
輸出控制
使能
數據
L
H
H
H
L
H
L
L
L
L
×
Q0
H
×
×
Z

H:高電平;
L:低電平;
×:不定;
Z:高阻態;
QO:建立穩態輸入條件前Q 的電平.


2.3七段數碼管的引腳圖及使用
在LED顯示電路中,我使用共陰極的七段數碼管作為LED顯示電路的主要元器件。

2.3.1七段數碼管的引腳圖
圖2.3.1-1所示的是七段數碼管的引腳圖,其中共陽極數碼管引腳圖和共陰極的是一樣的。
圖2.3.1-1 七段數碼管的引腳圖

圖2.3.1-2 七段數碼管的引腳圖
  LED數碼管根據LED的接法不同分為:共陰極和共陽極。不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.3.1-2是共陰極和共陽極數碼管的內部電路,它們的發光原理是一樣的,只是它們的電源極性不同而已。
    將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應段的陽極接上正電源,該段即會發光。當然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如我們將"b"和"c"段接上正電源,其它端接地或懸空,那么"b"和"c"段發光,此時,數碼管顯示將顯示數字“1”。而將"a"、"b"、"d"、"e"和"g"段都接上正電源,其它引腳懸空,此時數碼管將顯示“2”。其它字符的顯示原理類同。

2.3.2 數碼管使用條件
1.數碼管使用條件如下:
(1) 段及小數點上加限流電阻;
(2) 使用電壓:
a.段:根據發光顏色決定;
b.小數點:根據發光顏色決定;
(3) 使用電流:
a.靜態:總電流 80mA(每段 10mA);
b.動態:平均電流 4-5mA 峰值電流 100mA

第三章 硬件設計
系統整體硬件電路由中央處理單元電路(AT89C51)、振蕩電路(Crystal)、復位電路(電解電容)、顯示電路(七段數碼管)、按鍵掃描電路(按鈕)、鬧鐘電路(揚聲器)這六個部分組成。各部分之間相互協作,構成一個統一的有機整體,實現多功能數字時鐘的功能。各部分的硬件電路設計如下:

3.1振蕩電路和復位電路
1.使用晶振CRYSTAL和瓷片電容構成振蕩電路。
圖3.1-1振蕩電路
2.使用電解電容、按鈕和電阻構復位電路,單片機根據掃描到的相應端口的電平判斷是否滿足程序跳轉條件,從而實現數字時鐘的復位功能。
圖3.1-2 復位電路

3.2 鬧鐘電路
圖3.2 鬧鐘電路
使用揚聲器作為鬧鐘電路的主要元器件,通過接口從AT89C51單片機接受信號,實現鬧鐘功能。

3.3按鍵電路
圖3.3 按鍵電路
通過使用九個按鍵分別實現實際時間和鬧鐘時間的設置,AT89C51單片機根據掃描到的相應端口的電平判斷是否滿足程序跳轉條件,從而實現實際時間和鬧鐘時間的設置。
3.4 顯示電路
圖3.4 顯示電路
通過使用7SEG-MPX6-CC、電阻和74LS373芯片構成LED顯示電路,經接口從AT89C51單片機接受信號,實現數字時間顯示功能。

第四章 軟件設計
按照設計方案的要求,在硬件電路的基礎上,使用匯編語言進行軟件設計,為增加程序可讀性,可分為以下五個功能模塊:
  • 主程序,主程序流程圖如圖4.1所示;
  • 按鍵掃描子程序, 按鍵掃描子程序流程圖如圖4.2所示;
  • 鬧鐘子程序,鬧鐘子程序流程圖如圖4.3所示;
  • 中斷服務子程序, 中斷服務子程序流程圖如圖4.4所示;
  • 時間顯示子程序, 時間顯示子程序流程圖如圖4.5.1和圖4.5.2所示。

4.1 主程序流程圖
主程序是先開始,然后初始化并啟動定時器,在定時器啟動后進行按鍵掃描檢測,檢測完后使用中斷服務實現計數,最后就是顯示時間。主程序流程圖如圖4.1所示。
圖4.1 主程序流程圖

4.2 按鍵掃描子程序流程圖
按鍵掃描子程序分為兩部分:當前時間設置和鬧鐘時間設置。按鍵掃描子程序流程圖如圖4.2所示。
圖4.2按鍵掃描子程序流程圖

4.2.1 當前時間設置按鈕掃描
當前時間設置按鍵掃描的過程如下:
(1) 首先檢測時間設置按鍵,如果按下,就檢測時針按鍵;如果沒有,就返回開始。
(2) 如果時針按鍵按下,時針就加1;如果沒有,就檢測分針按鍵。
(3) 如果分針按鍵按下,分針就加1;如果沒有,就檢測時針按鍵。
(4) 如果時針按鍵按下,時針就加1;如果沒有,就把時間顯示出來。

4.2.2 鬧鐘時間設置按鍵掃描
鬧鐘時間設置按鍵掃描的過程如下:
(1) 首先檢測查看鬧鐘按鍵,如果按下,就顯示鬧鐘時間;如果沒有,就檢測鬧鐘設置按鍵。
(2)如果鬧鐘設置按鍵按下,就檢測鬧鐘時針設置按鍵;如果沒有,就返回開始。
(3) 如果鬧鐘時針設置按下,鬧鐘時針就加1;如果沒有,就檢測鬧鐘分針設置按鍵。
(4) 如果鬧鐘分針設置按鍵按下,鬧鐘分針就加1;如果沒有,就檢測鬧鐘完成設置按鍵。
(5) 如果鬧鐘完成設置按鍵按下,鬧鐘設置完成并顯示當前時間;如果沒有,就返回開始。

4.3 鬧鐘子程序流程圖
鬧鐘子程序的功能包括顯示鬧鐘時間、設置鬧鐘時間和鬧鐘停止這三個功能,其流程圖如圖4.3所示。
圖4.3鬧鐘子程序流程圖
4.4 中斷服務子程序流程圖
1.定時器中斷時的工作過程是:
  • 先將累加器A和寄存器PSW入棧;
  • 然后檢測1秒是否到,如果到,秒單元加1;如果沒到,就檢測1分鐘。
  • 如果1分鐘到,則秒單元清零,分單元加1;如果沒到,就檢測1小時。
  • 如果1小時到,則分單元清零,時單元加1;如果沒到,就檢測1天。
  • 如果1天到,則時單元清零,天單元加1;如果沒到,就顯示時間。
圖4.4 中斷服務子程序流程圖


4.5 顯示子程序流程圖
顯示子程序分為兩個部分:當時間顯示和鬧鐘時間顯示,他們的流程圖如圖4.5.1和圖4.5.2所示。

4.5.1 當前時間顯示流程圖
當前時間顯示子程序可實現當前時間的時、分、針顯示,其流程圖如下:
圖4.5.1當前時間顯示流程圖

4.5.2 鬧鐘時間顯示流程圖
鬧鐘時間顯示子程序可實現鬧鐘時間的時、分顯示,其流程圖如下:

圖4.5.2鬧鐘時間顯示流程圖

第五章 仿真軟件5.1 PROTEUS仿真軟件介紹
Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件,是目前最好的仿真單片機及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計,是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。
Proteus軟件是一款功能強大的電路設計分析軟件。在利用其進行單片機的軟件仿真時,僅僅是使用了其部分功能(如使用其中的ISIS智能原理圖輸入系統來繪制電路原理圖)。因此這里主要介紹該部分的相關知識。


5.2 Proteus ISIS智能原理圖輸入系統
1.Proteus ISIS 是Proteus軟件的核心,具有以下特性:
(1)出版高質量的原理圖:ISIS提供給用戶圖形外觀,包括線寬、填充類型、字符庫等的全部控制,使用戶生成精美的原理圖。通過個性化設置,可以生成印刷質量的BMP圖紙,可以方便地供WORD、POWERPOINT等多種文檔使用;
(2)良好的用戶界面:用戶只需要單擊元件的引腳或者先前布好的線,就能實現布線。而且擺放、移動和刪除操作能都直接用鼠標實現,無需去單擊菜單或圖標;
(3)自動走線:只要單擊想要連接的兩個引腳,就能簡單地實現走線。自動走線也能在元件移動時操作,自動解決相應連線。節點能夠自動布置和移除,使連接導線簡單快捷,大大縮短繪圖時間,又避免一些可能的錯誤;
(4)層次設計:ISIS支持層次圖設計,特殊的元件能夠定義為通過電路圖表示的模塊,能夠任意設定層次。模塊可畫成標準元件,在使用中可放置和刪除端口的子模塊電路;
(5)總線支持:使用總線器件和總線布線使電路設計簡明清晰;
(6)豐富的器件庫:超過27000種元器件,可方便地創建新元件。 ISIS的元件庫包含8000多個元件,有標準符號、三極管、二極管、CMOS、微處理器、存儲器元件、模擬IC和運算放大器等;
(7)智能的器件搜索:通過模糊搜索可以快速定位所需要的器件。

2.Proteus ISIS 可運行于Windows 98/2000/XP/Windows 7環境,對計算機的配置要求不是很高。在運行Proteus ISIS的執行程序后,先出現一個啟動畫面,隨機進入Proteus ISIS的編輯環境,如圖5.2所示。
圖5.2 Proteus ISIS的編輯環境

5.3 Proteus ISIS的界面和功能介紹
如圖5.3所示,Proteus ISIS的工作界面是一種標準的Windows界面。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。
圖5.3 Proteus 窗口界面圖
(1)原理圖編輯窗口
  • 繪制電路原理圖的藍色方框內為可編輯區,元件要放到它里面。注意,這個窗口是沒有滾動條的,可以通過預覽窗口來改變原理圖的可視范圍。
(2)預覽窗口
  • 有兩個功能:從元件列表選擇一個元件時,顯示該元件的預覽圖;二、當你的鼠標箭頭落在原理圖編輯窗口時,顯示整張原理圖的縮略圖,并會顯示一個綠色的方框,綠色的方框里面的內容就是當前原理圖窗口中顯示的內容因此,可用鼠標在它上面點擊來改變綠色的方框的位置,從而改變原理圖的可視范圍。
(3)模型選擇工具欄
① 主要模型(Main Modes)
●1 用于編輯元件參數 (默認選擇的);
●2 選擇元件(components);
●3 放置連接點;
●4 放置標簽(用總線時會用到);
●5 放置文本;
●6 用于繪制總線;
●7 用于放置子電路 。
② 配件模型(Gadgets Modes))選擇工具欄
●1 終端接口(terminals) ,有 VCC、地、輸出、輸入等接口;
●2 器件引腳:用于繪制各種引腳;
●3 仿真圖表(graph) :用于各種分析,如 Noise Analysis;
●4 錄音機;
●5 信號發生器(generators);
●6 電壓探針:使用仿真圖表時要用到;
●7 電流探針:使用仿真圖表時要用到;
●8 虛擬儀表:有示波器等。

③ 2D 圖形(2D Graphics)  
●1 畫各種直線;
●2 畫各種方框;
●3 畫各種圓;
●4 畫各種圓弧;
●5 畫各種多邊形;
●6 畫各種文本;
●7 畫符號;
●8 畫原點等。
  • 元件列表
用于挑選元件(components)終端接口(terminals)信號發生器(generators)仿真圖表(graph)等。舉例,當你選擇“元件(components)”單擊“P”按鈕會打開挑選元件對話框,選擇了一個元件后該元件會在元件列表中顯示,以后要用到該元件時,只需在元件列表中選擇即可。
(5)方向工具欄
旋轉:旋轉角度只能是 90 的整數倍。成水平翻轉和垂直翻轉。
使用方法:先右鍵單擊元件,再點擊(左擊)相應的旋轉圖標。
(6)仿真工具欄
     仿真控制按鈕  
●1 運行;
●2 單步運行;
●3 暫停;
●4 停止。

第六章 仿真調試
使用Proteus軟件進行仿真調試
6.1 仿真原理圖
根據設計方案,將各部分電路進行組合,可得仿真原理圖如6.1所示:
圖6.1 仿真原理圖

6.2 系統調試
1.雙擊單片機出現如圖6.2-1所示的畫面,在Program File一欄中選擇仿真項目的源程序代碼文件,點擊OK。
圖6.2-1 加載源程序圖
2.點擊菜單中的“Source”—“Build All”,得到如圖6.2-2所示的“Build Log” 。
圖6.2-2 檢查日志圖

6. 3 仿真
單擊Play按鈕,進入仿真狀態,得到仿真結果如圖6.3-1和圖6.3-2所示:
圖6.3-1 仿真結果一
圖6.3-2 仿真結果二

結束語
經過幾周的努力,我終于完成了這一份數字時鐘的設計。本次數字時鐘電路采用AT89C51單片機作為控制核心,使用按鈕設計控制電路,結合LED顯示屏、74LS373和電阻來實現了時、分、秒的顯示,采用揚聲器實現鬧鐘功能。雖然達到了設計要求,但是還存在有待改善和提高的地方。
    通過這份設計,我發現自己在編寫軟件程序方面的不足,也提高了我設計硬件電路和編寫軟件程序的能力。同時,通過這份畢業設計,讓我明白:實踐和理論有很大的聯系,又高于理論。要把課本上所學的知識跟實際聯系起來,才能把理論變成實際。本次電路的設計既鞏固了我從課本上所學的知識,也使我把理論與實際結合起來,增強了學習的興趣,考驗了我們借助圖書館、互聯網搜索、查閱相關資料的綜合能力。
在學習過程中,要理論聯系實際、學以致用,把所學的理論知識用到實際當中,通過實踐把所學的理論知識進行鞏固。以上,就是我在這次畢業設計中的收獲,這為我以后從事電子電路設計、研制電子產品領域的工作提供了寶貴的經驗。


參考文獻
[1] 李朝青. 單片機原理及接口技術(簡明修訂版). 杭州; 北京航空航天大學出版社,1998
[2] 李廣弟. 單片機基礎[M]. 北京; 北京航空航天大學出版社,1994
[3] 閻石. 數字電子技術基礎(第三版). 北京; 高等教育出版社,1989
[4] 梁炳東. 單片機原理與應用(第一版).北京;人民郵電出版社,2009.
[5] 高衛東,辛友順,韓彥征. 51單片機原理與實踐[M]. 北京; 北京航空航天大學出版社,2008


致 謝
這份關于數字時鐘制作的畢業設計是在xxx老師的熱情關懷和悉心指導下完成的。從設計的選題,相關資料的查尋,到論文的撰寫這一整個過程中,xxx老師以其廣博的知識、豐富的經驗 、清晰的思路,為我細心指導和幫助。他嚴謹的治學態度,精益求精的工作作風和孜孜不倦的求學精神令我受益匪淺,在此,我對鄭譽煌老師表示衷心的感謝!
在完成這份畢業設計的過程中,我也得到了許多同學的建議和幫助,在此一并致以真誠的謝意,感謝所有幫助過我的老師和同學們!
最后,感謝在百忙中抽出時間對本畢業設計(論文)進行評審并提出寶貴意見的老師們,謝謝!


附錄1 元器件清單
表附錄1 元器件清單
元器件名稱
規格型號
數量(單位)
芯片
AT89C51
1塊
芯片
74LS373
1塊
數碼管
7SEG-MPX6-CC
1塊
電解電容
1nF
1個
瓷片電容
20pF
2個
按鍵
歐姆龍
10個
芯片插座
IC-40P
1塊
排阻
10KΩ(16位)
1個
電阻
100Ω
10個
晶振
12MHz
1個



附錄2 程序
單片機源程序如下:
  1. M_SET  BIT  P1.0   ;時間設置按鍵
  2.    H_DE   BIT  P1.1   ;時針部分設置
  3.    M_DE   BIT  P1.2   ;分針部分設置
  4.    S_DE   BIT  P1.3   ;秒針分設置
  5.    N_SHOW BIT  P1.4   ;查看鬧鐘按鍵
  6.    NH_SET BIT  P1.5   ;鬧鐘設置按鍵
  7.    NH_DE  BIT  P1.6   ;鬧鐘時針部分設置鍵
  8.    NM_DE  BIT  P1.7   ;鬧鐘分針分設置鍵
  9.    N_OK   BIT  P3.5   ;鬧鐘設置完成按鍵
  10.    SECOND EQU  30H    ;定義秒計數單元
  11.    MINUTE EQU  31H    ;定義分計數單元
  12.    HOUR   EQU  32H    ;定義時計數單元
  13.    TCNT   EQU  33H    ;一秒計數存儲區
  14.    HH     EQU  40H    ;鬧鐘時針存儲區
  15.    MM     EQU  41H    ;鬧鐘分針存儲區
  16. ;************  初始化;設置常量 ***************
  17.        ORG   0000H
  18.        LJMP   START   ;轉開始
  19.        ORG    001BH
  20.        LJMP   INT_T0  ;轉中斷
  21.        ORG    0060H
  22. START: MOV   SP,   #60H
  23.        MOV   PSW,  #00H
  24.        MOV   P0,   #0FFH
  25.        MOV   P2,   #00H
  26.        MOV   DPTR, #TABLE
  27.        MOV   R0, #20H
  28.        MOV   R7,  #5FH
  29.    Q1: MOV  @R0, #00H  ;初始化存儲器
  30.        INC   R0
  31.        DJNZ  R7,  Q1
  32.        MOV  HOUR,  #00 ;設置時鐘處置0點整
  33.        MOV  MINUTE,#0
  34.        MOV  SECOND,#0
  35.        MOV  HH,#01     ;設置鬧鐘時間1點10分
  36.        MOV  MM,#10
  37.        CLR  P3.4       ;清鬧鐘標志,P3.4接揚聲器,鬧鐘時間到
  38.        MOV  TMOD,  #10H
  39.        MOV  TH1,   #(65536-50000)/256
  40.        MOV  TL1,   #0B0H
  41.        SETB  EA
  42.        SETB  ET1
  43.        SETB  TR1        ;啟動定時器T1工作
  44. ;************ 按鍵掃描子程序 ***************

  45. LOOP: LCALL DISPLAY      ;顯示當前時間
  46.        LCALL KEY          ;掃描按鍵
  47.        LCALL ALARM_CLOCK  ;查看鬧鐘時間
  48.        SJMP LOOP

  49.      KEY: LCALL  DISPLAY;
  50.           JNB    M_SET, S1
  51.           JNB    H_DE, S2
  52.           JNB    M_DE,  S3
  53.           JNB    S_DE,  S4
  54.           JNB    N_SHOW, S5 ;查看鬧鐘時間
  55.           JNB    NH_SET,S6  ;設置鬧鐘         
  56.           RET

  57.        S1: LCALL  DISPLAY   ;時間設置按鍵
  58.                  CPL    TR1       ;定時器改變開關狀態
  59.            MOV R5,#1
  60.                     LCALL  DELAY1
  61.                  LJMP   KEY

  62.        S2: LCALL  DELAY      ;設置時針部分
  63.            JB     H_DE,  KEY
  64.            INC    HOUR       ;時針加1
  65.            MOV    A,  HOUR
  66.            CJNE   A,  #24,  J1
  67.            MOV    HOUR,  #0
  68.            LJMP   KEY

  69.        S3: LCALL  DELAY    ;設置分針部分
  70.            JB     M_DE, KEY
  71.            INC    MINUTE    ;分針加1
  72.            MOV    A, MINUTE
  73.            CJNE   A, #60, J2
  74.            MOV    MINUTE, #0
  75.            LJMP   KEY

  76.        S4: LCALL  DELAY    ;設置秒針部分
  77.            JB     S_DE,  KEY
  78.            INC    SECOND    ;秒針加1
  79.            MOV    A,  SECOND
  80.            CJNE   A,  #60, J3
  81.                  MOV    SECOND, #0
  82.                  LJMP   KEY

  83.        S5: LCALL  DELAY    ;查看鬧鐘時間
  84.            MOV R5,#50
  85.            TU: LCALL DISPLAY1
  86.                LCALL DELAY
  87.                DJNZ R5,TU
  88.                LJMP LOOP

  89.        S6: LCALL DISPLAY1  ;鬧鐘設置按鍵
  90.            JB NH_DE,S7
  91.            INC HH          ;鬧鐘時針加1
  92.            MOV A,HH
  93.            CJNE A,#24,J4
  94.            MOV HH,#0
  95.            LJMP LOOP

  96.        S7: LCALL DISPLAY1  ;設置鬧鐘時針部分
  97.            JB NM_DE,S8
  98.            INC MM          ;鬧鐘分針加1
  99.            MOV A,MM
  100.            CJNE A,#60,J5
  101.            MOV MM,#0
  102.            LJMP S6

  103.        S8: JB N_OK,S6      ;鬧鐘設置完成按鍵
  104.            JNB N_OK,$
  105.            LCALL DISPLAY
  106.            LJMP LOOP

  107.        J0: JB M_SET,AA
  108.            LCALL  DISPLAY
  109.            SJMP J0
  110.        J1: JB H_DE,AA
  111.            LCALL  DISPLAY
  112.            SJMP J1
  113.        J2: JB M_DE ,AA
  114.            LCALL  DISPLAY
  115.            SJMP J2
  116.        J3: JB S_DE,AA
  117.            LCALL  DISPLAY
  118.            SJMP J3
  119.        J4: MOV R4,#10
  120.            UU:LCALL DISPLAY1
  121.            DJNZ R4,UU
  122.            LJMP S6
  123.        J5: MOV R4,#10
  124.       UU1: LCALL DISPLAY1
  125.            DJNZ R4,UU1
  126.            LJMP S6
  127.        AA: LJMP  LOOP
  128. ;************ 鬧鐘子程序 ***************
  129. ALARM_CLOCK: MOV A,HOUR
  130.              MOV B,HH
  131.              CJNE A,B,LL     ;當A不等于B時候跳轉
  132.              MOV A,MINUTE
  133.              MOV B,MM
  134.              CJNE A,B,LL     ;當A不等于B時候跳轉
  135.          X1: LCALL DISPLAY
  136.              CPL P3.4
  137.              LCALL DELAY
  138.              JB N_OK,X1
  139.              JNB N_OK,[        DISCUZ_CODE_2        ]nbsp;    ;鬧鐘持續一分鐘,按下P3.5,鬧鐘停止
  140.              CLR P3.4  
  141.              LL:RET

  142. ;************  中斷子程序  ***************
  143. INT_T0: PUSH   ACC
  144.         PUSH   PSW
  145.         MOV    TH1, #(65536-50000)/256
  146.         MOV    TL1, #0B0H
  147.         INC    TCNT
  148.         MOV    A,  TCNT
  149.         CJNE   A,  #20,RETUNE ;當A不等于20時候跳轉
  150.         INC  SECOND
  151.         MOV  TCNT,  #0
  152.         MOV   A,   SECOND
  153.         CJNE  A,  #60,RETUNE  ;當A不等于60時候跳轉
  154.         INC   MINUTE
  155.         MOV   SECOND,  #0
  156.         MOV   A,  MINUTE
  157.         CJNE  A,  #60,RETUNE  ;當A不等于60時候跳轉
  158.         INC   HOUR
  159.         MOV   MINUTE,#0
  160.         MOV   A,HOUR
  161.         CJNE  A, #24,RETUNE   ;當A不等于24時跳轉
  162.         MOV   HOUR,    #0
  163.         MOV   MINUTE,  #0
  164.         MOV   SECOND,  #0
  165.         MOV   TCNT,    #0
  166. RETUNE: POP   PSW
  167.         POP   ACC
  168.         RETI
  169. ;************  顯示子程序  ***************
  170. DISPLAY: MOV  DPTR,  #TABLE
  171.          MOV  A,  SECOND
  172.          MOV  B,  #10
  173.          DIV  AB              ;被除數在A中,除數在B中,運算結束后,商存于A中,余數存于B中。
  174.          CLR  P2.6
  175.          MOVC  A, @A+DPTR
  176.          MOV   P0, A
  177.          LCALL  DELAY
  178.          SETB  P2.6
  179.          MOV   A,  B
  180.          CLR   P2.7
  181.          MOVC  A,  @A+DPTR
  182.          MOV   P0,  A
  183.          LCALL  DELAY
  184.          SETB   P2.7

  185.          MOV  DPTR,  #TABLE
  186.          MOV  A,  MINUTE
  187.          MOV  B,  #10
  188.          DIV  AB              ;被除數在A中,除數在B中,運算結束后,商存于A中,余數存于B中
  189.          CLR  P2.3
  190.          MOVC  A, @A+DPTR
  191.          MOV   P0, A
  192.          LCALL  DELAY
  193.          SETB  P2.3
  194.          MOV   A,  B
  195.          CLR   P2.4
  196.          MOVC  A,  @A+DPTR
  197.          MOV   P0,  A
  198.          LCALL  DELAY
  199.          SETB   P2.4

  200.          MOV  DPTR,  #TABLE
  201.          MOV  A, HOUR
  202.          MOV  B,  #10
  203.          DIV  AB              ;被除數在A中,除數在B中,運算結束后,商存于A中,余數存于B中。
  204.          CLR  P2.0
  205.          MOVC  A, @A+DPTR
  206.          MOV   P0, A
  207.          LCALL  DELAY
  208.          SETB  P2.0
  209.          MOV   A,  B
  210.          CLR   P2.1
  211.          MOVC  A,  @A+DPTR
  212.          MOV   P0,  A
  213.          LCALL  DELAY
  214.          SETB   P2.1
  215.          RET

  216. DISPLAY1: MOV  DPTR,  #TABLE
  217.           MOV  A, HH
  218.           MOV  B,  #10
  219.           DIV  AB              ;被除數在A中,除數在B中,運算結束后,商存于A中,余數存于B中。
  220.           CLR  P2.0
  221.           MOVC  A, @A+DPTR
  222.           MOV   P0, A
  223.           LCALL  DELAY
  224.           SETB  P2.0
  225.           MOV   A,  B
  226.           CLR   P2.1
  227.           MOVC  A,  @A+DPTR
  228.           MOV   P0,  A
  229.           LCALL  DELAY
  230.           SETB   P2.1
  231.           CLR    P2.2
  232.           MOV    P0, #40H
  233.           LCALL  DELAY
  234.           SETB   P2.2

  235.           MOV  DPTR,  #TABLE
  236.           MOV  A,  MM
  237.           MOV  B,  #10
  238.           DIV  AB              ;被除數在A中,除數在B中,運算結束后,商存于A中,余數存于B中。
  239.           CLR  P2.3
  240. ……………………

  241. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

完整的Word格式文檔51黑下載地址(共44頁):
基于proteus數字時鐘制作設計與仿真.doc (1.04 MB, 下載次數: 22)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久免费少妇高潮毛片 | 91久久久久 | 伊人久久免费视频 | 日韩精品视频中文字幕 | 久久99网 | 伊人免费在线观看高清 | 亚洲人在线观看视频 | 国产成人久久av免费高清密臂 | 国产有码 | 亚洲第一av | 91视频国产精品 | 91视频大全 | 国产亚洲精品久久久久动 | 欧美综合久久 | 女女百合av大片一区二区三区九县 | 婷婷在线免费 | 欧美精品久久久 | 国产精品久久久久久久久久免费看 | 91中文在线观看 | 99久久免费精品国产免费高清 | 国产一区二区三区精品久久久 | 国产一区二区三区四区三区四 | 欧美日韩在线免费观看 | 成在线人视频免费视频 | 中文在线亚洲 | 色欧美综合 | 欧美电影免费网站 | 麻豆国产一区二区三区四区 | av官网在线| 久久久综合久久 | 日韩三级一区 | 自拍偷拍第一页 | 国产精品a免费一区久久电影 | 日韩字幕 | 免费视频久久 | 无吗视频 | 国产伦精品一区二区三区精品视频 | 亚洲精品久久久久久下一站 | 亚洲精品乱码久久久久v最新版 | 久久久久久久久99 | 欧洲成人免费视频 |