版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 摘 要 …………………………………………………………I</p><p> 第一章、 概述 ………………………………………………01</p><p> 1.1 單片機(jī)簡(jiǎn)介 ………………………………………………01</p><p> 1
2、.2 單片機(jī)發(fā)展概述 …………………………………………02</p><p> 第二章、 硬件設(shè)計(jì) …………………………………………04</p><p> 2.1 AT89c51介紹 ……………………………………………04</p><p> 2.2 鍵盤(pán)電路的設(shè)計(jì) ………………………………………07&l
3、t;/p><p> 2.3 顯示電路的設(shè)計(jì) ………………………………………08</p><p> 2.4 其他電路設(shè)計(jì) …………………………………………09</p><p> 第三章、 軟件設(shè)計(jì) …………………………………………10</p><p> 3.1 主程序的設(shè)計(jì) ………
4、…………………………………10</p><p> 3.2 顯示、讀鍵模塊的設(shè)計(jì) ………………………………12</p><p> 3.3 其他內(nèi)容說(shuō)明 …………………………………………14</p><p> 第四章、 調(diào)試與仿真 ………………………………………15</p><p> 4.1 Ke
5、il C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng) ………………………15</p><p> 4.2 proteus的操作 ………………………………………………16</p><p> 總 結(jié) …………………………………………………………Ⅱ</p><p> 參考文獻(xiàn) ……………………………………………………Ⅲ</p><p&
6、gt; 附 錄 …………………………………………………………Ⅳ</p><p> 第一章、 概 述 </p><p><b> 1.1單片機(jī)簡(jiǎn)介</b></p><p> 單片機(jī)是一種集成電路芯片。它采用超大規(guī)模技術(shù)將具有數(shù)據(jù)處理能力的微處理器(CPU)、存儲(chǔ)器(含程序存儲(chǔ)器ROM和數(shù)據(jù)存儲(chǔ)器RAM)、輸入、輸出接口電路(I/O接
7、口)集成在同一塊芯片上,構(gòu)成一個(gè)即小巧又很完善的計(jì)算機(jī)硬件系統(tǒng),在單片機(jī)程序的控制下能準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。所以說(shuō),一片單片機(jī)芯片就具有了組成計(jì)算機(jī)的全部功能。</p><p> 由此來(lái)看,單片機(jī)有著一般微處理器(CPU)芯片所不具備的功能,它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機(jī)最大的特征。</p><p> 然而單片機(jī)又不同于單板機(jī)(一
8、種將微處理器芯片、存儲(chǔ)器芯片、輸入輸出接口芯片安裝在同一塊印制電路板上的微型計(jì)算機(jī)),單片機(jī)芯片在沒(méi)有開(kāi)發(fā)前,它只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果對(duì)它進(jìn)行應(yīng)用開(kāi)發(fā),它便是一個(gè)小型的微型計(jì)算機(jī)控制系統(tǒng),但它與單板機(jī)或個(gè)人電腦(PC機(jī))有著本質(zhì)的區(qū)別。</p><p> 單片機(jī)的應(yīng)用屬于芯片級(jí)應(yīng)用,需要用戶(單片機(jī)學(xué)習(xí)者與使用者)了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計(jì)所需要的理論和技
9、術(shù),用這樣特定的芯片設(shè)計(jì)應(yīng)用程序,從而使該芯片具備特定的功能。</p><p> 不同的單片機(jī)有著不同的硬件特征和軟件特征,即它們的技術(shù)特征均不盡相同,硬件特征取決于單片機(jī)芯片的內(nèi)部結(jié)構(gòu),用戶要使用某種單片機(jī),必須了解該型產(chǎn)品是否滿足需要的功能和應(yīng)用系統(tǒng)所要求的特性指標(biāo)。這里的技術(shù)特征包括功能特性、控制特性和電氣特性等等,這些信息需要從生產(chǎn)廠商的技術(shù)手冊(cè)中得到。軟件特征是指指令系統(tǒng)特性和開(kāi)發(fā)支持環(huán)境,指令特性即
10、我們熟悉的單片機(jī)的尋址方式,數(shù)據(jù)處理和邏輯處理方式,輸入輸出特性及對(duì)電源的要求等等。開(kāi)發(fā)支持的環(huán)境包括指令的兼容及可移植性,支持軟件(包含可支持開(kāi)發(fā)應(yīng)用程序的軟件資源)及硬件資源。要利用某型號(hào)單片機(jī)開(kāi)發(fā)自己的應(yīng)用系統(tǒng),掌握其結(jié)構(gòu)特征和技術(shù)特征是必須的。</p><p> 單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),可以以軟件控制來(lái)實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化,現(xiàn)在單片機(jī)控制范疇無(wú)所不在,例如通
11、信產(chǎn)品、家用電器、智能儀器儀表、過(guò)程控制和專用控制裝置等等,單片機(jī)的應(yīng)用領(lǐng)域越來(lái)越廣泛。</p><p> 誠(chéng)然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來(lái)的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想。是控制技術(shù)的一次革命,是一座重要的里程碑。</p><p> 1.2 單片機(jī)發(fā)展概述</p><p> 1946年第一臺(tái)電子計(jì)
12、算機(jī)誕生至今,依靠微電子技術(shù)和半導(dǎo)體技術(shù)的進(jìn)步,從電子管——晶體管——集成電路——大規(guī)模集成電路,使得計(jì)算機(jī)體積更小,功能更強(qiáng)。特別是近20年時(shí)間里,計(jì)算機(jī)技術(shù)獲得飛速的發(fā)展,計(jì)算機(jī)在工農(nóng)業(yè),科研,教育,國(guó)防和航空航天領(lǐng)域獲得了廣泛的應(yīng)用,計(jì)算機(jī)技術(shù)已經(jīng)是一個(gè)國(guó)家現(xiàn)代科技水平的重要標(biāo)志。</p><p> 單片機(jī)誕生于20世紀(jì)70年代,象Fairchild公司研制的F8單片微型計(jì)算機(jī)。所謂單片機(jī)是利用大規(guī)模集成
13、電路技術(shù)把中央處理單元(Center Processing Unit,也即常稱的CPU)和數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)及其他I/O通信口集成在一塊芯片上,構(gòu)成一個(gè)最小的計(jì)算機(jī)系統(tǒng),而現(xiàn)代的單片機(jī)則加上了中斷單元,定時(shí)單元及A/D轉(zhuǎn)換等更復(fù)雜、更完善的電路,使得單片機(jī)的功能越來(lái)越強(qiáng)大,應(yīng)用更廣泛。</p><p> 20世紀(jì)70年代,微電子技術(shù)正處于發(fā)展階段,集成電路屬于中規(guī)模發(fā)展時(shí)期,各種新材料新
14、工藝尚未成熟,單片機(jī)仍處在初級(jí)的發(fā)展階段,元件集成規(guī)模還比較小,功能比較簡(jiǎn)單,一般均把CPU、RAM有的還包括了一些簡(jiǎn)單的I/O口集成到芯片上,象Fairchild公司就屬于這一類型,它還需配上外圍的其他處理電路方才構(gòu)成完整的計(jì)算系統(tǒng)。類似的單片機(jī)還有Zilog公司的Z80微處理器。</p><p> 1976年INTEL公司推出了MCS-48單片機(jī),這個(gè)時(shí)期的單片機(jī)才是真正的8位單片微型計(jì)算機(jī),并推向市場(chǎng)。它
15、以體積小,功能全,價(jià)格低贏得了廣泛的應(yīng)用,為單片機(jī)的發(fā)展奠定了基礎(chǔ),成為單片機(jī)發(fā)展史上重要的里程碑。</p><p> 在MCS-48的帶領(lǐng)下,其后,各大半導(dǎo)體公司相繼研制和發(fā)展了自己的單片機(jī),象Zilog公司的Z8系列。到了80年代初,單片機(jī)已發(fā)展到了高性能階段,象INTEL公司的MCS-51系列,Motorola公司的6801和6802系列,Rokwell公司的6501及6502系列等等,此外,日本的著名電
16、氣公司NEC和HITACHI都相繼開(kāi)發(fā)了具有自己特色的專用單片機(jī)。</p><p> 80年代,世界各大公司均競(jìng)相研制出品種多功能強(qiáng)的單片機(jī),約有幾十個(gè)系列,300多個(gè)品種,此時(shí)的單片機(jī)均屬于真正的單片化,大多集成了CPU、RAM、ROM、數(shù)目繁多的I/O接口、多種中斷系統(tǒng),甚至還有一些帶A/D轉(zhuǎn)換器的單片機(jī),功能越來(lái)越強(qiáng)大,RAM和ROM的容量也越來(lái)越大,尋址空間甚至可達(dá)64kB,可以說(shuō),單片機(jī)發(fā)展到了一個(gè)全
17、新階段,應(yīng)用領(lǐng)域更廣泛,許多家用電器均走向利用單片機(jī)控制的智能化發(fā)展道路。</p><p> 1982年以后,16位單片機(jī)問(wèn)世,代表產(chǎn)品是INTEL公司的MCS-96系列,16位單片機(jī)比起8位機(jī),數(shù)據(jù)寬度增加了一倍,實(shí)時(shí)處理能力更強(qiáng),主頻更高,集成度達(dá)到了12萬(wàn)只晶體管,RAM增加到了232字節(jié),ROM則達(dá)到了8kB,并且有8個(gè)中斷源,同時(shí)配置了多路的A/D轉(zhuǎn)換通道,高速的I/O處理單元,適用于更復(fù)雜的控制系統(tǒng)
18、。</p><p> 九十年代以后,單片機(jī)獲得了飛速的發(fā)展,世界各大半導(dǎo)體公司相繼開(kāi)發(fā)了功能更為強(qiáng)大的單片機(jī)。美國(guó)Microchip公司發(fā)布了一種完全不兼容MCS-51的新一代PIC系列單片機(jī),引起了業(yè)界的廣泛關(guān)注,特別它的產(chǎn)品只有33條精簡(jiǎn)指令集吸引了不少用戶,使人們從INTEL的111條復(fù)雜指令集中走出來(lái)。PIC單片機(jī)獲得了快速的發(fā)展,在業(yè)界中占有一席之地。</p><p> 隨后
19、更多的單片機(jī)種蜂擁而至,MOTOROLA公司相繼發(fā)布了MC68HC系列單片機(jī),日本的幾個(gè)著名公司都研制出了性能更強(qiáng)的產(chǎn)品,但日本的單片機(jī)一般均用于專用系統(tǒng)控制,而不象INTEL等公司投放到市場(chǎng)形成通用單片機(jī)。例如NEC公司生產(chǎn)的uCOM87系列單片機(jī),其代表作uPC7811是一種性能相當(dāng)優(yōu)異的單片機(jī)。MOTOROLA公司的MC68HC05系列其高速低價(jià)等特點(diǎn)贏得了不少用戶。</p><p> Zilog公司的Z
20、8系列產(chǎn)品代表作是Z8671,內(nèi)含BASIC Debug解釋程序極大地方便用戶。而美國(guó)國(guó)家半導(dǎo)體的COP800系列單片機(jī)則采用先進(jìn)的哈佛結(jié)構(gòu)。ATMEL公司則把單片機(jī)技術(shù)與先進(jìn)的Flash存儲(chǔ)技術(shù)完美地結(jié)合起來(lái),發(fā)布了性能相當(dāng)優(yōu)秀的AT89系列單片機(jī)。包括中國(guó)的臺(tái)灣HOLTEK和WINBOND等公司也紛紛加入了單片機(jī)發(fā)展行列,憑著他們廉價(jià)的優(yōu)勢(shì),分享一杯美羹。</p><p> 1990年美國(guó)INTEL公司推出
21、了80960超級(jí)32位單片機(jī)引起了計(jì)算機(jī)界的轟動(dòng),產(chǎn)品相繼投放市場(chǎng),成為單片機(jī)發(fā)展史上又一個(gè)重要的里程碑。</p><p> 此期間,單片機(jī)園地里,單片機(jī)品種異彩紛呈,爭(zhēng)奇斗艷。有8位、16位甚至32位機(jī),但8位單片機(jī)仍以它的價(jià)格低廉、品種齊全、應(yīng)用軟件豐富、支持環(huán)境充分、開(kāi)發(fā)方便等特點(diǎn)而占著主導(dǎo)地位。而INTEL公司憑著他們雄厚的技術(shù),性能優(yōu)秀的機(jī)型和良好的基礎(chǔ),目前仍是單片機(jī)的主流產(chǎn)品。只不過(guò)是九十年代中期
22、,INTEL公司忙著開(kāi)發(fā)他們個(gè)人電腦微處理器,已沒(méi)有足夠的精力繼續(xù)發(fā)展自己創(chuàng)導(dǎo)的單片機(jī)技術(shù),而由PHILIPS等公司繼續(xù)發(fā)展C51系列單片機(jī)。</p><p><b> 第二章、 硬件設(shè)計(jì)</b></p><p> 簡(jiǎn)易數(shù)字計(jì)算器系統(tǒng)硬件設(shè)計(jì)主要包括:AT89c51芯片,鍵盤(pán)電路,顯示電路以及其他輔助電路。下面分別進(jìn)行設(shè)計(jì)。</p><p>
23、; 2.1 AT89c51介紹</p><p> 在該課程設(shè)計(jì)中,主要用到一個(gè)AT89c51芯片,作為該設(shè)計(jì)的主要部分。下面將對(duì)這兩個(gè)芯片原理及功能做已詳細(xì)介紹和說(shuō)明。AT89C51芯片外形結(jié)構(gòu)和引腳分布如圖2-1所示:</p><p> 圖2-1:AT89C51芯片外形結(jié)構(gòu)和引腳分布圖</p><p> 芯片AT89c51的外形結(jié)構(gòu)和引腳圖如2—1所示。
24、AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提
25、供了一種靈活性高且價(jià)廉的方案。</p><p><b> 主要特性:</b></p><p> 8051 CPU與MCS-51 兼容</p><p> 4K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán)) 全靜態(tài)工作:0Hz-24KHz 三級(jí)程序存儲(chǔ)器保密鎖定 128*8位內(nèi)部RAM 32條可編程I/O線 兩個(gè)16位定
26、時(shí)器/計(jì)數(shù)器 5個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式</p><p> 片內(nèi)振蕩器和時(shí)鐘電路</p><p><b> 2.管腳說(shuō)明</b></p><p> VCC:供電電壓(圖中未畫(huà)出)</p><p><b> GND:接地。 </b></p><
27、;p> P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉
28、為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),
29、P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。</p><p> 2.2 鍵盤(pán)電路的設(shè)計(jì) </p><p> 鍵盤(pán)可分為兩類:編碼鍵盤(pán)和非編碼鍵盤(pán)。編碼鍵盤(pán)是較多按鍵(20個(gè)以上)和專用驅(qū)動(dòng)芯片的組合,當(dāng)按下某個(gè)按鍵時(shí),它能夠處理按鍵抖動(dòng)、連擊等問(wèn)題,直接輸出按鍵的編碼,無(wú)需系統(tǒng)軟件干預(yù)。通用計(jì)算
30、機(jī)使用的標(biāo)準(zhǔn)鍵盤(pán)就是編碼鍵盤(pán)。在智能儀器中,使用并行接口芯片8279或串行接口芯片HD7279均可以組成編碼鍵盤(pán),同時(shí)還可以兼顧數(shù)碼管的顯示驅(qū)動(dòng),其相關(guān)的接口電路和接口軟件均可在芯片資料中得到。當(dāng)系統(tǒng)功能比較復(fù)雜,按鍵數(shù)量很多時(shí),采用編碼鍵盤(pán)可以簡(jiǎn)化軟件設(shè)計(jì)。但大多數(shù)智能儀器和電子產(chǎn)品的按鍵數(shù)目都不太多(20個(gè)以內(nèi)),為了降低成本和簡(jiǎn)化電路通常采用非編碼鍵盤(pán)。非編碼鍵盤(pán)的接口電路有設(shè)計(jì)者根據(jù)需要自行決定,按鍵信息通過(guò)接口軟件來(lái)獲取。 &
31、lt;/p><p> 本課題需要的是16個(gè)按鍵,故選擇用非編碼鍵盤(pán),為了減少所占用的端口,由P1口采用4*4矩陣式鍵盤(pán)。具體電路連接如圖2-2所示: </p><p> 圖2-2 數(shù)字輸入鍵盤(pán)</p><p> 2.3 顯示電路的設(shè)計(jì) </p><p> 當(dāng)系統(tǒng)需要顯示少量數(shù)據(jù)時(shí),采用LED數(shù)碼管進(jìn)行顯示是一種經(jīng)濟(jì)實(shí)用的方法。數(shù)碼管顯示
32、有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方法。為了減少端口的使用,故選擇靜態(tài)顯示。 電路如圖2-3所示:</p><p> 圖2-3八位數(shù)碼管顯示</p><p> LED數(shù)碼管顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用中通常使用七段LED。這種顯示塊有共陰極和共陽(yáng)極兩種,如圖是它的管腳配置 ,本設(shè)計(jì)采用的是共陰極接法 。 </p><p> 2.4
33、其他電路設(shè)計(jì)</p><p> 1. 復(fù)位、時(shí)鐘電路設(shè)計(jì)</p><p> MCS-51單片機(jī)芯片內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。</p><p> 當(dāng)使用內(nèi)部振蕩電路時(shí),XTAL1.XTAL2引腳外接石英晶體和微調(diào)電容,如圖3—3所示,圖中C2.C3大小一般為30PF。還加了復(fù)位/備用電源
34、引腳的接線方法,任何單片機(jī)在工作之前都要進(jìn)行復(fù)位,以便CPU以及其他功能部件都處于一個(gè)確定的初始化狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,也就是程序開(kāi)始執(zhí)行之前,單片機(jī)做好準(zhǔn)備工作。如何進(jìn)行復(fù)位呢?只用在單片機(jī)的RST引腳上保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)的高電平即可對(duì)單片機(jī)實(shí)現(xiàn)復(fù)位操作。</p><p> 當(dāng)主電源Vcc發(fā)生掉電或者是電壓降低到電平規(guī)定值時(shí),VPD上外接的備用電源自動(dòng)啟用,為單片機(jī)內(nèi)部RAM提供電源,以
35、保護(hù)片內(nèi)RAM中的信息不丟失,使系統(tǒng)在恢復(fù)上電后能正常運(yùn)行。</p><p> 圖2-4復(fù)位電路和時(shí)鐘電路</p><p> 2.多位數(shù)碼管電路顯示的驅(qū)動(dòng)電路</p><p> 單片機(jī)應(yīng)用中只有一位的的數(shù)字顯示是不常見(jiàn)的,即要同時(shí)驅(qū)動(dòng)多個(gè)數(shù)碼管顯示,就必須要同時(shí)讓多個(gè)數(shù)碼管加上各自不同的選片段,這個(gè)屬于靜態(tài)顯示。</p><p> 所
36、謂靜態(tài)顯示,就是每一個(gè)顯示器,都要占用單獨(dú)的具有封鎖功能的I/O接口用于筆畫(huà)字段形代碼,單片機(jī)只要把顯示的字形代碼發(fā)送到接口電路,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種方法單片機(jī)中CPU的開(kāi)銷小,可以提高單獨(dú)鎖存的I/O接口電路很多,這里以常用的串并轉(zhuǎn)化電路74LS164為例介紹一種常用靜態(tài)顯示電路。</p><p> 圖2-5五位數(shù)碼管靜態(tài)顯示接法</p><p>
37、如圖2-5所示,5片74LS164首尾相串,而時(shí)鐘端接在一起,這樣,當(dāng)輸入8個(gè)脈沖時(shí),從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到第一個(gè)74LS164中了,當(dāng)?shù)诙€(gè)8個(gè)脈沖到來(lái)時(shí),這個(gè)數(shù)據(jù)就進(jìn)入了第二個(gè)片74LS164,新的數(shù)據(jù)則進(jìn)入了第一個(gè)74LS164。這樣,當(dāng)?shù)谖鍌€(gè)脈沖完成后,首次送出的數(shù)據(jù)被送入到最左面的74LS164中,其他數(shù)據(jù)依次出現(xiàn)在第一、第二、第三、第四片74LS164中。入口:把要顯示的數(shù)分別放在顯示緩沖區(qū)60H-64H共五個(gè)單
38、元中,并且分別對(duì)應(yīng)五個(gè)數(shù)碼管LED1-LED4。出口:蔣預(yù)置在顯示緩沖區(qū)中的五個(gè)數(shù)組成相應(yīng)的現(xiàn)實(shí)字形碼,然后輸出到顯示器中顯示。</p><p><b> 第三章、 軟件設(shè)計(jì)</b></p><p> 在數(shù)字計(jì)算器的軟件規(guī)劃要求下,簡(jiǎn)易計(jì)算器的程序主要包括以下功能模塊:(1) 主模塊,為系統(tǒng)的初始化。(2)
39、; 顯示與讀鍵模塊,分為顯示子程序,判鍵程序段、運(yùn)算操作子程序等部分; </p><p><b> 主程序的設(shè)計(jì)</b></p><p> 圖3-1 主程序流程圖</p><p> 主程序主要是用來(lái)進(jìn)行初始化的,調(diào)用其他子程序,清空各個(gè)標(biāo)志位,清空緩存區(qū),讀取鍵碼,判斷功能,在LED上作出回應(yīng),主程序流程圖如圖4—1所示。<
40、;/p><p> ?。?)數(shù)字送顯示緩沖程序設(shè)計(jì)</p><p> 簡(jiǎn)易計(jì)算器所顯示的數(shù)值最大位三位。要顯示數(shù)值,先判斷數(shù)值大小和位數(shù),如果是超過(guò)三位或大于255,將不顯示數(shù)字??芍匦螺斎霐?shù)字,再次計(jì)算。</p><p> (2)運(yùn)算程序的設(shè)計(jì)</p><p> 首先初始化參數(shù),送LED低位顯示“0”,高位不顯示。然后掃描鍵盤(pán)看是否有鍵輸入
41、,若有,讀取鍵碼。判斷鍵碼是數(shù)字鍵、清零鍵還是功能鍵,是數(shù)值鍵則送LED顯示并保存數(shù)值,是清零鍵則做清零處理,是功能鍵則又判斷是“=”還是運(yùn)算鍵,若是“=”則計(jì)算最后結(jié)果并送LED顯示,若是運(yùn)算鍵則保存相對(duì)運(yùn)算程序的首地址。</p><p> 3.2 顯示、讀鍵模塊的設(shè)計(jì)</p><p> 1. LED顯示程序設(shè)計(jì)</p><p> LED顯示器由七段發(fā)光二
42、極管組成,排列成8字形狀,因此也稱為七段LED顯示器。為了顯示數(shù)字或符號(hào),要為L(zhǎng)ED顯示器提供代碼,即字形代碼。七段發(fā)光二極管,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供的字形代碼的長(zhǎng)度正好是一個(gè)字節(jié)。簡(jiǎn)易計(jì)算器用到的數(shù)字0~9的共陰極字形代碼如下表3-2:</p><p> 表3-2共陰極字形代碼如下表</p><p><b> 2.讀鍵子程序設(shè)計(jì)</b></
43、p><p> 為了實(shí)現(xiàn)鍵盤(pán)的數(shù)據(jù)輸入功能和命令處理功能,每個(gè)鍵都有其處理子程序,為此每個(gè)鍵都對(duì)應(yīng)一個(gè)碼——鍵碼。為了得到被按鍵的鍵碼,現(xiàn)使用行掃描法識(shí)別按鍵。其程序框圖如下圖所示:</p><p> 圖3-2計(jì)算鍵值子程序流程圖</p><p> 3.3 其他內(nèi)容說(shuō)明</p><p> 1. 定時(shí)查鍵的程序設(shè)計(jì)</p>&
44、lt;p> 進(jìn)入定時(shí)器0的中斷程序后,首先重新付初值,然后調(diào)用讀鍵程序,如果有鍵按下,則判斷按鍵是否與上次按鍵相同,如果相同則判斷按鍵相應(yīng)位是否為一,如果不為一,說(shuō)明這不是持續(xù)按鍵導(dǎo)致的按鍵相應(yīng),并且進(jìn)行相應(yīng)的程序。如果不是則退出中斷程序。 </p><p> 讀鍵程序使用的是反轉(zhuǎn)法讀鍵,不管鍵盤(pán)矩陣的規(guī)模大小,均進(jìn)行兩次讀鍵。第一次所有行線均輸出低電平,從所有讀入鍵盤(pán)信息(列信息);第二次所有列線均輸
45、出低電平,從所有行線讀入鍵盤(pán)信息(行信息)。將兩次讀鍵信息進(jìn)行組合就可以得到按鍵的特征編碼,然后通過(guò)查表得到按鍵的順序編碼。將各特征編碼按希望的順序排成一張表,然后用當(dāng)前讀得的特征碼來(lái)查表。當(dāng)表中有該特征碼時(shí),它的位置就是對(duì)應(yīng)的順序編碼;當(dāng)表中沒(méi)有該特征碼時(shí),說(shuō)明這是一個(gè)沒(méi)有定義的鍵碼,與沒(méi)有按鍵(0FFH)同等看待。 </p><p> 數(shù)字鍵按下則將相應(yīng)的數(shù)字送入緩存區(qū),功能鍵按下則執(zhí)行相應(yīng)的程序。 <
46、;/p><p> 首先對(duì)數(shù)字鍵的程序段進(jìn)行相應(yīng)的設(shè)計(jì),如果運(yùn)算鍵(+、-,*,/)響應(yīng)標(biāo)志不為一,則將輸入的數(shù)字送入第一個(gè)操作數(shù)緩存區(qū),并且清空所有響應(yīng)位。否則送入第二個(gè)操作數(shù)緩存區(qū)。 其次對(duì)功能鍵的程序段進(jìn)行相應(yīng)的設(shè)計(jì)。 如果功能鍵(+、-,*,/)第一次被按下,則置相應(yīng)的標(biāo)志位為一,并且將運(yùn)算鍵響應(yīng)標(biāo)志位置一,清空第二個(gè)操作數(shù)的緩存區(qū),為輸入操作數(shù)做準(zhǔn)備,如果是第二次按下則先調(diào)用運(yùn)算操作子程序,執(zhí)行上次
47、按下的運(yùn)算鍵的運(yùn)算,置相應(yīng)的標(biāo)志位為一,并且將運(yùn)算鍵響應(yīng)標(biāo)志位置一,清空第二個(gè)操作數(shù)的緩存區(qū),為輸入操作數(shù)做準(zhǔn)備。 </p><p> 如果是’C’鍵按下,則先判斷運(yùn)算鍵響應(yīng)位是否為一,如果不為一,則清空第一個(gè)操作數(shù),否則清空第二個(gè)操作數(shù)。 </p><p> 如果是’=’鍵按下,則調(diào)用運(yùn)算操作子程序。 </p><p> 2.軟件的可靠性設(shè)計(jì) </p&
48、gt;<p> 提高本儀器的可靠性措施主要有: </p><p> ?。?) 為防止程序跑飛,軟件中設(shè)置了軟件陷阱 </p><p> (2) 為防止鍵盤(pán)抖動(dòng)造成按鍵錯(cuò)誤,采取了軟件防</p><p> ?。?) 為了保證結(jié)果的正確性,結(jié)果溢出時(shí)顯示錯(cuò)誤代碼0 </p><p>
49、第四章、 調(diào)試與仿真</p><p> 下面用KEIL uVision與 porteus仿真軟件介紹數(shù)字計(jì)算器的仿真與調(diào)試。</p><p> 4.1Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)</p><p> 1. 系統(tǒng)的整體結(jié)構(gòu)</p><p> C51工具包的整體結(jié)構(gòu)中,其中uVision與Ishell分別是C51 for Windo
50、ws和for Dos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用
51、直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。</p><p> 2. 采用KEIL 開(kāi)發(fā)的89c51單片機(jī)應(yīng)用程序步驟:</p><p> ?。?) 在uVision 集成開(kāi)發(fā)環(huán)境中創(chuàng)建新項(xiàng)目(Project),擴(kuò)展文件名為.UV2,并為該項(xiàng)目選定合適的單片機(jī)CPU器件(本設(shè)計(jì)采用ATMEL 公司下的AT89C51)</p><p> (2)用
52、uVision 的文本編輯器編寫(xiě)源文件,使用C語(yǔ)言文件(擴(kuò)展名.C),并將該文件添加到項(xiàng)目中去。一個(gè)項(xiàng)目文件可以包含多個(gè)文件,除了源程序文件外,還可以是庫(kù)文件、頭文件或文本說(shuō)明文件。</p><p> ?。?)通過(guò)uVision 2 的相關(guān)選擇項(xiàng),配置編譯環(huán)境、連接定位器以及Debug調(diào)試器的功能。</p><p> (4)對(duì)項(xiàng)目中的源文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的HEX文件
53、,如果出現(xiàn)編譯連接錯(cuò)誤則返回到第2步,修改源文件中的錯(cuò)誤后重構(gòu)整個(gè)項(xiàng)目。</p><p> ?。?)對(duì)沒(méi)有語(yǔ)法錯(cuò)誤的程序進(jìn)行仿真調(diào)試,調(diào)試成功后將HEX文件寫(xiě)入到單片機(jī)應(yīng)用系統(tǒng)的ROM中。</p><p> 4.2 proteus的操作</p><p> 1.硬件電路圖的接法操作 </p><p> (1).放置選擇(刪除)元器件&l
54、t;/p><p><b> (2).移動(dòng)元器件</b></p><p><b> (3).縮放視圖</b></p><p><b> (4).連接導(dǎo)線</b></p><p><b> (5).仿真,調(diào)試</b></p><p>
55、; 2. 單片機(jī)系統(tǒng)PROTEUS設(shè)計(jì)與仿真過(guò)程</p><p> Proteus強(qiáng)大的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真功能,使它可成為單片機(jī)系統(tǒng)應(yīng)用開(kāi)發(fā)和改進(jìn)手段之一。全部過(guò)程都是在計(jì)算機(jī)上通過(guò)Proteus來(lái)完成的。其過(guò)程一般也可分為三步:</p><p> (1)在ISIS平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)電路設(shè)計(jì)、選擇元器件、接插件、連接電路和電氣檢測(cè)等。簡(jiǎn)稱Proteus電路設(shè)計(jì)。</p>
56、;<p> (2)在Keil平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)程序設(shè)計(jì)、編輯、匯編編譯、代碼級(jí)調(diào)試,最后生成目標(biāo)代碼文件(*.hex)。簡(jiǎn)稱Proteus源程序設(shè)計(jì)和生成目標(biāo)代碼文件。</p><p> (3)在ISIS平臺(tái)上將目標(biāo)代碼文件加載到單片機(jī)系統(tǒng)中,并實(shí)現(xiàn)單片機(jī)系統(tǒng)的實(shí)時(shí)交互、協(xié)同仿真。它在相當(dāng)程度上反映了實(shí)際單片機(jī)系統(tǒng)的運(yùn)行情況。簡(jiǎn)稱Proteus仿真。</p><p>&
57、lt;b> 總 結(jié)</b></p><p> 這個(gè)設(shè)計(jì)過(guò)程中,我們通過(guò)在原有的計(jì)數(shù)器系統(tǒng)進(jìn)行了改進(jìn),使之增添了計(jì)數(shù)、清零等的三個(gè)控制功能,使之成為一個(gè)更加適用,功能更加完備的屬于自己的一個(gè)系統(tǒng)。設(shè)計(jì)結(jié)果能夠符合題意,成功完成了此次實(shí)習(xí)要求,我們不只在乎這一結(jié)果,更加在乎的,是這個(gè)過(guò)程。這個(gè)過(guò)程中,我們花費(fèi)了大量的時(shí)間和精力,更重要的是,我們?cè)趯W(xué)會(huì)創(chuàng)新的基礎(chǔ)上,同時(shí)還懂得合作精神的重要性,
58、學(xué)會(huì)了與他人合作。作為一名機(jī)電大三學(xué)生,我覺(jué)得做單片機(jī)實(shí)習(xí)是十分必要的。在已度過(guò)的大學(xué)時(shí)間里,我們大多數(shù)接觸的是專業(yè)課。我們?cè)谡n堂上掌握的僅僅是專業(yè)課的理論知識(shí),如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識(shí)運(yùn)用到實(shí)踐中去呢?我想做類似實(shí)習(xí)就為我們提供了良好的實(shí)踐平臺(tái)。 進(jìn)行了兩周時(shí)間的摸索與設(shè)計(jì),使我不僅僅對(duì)于單片機(jī)軟件與硬件的常用設(shè)計(jì)與功能有所認(rèn)識(shí),還使我對(duì)于一項(xiàng)設(shè)計(jì)研究的制作過(guò)程所需要的詳細(xì)步驟和具體實(shí)
59、現(xiàn)方法有了進(jìn)一步的掌握。在做本次課程設(shè)計(jì)的過(guò)程中,我感觸最深的當(dāng)屬查閱大量的設(shè)計(jì)資料了。為了讓自己的設(shè)計(jì)更加完善,查閱這方面的設(shè)計(jì)資料是十分必要的,同時(shí)也是必不可少的。其次,在這次課程設(shè)計(jì)中,我們運(yùn)用到了以前所學(xué)的專</p><p> 通過(guò)這次單片機(jī)實(shí)習(xí),我不僅加深了對(duì)單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。</p>&
60、lt;p> 最后,對(duì)我們的指導(dǎo)老師xx,表示感謝!謝謝他兩周來(lái)對(duì)我們的幫助。同時(shí),對(duì)幫助我的所有同學(xué)表示衷心的感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> 《單片機(jī)應(yīng)用技術(shù)(C語(yǔ)言版)》 王靜霞,楊宏麗,劉俐編著.電子工業(yè)出版社.2009</p><p> 《單片機(jī)應(yīng)用技術(shù)》 姜志海 電子工業(yè)出版社.2
61、003</p><p> 《電子技術(shù)基礎(chǔ)試驗(yàn)》 陳大欽 高等教育出版社.2005</p><p> 《C程序設(shè)計(jì)》 潭浩強(qiáng) 北京航空航天出版社.2002</p><p> 《電路基礎(chǔ)》 許熙文 高等教育出版社.2008</p><p> 《51系列單片機(jī)高級(jí)實(shí)例開(kāi)發(fā)指南》 李軍 北京航空航天大學(xué)出版社.200
62、7</p><p><b> 附 錄</b></p><p><b> 1.電路圖</b></p><p><b> 2.程 序</b></p><p> #include <reg51.h></p><p> #include
63、 <intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit P0_7=P0^7;</p><p> void DelayMS(uint x) ;// 延時(shí)子程序 </p>
64、<p> void Display(long int y); // 顯示子程序</p><p> void chongsheanjian(void);</p><p> void xianshu1(void);</p><p> uchar keys();// 求列數(shù)子程序</p><p> uchar keyno();
65、//判斷是否有鍵按下</p><p> //各數(shù)字和黒屏的數(shù)碼管段碼</p><p> uchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};</p><p> uchar key_value=0,sum=0,w,guo=0,shi=0,fuhao=0,j
66、isuanfhao=0,find=0,chishu=0,value=0,dian=0;</p><p> long int in1=0,in2=0,out=0;</p><p> //----------------------------------------------------------------- </p><p><b> // 主
67、程序 </b></p><p> //-----------------------------------------------------------------</p><p> void main()</p><p><b> {</b></p><p><b> while(1
68、)</b></p><p><b> {</b></p><p><b> P1=0x0f; </b></p><p> chongsheanjian();</p><p> if(key_value==14)</p><p> switch(jisua
69、nfhao)</p><p> {case 10:out=1000*in2/in1;dian=1;if(in2<in1){dian=2;}break;</p><p> case 11:out=in2*in1;break;</p><p> case 12:out=in2-in1;break;</p><p> case 13:
70、out=in2+in1;break;</p><p><b> }</b></p><p> //P1=DSY_CODE[out];</p><p> xianshu1(); </p><p><b> }</b></p><p><b> }</
71、b></p><p> void chongsheanjian(void)</p><p><b> {</b></p><p> if(keyno()!=0)// keyno()是判斷是否有鍵按下</p><p> switch(keys())</p><p><b>
72、 {</b></p><p> case 1:key_value=7;sum++;fuhao=0;break;</p><p> case 2:key_value=8;sum++;fuhao=0;break;</p><p> case 3:key_value=9;sum++;fuhao=0;break;</p><p>
73、 case 4:value=10;fuhao=1;in2=in1;break;</p><p> case 5:key_value=4;sum++;fuhao=0;break;</p><p> case 6:key_value=5;sum++;fuhao=0;break;</p><p> case 7:key_value=6;sum++;fuhao=0;b
74、reak;</p><p> case 8:value=11;fuhao=1;in2=in1;break;</p><p> case 9:key_value=1;sum++;fuhao=0;break;</p><p> case 10:key_value=2;sum++;fuhao=0;break;</p><p> case 1
75、1:key_value=3;sum++;fuhao=0;break;</p><p> case 12:value=12;fuhao=1;in2=in1;break;</p><p> case 13:key_value=15;fuhao=3;break;</p><p> case 14:key_value=0;sum++;fuhao=0;break;<
76、;/p><p> case 15:key_value=14;fuhao=2;break;</p><p> case 16:value=13;fuhao=1;in2=in1;break;</p><p><b> }</b></p><p><b> }</b></p><p
77、> void xianshu1(void)</p><p> {uchar w=0;</p><p> long int q=0;</p><p> if(fuhao==0)</p><p><b> {</b></p><p> if(chishu==1){chishu=0;s
78、um=1;}</p><p> in1=in1*shi+key_value;</p><p> key_value=0;</p><p><b> shi=1;</b></p><p> Display(in1);</p><p><b> } </b></
79、p><p> if(fuhao==1)</p><p><b> {</b></p><p><b> in1=0;</b></p><p> jisuanfhao=value;</p><p> key_value=0;</p><p> D
80、isplay(in2);</p><p><b> chishu=1;</b></p><p><b> }</b></p><p> if(fuhao==2)</p><p><b> {q=out;</b></p><p><b>
81、 while(1)</b></p><p> {out=out/10;</p><p> if(out==0) break;</p><p><b> else w++;</b></p><p><b> }</b></p><p><b>
82、 w++;</b></p><p><b> sum=w;</b></p><p> Display(q);</p><p><b> }</b></p><p> if(fuhao==3){</p><p><b> out=0;</b
83、></p><p><b> in1=0;</b></p><p><b> in2=0;</b></p><p><b> sum=1;</b></p><p><b> dian=0;</b></p><p>
84、Display(out);</p><p><b> sum=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> //------------------------------------------------
85、----------------- </p><p> // 延時(shí)子程序 </p><p> //-----------------------------------------------------------------</p><p> void DelayMS(uint x) </p><p><b> {&l
86、t;/b></p><p><b> uchar i;</b></p><p> while(x--) for(i = 0; i < 120; i++);</p><p><b> }</b></p><p> //--------------------------------
87、--------------------------------- </p><p> // 顯示子程序 </p><p> //-----------------------------------------------------------------</p><p> void Display(long int y)</p><
88、p> {uchar i,j;</p><p> if(dian==2)sum=4;</p><p><b> w=0x80;</b></p><p> for(i=0;i<sum;i++)</p><p><b> {j=y%10;</b></p><p&g
89、t;<b> y=y/10;</b></p><p><b> P2=w;</b></p><p> P0=DSY_CODE[j];</p><p> if(dian==1&&w==0x10)P0_7=0;</p><p> if(dian==2&&w==0
90、x10)P0=0x40;</p><p><b> w>>=1;</b></p><p> DelayMS(2); </p><p><b> }</b></p><p><b> }</b></p><p> //-------
91、---------------------------------------------------------- </p><p> // 判斷是否有鍵按下子程序,沒(méi)有返回0,有返回1 </p><p> //-----------------------------------------------------------------</p><p>
92、 uchar keyno()</p><p><b> {</b></p><p> if((P1&0x0f)!=0x0f)</p><p><b> {</b></p><p> DelayMS(10);</p><p> if((P1&0x0f
93、)!=0x0f)</p><p><b> return 1;</b></p><p><b> else</b></p><p><b> return 0;</b></p><p><b> }</b></p><p>
94、<b> else</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> //----------------------------------------------------------------- </p>
95、<p> // uchar keys();// 求鍵值子程序,返回鍵值 </p><p> //-----------------------------------------------------------------</p><p> uchar keys()</p><p><b> {</b></p&g
96、t;<p> uchar i,m,row,line; </p><p><b> P1=0x0f;</b></p><p> switch(P1&0x0f)</p><p><b> {</b></p><p> case 0x0e:row=0;break;</
97、p><p> case 0x0d:row=1;break;</p><p> case 0x0b:row=2;break;</p><p> case 0x07:row=3;break;</p><p><b> }</b></p><p><b> m=0xef;</b&g
98、t;</p><p> for(i=0;i<4;i++)</p><p><b> {</b></p><p><b> P1=m;</b></p><p> if((P1&0x0f)!=0x0f)</p><p> { line=i;break;}&
99、lt;/p><p> m=_crol_(m,1);</p><p><b> }</b></p><p> while((P1&0x0f)!=0x0f);</p><p><b> shi=10;</b></p><p> return (row*4+line+
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)-簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器
- 課程設(shè)計(jì)---單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---簡(jiǎn)易計(jì)算器
- 單片機(jī)課程設(shè)計(jì)報(bào)告-簡(jiǎn)易計(jì)算器
- 簡(jiǎn)易計(jì)算器單片機(jī)課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)---簡(jiǎn)易計(jì)算器的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告-- 簡(jiǎn)易計(jì)算器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易計(jì)算器的設(shè)計(jì)
- 基于51單片機(jī)簡(jiǎn)易計(jì)算器課程設(shè)計(jì)
- 單片機(jī)計(jì)算器課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--計(jì)算器
- 單片機(jī)課程設(shè)計(jì)-計(jì)算器
- 課程設(shè)計(jì)-單片機(jī)計(jì)算器
- 簡(jiǎn)易計(jì)算器設(shè)計(jì)-單片機(jī)原理及應(yīng)用課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--簡(jiǎn)易計(jì)算器的設(shè)計(jì)、制作
- 單片機(jī)簡(jiǎn)易計(jì)算器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論