国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AT89C51單片機的數(shù)字秒表設計

2012-04-29 22:16:26高文慶呂英英
電腦知識與技術 2012年22期
關鍵詞:匯編語言仿真單片機

高文慶 呂英英

摘要:文中設計了一種以AT89C51單片機為核心的數(shù)字秒表。該秒表采用匯編語言為開發(fā)工具,通過數(shù)碼管顯示計時結果,并利用Proteus和Keil軟件為平臺對系統(tǒng)進行了仿真,達到了預期的效果。

關鍵詞:單片機;數(shù)字秒表;匯編語言;仿真

中圖分類號:TP368.1文獻標識碼:A文章編號:1009-3044(2012)22-5344-03

Digital Stopwatch Based on AT89C51

GAO Wen-qing, LV Ying-ying

(Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650051, China)

Abstract: The article designed a digital stopwatch based on AT89C51.The digital stopwatch used the Assembly language to develop, nixie tube was used to show, and the system was simulated by Proteus and Keil, which was up to the expectation effect.

Key words: singlechip; digital stopwatch; assembly language; simulate

1概述

單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器或計時器等功能集成到一塊硅片上構成的一個小而完善的微型計算機系統(tǒng)。單片機與編程語言的結合可以快速高效的實現(xiàn)各種功能,該文結合單片機設計實現(xiàn)了一種基于AT89C51單片機的數(shù)字秒表。

2系統(tǒng)概述

2.1設計任務

數(shù)字秒表設計由單片機AT89C51、數(shù)碼管、開關、電阻、電容等部分組成。其功能要求是用AT89C51設計一個2位LED數(shù)碼顯示的“秒表”,顯示時間為00-99秒,每秒自動加一。另外還設計了一個“開始”按鍵、一個“復位”按鍵和一個“暫?!卑存I。按“開始”按鍵,開始計數(shù),數(shù)碼管顯示從00開始每秒自動加一;按“復位”按鍵,系統(tǒng)清零,數(shù)碼管顯示00;按“暫?!卑存I,系統(tǒng)暫停計數(shù),數(shù)碼管顯示當時的計數(shù)。

2.2總體方案

圖1系統(tǒng)整體設計

系統(tǒng)主要有三部分構成:按鍵控制信號,單片機軟件處理,數(shù)碼管顯示。電路運行時,由開關按鍵決定其運行方式,經(jīng)過單片機內(nèi)部的程序進行相應的處理,在數(shù)碼管上顯示出來。利用12M晶振的一個機器周期為1微秒,通過循環(huán)產(chǎn)生1秒時間延遲,掃描單片機中所存放的時間值(可正記時,也可倒計時),并通過輸出顯示在數(shù)碼管上。此外,數(shù)碼管各段連接了上拉電阻,是為了保證引腳外接的按鍵在未按下時,作為電流負載一直保持引腳為低電平。系統(tǒng)整體設計如圖1所示。

3數(shù)字秒表的proteus軟件仿真電路設計

3.1整體仿真電路

Proteus軟件仿真設計如圖2所示。

圖2系統(tǒng)Proteus軟件仿真圖

3.2 AT89C5l單片機和數(shù)碼管顯示電路的接口設計

使用動態(tài)顯示電路接法,LED燈采用共陽極數(shù)碼管,電路中采用P0口輸出,并聯(lián)控制兩個數(shù)碼管的8個段選控制端,P2.6、P2.7作為分別采用兩個控制LED數(shù)碼管的位選控制端,其中P2.6接顯示個位數(shù),P2.7接十位數(shù),P0.0—P0.7對應了兩位數(shù)碼管的a,b,c,d,e, f,g。

3.3按鍵控制信號

三個按鍵采用獨立式鍵盤接法,開始按鍵接P3.5,暫停按鍵接P3.6,清零按鍵接P3.7,低電平有效,三個按鍵功能均在子程序中顯示。定時器0中斷程序主要是延時程序。

3.4其他管腳的設計

單片機中的Vss端接地,Vcc端接+5V電源,另外,三極管發(fā)射極端也接+5V電源,保證數(shù)碼管有足夠的電源供應。

圖3程序設計流程圖

4計時器的軟件程序設計

軟件設計的思路為:在這個復雜的程序中,先根據(jù)設計的總體要求劃分出各功能程序模塊,分別確定主程序、子程序以及中斷服務程序結構,并對各程序模塊占用的資源進行統(tǒng)一的調(diào)配,最后根據(jù)流程圖繪制具體的程序。因此在這個秒表程序中可劃分為主程序、鍵盤控制、秒表計時程序三大模塊。其中主程序完成初始化作用,動態(tài)顯示程序,鍵盤控制程序,秒表計時程序等,延時程序由定時器中斷服務子程序構成。

主程序:即初始化程序,用EQU命令首先對三個按鍵進行了定義,規(guī)定了堆棧指針和數(shù)據(jù)指針的首地址,對定時器進行設定,選用定時器0為工作方式1,50ms為定時時間,則要定時1s可以循環(huán)20次,設置中斷程序的入口,并開中斷EA,ET0等。

子程序:包括按鍵功能子程序和顯示子程序。按鍵子程序?qū)θ齻€按鍵功能進行設定,其中P3.5口起到開始的功能,P3.6口連接的按鍵可以控制數(shù)碼管的進度,P3.7對數(shù)碼管數(shù)字進行復位,使數(shù)碼管清零。三個按鍵均為低電平有效,JB命令先判斷按鍵是否按下,若按下則跳轉(zhuǎn)到顯示子程序,JNB命令判斷按鍵按下后是否彈起,若彈起來就執(zhí)行開始、暫停、清零等功能。顯示子程序:定義了P2.6、P2.7兩個位選口,在單片機輸出時,先選擇字位選口,然后在所在的位口上進行字形選擇,選擇要點亮的字形。

中斷程序:中斷程序即定時器延時程序,當中斷來臨時,定時器重新裝入初值,判斷是否循環(huán)了20次,若循環(huán)20次說明定時器延時到達1s,就進行加一運算。程序設計流程圖如圖3所示。

重要程序段說明:

將0到99的數(shù)據(jù)通過對10整除和對10求余,將數(shù)據(jù)的個位和十位分開。

MOV A,R4

MOV B,#10

DIV AB;當前值除以10

MOV 40H,A;得出的商送給十位

MOV 41H,B;得出的余數(shù)送給個位

這段程序是將要顯示的數(shù)字分別放到兩個數(shù)碼管上,使兩個數(shù)碼管分別顯示十位和個位數(shù)字。

5結論

該文使用AT89C51單片機設計了一款具有計時開始、暫停、復位功能的數(shù)字秒表,利用Proteus和Keil軟件進行了仿真及調(diào)試,達到了期望的效果。系統(tǒng)結構簡單,抗干擾能力強,具有較好的應用前景。

參考文獻:

[1]李朝青.單片機原理及接口技術[M].北京:北京航天航空大學出版社,2005.

[2]王爽.匯編語言[M].北京:清華大學出版社,2008.

[3]蔣輝平,周國雄.基于Proteus的單片機系統(tǒng)設計與仿真實例[M].北京:機械工業(yè)出版社,2009.

[4]孫凌燕,黃允千.Proteus與Keil軟件的整合在單片機實驗開發(fā)中的應用[J].實驗室研究與探索,2008,27(4):59-68.

猜你喜歡
匯編語言仿真單片機
高等學校計算機專業(yè)課程教學改革實踐——以匯編語言與接口技術課程為例
計算機教育(2020年5期)2020-07-24 08:52:50
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
匯編語言與C語言的混合程序設計技術研究
電子制作(2019年10期)2019-06-17 11:45:16
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
提高《匯編語言程序設計》教學效率的思考與實踐
Buck開關變換器的基本參數(shù)設計及仿真分析
試析PLC控制下的自動化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設計
科技視界(2016年18期)2016-11-03 21:44:44
中國體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
科技視界(2016年18期)2016-11-03 20:31:49
清镇市| 丰镇市| 苏尼特左旗| 方正县| 庆城县| 莱西市| 襄樊市| 汪清县| 彰武县| 十堰市| 唐海县| 上栗县| 成武县| 平顶山市| 平南县| 巫溪县| 崇左市| 天柱县| 仁怀市| 东兰县| 浏阳市| 荥阳市| 汶上县| 伊金霍洛旗| 凤城市| 东乡族自治县| 天津市| 乐业县| 汽车| 靖边县| 武汉市| 玉门市| 罗山县| 碌曲县| 灵宝市| 申扎县| 临澧县| 镇坪县| 宜良县| 岐山县| 师宗县|