• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于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ī)而言,具有良好的在線仿真功能,可直接在集成開(kāi)發(fā)環(huán)境Keil中進(jì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)行在線仿真調(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ì)算器
      赣榆县| 宾阳县| 富平县| 永清县| 阿克| 永登县| 高雄县| 徐汇区| 开平市| 安宁市| 富川| 吴桥县| 连云港市| 登封市| 祥云县| 嘉义市| 曲周县| 阳泉市| 托克托县| 克什克腾旗| 二连浩特市| 通榆县| 余姚市| 江源县| 伊金霍洛旗| 诸暨市| 盘锦市| 务川| 开江县| 吉安市| 阜新市| 津市市| 和林格尔县| 高淳县| 玛纳斯县| 海南省| 大丰市| 新余市| 西盟| 莱西市| 西乡县|