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

?

基于STC15F2K61S2的計(jì)算器設(shè)計(jì)

2015-07-07 23:48:24韓光江孫鵬何夢(mèng)雪余曉銘
科技與創(chuàng)新 2015年10期
關(guān)鍵詞:數(shù)碼管計(jì)算器單片機(jī)

韓光江+孫鵬+何夢(mèng)雪+余曉銘

摘 要:提出了一種可進(jìn)行連續(xù)四則運(yùn)算的計(jì)算器設(shè)計(jì)方案,主要從硬件部分和軟件部分兩方面介紹此設(shè)計(jì)方案。在硬件部分中,說(shuō)明了所選用的STC公司最新的STC15F2K61S2微控制器相比于傳統(tǒng)C51單片機(jī)的優(yōu)勢(shì),提出了僅用3個(gè)引腳驅(qū)動(dòng)8位數(shù)碼管的方法,并介紹了4×4矩陣鍵盤(pán)的驅(qū)動(dòng)方案;在軟件部分中,給出了計(jì)算器程序執(zhí)行流程圖,并提出了一種實(shí)現(xiàn)計(jì)算器四則運(yùn)算的算法。

關(guān)鍵詞:計(jì)算器;單片機(jī);驅(qū)動(dòng)方案;數(shù)碼管

中圖分類(lèi)號(hào):TP368.1 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.15913/j.cnki.kjycx.2015.10.101

隨著嵌入式技術(shù)的不斷發(fā)展,計(jì)算器在生活中的應(yīng)用越來(lái)越廣泛,便攜式計(jì)算器日益成為人們工作、學(xué)習(xí)中不可或缺的工具。因此,采用STC公司最新的STC15F2K61S2單片機(jī),并結(jié)合數(shù)碼管、矩陣鍵盤(pán)等模塊完成了一種可進(jìn)行8位數(shù)以?xún)?nèi)四則運(yùn)算的計(jì)算器設(shè)計(jì)。其能進(jìn)行連續(xù)的四則運(yùn)算,并能實(shí)時(shí)顯示當(dāng)前輸入數(shù)據(jù)和輸出結(jié)果,具有計(jì)算可靠、制作簡(jiǎn)單、集成度高、成本低等優(yōu)點(diǎn)。

1 計(jì)算器硬件設(shè)計(jì)部分

1.1 微控制器

STC15F2K61S2系列單片機(jī)是STC生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速、高可靠性的新一代8051單片機(jī),ISP編程時(shí)時(shí)鐘頻率可設(shè)置為5~35 MHz,可徹底省掉外部晶振。其內(nèi)部已集成了高可靠性的復(fù)位電路,無(wú)需再設(shè)計(jì)外部復(fù)位電路。

此外,STC15F2K61S2相比于傳統(tǒng)的C51系列單片機(jī)而言,具有良好的在線(xiàn)仿真功能,可直接在集成開(kāi)發(fā)環(huán)境Keil中進(jìn)行在線(xiàn)仿真調(diào)試,極大地提高了軟件開(kāi)發(fā)的效率。

1.2 數(shù)碼管顯示模塊

本模塊包含8個(gè)數(shù)碼管。在傳統(tǒng)的數(shù)碼管驅(qū)動(dòng)方法中,需要采用8個(gè)引腳段選,極大地浪費(fèi)了微控制器的引腳資源。因此,本設(shè)計(jì)采用2片74HC595芯片,實(shí)現(xiàn)了采用3個(gè)引腳就能完成8位數(shù)碼管的驅(qū)動(dòng),很好地節(jié)省了有限的控制器資源。

設(shè)計(jì)采用2片74HC595串聯(lián),第一級(jí)(U1)的串行輸出口(QH)與第二級(jí)(U2)的串行輸入口(SER)相連。這樣在串行輸入時(shí)鐘的作用下,可一次性更新16位數(shù)據(jù)。其中,U1輸出的8位數(shù)據(jù)為數(shù)碼管的段選,控制數(shù)碼管顯示數(shù)字;U2輸出的8位數(shù)據(jù)用于選中數(shù)碼管以循環(huán)刷新。在C語(yǔ)言程序代碼中,會(huì)預(yù)先存儲(chǔ)所需要的數(shù)碼管顯示編碼,包括段選編碼和位選編碼,顯示數(shù)字時(shí)只需輸出相應(yīng)編碼即可。

1.3 矩陣鍵盤(pán)

用戶(hù)輸入采用4×4矩陣鍵盤(pán),依次表示阿拉伯?dāng)?shù)字“0~9”“+”“-”“×”“÷”“=”和“清零(CLR)”。采用8個(gè)I/O口進(jìn)行驅(qū)動(dòng),其中,4個(gè)為輸入口,4個(gè)為輸出口。驅(qū)動(dòng)時(shí),在主函數(shù)中對(duì)矩陣鍵盤(pán)輪詢(xún)進(jìn)行掃描。掃描時(shí)控制行的4個(gè)I/O置高作為輸入,控制列的4個(gè)I/O置低為輸出模式。當(dāng)讀取到控制行I/O的狀態(tài)發(fā)生改變,即有按鍵按下,且處于狀態(tài)發(fā)生改變的一行4個(gè)按鍵之中。此時(shí),可進(jìn)一步判斷具體被按下的按鍵,將控制行的I/0置低,控制列的I/O口置高,查詢(xún)控制列的I/O狀態(tài),即可找到具體被按下的按鍵。

2 計(jì)算器軟件設(shè)計(jì)部分

計(jì)算器在上電復(fù)位后進(jìn)行相關(guān)外設(shè)的初始化,設(shè)置定時(shí)器的中斷時(shí)間為5 ms。在中斷函數(shù)中,讀取數(shù)碼管緩沖區(qū)中的數(shù)據(jù),通過(guò)74HC595串行輸入并行輸出進(jìn)行顯示,每次刷新1個(gè)數(shù)碼管,利用二極管的余輝效應(yīng)可達(dá)到同時(shí)顯示8個(gè)數(shù)字的效果。具體過(guò)程如圖1所示。

在主函數(shù)中,利用輪詢(xún)法判斷是否有按鍵被按下。在判斷

有按鍵按下后,更新按鍵編碼緩沖區(qū)的數(shù)據(jù),并利用此數(shù)據(jù)確定按鍵動(dòng)作函數(shù)。如果輸入的是“0~9”,則臨時(shí)緩沖區(qū)中的數(shù)據(jù)將“×10+按鍵所代表的數(shù)字”。比如,臨時(shí)緩沖區(qū)的數(shù)據(jù)為2,按下按鍵“5”,則進(jìn)行“2×10+5”的操作。此時(shí),臨時(shí)緩沖區(qū)的數(shù)據(jù)更新為25.

當(dāng)按下運(yùn)算符按鍵時(shí),將運(yùn)算符標(biāo)志修改為相應(yīng)的運(yùn)算符編碼,結(jié)果緩沖區(qū)會(huì)復(fù)制臨時(shí)緩沖區(qū)的數(shù)據(jù)。比如,按下“+”,則記錄運(yùn)算符標(biāo)志symbol修改為1,當(dāng)輸入下一個(gè)數(shù)字按下“=”鍵或其他運(yùn)算符按鍵,根據(jù)運(yùn)算符標(biāo)志位,結(jié)果緩沖區(qū)和臨時(shí)緩沖區(qū)進(jìn)行相應(yīng)運(yùn)算,并將結(jié)果緩沖區(qū)的內(nèi)容復(fù)制到數(shù)碼管緩沖區(qū),以便數(shù)碼管及時(shí)更新。

3 結(jié)束語(yǔ)

設(shè)計(jì)方案采用的微控制器是STC公司最新的STC15F2K61S2微控制器,相比于傳統(tǒng)的51單片機(jī),其能進(jìn)行在線(xiàn)仿真調(diào)試,且無(wú)需外部晶振和復(fù)位電路,降低了制作的成本和復(fù)雜度。顯示部分采用2片74HC595串聯(lián)的方法,僅使用3個(gè)引腳便可完成8位數(shù)碼管的驅(qū)動(dòng)。在軟件設(shè)計(jì)中,提出的算法嚴(yán)謹(jǐn)、可靠,可按照預(yù)定的要求進(jìn)行連續(xù)的四則運(yùn)算。因此,文章中的計(jì)算器設(shè)計(jì)方案具有使用可靠、成本低廉、集成度高和制作簡(jiǎn)單等一系列優(yōu)點(diǎn)。在制作完成后,通過(guò)大量的運(yùn)算驗(yàn)證證明,本設(shè)計(jì)能達(dá)到設(shè)計(jì)要求,可正確輸出計(jì)算結(jié)果。此外,此設(shè)計(jì)對(duì)理解單片機(jī)的原理、學(xué)習(xí)單片機(jī)的控制具有很大幫助。

參考文獻(xiàn)

[1]張建強(qiáng).電子制作基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2010.

〔編輯:張思楠〕

猜你喜歡
數(shù)碼管計(jì)算器單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
Arduino編程
電腦報(bào)(2019年2期)2019-09-10 07:22:44
[計(jì)算器不是萬(wàn)能的]
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
一個(gè)損壞的計(jì)算器
一個(gè)損壞的計(jì)算器
射阳县| 遂川县| 浦城县| 冕宁县| 昭平县| 新和县| 六盘水市| 田阳县| 扶沟县| 聂荣县| 马鞍山市| 曲周县| 疏附县| 新丰县| 常山县| 资源县| 新竹县| 锦州市| 阳西县| 定结县| 师宗县| 旺苍县| 巴南区| 大连市| 汉中市| 华蓥市| 富阳市| 怀仁县| 红河县| 西平县| 井陉县| 乐至县| 根河市| 岗巴县| 沧州市| 河源市| 大关县| 五原县| 抚宁县| 万宁市| 资源县|