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

?

基于AT89C52單片機(jī)的數(shù)字秒表設(shè)計(jì)

2016-11-19 20:29:42崔紫騰李小蕊
物聯(lián)網(wǎng)技術(shù) 2016年10期
關(guān)鍵詞:C語(yǔ)言單片機(jī)

崔紫騰+李小蕊

摘 要:文中設(shè)計(jì)了基于單片機(jī)技術(shù)原理的簡(jiǎn)易秒表,該設(shè)計(jì)以AT89C52芯片作為核心元件,采用C語(yǔ)言為開(kāi)發(fā)工具,通過(guò)數(shù)碼管顯示計(jì)時(shí)結(jié)果,并以Proteus和Keil軟件作為開(kāi)發(fā)平臺(tái),對(duì)所設(shè)計(jì)的數(shù)字秒表進(jìn)行仿真,調(diào)試及優(yōu)化設(shè)計(jì),并觀察實(shí)際的工作狀態(tài),從而達(dá)到預(yù)期效果。

關(guān)鍵詞:?jiǎn)纹瑱C(jī);數(shù)字秒表;C語(yǔ)言;AT89C52芯片

中圖分類號(hào):TP368 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)10-00-02

0 引 言

目前,計(jì)算機(jī)技術(shù)為生活帶來(lái)了巨大的變化,微型計(jì)算機(jī)的應(yīng)用已滲透到我們生活的各個(gè)領(lǐng)域。單片機(jī)作為計(jì)算機(jī)發(fā)展的一個(gè)重要分支領(lǐng)域,其具有系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用方便,可實(shí)現(xiàn)模塊化,環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn)。數(shù)字秒表在生活、運(yùn)動(dòng)、競(jìng)賽中起著非常重要的作用,已發(fā)展成為人們?nèi)粘S?jì)時(shí)的必需品,本文結(jié)合單片機(jī)設(shè)計(jì)及C語(yǔ)言編程實(shí)現(xiàn)了一種基于AT89C52單片機(jī)的數(shù)字秒表。

1 總體方案設(shè)計(jì)

本設(shè)計(jì)由AT89C52單片機(jī)、電源電路、晶振電路、復(fù)位電路、顯示電路以及按鍵電路等組成。軟件系統(tǒng)采用C語(yǔ)言編寫(xiě)程序,包括顯示、計(jì)數(shù)、中斷、延時(shí)、按鍵消抖程序等。數(shù)字秒表的總體框圖如圖1所示。

2 硬件電路設(shè)計(jì)

2.1 晶體振蕩電路

89C52芯片內(nèi)部有一個(gè)由高增益反相放大器構(gòu)成的振蕩電路,XTAL1和XTAL2分別為振蕩電路的輸入和輸出端[1]。本設(shè)計(jì)采用52單片機(jī)12 MHz的內(nèi)部振蕩方式,其振蕩電路如圖2所示,電容器C1、C2可以使電路具有穩(wěn)定的振蕩頻率和快速起振,電容值一般為20100 pF。本設(shè)計(jì)采用大小為30 pF的電容。

2.2 復(fù)位電路

為確保微機(jī)系統(tǒng)中的電路穩(wěn)定可靠的工作,復(fù)位電路必不可少。復(fù)位電路可以使中央處理器CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作[2]。從圖3所示的電路可以看出其可實(shí)現(xiàn)上電復(fù)位和按鍵復(fù)位功能。

上電后,由于電容C3的充電和反相門(mén)的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)進(jìn)入工作狀態(tài)時(shí),按下復(fù)位按鈕,使RST引腳接到高電平,電容C3放電完后可實(shí)現(xiàn)上電加按鍵復(fù)位的操作。復(fù)位電路如圖3所示。

2.3 按鍵電路

鍵盤(pán)從結(jié)構(gòu)上分為獨(dú)立式按鍵和矩陣式鍵盤(pán)[3]。由于本設(shè)計(jì)按鍵較少所以采用獨(dú)立式按鍵,即按鍵直接和I/O口連接,電路圖如圖4所示。此處設(shè)計(jì)了五個(gè)按鍵,分別為開(kāi)始/暫停、記錄、上翻、下翻、清零,鍵盤(pán)按鍵識(shí)別方法采用查詢法,并設(shè)計(jì)了防抖動(dòng)程序。當(dāng)按鍵沒(méi)按下時(shí),CPU對(duì)應(yīng)的I/O接口由于內(nèi)部有上拉電阻,其輸入為高電平;當(dāng)某鍵被按下后,對(duì)應(yīng)的I/O接口變成低電平。只要在程序中判斷I/O接口的狀態(tài)即可知道獲得的鍵值,并執(zhí)行鍵功能程序。

2.4 顯示電路

單片機(jī)應(yīng)用系統(tǒng)中使用的顯示器件主要有LED和LCD。在一位LED顯示器中,當(dāng)某一段加上正向電流時(shí),該段被點(diǎn)亮,沒(méi)有通電的則不亮[4]。LED顯示器一般由8個(gè)發(fā)光二極管組成,可分為共陽(yáng)極與共陰極兩種。共陽(yáng)極將8個(gè)發(fā)光二極管的陽(yáng)極連在一起,成為一個(gè)公共端。共陰極將8個(gè)發(fā)光二極管的陰極連在一起,成為一個(gè)公共端[5]。LED顯示分為靜態(tài)顯示與動(dòng)態(tài)顯示[4]。靜態(tài)顯示在顯示某一字符時(shí),電路具有鎖存功能。動(dòng)態(tài)顯示使LED在一個(gè)顯示周期內(nèi)分別顯示一段時(shí)間,用P0口驅(qū)動(dòng)顯示。本設(shè)計(jì)采用如圖5所示的共陽(yáng)極LED動(dòng)態(tài)顯示電路。

2.5 硬件整體電路

在Proteus中繪制的硬件電路原理圖如圖6所示。

3 軟件設(shè)計(jì)

本文設(shè)計(jì)的模塊程序采用C語(yǔ)言編寫(xiě),在編寫(xiě)代碼時(shí),將程序模塊化設(shè)計(jì)。在模塊設(shè)計(jì)的過(guò)程中,需讓各模塊的程序完成明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,并盡量減少模塊之間的控制參數(shù)和數(shù)據(jù)參數(shù)。數(shù)字秒表軟件系統(tǒng)模塊如圖7所示。

3.1 初始化模塊

定時(shí)器共有四種工作方式,分別為方式0、方式1、方式2、方式3。TMOD寄存器中的M0、M1位為01時(shí),定時(shí)器被選為工作方式1[6]。初始化模塊主要根據(jù)晶振頻率來(lái)設(shè)定定時(shí)器的中斷時(shí)間,讓單片機(jī)定時(shí)器工作在方式1下。

3.2 中斷模塊

CPU在處理某一事件A時(shí),能對(duì)外界發(fā)生的事情B請(qǐng)求CPU迅速處理。CPU暫停中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B,CPU將事件B處理完畢后,再回到原來(lái)的事件A被中斷的地方繼續(xù)處理事件A,這一過(guò)程稱為中斷[7]。AT89C52單片機(jī)提供了5個(gè)中斷源,兩個(gè)外部中斷源和3個(gè)內(nèi)部中斷源。每個(gè)中斷源都有一個(gè)中斷申請(qǐng)標(biāo)志,串行口占兩個(gè)中斷標(biāo)志位,共6個(gè)中斷標(biāo)志。

3.3 顯示模塊

本設(shè)計(jì)采用4位7段LED數(shù)碼管,采用共陽(yáng)極顯示器。為使LED點(diǎn)亮,位選信號(hào)應(yīng)為高電平,段選信號(hào)應(yīng)為低電平。使用動(dòng)態(tài)顯示的方法,AT89C52單片機(jī)的P1口和P2口分別為L(zhǎng)ED的段選和位選。由于在Proteus中模擬仿真時(shí),它的反應(yīng)速度太慢,比不上硬件,所以會(huì)出現(xiàn)顯示不清楚的情況,這時(shí)就需要加上消隱程序以消除這種情況。數(shù)碼管顯示流程圖如圖8所示。

3.4 按鍵模塊

本文設(shè)計(jì)的按鍵檢測(cè)模塊函數(shù)采用查詢法實(shí)現(xiàn)按鍵檢測(cè),通過(guò)檢測(cè)接口上的電平變化可以確定哪個(gè)按鍵被按下。程序的按鍵模塊流程圖如圖9所示。

4 結(jié) 語(yǔ)

本文設(shè)計(jì)的數(shù)字秒表采用軟件與硬件相結(jié)合的開(kāi)發(fā)模式,具有線路簡(jiǎn)單、系統(tǒng)設(shè)計(jì)合理、執(zhí)行速度快、性能穩(wěn)定、程序精簡(jiǎn)易懂等特點(diǎn)。對(duì)于程序設(shè)計(jì),應(yīng)采用模塊化設(shè)計(jì)以優(yōu)化結(jié)構(gòu)。最終,實(shí)現(xiàn)了開(kāi)始、暫停、記錄、查詢等功能,達(dá)到了預(yù)期效果。

參考文獻(xiàn)

[1]高文慶,呂英英.基于AT89C51單片機(jī)的數(shù)字秒表設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2012,8(22):5344-5346.

[2]王新娜,孫新鳳.基于ATmega16單片機(jī)的簡(jiǎn)易秒表的設(shè)計(jì)與制作[J].硅谷,2011(23):59.

[3]屈楊.數(shù)字秒表的設(shè)計(jì)[J].科技信息,2013(2):206-207.

[4]郭海麗.基于單片機(jī)的數(shù)字秒表設(shè)計(jì)[J].電子元器件應(yīng)用,2012(1):27-29.

[5]雷躍榮,詹旭,杜玲艷,等.基于單片機(jī)的智能秒表設(shè)計(jì)[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2010,23(5):602-604.

[6]李彩娜,王智磊.基于LCD1602的數(shù)字電子鐘設(shè)計(jì)[J].無(wú)錫南洋職業(yè)技術(shù)學(xué)院論叢,2012(Z1):70-74.

[7]樓俊君.基于STC89C51的簡(jiǎn)易秒表的設(shè)計(jì)[J].福建電腦,2015,31(9):116,145.endprint

猜你喜歡
C語(yǔ)言單片機(jī)
基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
基于C語(yǔ)言的計(jì)算機(jī)軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
C語(yǔ)言程序設(shè)計(jì)課程教學(xué)與學(xué)科專業(yè)相結(jié)合的探索
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
論子函數(shù)在C語(yǔ)言數(shù)據(jù)格式輸出中的應(yīng)用
峡江县| 湘潭市| 贵德县| 金乡县| 耒阳市| 安泽县| 龙里县| 池州市| 蒲城县| 金山区| 陆丰市| 林口县| 比如县| 神池县| 山东省| 夏津县| 乳源| 彭泽县| 九寨沟县| 化德县| 阜宁县| 徐汇区| 苏州市| 文水县| 平定县| 荔波县| 南召县| 枞阳县| 乌恰县| 沙坪坝区| 湘阴县| 藁城市| 晴隆县| 长海县| 临沧市| 辽中县| 黎平县| 顺平县| 永丰县| 公安县| 陆河县|