




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 目錄 摘要.第一章 緒論. 1.1課題簡介. 1.2設(shè)計(jì)目的. 1.3簡易計(jì)算器系統(tǒng)簡介.第二章 總體電路設(shè)計(jì).第三章 主要模塊介紹. 3.1AT89C51. 3.2LED數(shù)碼管的結(jié)構(gòu)及工作原理. 3.3 矩陣按鍵. 3.4 蜂鳴器模塊.第四章 計(jì)算器系統(tǒng)設(shè)計(jì). 4.1 計(jì)算器硬件. 4.2 系統(tǒng)框圖. 4.3 程序設(shè)計(jì).結(jié)語 .參考文獻(xiàn). 摘 要 課程設(shè)計(jì)教學(xué)環(huán)節(jié)是為了學(xué)生能夠更好地鞏固和實(shí)踐所學(xué)專業(yè)知識而設(shè)置的,在本次課程設(shè)計(jì)中,我以MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用課程中所學(xué)知識為基礎(chǔ),設(shè)計(jì)了簡易計(jì)算器。本系統(tǒng)以MCS-51系列中的AT89C51單片機(jī)為核心,能夠?qū)崿F(xiàn)六位數(shù)的四則運(yùn)
2、算。該系統(tǒng)通過檢測矩陣鍵盤掃描,判斷是否按鍵,經(jīng)數(shù)據(jù)轉(zhuǎn)換把數(shù)值送入數(shù)碼管顯示。本系統(tǒng)的設(shè)計(jì)說明重點(diǎn)介紹了如下幾方面的內(nèi)容:1)基于單片機(jī)簡易計(jì)算器的基本功能,同時(shí)對矩陣鍵盤及LED數(shù)碼管顯示原理進(jìn)行了簡單的闡述;2)介紹了系統(tǒng)的總體設(shè)計(jì)、給出了系統(tǒng)的整體流程框圖,并對其進(jìn)行了功能模塊劃分及所采用的元器件進(jìn)行了詳細(xì)說明;3)對系統(tǒng)各功能模塊的軟、硬件實(shí)現(xiàn)進(jìn)行了設(shè)計(jì)說明。關(guān)鍵詞:MCS-51單片機(jī);計(jì)算器;加減乘除 第一章 緒論1.1課題簡介單片機(jī)由于其微小的體積和極低的成本,廣泛的應(yīng)用于家用電器、工業(yè)控制等領(lǐng)域中。在工業(yè)生產(chǎn)中。單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單
3、片機(jī)微型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。本系統(tǒng)就是充分利用了51芯片的I/O引腳。系統(tǒng)統(tǒng)采用MSC-51系列單片機(jī)AT89C51為中心器件來設(shè)計(jì)計(jì)算器控制器。1.2設(shè)計(jì)目的通過本次工程實(shí)踐,運(yùn)用MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用所學(xué)知識及查閱相關(guān)資料,完成簡易計(jì)算器的設(shè)計(jì),達(dá)到理論知識與實(shí)踐更好結(jié)合、提高綜合運(yùn)用所學(xué)知識和設(shè)計(jì)能力的目的。通過本次設(shè)計(jì)訓(xùn)練,可以使我們在基本思路和基本方法上對基于MCS-51單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)有一個(gè)比較感性的認(rèn)識,并具備一定程度的設(shè)計(jì)能力。1.3 簡易計(jì)算器系統(tǒng)簡介本計(jì)算器是以MCS-51系列AT89C51單片機(jī)為核心構(gòu)成的簡易計(jì)算
4、器系統(tǒng)。該系統(tǒng)通過單片機(jī)控制,實(shí)現(xiàn)對4*4鍵盤掃描進(jìn)行實(shí)時(shí)的按鍵檢測,并把檢測數(shù)據(jù)存儲下來。整個(gè)計(jì)算器系統(tǒng)的工作過程為:首先存儲單元初始化,顯示初始值和鍵盤掃描,判斷按鍵位置,查表得出按鍵值,單片機(jī)則對數(shù)據(jù)進(jìn)行儲存與相應(yīng)處理轉(zhuǎn)換,之后送入LED數(shù)碼管顯示。整個(gè)系統(tǒng)可分為三個(gè)主要功能模塊:功能模塊一,實(shí)時(shí)鍵盤掃描;功能模塊二,數(shù)據(jù)轉(zhuǎn)換為了數(shù)碼管顯示;功能模塊三,LED數(shù)碼管顯示。 第二章 總體電路設(shè)計(jì)本次設(shè)計(jì)采用AT89C51單片機(jī)作為控制芯片,采用單片機(jī)上的按鍵來模仿輸入信號。通過鍵盤掃描將輸入按鍵信號讀入單片機(jī),根據(jù)按鍵的號碼進(jìn)行不同的顯示,并通過蜂鳴器發(fā)出信號。顯示模塊則利用六位八段數(shù)碼管
5、,進(jìn)行按鍵號碼的顯示。 本系統(tǒng)功能由硬件和軟件兩大部分協(xié)調(diào)完成,硬件部分主要完成按鍵輸入的模擬、蜂鳴器的驅(qū)動、按鍵號碼的顯示等功能;而軟件主要完成對按鍵輸入的掃描、中斷對數(shù)據(jù)初始化及數(shù)碼顯示管的顯示控制等功能。 第三章 主要模塊介紹3.1 AT89C51簡介 AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATM
6、EL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 圖1 AT89C51芯片內(nèi)部引腳圖 3.2 LED數(shù)碼管的結(jié)構(gòu)及工作原理 LED數(shù)碼管(LED Segment Displays)是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。LED數(shù)碼管常用段數(shù)一般為7段有的另加一個(gè)小數(shù)點(diǎn),還有一種是類似于3位“+
7、1”型。位數(shù)有半位,1,2,3,4,5,6,8,10位等等.,LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖4.5是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍(lán),黃等幾種。LED數(shù)碼管廣泛用于儀表,時(shí)鐘,車站,家電等場合。選用時(shí)要注意產(chǎn)品尺寸顏色,功耗,亮度,波長等。下面將介紹常用LED數(shù)碼管內(nèi)部引腳圖。 圖2 這是一個(gè)八段兩位帶小數(shù)點(diǎn)10引腳的LED數(shù)碼管每一筆劃都是對應(yīng)一個(gè)字母表示 DP是小數(shù)點(diǎn).數(shù)碼管分為共陽極的LED
8、數(shù)碼管、共陰極的LED數(shù)碼管兩種。下圖例舉的是共陽極的LED數(shù)碼管,共陽就是8段的顯示字碼共用一個(gè)電源的正。LED數(shù)碼管原理圖示意如圖3: 圖3 LED數(shù)碼管原理圖 從上圖可以看出,要是數(shù)碼管顯示數(shù)字,有兩個(gè)條件:1、是要在VT端(3/8腳)加正電源;2、要使(a,b,c,d,e,f,g,dp)端接低電平或“0”電平。這樣才能顯示的。共陽極LED數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖: 圖4 共陽極LED數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖共陰極LED數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖:圖5 共陰極LED數(shù)碼管的內(nèi)部結(jié)構(gòu)原理圖表1 顯示數(shù)字對應(yīng)的二進(jìn)制電平信號LED數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個(gè)段碼,從而顯示出我們
9、要的數(shù)位,因此根據(jù)LED數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。靜態(tài)顯示驅(qū)動: 靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O口進(jìn)行驅(qū)動,或者使用如BCD碼二-十進(jìn)位轉(zhuǎn)換器進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用I/O口多。3.3 矩陣按鍵 鍵盤是單片機(jī)系統(tǒng)中最常用的人機(jī)對話輸入設(shè)備,用戶通過鍵盤向單片機(jī)輸入數(shù)據(jù)或指令。鍵盤控制程序需完成的任務(wù)有:監(jiān)測是否有鍵按下,有鍵按下時(shí),在無硬件去抖的動電路時(shí),應(yīng)用軟件延時(shí)方法消除按鍵抖動影響;當(dāng)有多個(gè)鍵同時(shí)按下時(shí),只處理一個(gè)按鍵,不管一次按鍵持續(xù)多長時(shí)間,僅執(zhí)行一次按鍵功能程序。矩陣按鍵掃描
10、程序是一種節(jié)省IO口的方法,按鍵數(shù)目越多節(jié)省IO口就越可觀,思路:先判斷某一列(行)是否有按鍵按下,再判斷該行(列)是那一只鍵按下。但是,在程序的寫法上,采用了最簡單的方法,使得程序效率最高。本程序中,如果檢測到某鍵按下了,就不再檢測其它的按鍵,這完全能滿足絕大多數(shù)需要,又能節(jié)省大量的CPU時(shí)間。本鍵盤掃描程序的優(yōu)點(diǎn)在于:不用專門的按鍵延時(shí)程序,提高了CPU效率,也不用中斷來掃描鍵盤,節(jié)省了硬件資源。另外,本鍵盤掃描程序,每次掃描占用CPU時(shí)最短,不論有鍵按下或者無鍵按下都可以在很短的時(shí)間完成一次掃描。 圖6 矩陣鍵盤電路圖3.4 蜂鳴器模塊單片機(jī)的P0.7經(jīng)三極管驅(qū)動揚(yáng)聲器,當(dāng)有按鍵輸入時(shí),
11、單片機(jī)P0.7輸出低電平,與此引腳相連的PNP型三極管基電極也為低電平,三極管導(dǎo)通,壓電蜂鳴器兩端獲得+5V電壓而鳴叫;當(dāng)P0.7輸出高電平時(shí),三極管截止,蜂鳴器停止發(fā)聲。蜂鳴器模塊如圖3.9所示: 圖7蜂鳴器模塊電路原理圖 第四章 計(jì)算器系統(tǒng)設(shè)計(jì)4.1 計(jì)算器硬件AT89C51單片機(jī)一片,4*4鍵盤一個(gè),6位共陽極的八段數(shù)碼管一個(gè),連線和電阻和開關(guān)若干。51單片機(jī)的P2口作鍵盤口,其中為鍵盤掃描輸出線,為鍵盤掃描輸入線。鍵盤由4*4共16個(gè)按鍵組成,10個(gè)數(shù)字鍵(由0-9組成)5個(gè)運(yùn)算符號(加減乘除等于)組成,1個(gè)清除鍵(作用相當(dāng)于整體復(fù)位)。6個(gè)數(shù)碼管用于顯示當(dāng)前數(shù)值的十萬,萬,千,百,十
12、,個(gè),P1口接6個(gè)數(shù)碼管的八段,P0口分別接6個(gè)數(shù)碼管的公共端,P1口輸出數(shù)碼管的字形碼,P0口輸出數(shù)碼管的字位碼。4.2 系統(tǒng)框圖:1.主程序流程圖圖8 主程序流程圖2.鍵盤掃描流程圖 圖9 鍵盤掃描流程圖4.3 程序設(shè)計(jì)#include#define uchar unsigned char#define uint unsigned intsbit dula=P26;sbit wela=P27;sbit beep=P23;uchar temp,key;uchar fun;long int num1,num2,res;uchar aa,dis;uchar code table=0x00,0x3
13、f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code weixuan=0xdf,0xef,0xf7,0xfb,0xfd,0xfe;void delay(unsigned char i)uchar j,k; for(j=i;j0;j-) for(k=125;k0;k-);void bee()beep=0;delay(255);delay(255);beep=1;key_scan() P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0
14、) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key=0; break; case 0xde: key=1; break; case 0xbe: key=2; break; case 0x7e: key=3; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xed:
15、 key=4; break; case 0xdd: key=5; break; case 0xbd: key=6; break; case 0x7d: key=7; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xeb: key=8; break; case 0xdb: key=9; break; case 0xbb: key=10; b
16、reak; case 0x7b: key=11; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xe7: key=12; break; case 0xd7: key=13; break; case 0xb7: key=14; break; case 0x77: key=15; break; while(temp!=0xf0) temp=P
17、3; temp=temp&0xf0; void Init()num1=0;num2=0;wela=1;P0=0xdf;wela=0;dula=1;P0=table1;dula=0;key=16;aa=0;dis=0;res=0;void dis_play(long int nm)uchar a1,a6;long int shu;shu=nm;if(shu=0) wela=1; P0=0xdf; wela=0; dula=1; P0=table1; dula=0;elsefor(a6=0;a6=10)switch (key) case 10:Init();break; / CE case 11:
18、 switch (fun) case 0:res=num1+num2,dis=2;break; case 1:res=num1-num2,dis=2;break; case 2:res=num1*num2,dis=2;break; case 3:res=num1/num2,dis=2;break; ;break; / = case 12:fun=0,aa=1,shanshuo();break; / + case 13:fun=1,aa=1,shanshuo();break; / - case 14:fun=2,aa=1,shanshuo();break; / * case 15:fun=3,aa=1,shanshuo();break; / / else switch (aa) case 0:num1=num1*10+key; ;break; case 1:dis=1;num2=num2*10+key; ;break; key=16;void main()Init();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年建筑施工安全管理信息化在施工現(xiàn)場環(huán)境監(jiān)測中的應(yīng)用報(bào)告
- 航空發(fā)動機(jī)維修技術(shù)創(chuàng)新與2025年成本控制戰(zhàn)略規(guī)劃報(bào)告
- ktv大廳卡座管理制度
- 日式存錢賬本管理制度
- 地方儲備糧收購管理制度
- 幼兒園工作現(xiàn)場管理制度
- 公司天然氣節(jié)能管理制度
- 變電輸電考試題及答案
- 保安巡邏考試題及答案
- vb中??荚囶}及答案
- 外科換藥拆線技術(shù)規(guī)范
- 2025年遼寧黑龍江吉林內(nèi)蒙古高考物理試卷真題(含答案詳解)
- 2025高考全國二卷語文真題
- 2025年合作并購協(xié)議范本
- 江西中考語文試題及答案
- 2025年繼續(xù)教育公需科目試題及答案
- 公司收購公司部分股權(quán)之可行性研究報(bào)告
- 曲靖一中2025屆高考決勝全真模擬卷(二)化學(xué)試題及答案
- 2025-2030中國環(huán)戊醇行業(yè)市場深度分析及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 高血壓RDN介入治療新進(jìn)展
評論
0/150
提交評論