版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 論 文</b></p><p> 基于單片機的進制換算</p><p><b> 2012年6月5日</b></p><p><b> 目錄</b></p><p><b> 摘要1</b></p>
2、;<p><b> 緒論2</b></p><p><b> 課題背景2</b></p><p><b> 課題意義2</b></p><p><b> 程序擴展2</b></p><p><b> 本章小節(jié)2&
3、lt;/b></p><p> 第一章 系統(tǒng)功能及操作3</p><p> 1.1系統(tǒng)功能的確定3</p><p> 1.2 基本功能9</p><p> 1.3本章小結(jié)10</p><p> 第二章 系統(tǒng)模塊介紹11</p><p> 2.1 主控模塊11<
4、/p><p> 2. 2 引腳說明11</p><p> 2.3 主控模塊設(shè)計13</p><p> 2.3.1 電源電路模塊設(shè)計13</p><p> 2.3.2 時鐘電路模塊設(shè)計14</p><p> 2.3.3 復(fù)位電路模塊設(shè)計14</p><p> 2.4 LCD顯示
5、模塊15</p><p> 2. 5 按鍵模塊17</p><p> 第三章 系統(tǒng)硬件設(shè)計—實驗板介紹18</p><p> 3.1 硬件總圖18</p><p> 3.2主控硬件模塊19</p><p> 3.3按鍵硬件模塊化20</p><p> 3.4 LCD顯示硬
6、件模塊化21</p><p> 3.5本章小結(jié)21</p><p> 第四章 系統(tǒng)軟件設(shè)計22</p><p> 4.1數(shù)據(jù)單元分配22</p><p> 4.2主程序設(shè)計流程圖24</p><p> 4.3程序說明25</p><p> 4.3.1包含數(shù)據(jù)庫25<
7、;/p><p> 4.3.2 程序初始化25</p><p> 4.3.3 字符串顯示25</p><p> 4.3.4 實現(xiàn)計算設(shè)定25</p><p> 4.4本章小結(jié)26</p><p> 第五章 系統(tǒng)調(diào)試27</p><p> 5.1硬件調(diào)試27</p>
8、<p> 5.2軟件調(diào)試28</p><p> 5.3本章小結(jié)28</p><p><b> 結(jié)束語29</b></p><p><b> 致 謝30</b></p><p> 附錄:程序清單31</p><p><b> 參考文獻
9、37</b></p><p><b> 摘 要</b></p><p> 本次設(shè)計是基于單片機的進制換算,在設(shè)計中需要進行進制間的轉(zhuǎn)換。所需要MCS-51單片機、LCD1602型液晶顯示。在此設(shè)計中主控模塊我們選要的是AT89S52芯片。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高
10、密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。</p><p> 設(shè)計當(dāng)中顯示采用LCD液晶顯示,其特點是:1、顯示質(zhì)量高2、沒有電磁輻射 3、可視面積大 4、應(yīng)用范圍廣 5、畫面效果好 6、數(shù)字式接
11、口 7、“身材”勻稱小巧 8、功率消耗小等。點陣字符型LCD是專門用于顯示數(shù)字、字母、圖形符號及少量自定義符號的液晶顯示器。這類顯示器把LCD控制器、點陣驅(qū)動器、字符存儲器、顯示體及少量的阻容元件等集成為一個液晶顯示模塊。鑒于字符型液晶顯示模塊目前在國際上已經(jīng)規(guī)范化,其電特性及接口特性是統(tǒng)一的。</p><p> 所以在本設(shè)計中采用AT89S52主控、LCD1602顯示。不僅功能能實現(xiàn)而且經(jīng)濟實惠。</
12、p><p> 關(guān)鍵詞:單片機 AT89S52 進制換算 LCD液晶顯示 </p><p><b> 緒 論</b></p><p><b> 課題背景</b></p><p> 本文討論的單片機多功能時鐘系統(tǒng)的核心是目前應(yīng)用極為廣泛的51系列單片機,配置了外圍設(shè)備,構(gòu)成了一個可編
13、程的計時定時系統(tǒng),具有體積小,可靠性高,功能多等特點。不僅能滿足所需要求而且還有很多功能可供擴展,有著廣泛的應(yīng)用領(lǐng)域。</p><p> 本課題是基于單片機的進制間換算,進制間換算比較復(fù)雜,有時需要快速計算二,八,十,十六之間的轉(zhuǎn)換。為了轉(zhuǎn)換快速所以專門制作了一種計算器。專門計算進制間的相互換算。當(dāng)輸入相應(yīng)的進制數(shù)是能夠轉(zhuǎn)換成自己想要的進制數(shù)。是一種快捷方便的設(shè)計。</p><p>&l
14、t;b> 課題意義</b></p><p> 通過用單片機最小系統(tǒng)開發(fā)一種進制見換算計算器,能夠以按鍵輸入0~9(十進制),0~G(十六進制)0~7(八進制),0~1(二進制)。學(xué)習(xí)了我們所學(xué)的按鍵掃描和LCD掃描。通過單片機中的程序計算進制間的換算,計算結(jié)果通過LCD顯示出來。實際意義是一種新型計算機,快速計算進制間的換算。在此設(shè)計中不僅得到進制換算的一種工具,同時通過親自焊接最小系統(tǒng),得
15、到了完全的最小系統(tǒng)。并且能夠完成程序的實現(xiàn),在此也是件非常值得高興之事。</p><p><b> 程序擴展</b></p><p> 在本程序中只涉及到了十進制轉(zhuǎn)二進制、八進制、十六進制。在以后的運行中可以開發(fā)成進制相互轉(zhuǎn)換,包括二轉(zhuǎn)八、二轉(zhuǎn)十、二轉(zhuǎn)十六、八轉(zhuǎn)二、八轉(zhuǎn)十、八轉(zhuǎn)十六等。同樣以AT89S52型開發(fā),通過修改程序,增加硬件上的按鍵,增加接線口等。既可以
16、完成設(shè)計的擴展。</p><p><b> 本章小節(jié)</b></p><p> 本章主要介紹了課題背景、設(shè)計任務(wù)和課題意義,對單片機的優(yōu)點及結(jié)構(gòu)作了簡要敘述,也對本系統(tǒng)的應(yīng)用及概況進行了說明。</p><p> 第一章 系統(tǒng)功能及操作</p><p> 1.1系統(tǒng)功能的確定</p><p>
17、; 進制間的轉(zhuǎn)換:1. 十 -----> 二</p><p> 一個十進制,比如:6,將它轉(zhuǎn)換成二進制數(shù)。 十進制數(shù)轉(zhuǎn)換成二進制數(shù),是連續(xù)除2的過程: 把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù), 將商繼續(xù)除以2,直到商為0。最后將所有余數(shù)倒序排列,得到數(shù)就是轉(zhuǎn)換結(jié)果。 </p><p> 比如要轉(zhuǎn)換6為二進制數(shù)。 “把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù)”。 </p>&l
18、t;p><b> 那么: </b></p><p> 圖1-1 十轉(zhuǎn)二示意圖</p><p> 要轉(zhuǎn)換的數(shù)是6, 6 ÷ 2,得到商是3,余數(shù)是0。 “將商繼續(xù)除以2,直到商為0……” 現(xiàn)在商是3,不是0,所以繼續(xù)除以2。 那就: 3 ÷ 2, 得到商是1,余數(shù)是1。 “將商繼續(xù)除以2,直到商為0……” 現(xiàn)在商是1,不是0,所以繼續(xù)除以
19、2。 那就: 1 ÷ 2, 得到商是0,余數(shù)是1 “將商繼續(xù)除以2,直到商為0……最后將所有余數(shù)倒序排列” ?,F(xiàn)在商已經(jīng)是0。 三次計算依次得到余數(shù)分別是:0、1、1,將所有余數(shù)倒序排列,就是:110。</p><p> 6轉(zhuǎn)換成二進制,結(jié)果是110。</p><p><b> 表1 轉(zhuǎn)換方式</b></p><p> ?。ㄔ谟?/p>
20、算機中,÷用 / 來表示) </p><p> 2. 二 ----> 十</p><p> 二進制數(shù)轉(zhuǎn)換為十進制數(shù) :二進制數(shù)第0位的權(quán)值是2的0次方,第1位的權(quán)值是2的1次方…… 所以,設(shè)有一個二進制數(shù):0110 0100,轉(zhuǎn)換為10進制為: </p><p><b> 下面是豎式: </b></p>&l
21、t;p> 0110 0100 換算成 十進制 </p><p> " ^ " 為次方 </p><p> 第0位 0 * 2^0 = 0 </p><p> 第1位 0 * 2^1 = 0 </p><p> 第2位 1 * 2^2 = 4 </p><p> 第3位 0 * 2^
22、3 = 0 </p><p> 第4位 0 * 2^4 = 0 </p><p> 第5位 1 * 2^5 = 32 </p><p> 第6位 1 * 2^6 = 64 </p><p> 第7位 0 * 2^7 = 0 + </p><p> 公式:第N位10^(N-1) </p><
23、p> --------------------------- </p><p><b> 100 </b></p><p><b> 用橫式計算為: </b></p><p> 0 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2
24、^ 5 + 1 * 2 ^ 6 + 0 * 2 ^ 7 = 100 </p><p> 0乘以多少都是0,所以我們也可以直接跳過值為0的位: </p><p> 1 * 2 ^ 2 + 1 * 2 ^ 5 + 1 * 2 ^ 6 = 100 </p><p> 3. 十 ----> 八</p><p> 10進制數(shù)轉(zhuǎn)換成8進制的
25、方法,和轉(zhuǎn)換為2進制的方法類似,唯一變化:除數(shù)由2變成8。 </p><p> 將十進制數(shù)120轉(zhuǎn)換成八進制數(shù): </p><p><b> 用表格表1示:</b></p><p><b> 表2 轉(zhuǎn)換方式</b></p><p> 120轉(zhuǎn)換為8進制,結(jié)果為:170。 </p>
26、;<p> 4. 八 ----> 十</p><p> 八進制就是逢8進1。 八進制數(shù)采用 0~7這八數(shù)來表達一個數(shù)。 </p><p> 八進制數(shù)第0位的權(quán)值為8的0次方,第1位權(quán)值為8的1次方,第2位權(quán)值為8的2次方…… 所以,設(shè)有一個八進制數(shù):1507,轉(zhuǎn)換為十進制為: </p><p><b> 用豎式表示: </
27、b></p><p> 1507換算成十進制。 </p><p> 第0位 7 * 8^0 = 7 </p><p> 第1位 0 * 8^1 = 0 </p><p> 第2位 5 * 8^2 = 320 </p><p> 第3位 1 * 8^3 = 512 </p><p>
28、; -------------------------- </p><p><b> 839 </b></p><p> 同樣,也可以用橫式直接計算: 7 * 8^0 + 0 * 8^1 + 5 * 8^2 + 1 * 8^3 = 839 </p><p> 結(jié)果是,八進制數(shù) 1507 轉(zhuǎn)換成十進制數(shù)為 839 </p>
29、<p> 5. 十 ----> 十六</p><p> 10進制數(shù)轉(zhuǎn)換成16進制的方法,和轉(zhuǎn)換為2進制的方法類似,唯一變化:除數(shù)由2變成16。 同樣是120,轉(zhuǎn)換成16進制則為,如表2:</p><p><b> 表3 轉(zhuǎn)換方式</b></p><p> 120轉(zhuǎn)換為16進制,結(jié)果為:78。 </p>&
30、lt;p> 6. 十六----> 十</p><p> 16進制就是逢16進1,但我們只有0~9這十個數(shù)字,所以我們用A,B,C,D,E,F(xiàn)這六個字母來分別表示10,11,12,13,14,15。字母不區(qū)分大小寫。 </p><p> 十六進制數(shù)的第0位的權(quán)值為16的0次方,第1位的權(quán)值為16的1次方,第2位的權(quán)值為16的2次方…… </p><p&g
31、t; 所以,在第N(N從0開始)位上,如果是是數(shù) X (X 大于等于0,并且X小于等于 15,即:F)表示的大小為 X * 16的N次方。 </p><p> 假設(shè)有一個十六進數(shù) 2AF5, 那么如何換算成10進制呢? </p><p><b> 用豎式計算: </b></p><p> 2AF5換算成10進制: </p>
32、<p> 第0位: 5 * 16^0 = 5 </p><p> 第1位: F * 16^1 = 240 </p><p> 第2位: A * 16^2 = 2560 </p><p> 第3位: 2 * 16^3 = 8192 + </p><p> ----------------------------------
33、--- </p><p><b> 10997 </b></p><p> 直接計算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997 </p><p> (在上面的計算中,A表示10,而F表示15) </p><p> 現(xiàn)在可以看出,所有進制換算成10進制
34、,關(guān)鍵在于各自的權(quán)值不同。 十進數(shù) 1234可以給這么一個算式: 1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 </p><p> 7. 二 ----> 八</p><p> ?。?1001.101)(二) </p><p> 整數(shù)部分: 從后往前每三位一組,缺位處用0填補,然后按十進制方法進行轉(zhuǎn)化, 則
35、有: </p><p><b> 001=1 </b></p><p><b> 011=3 </b></p><p> 然后將結(jié)果按從下往上的順序書寫就是:31,那么這個31就是二進制11001的八進制形式 </p><p> 小數(shù)部分: 從前往后每三位一組,缺位處用0填補,然后按十進制方
36、法進行轉(zhuǎn)化, 則有: 101=5 </p><p> 然后將結(jié)果部分按從上往下的順序書寫就是:5,那么這個5就是二進制0.101的八進制形式 所以:(11001.101)(二)=(31.5)(八) </p><p> 8. 八 ----> 二</p><p> ?。?1.5)(八) </p><p> 整數(shù)部分:從后往前每一位按十
37、進制轉(zhuǎn)化方式轉(zhuǎn)化為三位二進制數(shù),缺位處用0補充 則有: </p><p> 1---->1---->001 </p><p><b> 3---->11 </b></p><p> 然后將結(jié)果按從下往上的順序書寫就是:11001,那么這個11001就是八進制31的二進制形式 ,小數(shù)部分:從前往后每一位按十進制轉(zhuǎn)化方式轉(zhuǎn)化
38、為三位二進制數(shù),缺位處用0補充 則有: </p><p> 5---->101 </p><p> 然后將結(jié)果按從下往上的順序書寫就是:101,那么這個101就是八進制5的二進制形式 </p><p> 所以:(31.5)(八)=(11001.101)(二) </p><p> 9. 十六 ----> 二 ;二 ----&
39、gt; 十六</p><p> 二進制和十六進制的互相轉(zhuǎn)換。直接就能轉(zhuǎn)換為十六進制數(shù),反之亦然。 </p><p> 首先一個二進制數(shù):如:1111, </p><p> 計算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。 </p><
40、;p> 由于1111才4位,所以必須直接記住它每一位的權(quán)值,并且是從高位往低位記,:8、4、2、1。即,最高位的權(quán)值為2^3 = 8,然后依次是 2^2 = 4,2^1=2, 2^0 = 1。 對于任意一個4位的二進制數(shù),都可以很快算出它對應(yīng)的10進制值。 </p><p> 下列列出四位二進制數(shù) xxxx 所有可能的值 </p><p> 僅4位的2進制數(shù) 快速計算方法 十進
41、制值 十六進值 </p><p> 1111 = 8 + 4 + 2 + 1 = 15 F </p><p> 1110 = 8 + 4 + 2 + 0 = 14 E </p><p> 1101 = 8 + 4 + 0 + 1 = 13 D </p><p> 1100 = 8 + 4 + 0 + 0 = 12 C </p&g
42、t;<p> 1011 = 8 + 0 + 2+ 1 = 11 B </p><p> 1010 = 8 + 0 + 2 + 0 = 10 A </p><p> 1001 = 8 + 0 + 0 + 1 = 9 9 </p><p><b> .... </b></p><p> 0001 =
43、0 + 0 + 0 + 1 = 1 1 </p><p> 0000 = 0 + 0 + 0 + 0 = 0 0 </p><p> 二進制數(shù)要轉(zhuǎn)換為十六進制,就是以4位一段,分別轉(zhuǎn)換為十六進制。 </p><p> 如(上行為二制數(shù),下面為對應(yīng)的十六進制): </p><p> 1111 1101 , 1010 0101 , 100
44、1 1011 </p><p> F D , A 5 , 9 B </p><p> 反過來,當(dāng)看到 FD時,如何迅速將它轉(zhuǎn)換為二進制數(shù) ,先轉(zhuǎn)換F: F,需知道是15,然后15用8421湊,應(yīng)該是8 + 4 + 2 + 1,所以四位全為1 :1111。 接著轉(zhuǎn)換 D: 看到D,知道它是13,13用8421湊,應(yīng)該是:8 + 4 + 1,即:1101。 所以,FD轉(zhuǎn)換為二進制數(shù),為:
45、1111 1101 </p><p> 由于十六進制轉(zhuǎn)換成二進制相當(dāng)直接,所以,需要將一個十進制數(shù)轉(zhuǎn)換成2進制數(shù)時,也可以先轉(zhuǎn)換成16進制,然后再轉(zhuǎn)換成2進制。 比如,十進制數(shù) 1234轉(zhuǎn)換成二制數(shù),如果要一直除以2,直接得到2進制數(shù),需要計算較多次數(shù)。所以可以先除以16,得到16進制數(shù)。如表4: </p><p><b> 表4 轉(zhuǎn)換方式</b></p&
46、gt;<p> 結(jié)果16進制為: 0x4D2 </p><p> 然后可直接寫出0x4D2的二進制形式: 0100 1101 0010。 其中對映關(guān)系為: </p><p> 0100 -- 4 </p><p> 1101 -- D </p><p> 0010 -- 2 </p><p>
47、 同樣,如果一個二進制數(shù)很長,需要將它轉(zhuǎn)換成10進制數(shù)時,除了前面學(xué)過的方法是,還可以先將這個二進制轉(zhuǎn)換成16進制,然后再轉(zhuǎn)換為10進制。 </p><p> 下面舉例一個int類型的二進制數(shù): 01101101 11100101 10101111 00011011 </p><p> 按四位一組轉(zhuǎn)換為16進制: 6D E5 AF 1B 。再轉(zhuǎn)換為10進制:6*16^7+D*16^6+
48、E*16^5+5*16^4+A*16^3+F*16^2+1*16^1+B*16^0=1,843,769,115 </p><p><b> 1.2 基本功能</b></p><p> 在本設(shè)計中能夠?qū)崿F(xiàn)按鍵輸入、軟件的數(shù)據(jù)處理、輸出顯示的基本功能。</p><p> 1、按鍵輸入:在硬件中有案件模塊。上面有4*4的按鍵矩陣。輸入的數(shù)據(jù)包括
49、0~9數(shù)字、確認(rèn)、取消等鍵功能。當(dāng)按下相應(yīng)的數(shù)字或功能鍵時,信號會傳入單片機,單片機會做出相應(yīng)的反應(yīng)。再由顯示屏顯示出結(jié)果。</p><p> 2、數(shù)據(jù)處理:通過按鍵的輸入,數(shù)據(jù)傳入芯片。芯片會按照輸入的程序運行方式處理數(shù)據(jù)。最后將計算結(jié)果輸出給顯示屏。</p><p> 3、輸出顯示:通過按鍵的輸入軟件的處理。會將輸入的數(shù)字或者軟件計算的數(shù)據(jù)按照規(guī)定的方式顯示在相應(yīng)的位置。</
50、p><p><b> 下圖為系統(tǒng)結(jié)構(gòu)圖:</b></p><p> 圖1-2 系統(tǒng)結(jié)構(gòu)框圖</p><p> 4、操作說明:當(dāng)按下SB1~SB10中的鍵就輸入相應(yīng)的數(shù)字,在LCD上也會顯示相應(yīng)的數(shù)。當(dāng)需轉(zhuǎn)換進制時先決定你輸入的數(shù)是那種類型,在此只涉及到了十進制轉(zhuǎn)換成二進制、十六進制。開發(fā)方向可以向二進制轉(zhuǎn)換成十進制、八進制、十六進制。八進制轉(zhuǎn)
51、換成二進制、十進制、十六進制?,F(xiàn)在只需輸入相應(yīng)的十進制數(shù)。數(shù)字輸入完后,按下轉(zhuǎn)換的“確認(rèn)”鍵。則輸入的十進制就轉(zhuǎn)換成二進制和八進制。</p><p><b> 1.3本章小結(jié)</b></p><p> 本章主要介紹了本次設(shè)計的方向,以及確定轉(zhuǎn)換方式和轉(zhuǎn)換流程。同時也敘述了操作方式和得出的結(jié)果。</p><p> 第二章 系統(tǒng)模塊介紹<
52、;/p><p><b> 2.1 主控模塊</b></p><p> 在本次設(shè)計中使用AT89S52芯片:</p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)
53、可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。</p><p> 圖 2-1 AT89S52芯片以及引腳結(jié)構(gòu)圖</p><p><b> 2. 2 引腳說明</b></p><p> MCS單片機都采用40引腳的雙列直插封裝方式
54、。如圖為引腳排列圖,圖中引腳可以分為以下四類:電源類引腳2個、時鐘類引腳2個、并行I/O類引腳32個、控制類引腳4個。</p><p><b> 電源類引腳:</b></p><p> Vss 20號引腳Vss為電源接地端。</p><p> ?、?Vcc 40號引腳Vcc是芯片電源的輸入端,接+5V電源。</p>
55、<p><b> 時鐘類引腳:</b></p><p> ?、?XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當(dāng)采用外部振蕩器時,此引腳接地。</p><p> ② XTAL2內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的另一端。當(dāng)采用外部振蕩器時,此引腳接外部振蕩源。 </p><p><b&g
56、t; 控制類引腳:</b></p><p> ?、?RST/VPD當(dāng)振蕩器運行時,在此引腳上出現(xiàn)兩個機器周期的高電平(由低到高跳變),將使單片機復(fù)位。</p><p> ② ALE 正常操作時為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器。 </p><p> ?、跴SEN 外部程序存儲器讀選通信號輸出端,在從外部程序存儲取指令(或
57、數(shù)據(jù))期間,在每個機器周期內(nèi)兩次有效。同樣可以驅(qū)動八LSTTL輸入。</p><p> ?、?/Vpp 為內(nèi)部程序存儲器和外部程序存儲器的選擇端。當(dāng)/Vpp為</p><p> 高電平時,訪 問內(nèi)部程序存儲器;當(dāng)/Vpp 為低電平時,則訪問外部程序存儲器。</p><p><b> 并行I/O類引腳:</b></p><
58、p> ?、?P0口(P0.0 - P0.7)</p><p> P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲 器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動八個LSTTL負(fù)載。</p><p> ?、?P1口(P1.0 - P1.7)</p><p> P1口(P1.0 - P1.7)是一個帶有內(nèi)
59、部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負(fù)載。。</p><p> ③ P2口(P2.0 - P2.7)</p><p> P2口(P2.0 - P2.7)是一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動(吸收或輸出電流)四個LSTTL負(fù)載。</p><p> ?、?P3口(P3.0
60、- P3.7)</p><p> P3口(P3.0 - P3.7)是一個帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。</p><p> 2.3 主控模塊設(shè)計</p><p> 電源、時鐘信號以及復(fù)位電路是單片機工作的基本條件,缺一不可。單片機基本系統(tǒng)——包括:電源電路、時鐘電路、復(fù)位電路。</p><p><b> 圖2-2 主控
61、電路</b></p><p> 2.3.1 電源電路模塊設(shè)計</p><p> 電源模塊:提供+5V電源,系統(tǒng)板為從USB接口獲?。?V電源,只要用相應(yīng)配套的USB線從電腦主機獲?。?V直流電源。</p><p> 2.3.2 時鐘電路模塊設(shè)計</p><p> 單片機的時鐘信號用來為單片機芯片內(nèi)部各種微操作提供時間基準(zhǔn)。
62、</p><p> MCS-51的時鐘信號產(chǎn)生方式:</p><p> ?、?內(nèi)部時鐘方式,利用芯片內(nèi)部的振蕩電路;</p><p> ?、?外部時鐘方式。</p><p> 圖 2-3 時鐘電路</p><p> 由于AT89S52單片機芯片內(nèi)有時鐘振蕩電路,因此本項目中采用內(nèi)部時鐘方式。只要在單片機的XT
63、AL1和XTAL2引腳外接石英晶體和微調(diào)電容,就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號,具體電路設(shè)計如圖所示。圖中電容C1和C2的作用是穩(wěn)定頻率和快速起振,電容置在5~30pF,在此選擇30pF;晶振X1的振蕩頻率范圍在1.2~12MHz間選擇,本項目中選擇12MHz。</p><p> 時鐘電路為單片機產(chǎn)生時鐘脈沖序列,作為單片機工作的時間基準(zhǔn),典型的晶體振蕩頻率為12MHz。</p>
64、<p> 2.3.3 復(fù)位電路模塊設(shè)計</p><p> 圖 2-4 復(fù)位電路</p><p> 復(fù)位電路使單片機或系統(tǒng)中的其他部件處于某種確定的狀態(tài)。當(dāng)在51單片機的RST引腳引入高電平并保持2個機器周期,單片機內(nèi)部就執(zhí)行復(fù)位操作。</p><p><b> 復(fù)位操作基本形式:</b></p><p>
65、;<b> 上電復(fù)位;</b></p><p> ?、?另一種是按鍵復(fù)位。</p><p> 2.4 LCD顯示模塊</p><p> 圖 2-5 LCD引腳圖</p><p> LCD1602型液晶顯示的外部接口信號有16條,與AT89S52芯片的接口有8條數(shù)據(jù)線DB0~DB7、3條控制線RS、RW、E,見表
66、5:</p><p> 表5 LCD液晶引腳功能表</p><p> 1602LCD 顯示模塊可以與AT89S52單片機直接接口,1602LCD的8位雙向數(shù)據(jù)線D0—D7連接P0口的P0.0—P0.7,1602LCD使能信號E連接P2口線的P2.2;1602LCD讀/寫選擇信號R/W連接P2口線的P2.1,當(dāng)P2.1=0為寫數(shù)據(jù)信號,當(dāng)P2.1=1為讀數(shù)據(jù)信號;1602LCD數(shù)據(jù)/命
67、令選擇信號RS連接P2口線的P2.0,當(dāng)P2.0=0為命令信號;當(dāng)P2.0=1為數(shù)據(jù)信號;1602LCD的VCC引腳接+5電源,引腳GND接地。見圖2-6:</p><p> 圖 2-6 LCD顯示模塊與單片機的接口電路原理圖</p><p><b> 2. 5 按鍵模塊</b></p><p> AT89S52單片機的P1口用作鍵盤I
68、/O口,鍵盤的列線接到P1口的低4位,鍵盤的行線接到P1口的高4位。列線P1.0—P1.3分別接有4個上拉電阻到正電源+5V,并把列線P1.0—P1.3設(shè)置為輸入線,行線P1.4—P1.7設(shè)置為輸出線。4根行線和4根列線形成16個相交點。見圖2-7:</p><p> 圖2-7 鍵盤模塊與單片機的接口電路原理圖</p><p> 列線通過電阻接正電源,并將行線所接的單片機的I/O口作為
69、輸出端,而列線所接的I/O口則作為輸入端。這樣,當(dāng)按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。</p><p> 圖 2-8 系統(tǒng)整體原理圖</p><p><b> 2.6 本章小結(jié)</b></p><p> 本章主要介紹了主
70、控模塊、按鍵模塊、顯示模塊和復(fù)位電路、時鐘電路。同時也說明了各個模塊的引腳的連接方法和引腳說明。</p><p> 第三章 系統(tǒng)硬件設(shè)計—實驗板介紹</p><p><b> 3.1 硬件總圖</b></p><p><b> 圖3-1硬件總圖</b></p><p> 通過焊接得到如圖的硬
71、件圖,按鍵是4*4鍵陣,LCD為1602A型</p><p><b> 3.2主控硬件模塊</b></p><p><b> 圖 3-2主控硬件</b></p><p> 主控模塊包括時鐘電路、復(fù)位電路、濾波電路、按鍵插排、LCD插排等。</p><p> 3.3按鍵硬件模塊化</p&
72、gt;<p><b> 圖3-3按鍵實物圖</b></p><p> 本電路采用4輸入與門用于產(chǎn)生鍵盤中斷,其輸入端與各行線相連,輸出端接至89s52的外部中斷輸入端。當(dāng)有鍵閉合時,使某條列線為低電平,如果這條列線上沒有閉合鍵,則各行線的狀態(tài)都為高電平;如果列線上有鍵閉合,則相應(yīng)的那條行線即變?yōu)榈碗娖?。于是就可以根?jù)行線號與列線號計算出閉合鍵的鍵碼。</p>
73、<p> 3.4 LCD顯示硬件模塊化</p><p> 圖3-4 LCD顯示</p><p> 本設(shè)計采用1602型LCD,在初始狀態(tài)下LCD顯示hix: dec: bit:當(dāng)鍵盤有輸入時dec:會顯示輸入相應(yīng)的數(shù)字。當(dāng)按鍵輸入有“確定”鍵時LCD上的hix:和bit:將會出現(xiàn)相應(yīng)轉(zhuǎn)換的數(shù)字。</p><p><b> 3.5本章小結(jié)&
74、lt;/b></p><p> 本章主要介紹硬件。經(jīng)過自己的努力焊接出來以上的硬件圖,并能夠調(diào)試成功,完成本次設(shè)計任務(wù)。不僅在其中獲得了知識,而且也使自己更加充實。在過程中雖然遇到了不少的阻礙,但自己依然克服困難完成了本次硬件設(shè)計、焊接。增強了信心也考驗了自己的個人能力。</p><p> 第四章 系統(tǒng)軟件設(shè)計</p><p><b> 4.1
75、數(shù)據(jù)單元分配</b></p><p><b> 表6 數(shù)據(jù)分配表</b></p><p><b> LCD控制命令集</b></p><p> 表7 LCD指令表</p><p><b> 按鍵數(shù)據(jù)分配表</b></p><p>
76、 表8 按鍵數(shù)據(jù)分配表</p><p> 4.2主程序設(shè)計流程圖</p><p> 圖 4-1 程序流程圖</p><p><b> 4.3程序說明</b></p><p> 在本設(shè)計中程序采用C語言編程。涉及到數(shù)學(xué)計算、數(shù)學(xué)公式以及數(shù)學(xué)符號。</p><p> 4.3.1包含數(shù)據(jù)庫&
77、lt;/p><p> C語言編程涉及到數(shù)據(jù)庫的包含。在本程序中包含:</p><p> #include <REG51.H> </p><p> #include <math.H></p><p> 4.3.2 程序初始化</p><p> 程序初始化包括AT89S52的初始化、液晶
78、顯示屏初始化和清屏。芯片初始化包括:I\O輸入 sbit dec=P1^1; 時能端口sbit b=P1^2。液晶初始化包括:設(shè)置工作方式、顯示狀態(tài)設(shè)置、輸入工作方式、設(shè)置地址、清屏。(xzl(0x38);xzl(0x0c);xzl(0x06);xzl(0x80);xzl(0x01)</p><p> 4.3.3 字符串顯示</p><p> 在初始時LCD會顯示字符串hex、dec、
79、bit。(uc code nn[]={"hex:"};uc code qq[]={"dec:"};uc code wn[]={"bit:"};)。在輸入字符包括:1~9~f({uc code mm[]="0123456789ABCDEF";)</p><p> 4.3.4 實現(xiàn)計算設(shè)定</p><p> 在
80、本設(shè)計中將要涉及數(shù)學(xué)乘除法運算:十進制數(shù)轉(zhuǎn)換成二進制數(shù),是連續(xù)除2的過程:把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù), 將商繼續(xù)除以2,直到商為0。最后將所有余數(shù)倒序排列,得到數(shù)就是轉(zhuǎn)換結(jié)果。十進制數(shù)轉(zhuǎn)換成十六進制,同十進制轉(zhuǎn)換成二進制類似。(erjz[i]=m%2; m=m/2;“%”表示除法取余數(shù),“/”表示除法。)</p><p><b> 4.4本章小結(jié)</b></p>&l
81、t;p> 通過畫程序流程圖,確定程序書寫的大體方向。再通過查閱資料、請教老師等之后書寫各個模塊的程序,在未完成所有程序時,可以用protuse仿真軟件試驗各個模塊程序是否正確。當(dāng)完成程序書寫同樣用protuse仿真。首先需要建仿真硬件圖。照程序書寫的使能端和I\O口連接仿真電路圖。后寫入程序查看是否是自己想要的結(jié)果,如果不是。檢查程序書寫和仿真電路圖,確認(rèn)無誤則程序書寫成功。硬件的焊接也可以仿照仿真電路圖焊接。能夠保證焊接無誤。
82、確定硬件和程序無誤時,可以通過燒寫軟件寫入單片機,并連接好硬件。接通電源,調(diào)試硬件的到相應(yīng)效果即可。</p><p><b> 第五章 系統(tǒng)調(diào)試</b></p><p><b> 5.1硬件調(diào)試</b></p><p> 硬件焊接以模塊化的方法焊接,便于排錯。模塊分為主控模塊、按鍵模塊、LCD顯示模塊。各個模塊風(fēng)別焊
83、接在三塊電路板中,用排線連接起來。在調(diào)試時首先在芯片上燒寫有關(guān)LCD顯示的程序,將主控模塊和LCD顯示模塊用排線連接好并接上電源。查看LCD顯示是不是程序中應(yīng)有的顯示。如果是,則就說明主控模塊和LCD模塊都調(diào)試成功,如果不是或者不顯示著就要仔細排查焊接線路和排線連接線路。接著將按鍵模塊用排線連接與主控模塊連接,重新燒寫有關(guān)按鍵掃描并通過LCD顯示出相應(yīng)的字符的程序。接通電源,查看按鍵是否能夠輸入相應(yīng)字符或者按鍵是否靈敏等,在LCD上觀看
84、顯示是否正確。如果正確則調(diào)試成功。如果不正確則繼續(xù)調(diào)試。</p><p> 圖 5-1 LCD和按鍵調(diào)試圖</p><p><b> 5.2軟件調(diào)試</b></p><p> 軟件書寫前畫出程序流程圖,確定程序大體方向。并通過查閱教材、圖書書籍、咨詢老師、朋友等方式尋求幫助。也可以參照《單片機應(yīng)用技術(shù)及項目化訓(xùn)練》一書書寫。書中有關(guān)于案
85、件掃描程序、LCD顯示程序等,可以參考。在書寫程序完成時,可通過portues仿真軟件仿真。這樣可以查看程序是否正確,不正確則繼續(xù)修改。正確則可以燒寫進焊接的硬件中去,再次調(diào)試直至顯示、按鍵都能運行程序運行正確為止。</p><p> 圖 5-2 上圖為protues仿真</p><p><b> 5.3本章小結(jié)</b></p><p>
86、 本章主要介紹了硬件系統(tǒng)和軟件系統(tǒng)的調(diào)試。硬件調(diào)試主要通過輸入顯示程序和按鍵掃描程序,再接通電源查看顯示是否合符要求。軟件調(diào)試通過使用portues仿真軟件檢查程序是否正確和能否取得相應(yīng)效果。</p><p><b> 結(jié)束語</b></p><p> 在本設(shè)計中,通過自己辛勤的焊接自己出色的完成了硬件的焊接。并能夠調(diào)試成功運行相應(yīng)的程序,自己倍感莫大的收獲和欣慰
87、!在老師、同學(xué)、朋友、網(wǎng)絡(luò)的幫助下,自己能夠順利完成程序的書寫。在書寫完成之后,自己能夠編輯到仿真軟件中測試程序是否有相應(yīng)的效果。在程序完成調(diào)試完成后能夠通過燒寫軟件燒入芯片中,并通過自己焊接的硬件完成測試,最后在硬件操作中完成本次設(shè)計。</p><p> 在完成畢業(yè)設(shè)計過程中,認(rèn)識到學(xué)習(xí)要勤奮,要多尋求幫助,多查閱資料。通過這一階段的畢業(yè)設(shè)計,我受益匪淺,不僅鍛煉了良好的邏輯思維能力,而且培養(yǎng)了棄而不舍的求學(xué)
88、精神和嚴(yán)謹(jǐn)作風(fēng)。給我的業(yè)務(wù)素質(zhì)、個人能力的培養(yǎng)提供了一個難得的機會,令我回顧這些天來的設(shè)計過程,我學(xué)到許多實際問題的解決方法,為以后在工作崗位上的繼續(xù)深造打下了基礎(chǔ)。此次畢業(yè)設(shè)計,也是大學(xué)三年所學(xué)知識很好的總結(jié)。</p><p> 此次編制招標(biāo)文件不僅重溫了過去所學(xué)知識,而且學(xué)到了很多新的內(nèi)容。相信這次畢業(yè)設(shè)計對我今后的工作會有一定的幫助。所以,我很用心的把它完成。在設(shè)計中體味艱辛,在艱辛中體味快樂。</
89、p><p> 最后,我要感謝我的指導(dǎo)老師洪震老師,他們對我的畢業(yè)設(shè)計進行了多次的參考與修改,我的畢業(yè)設(shè)計才得以順利完成。同樣我也要衷心的感謝教育過和指導(dǎo)過我的各位老師,感謝給予我?guī)椭呐笥褌?,?jǐn)獻上我最真摯的祝福。</p><p><b> 致 謝</b></p><p> 將近兩個月的畢業(yè)論文階段結(jié)束了,在這段時間里,我得到了許多老師和朋友
90、的關(guān)心和幫助。</p><p> 首先,我要對我的指導(dǎo)老師向老師誠摯的謝意,在整個做畢業(yè)論文期間,洪震老師無微不至的關(guān)心我的學(xué)習(xí)和生活,課題遇到困難時更是關(guān)注著課題的進程。洪震老師高深的學(xué)術(shù)造詣、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和勤勉的工作精神以及他平易近人的態(tài)度使我受益終身。</p><p> 在我做畢業(yè)論文期間我的同學(xué)和朋友給予了我很大的幫助,在我遇到困難的時候,總是不斷給我提出許多有價值的意見,并
91、且經(jīng)常鼓勵我。</p><p> 感謝我的帶領(lǐng)老師,在課題的進行階段給我提出了許多有創(chuàng)新的觀點。</p><p> 最后感謝在我的課題進行中給予我?guī)椭乃械呐笥褌儯?</p><p><b> 此致</b></p><p><b> 敬禮</b></p><p>&
92、lt;b> 附錄:程序清單</b></p><p> #include <REG51.H> //包含數(shù)據(jù)庫</p><p> #include <math.H></p><p> #define keyport P1</p><p> #define uc unsigned char&
93、lt;/p><p> #define ui unsigned int</p><p> sbit hex=P1^0; //I\O輸入</p><p> sbit dec=P1^1;</p><p> sbit b=P1^2; //時能端口</p><p> sbit rs=P2^
94、0;</p><p> sbit e=P2^2;</p><p> sbit rw=P2^1;</p><p> uc flag3,flag1=0,temp=0,shu=0;</p><p> void xzl(uc temp);</p><p> void xsj(uc temp);</p>
95、<p> void delay(ui z)</p><p><b> {</b></p><p><b> ui x,y;</b></p><p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p>&l
96、t;p><b> }</b></p><p> void lcdinit(void) //液晶初始化</p><p><b> {</b></p><p> xzl(0x38);</p><p> xzl(0x0c);</p><p> xz
97、l(0x06);</p><p> xzl(0x80);</p><p> xzl(0x01);</p><p><b> }</b></p><p> void lcd(uc i,uc j,uc temp)//液晶顯示</p><p> {uc code mm[]="012
98、3456789ABCDEF";</p><p> xzl(0x80+i+0x40*(j-1));</p><p> xsj(mm[temp]);</p><p><b> }</b></p><p> void lcdstring() //液晶顯示的字符串</p><p&g
99、t;<b> {</b></p><p><b> uc i;</b></p><p> uc code nn[]={"hex:"};</p><p> uc code qq[]={"dec:"};</p><p> uc code wn[]={&q
100、uot;bit:"};</p><p> xzl(0x80);</p><p> for(i=0;i<4;i++)</p><p> xsj(nn[i]);</p><p> xzl(0x88);</p><p> for(i=0;i<4;i++)</p><p>
101、; xsj(qq[i]);</p><p> xzl(0x80+0x40);</p><p> for(i=0;i<4;i++)</p><p> xsj(wn[i]);</p><p><b> }</b></p><p> uc key(void) //讀鍵盤
102、子程序</p><p><b> {</b></p><p> uc temp,key;</p><p> temp=0xf0;</p><p> keyport=temp;</p><p> temp=keyport;</p><p> temp=temp&a
103、mp;0xf0;</p><p> if(temp==0xf0)</p><p><b> {</b></p><p><b> flag3=0;</b></p><p> return(0xff);</p><p><b> }</b><
104、;/p><p><b> delay(5);</b></p><p> temp=keyport;</p><p> if(temp&0xf0==0x00)</p><p> return(0xff);</p><p> temp=0xfe;</p><p>
105、 keyport=temp;</p><p> temp=keyport;</p><p> temp=temp&0xf0;</p><p> switch(temp)</p><p><b> {</b></p><p> case 0xe0:key=7;break;<
106、/p><p> case 0xd0:key=8;break;</p><p> case 0xb0:key=9;break;</p><p> case 0x70:key=0xff;break;</p><p><b> }</b></p><p> temp=0xfd;</p>
107、<p> keyport=temp;</p><p> temp=keyport;</p><p> temp=temp&0xf0;</p><p> switch(temp)</p><p><b> {</b></p><p> case 0xe0:key=4
108、;break;</p><p> case 0xd0:key=5;break;</p><p> case 0xb0:key=6;break;</p><p> case 0x70:key=0xff;break;</p><p><b> }</b></p><p> temp=0xfb
109、;</p><p> keyport=temp;</p><p> temp=keyport;</p><p> temp=temp&0xf0;</p><p> switch(temp)</p><p><b> {</b></p><p> case
110、 0xe0:key=1;break;</p><p> case 0xd0:key=2;break;</p><p> case 0xb0:key=3;break;</p><p> case 0x70:key=0xff;break;</p><p><b> }</b></p><p>
111、 temp=0xf7;</p><p> keyport=temp;</p><p> temp=keyport;</p><p> temp=temp&0xf0;</p><p> switch(temp)</p><p><b> {</b></p><
112、p> case 0xe0:key=0xff;break;</p><p> case 0xd0:key=0x00;break;</p><p> case 0xb0:key=20;break;</p><p> case 0x70:key=0xff;break;</p><p><b> }</b><
113、;/p><p><b> if(flag3)</b></p><p> return(0xff);</p><p><b> flag3=1;</b></p><p> return(key);</p><p><b> }</b></p&g
114、t;<p> void main(void) //主函數(shù)</p><p><b> {</b></p><p> uc mm,m,i=0,erjz[8],hex[2];</p><p><b> rw=0;</b></p><p> lcdini
115、t();</p><p> lcdstring();</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> mm=key();</b></p><p> if(mm!=0xff)&l
116、t;/p><p><b> {</b></p><p> if(mm!=20)</p><p><b> {</b></p><p> shu=temp*10+mm;</p><p> lcd(13,1,temp);</p><p> lcd(
117、14,1,mm);</p><p><b> temp=mm;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b>
118、; m=shu;</b></p><p><b> i=0;</b></p><p> while(i<8)</p><p><b> {</b></p><p> erjz[i]=m%2;</p><p><b> i++;</
119、b></p><p><b> m=m/2;</b></p><p><b> }</b></p><p> for(i=8;i>0;i--)</p><p><b> {</b></p><p> lcd(12-i,2,erjz[
120、i-1]);</p><p><b> }</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> if(i<4)</b></p><p> hex[0]=hex[
121、0]+erjz[i]*pow(2,i);</p><p><b> else</b></p><p> hex[1]=hex[1]+erjz[i]*pow(2,(i-4));</p><p><b> }</b></p><p> lcd(4,1,hex[1]);</p>&l
122、t;p> lcd(5,1,hex[0]);</p><p><b> hex[0]=0;</b></p><p><b> hex[1]=0;</b></p><p><b> }</b></p><p><b> }</b></p&
123、gt;<p><b> }</b></p><p><b> }</b></p><p> void xzl(uc temp) //液晶寫指令</p><p><b> {e=0;</b></p><p><b> rs=0;&
124、lt;/b></p><p><b> P0=temp;</b></p><p><b> delay(5);</b></p><p><b> e=1;</b></p><p><b> delay(5);</b></p>&
125、lt;p><b> e=0;</b></p><p><b> }</b></p><p> void xsj(uc temp) //液晶寫數(shù)據(jù)</p><p><b> {e=1;</b></p><p><b> rs=1;</
126、b></p><p><b> P0=temp;</b></p><p><b> delay(5);</b></p><p><b> e=1;</b></p><p><b> delay(5);</b></p><p
127、><b> e=0;</b></p><p><b> 參考文獻</b></p><p> [1] 胡漢才.單片機原理及接口技術(shù)[M].北京:清華大學(xué)出版社,1996.</p><p> [2] 胡健.單片機原理及接口技術(shù)[M].北京:機械工業(yè)出版社,2004.</p><p> [
128、3] 胡健.單片機實用教程[M].北京:兵器工業(yè)出版社,2001.</p><p> [4] 周行慈.單片機應(yīng)用程序設(shè)計基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1991.</p><p> [5] 李廣弟.單片機基礎(chǔ)[M].修訂本,北京:北京航空航天大學(xué)出版社,2001.</p><p> [6] 李朝青.單片機原理及接口技術(shù)[M],簡明修訂版.北京:北京航
129、空航天大學(xué)出版社,1999.</p><p> [7] 李葉紫.MCS-51單片機應(yīng)用教程[M].北京:清華大學(xué)出版社,2004.</p><p> [8] 朱定華.單片機原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2001.</p><p> [9] 李庭貴.單片機應(yīng)用技術(shù)及項目化訓(xùn)練[M].西南交通大學(xué)出版社,2009 </p><p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的畢業(yè)論文-- 基于51單片機的搶答器設(shè)計
- 基于單片機的畢業(yè)論文-- 基于51單片機的搶答器設(shè)計
- 51單片機畢業(yè)論文--基于mcs-51單片機的步進電機系統(tǒng)
- 畢業(yè)論文---基于51單片機的電阻測量
- 基于51單片機的智能小車畢業(yè)論文
- 基于at89s51單片機單片機控制空調(diào)溫度系統(tǒng)-畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 單片機畢業(yè)論文
- 基于51單片機的電器遙控設(shè)計畢業(yè)論文
- 51單片機
- 基于51單片機的數(shù)字lcd顯示畢業(yè)論文
- 基于51單片機的頻率合成設(shè)計畢業(yè)論文
- 基于51單片機的串口通訊系統(tǒng)畢業(yè)論文
- 基于51單片機的最小系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---基于51單片機的液晶滾動顯示
- 基于51單片機的時鐘調(diào)整系統(tǒng)畢業(yè)論文
- 基于51單片機的智能燈設(shè)計-畢業(yè)論文
- 基于51單片機的時鐘調(diào)整系統(tǒng)畢業(yè)論文
評論
0/150
提交評論