版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計說明書</b></p><p> 基于MSP430單片機(jī)的時鐘設(shè)計</p><p> 基于MSP430單片機(jī)的時鐘設(shè)計</p><p> 摘 要:MSP430 系列是一個16位的、具有精簡指令集的、超低功耗的混合型單片機(jī)。說明書介紹了以MSP430F149單片機(jī)為核心的時鐘系統(tǒng)的設(shè)計。在硬件電路方面
2、,采用SPX1117低壓差穩(wěn)壓器為單片機(jī)提供電源,它將5V電壓轉(zhuǎn)化為3.3V提供給單片機(jī);用4*4矩陣鍵盤進(jìn)行輸入;在時間的顯示上采用了兩種方法顯示,即LED數(shù)碼顯示和LCD液晶顯示;除此以外,在電路板上還留有供擴(kuò)展電路應(yīng)用的引腳接口。在軟件設(shè)計方面,完成了鍵盤掃描程序、顯示模塊程序以及系統(tǒng)主程序的設(shè)計。由于采用MSP430為核心,它的超低功耗的特點(diǎn)使得整個系統(tǒng)的功耗非常的低,一個普通的鈕扣電池可使用長達(dá)10年之久。另外,由于片內(nèi)具有豐
3、富的外圍電路,加之電路板上留有供擴(kuò)展電路應(yīng)用的引腳接口,還可以對其增加一些功能,比如整點(diǎn)報時、溫度顯示等。</p><p> 關(guān)鍵詞:MSP430;時鐘設(shè)計;矩陣鍵盤;LCD </p><p> The Design of Clock Based on MCU430</p><p> Abstract: The series of MSP430 is a 16
4、 bit, with RISC, ultra-low power mixed MCU. </p><p> The Brochure introduces the design of clock system with the core of MSP430F149 MCU. In hardware electric circuit aspect, I adopt SPX11117 low press Manos
5、 tat to provide electrical source for MCU. It translates 5V press into 3.3V then provides it to MCU. And it use 4*4 matrix keyboard to input. And in the display of time aspect, I use two ways of showing: LED and LCD. Oth
6、erwise, I remain some cite way for extending the use of electro-circuit. In the design of software, I finish the scan process o</p><p> Key words: MSP430;Clock design;Matrix keyboard;LCD </p><p&g
7、t;<b> 目 錄</b></p><p> 1 概 述1</p><p> 2 課題研究背景與意義3</p><p> 2.1 課題研究背景3</p><p> 2.2 課題研究意義3</p><p> 3 MSP430F149介紹4</p>&
8、lt;p> 3.1 MSP430F149芯片特點(diǎn)4</p><p> 3.2 MSP430F149芯片引腳5</p><p> 3.3 MSP430F149芯片處理單元8</p><p> 3.4 MSP430F149芯片運(yùn)行模式8</p><p> 3.5 MSP430F149芯片I/O端口9</p>
9、<p> 3.6 MSP430F149芯片時鐘系統(tǒng)10</p><p> 3.7 MSP430F149芯片存儲器結(jié)構(gòu)和地址空間10</p><p> 4 系統(tǒng)硬件電路設(shè)計12</p><p> 4.1 系統(tǒng)方案論證與選擇12</p><p> 4.2系統(tǒng)總體設(shè)計13</p><p>
10、4.3 電源穩(wěn)壓電路14</p><p> 4.4 LED數(shù)碼顯示電路14</p><p> 4.4.1 LED數(shù)碼管的結(jié)構(gòu)與工作原理14</p><p> 4.4.2 LED顯示器的顯示方式及驅(qū)動方式15</p><p> 4.5 LCD液晶顯示接口電路16</p><p> 4.6 鍵盤輸入電路
11、19</p><p> 4.7 JATG接口基本原理20</p><p> 4.7.1 邊界掃描技術(shù)20</p><p> 4.7.2 TAP控制器21</p><p> 5 MSP430集成開發(fā)調(diào)試環(huán)境22</p><p> 5.1 關(guān)于IAR Embedded Workbench22<
12、/p><p> 5.2 IAR Embedded Workbench的基本操作23</p><p> 5.3 IAR C430編譯器24</p><p> 6 系統(tǒng)軟件設(shè)計28</p><p> 6.1 LED數(shù)碼管顯示器模塊30</p><p> 6.2 LCD液晶顯示器模塊31</p>
13、<p> 6.3 矩陣鍵盤模塊驅(qū)動32</p><p> 7 結(jié) 束 語35</p><p><b> 參考文獻(xiàn)36</b></p><p><b> 致 謝37</b></p><p><b> 附 錄38</b></p>
14、;<p> 附錄1 程序清單38</p><p> 附錄2 系統(tǒng)原理圖50</p><p> 附錄3 系統(tǒng)PCB圖51</p><p> 附錄4 元器件清單52</p><p> 基于MSP430單片機(jī)的時鐘設(shè)計</p><p> 1 概 述 </p>
15、<p> 時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣?,F(xiàn)今,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器。由于電子鐘、石英表、石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校。數(shù)字式電子鐘用集成電路計時,譯碼代替機(jī)械式傳動,用LED顯示器代替指針顯示進(jìn)而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能
16、,還可以進(jìn)行時和分的校對,片選的靈活性好。 時鐘電路在計算機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機(jī)應(yīng)用系統(tǒng)中,時鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時信號,主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時時鐘,即定時時間,它通常有兩種實現(xiàn)方法:一是用軟件實現(xiàn),即用單片機(jī)內(nèi)部的可編程定時/計數(shù)器來實現(xiàn),但誤差很大,主要用在對時間精度要求不高的場合;
17、二是用專門的時鐘芯片實現(xiàn),在對時間精度要求很高的情況下,通常采用這種方法,典型的時鐘芯片有:DS1302,DS12887,X1203等都可以滿足</p><p> 目前單片機(jī)應(yīng)用于各個領(lǐng)域,其應(yīng)用于儀器儀表中顯得更為優(yōu)越。基于單片機(jī)控制的電子時鐘具有計時準(zhǔn)確、功耗低等優(yōu)點(diǎn)。</p><p> 美國德州儀器公司(TI)推出的MSP430系列超低功耗16位混合信號處理器(Mixed Sig
18、nal Processor)。集多種領(lǐng)先技術(shù)于一體,以16位RISC處理器、超低功耗、高性能模擬技術(shù)及豐富的片內(nèi)外設(shè)、JTAG仿真調(diào)試定義了新一代單片機(jī)的概念,給人以耳目一新的感覺。加之TI優(yōu)良的服務(wù),充分體現(xiàn)了世界級著名IC廠商的勢力和綜合優(yōu)勢。</p><p> TI公司從1996年推出MSP430系列開始到2000年初,推出了33X、32X、31X等幾個系列。MSP430的33X、32X、31X等系列具有
19、LCD驅(qū)動模塊,對提高系統(tǒng)的集成度較有利。每一系列有ROM型(C)、OTP型(P)和EPROM型(E)等芯片。EPROM型的價格昂貴,運(yùn)行環(huán)境溫度范圍窄,主要用于樣機(jī)開發(fā)。這也表明了這幾個系列的開發(fā)模式,即用戶可以用EPROM型開發(fā)樣機(jī),用OTP型進(jìn)行小批量生產(chǎn),而ROM型適應(yīng)大批量產(chǎn)品的生產(chǎn)。</p><p> 隨著FLASH技術(shù)的迅速發(fā)展,TI公司也將這一技術(shù)引入MSP430系列單片機(jī)中。2000年推出了F
20、11X/11X1系列,這個系列采用20腳封裝,內(nèi)存容量、片上功能和I/O引腳數(shù)比較少,價格也比較低廉。在2000年7月推出了帶ADC或硬件乘法器的F13X/F14X系列。在2001年7月到2002年又相繼推出了帶LCD控制器的F41X、F43X、F44X。</p><p> TI在2003到2004年期間推出了F15X和F16X系列產(chǎn)品。在這一新的系列中,有了兩個方面的發(fā)展:一是增加了RAM的容量,如F1611
21、的RAM容量增加到了10KB,這樣就可以引入實時操作系統(tǒng)(RTOS)或簡單文件系統(tǒng)等;二是從外圍模塊來說,增加了DMA、DAC12和SVS等模塊。</p><p> 另外,TI在2004年下半年推出了MSP430X21X系列,該系列是對MSP430X1XX片內(nèi)外設(shè)的進(jìn)一步精簡,價格低廉,適合做一些簡單的應(yīng)用。</p><p> MSP430系列單片機(jī)不僅可以應(yīng)用于許多傳統(tǒng)的單片機(jī)應(yīng)用領(lǐng)
22、域,如儀器儀表、自動控制以及消費(fèi)品領(lǐng)域,更適合用于一些電池供電的低功耗產(chǎn)品,如能量表、手持式設(shè)備、智能傳感器等,以及需要較高運(yùn)算性能的智能儀器設(shè)備。</p><p> 此次設(shè)計就是用MSP430F149單片機(jī)設(shè)計數(shù)字時鐘,在硬件電路方面,采用SPX1117低壓差穩(wěn)壓器為單片機(jī)提供電源,它將5V電壓轉(zhuǎn)化為3.3V提供給單片機(jī);用4*4矩陣鍵盤進(jìn)行輸入;在時間的顯示上介紹了兩種方法顯示,即LED數(shù)碼顯示和LCD液晶
23、顯示;除此以外,在電路板上還留有供擴(kuò)展電路應(yīng)用的引腳接口。在軟件設(shè)計方面,完成了鍵盤掃描程序、顯示模塊程序以及系統(tǒng)主程序的設(shè)計。通過此次設(shè)計,可以了解MSP430F149的內(nèi)部結(jié)構(gòu),理解其工作原理,同時可以掌握一般電子系統(tǒng)的調(diào)試方法。</p><p> 2 課題研究背景與意義</p><p> 單片機(jī)的應(yīng)用在后PC時代得到了前所未有的發(fā)展,但對處理器的綜合性能要求也越來越高。綜觀單片機(jī)
24、的發(fā)展,以應(yīng)用需求為目標(biāo),市場越來越細(xì)化,充分突出以“單片”解決問題,而不像多年前以MCS51/96等處理器為中心,外擴(kuò)各種接口構(gòu)成各種應(yīng)用系統(tǒng)。單片機(jī)系統(tǒng)作為嵌入式系統(tǒng)的一部分,主要集中在中、低端應(yīng)用領(lǐng)域(嵌入式高端應(yīng)用主要由DSP、ARM、MIPS等高性能處理器構(gòu)成),在這些應(yīng)用中,目前也出現(xiàn)了一些新的需求,主要體現(xiàn)在以下幾個方面:</p><p> a.以電池供電的應(yīng)用越來越多,而且由于產(chǎn)品體積的限制,很
25、多是用紐扣電池供電,要求系統(tǒng)功耗盡可能低,如手持式儀表、玩具等。</p><p> b.隨著應(yīng)用的復(fù)雜,對處理器的功能和性能要求不斷提高。既要外設(shè)豐富、功能靈活,又要有一定的運(yùn)算能力,能做一些實時算法,而不僅僅做一些簡單的控制。</p><p> c.產(chǎn)品更新速度快,開發(fā)時間短,希望開發(fā)工具簡單、廉價、功能完善。特別是仿真工具要有延續(xù)性,能適應(yīng)多種MCU,以免重復(fù),增加開發(fā)費(fèi)用。<
26、;/p><p> d.產(chǎn)品性能穩(wěn)定,可靠性高,既能加密保護(hù),又能方便升級。</p><p> 2.1 課題研究背景</p><p> 目前單片機(jī)應(yīng)用于各個領(lǐng)域,其應(yīng)用于儀器儀表中顯得更為優(yōu)越。以單片機(jī)制成的電子時鐘具有計時準(zhǔn)確、功耗低的優(yōu)點(diǎn),從而得到了許多領(lǐng)域的廣泛應(yīng)用。單片機(jī)正處在微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時,向高速、強(qiáng)運(yùn)算能力、尋址范圍
27、大以及小型廉價方面發(fā)展。單片機(jī)的發(fā)展推動了應(yīng)用系統(tǒng)的發(fā)展,應(yīng)用系統(tǒng)的發(fā)展又反過來對單片機(jī)提出了更高要求,從而促進(jìn)單片機(jī)的發(fā)展。單片機(jī)正向著功能更強(qiáng)、速度更快、功耗更低、輻射更小的方向發(fā)展。隨著集成度的不斷提高,把眾多的外圍功能器件集成在片內(nèi)已經(jīng)具備了充分的條件,這也是單片機(jī)以后發(fā)展的重要趨勢。除了一般必須具有的ROM、RAM、定時器/計數(shù)器、中斷系統(tǒng)外,隨著單片機(jī)檔次的提高,以適應(yīng)檢測、控制功能更高的要求,片內(nèi)集成的器件通常還有電源監(jiān)控
28、與復(fù)位電路、WDT、A/D轉(zhuǎn)換器、DMA控制器、中斷控制器、鎖相器、頻率合成器、字符發(fā)生器、聲音發(fā)生器、CRT控制器、譯碼驅(qū)動器等。</p><p> 2.2 課題研究意義</p><p> 數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時、分、秒進(jìn)行數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭、辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得
29、數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能,諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電器的自動啟用等,所有這些都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實的意義。</p><p> 通過對此次的時鐘電路的設(shè)計,一方面可以鞏固已經(jīng)學(xué)習(xí)過的專業(yè)知識,比
30、如Protel99 SE的使用等;另一方面可以了解并掌握一些新的知識,比如此次所用的核心芯片MSP430單片機(jī)以及LCD液晶顯示器等。通過這次畢業(yè)設(shè)計,可以將我的綜合能力提升很多,學(xué)習(xí)很多東西,為以后的學(xué)習(xí)生活打下堅實的基礎(chǔ)。</p><p> 3 MSP430F149介紹</p><p> MSP430系列是一個16位的、具有精簡指令集的、超低功耗的混合型單片機(jī),具有強(qiáng)大的綜合優(yōu)勢。
31、</p><p> 在運(yùn)算能力方面,MSP430系列單片機(jī)是一個16位的單片機(jī),采用了精簡指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式(7種源操作數(shù)尋址、4種目的操作數(shù)尋址)、簡潔的27條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲器都可參加多種運(yùn)算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅(qū)動下指令周期為125ns 。這些特點(diǎn)保證了可編制出高效率的源程序。 </p>
32、<p> 在運(yùn)算速度方面,MSP430系列單片機(jī)能在 8MHz 晶體的驅(qū)動下,實現(xiàn)125ns 的指令周期。16位的數(shù)據(jù)寬度、125ns 的指令周期以及多功能的硬件乘法器(能實現(xiàn)乘加)相配合,能實現(xiàn)數(shù)字信號處理的某些算法(如FFT等)。 </p><p> MSP430系列單片機(jī)的中斷源較多,并且可以任意嵌套,使用時靈活方便。當(dāng)系統(tǒng)處于省電的備用狀態(tài)時,用中斷請求將它喚醒只用6µs。 &l
33、t;/p><p> 超低功耗MSP430單片機(jī)之所以有超低的功耗,是因為其在降低芯片的電源電壓及靈活而可控的運(yùn)行時鐘方面都有其獨(dú)到之處。由于系統(tǒng)運(yùn)行時打開的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共計有一種活動模式(AM)和五種低功耗模式(LPM0~LPM4)。在等待方式下,耗電為 0.7µA ,在節(jié)電方式下,最低可達(dá) 0.1µA 。 </p><
34、;p> 另外,MSP430系列單片機(jī)的各成員都集成了較豐富的片內(nèi)外設(shè)。MSP430系列單片機(jī)的這些片內(nèi)外設(shè)為系統(tǒng)的單片解決方案提供了極大的方便。</p><p> MSP430F149是MSP430X14X系列的一種,、兩個16位定時器、一個14路的12位的模數(shù)轉(zhuǎn)換器、一個看門狗、6路P口、兩路USART通信端口、一個比較器、一個DCO內(nèi)部振蕩器和兩個外部時鐘,支持8M的時鐘。</p>&
35、lt;p> 3.1 MSP430F149芯片特點(diǎn)</p><p> a.低電源電壓范圍:1.8~3.6V。</p><p><b> b.超低功耗:</b></p><p> 2.5µA @ 4KHz,2.2V;280µA @ 1MHz,2.2V。</p><p>&l
36、t;b> c.5種節(jié)電方式:</b></p><p> 等待方式 1.6µA;</p><p> RAM保持的節(jié)電方式 0.1µA。</p><p> d.從等待方式喚醒時間小于6µA。</p><p> e.16位RISC結(jié)構(gòu),125ns指令周期。</p><
37、;p> f.基本時鐘模塊配置:</p><p> 高速晶體(最高8MHz);低速晶體(32768Hz);DCO。</p><p> g.配合外部器件可構(gòu)成單斜邊A/D轉(zhuǎn)換器。</p><p> h.12位200Ksps的A/D轉(zhuǎn)換器,自帶采樣保持。</p><p> i.內(nèi)部溫度傳感器。</p><p>
38、; j.具有3個捕獲/比較寄存器的16位定時器Timer_A,Timer_B。</p><p> k.兩通道串行通信接口可用于異步或同步(UART/SPI)模式。</p><p> l.6個8位并行端口,且2個8位端口有中斷能力。</p><p><b> m.硬件乘法器。</b></p><p> n.多達(dá)6
39、0KB FLASH ROM和2KB RAM。</p><p> o.串行在線系統(tǒng)編程。</p><p> p.保密熔絲的程序代碼保護(hù)。</p><p> 3.2 MSP430F149芯片引腳</p><p> MSP430F149芯片共有64個引腳,其中有48個為I/O引腳,具體說明如表3-1所示。</p><p&
40、gt; 表3-1 MSP430F149芯片引腳說明表</p><p><b> 續(xù)表3-1:</b></p><p><b> 續(xù)表3-1:</b></p><p><b> 續(xù)表3-1:</b></p><p> 3.3 MSP430F149芯片處理單元</p
41、><p> 處理單元基于一種一致的正交設(shè)計的CPU和指令集,這種設(shè)計結(jié)構(gòu)形成了一種對應(yīng)用開發(fā)高度透明,并以編程簡單著稱的類RISC體系。除了程序流指令以外的所有操作,都是作為寄存器操作連同7種源尋址方式和4種目的操作數(shù)尋址方式來執(zhí)行的。</p><p> MSP430F149芯片CPU有16個寄存器提供精簡指令執(zhí)行時間。存儲器到寄存器操作執(zhí)行時間被減少到處理器頻率的一個周期,4個寄存器被保
42、留,專門用作程序計數(shù)器、堆棧計數(shù)器、狀態(tài)寄存器和常數(shù)發(fā)生器。其余的寄存器可用作通用寄存器。外設(shè)利用一個數(shù)據(jù)地址和控制總線連接到CPU,并能容易利用內(nèi)存處理指令操作。</p><p> 3.4 MSP430F149芯片運(yùn)行模式</p><p> MSP430F149具有一種活動模式和五種軟件可選的低功耗運(yùn)行模式。一個中斷事件可以將芯片從五種低功耗模式中的任何一種喚醒為請求服務(wù)并在從中斷程
43、序返回時恢復(fù)低功耗模式。</p><p> 下列六種運(yùn)行模式由軟件配置:</p><p><b> a.活動模式AM</b></p><p><b> ?。袝r鐘活動</b></p><p> b.低功耗模式0(LPM0)</p><p><b> -CP
44、U關(guān)閉</b></p><p> ACLK和SMCLK保持活動,MCLK關(guān)閉</p><p> c.低功耗模式1(LPM1)</p><p><b> ?。瑿PU關(guān)閉</b></p><p> ACLK和SMCLK保持活動,MCLK關(guān)閉</p><p> 如果DCO在活動模式中
45、沒有使用,DCO的直流發(fā)生器將關(guān)閉</p><p> d.低功耗模式2(LPM2)</p><p> ?。瑿PU關(guān)閉;ACLK保持活動</p><p> MCLK、FLL+,DCOCLK關(guān)閉</p><p> DCO的直流發(fā)生器保持活動</p><p> e.低功耗模式3(LPM3)</p>&l
46、t;p> ?。瑿PU關(guān)閉;ACLK保持活動</p><p> MCLK、FLL+,DCOCLK關(guān)閉</p><p> f.低功耗模式4(LPM4)</p><p> ?。瑿PU關(guān)閉;ACLK關(guān)閉</p><p> MCLK、FLL+、DCOCLK關(guān)閉</p><p> DCO的直流發(fā)生器關(guān)閉;晶體振蕩器停
47、止</p><p> 3.5 MSP430F149芯片I/O端口</p><p> MSP430F149有6個8位的I/O端口P1~P6,端口P1和P2用7個控制寄存器,端口P3、P4、P5、P6僅使用4個寄存器,為應(yīng)用提供數(shù)字輸入/輸出的最大靈活性:</p><p> a.所有單個I/O口可獨(dú)立編程;</p><p> b.任何輸入
48、輸出和中斷條件的組合都是可能的;</p><p> c.端口P1和P2的所有8位對外部事件的中斷處理完全實現(xiàn)。</p><p> 端口P1和P2具有輸入/輸出、中斷和外部模塊功能,端口P3、P4、P5和P6沒有中斷能力,其余功能和P1、P2相同。以Px代表端口,介紹所有的7個寄存器。</p><p> a. PxDIR (輸入/輸出方向寄存器)</p&g
49、t;<p> 相互獨(dú)立的8位分別定義了8個引腳的輸入/輸出方向。使用輸入/輸出功能時,應(yīng)該先定義端口的方向,輸入/輸出才能滿足設(shè)計者的要求。作為輸入時,只能讀;作為輸出時,可讀可寫。</p><p> 0 :輸入模式;1 :輸出模式。</p><p> b. PxIN (輸入寄存器)</p><p> 輸入寄存器是只讀寄存器,用戶不能對它寫入,
50、只能通過讀取該寄存器內(nèi)容知道I/O端口的輸入信號,此時引腳的方向必須選定為輸入。</p><p> c. PxOUT (輸出寄存器)</p><p> 該寄存器為I/O端口的輸出緩沖寄存器,在讀取時輸出緩存的內(nèi)容與引腳方向定義無關(guān)。改變方向寄存器的內(nèi)容,輸出緩存的內(nèi)容不受影響。</p><p> d. PxIFG (中斷標(biāo)志寄存器)</p>&l
51、t;p> 該寄存器有8個標(biāo)志位,標(biāo)志相應(yīng)引腳是否有待處理中斷的信息,即相應(yīng)引腳是否有中斷請求。</p><p> 0 :沒有中斷請求;1 :有中斷請求。</p><p> e. PxIES (中斷觸發(fā)沿選擇寄存器)</p><p> 如果允許Px口的某個引腳中斷,還需要定義該引腳的中斷觸發(fā)方式。該寄存器的8位分別對應(yīng)Px口的8個引腳。</p>
52、;<p> 0 :上升沿使相應(yīng)標(biāo)志置位;1 :下降沿使相應(yīng)標(biāo)志置位。</p><p> f. PxIE (中斷使能寄存器)</p><p> Px口的每一個引腳都有一位用以控制該引腳是否允許中斷。</p><p> 0 :禁止中斷;1 :允許中斷。 </p><p> g. PxSEL (功能選擇寄存器)</p&
53、gt;<p> 各端口具有其他片內(nèi)外設(shè)功能,為了減少引腳,將這些功能與芯片外的聯(lián)系通過復(fù)用Px引腳的方式來實現(xiàn)。PxSEL用來選擇引腳的I/O端口功能與外圍模塊功能。</p><p> P3、P4、P5和P6端口只有輸入/輸出方向寄存器(PxDIR)、輸入寄存器(PxIN)、輸出寄存器(PxOUT)和功能選擇寄存器(PxSEL)。</p><p> 0 :選擇引腳為I/
54、O端口;1 :選擇引腳為外圍模塊功能。</p><p> 3.6 MSP430F149芯片時鐘系統(tǒng)</p><p> MSP430F149芯片內(nèi)基礎(chǔ)時鐘模塊有3個時鐘輸入源:</p><p> a.LFXT1CLK 低頻時鐘源</p><p> b.XT2CLK 高頻時鐘源</p><p> c.
55、DCOCLK 數(shù)字控制RC振蕩器</p><p> LFXT1振蕩器默認(rèn)工作在低頻模式,即32768Hz,XT2振蕩器為標(biāo)準(zhǔn)的8MHz晶體振蕩器。</p><p> 基礎(chǔ)時鐘模塊可提供3種時鐘信號:主系統(tǒng)時鐘(MCLK)、子系統(tǒng)時鐘(SMCLK)和輔助時鐘(ACLK)。</p><p> 主系統(tǒng)時鐘(MCLK):MCLK可由軟件選擇來自LFXT1CLK、
56、XT2CLK、DCOCLK三者之一,然后經(jīng)1、2、4、8分頻得到。MCLK主要用于CPU和系統(tǒng)。</p><p> 子系統(tǒng)時鐘(SMCLK):可由軟件選擇來自LFXT1CLK和DCOCLK,或者XT2CLK和DCOCLK(由具體器件決定),然后經(jīng)1、2、4、8分頻得到。SMCLK主要用于高速外圍模塊。</p><p> 輔助時鐘(ACLK):ACLK是LFXT1CLK信號經(jīng)1、2、4、
57、8分頻后得到的。ACLK可由軟件選作各個外圍模塊的時鐘信號,一般用于低速外設(shè)。</p><p> 系統(tǒng)使用不同的時鐘信號,用戶通過程序可以選擇低頻或高頻,這樣可以根據(jù)實際需要來選擇合適的系統(tǒng)時鐘頻率,這3種不同頻率的時鐘輸出給不同的模塊,從而更合理地利用系統(tǒng)的電源,實現(xiàn)整個系統(tǒng)的超低功耗,這一點(diǎn)對于電池供電的系統(tǒng)來講至關(guān)重要。</p><p> 3.7 MSP430F149芯片存儲器結(jié)
58、構(gòu)和地址空間</p><p> MSP430系列單片機(jī)存儲器采用的是統(tǒng)一結(jié)構(gòu)、物理上完全分離的存儲區(qū)域如ROM/FLASH、RAM、外圍模塊、特殊功能寄存器SFR等,被安排在同一地址空間,這樣就可以使用一組地址、數(shù)據(jù)總線、相同的指令對它們進(jìn)行字節(jié)或字形式訪問。MSP430系列單片機(jī)存儲器的這種組織方式和CPU采用精簡指令相互協(xié)調(diào),對外圍模塊的訪問不需要單獨(dú)的指令,該結(jié)構(gòu)為軟件的開發(fā)和調(diào)試提供便利。</p&
59、gt;<p> 現(xiàn)以64KB的存儲空間為例說明MSP430的存儲器使用情況,如圖3-1所示。</p><p> 圖3-1 MSP430存儲空間分配</p><p> MSP430不同系列器件的存儲空間分布有很多相同之處:</p><p> a)中斷向量被安排在相同的空間:OFFEO~OFFFFH。</p><p> b
60、)8位、16位外圍模塊占用相同范圍的存儲器地址。</p><p> c)特殊功能寄存器占用相同范圍的存儲器地址。</p><p> d)數(shù)據(jù)存儲器都從0200H處開始。</p><p> e)程序存儲器的最高地址都是0FFFFH。</p><p> 但是由于器件所屬型號的不同,存儲空間的分布也存在一些差異:程序存儲器容量不一樣,所以起
61、始地址也不一樣;僅FLASH型有信息存儲器和引導(dǎo)存儲器,而且不同器件它們的地址不同;數(shù)據(jù)存儲器的末地址不一樣,中斷向量和8位、16位外圍模塊的內(nèi)容不同等。</p><p> MSP430的數(shù)據(jù)存儲器是最靈活的地址空間,位于存儲器地址空間的0200H單元以上,這些存儲器一般用于堆棧和變量,如存放經(jīng)常變化的數(shù)據(jù)。堆棧是具有先進(jìn)后出特殊操作的一段數(shù)據(jù)存儲單元,可以在子程序調(diào)用、中斷處理或者函數(shù)調(diào)用過程中保存程序指針、
62、參數(shù)、寄存器等。</p><p> 程序存儲器FLASH是0FFFFH以下的一定數(shù)量的存儲空間,可存放系統(tǒng)程序或者應(yīng)用程序及常數(shù),可以避免斷電等意外情況而造成存儲的信息丟失。程序代碼必須有地址尋址。程序代碼包括:中斷向量區(qū)、用戶程序代碼和系統(tǒng)引導(dǎo)程序。</p><p> MSP430系列單片機(jī)內(nèi)所有外圍模塊都可以用軟件訪問和控制,外圍模塊相關(guān)的控制寄存器和狀態(tài)寄存器都被安排在0000H
63、~01FFH范圍的RAM中,MSP430可以像訪問普通RAM單元一樣對這些寄存器進(jìn)行操作。</p><p> 4 系統(tǒng)硬件電路設(shè)計</p><p> 4.1 系統(tǒng)方案論證與選擇</p><p> 方案一:采用EDA設(shè)計,整個數(shù)字鐘電路由振蕩脈沖發(fā)生器、計數(shù)電路、顯示譯碼/ 驅(qū)動器和七段顯示器組成,如圖4-1所示:</p><p> 圖
64、4-1 數(shù)字時鐘系統(tǒng)框圖</p><p> 振蕩脈沖發(fā)生器用來產(chǎn)生秒脈沖。計數(shù)電路由秒個位計數(shù)器、秒十位計數(shù)器、分個位計數(shù)器、分十位計數(shù)器、時個位計數(shù)器、時十位計數(shù)器組成。計數(shù)器的功能是每來一個脈沖計一個數(shù)。顯示譯碼/ 驅(qū)動器采用74LS47 共陽極顯示譯碼器。顯示器采用共陽極七段顯示器。</p><p> 方案二:采用數(shù)字電路進(jìn)行設(shè)計。如圖4-2所示,整個系統(tǒng)是由主體電路、擴(kuò)展電路
65、、振蕩器、分頻器等幾部分組成,主體電路完成時間的顯示和調(diào)時的功能,擴(kuò)展電路中留有接口供擴(kuò)展電路使用。</p><p> 該系統(tǒng)的工作原理是:振蕩器產(chǎn)生的穩(wěn)定的高頻脈沖信號,作為數(shù)字鐘的時間基準(zhǔn),再經(jīng)分頻器輸出標(biāo)準(zhǔn)秒脈沖。秒計數(shù)器計滿60后向分計數(shù)器進(jìn)位,分計數(shù)器計滿60后向小時計數(shù)器進(jìn)位,小時計數(shù)器按“12翻1”規(guī)律計數(shù)。計數(shù)器的輸出經(jīng)譯碼器送顯示器。計時出現(xiàn)誤差時可以用校時電路進(jìn)行校時、校分、校秒。擴(kuò)展電路必
66、須在主體電路正常運(yùn)行的情況下才能進(jìn)行功能擴(kuò)展。</p><p> 計數(shù)器部分采用74LS90進(jìn)行計數(shù),而譯碼部分采用74LS48七段譯碼驅(qū)動器驅(qū)動數(shù)碼顯示器。用數(shù)字電路設(shè)計的電路的特點(diǎn)是軟件部分比較簡單,但是其硬件電路比較復(fù)雜。</p><p> 圖4-2 數(shù)字時鐘系統(tǒng)框圖</p><p> 方案三:利用單片機(jī)設(shè)計。采用MSP430F149作為整個電路的核心部
67、件,應(yīng)用4*4的矩陣鍵盤作為輸入,外接LCD或LED進(jìn)行顯示,同時還連接一些擴(kuò)展電路以便增加時鐘功能。用單片機(jī)為核心的系統(tǒng)其硬件電路非常簡單,計數(shù)、調(diào)時、譯碼顯示等全部都由軟件控制實現(xiàn),準(zhǔn)確性較高。</p><p> 經(jīng)過比較選擇決定采用方案三,MSP430系列單片機(jī)具有強(qiáng)大的處理功能,而且其超低功耗的特點(diǎn)非常適合電池供電的儀表儀器。以單片機(jī)為核心的系統(tǒng)處理能力強(qiáng)、誤差小,而且采用鍵盤輸入更為方便,容易操作。&
68、lt;/p><p><b> 4.2系統(tǒng)總體設(shè)計</b></p><p> 如圖4-3所示,整個時鐘電路由MSP430F149單片機(jī)、4*4矩陣鍵盤、顯示電路、擴(kuò)展功能電路、電源和晶振等幾部分組成。</p><p> 其中MSP430F149單片機(jī)是整個系統(tǒng)的核心部件。4*4的矩陣鍵盤作為系統(tǒng)的輸入,有調(diào)時、復(fù)位等功能;顯示電路部分采用LCD
69、液晶顯示器和LED數(shù)碼管顯示器同時進(jìn)行顯示;擴(kuò)展電路是為系統(tǒng)預(yù)留的部分,在這部分可以進(jìn)行一些功能的添加,如鬧鈴、溫度顯示等功能。單片機(jī)外接兩個晶體振蕩器:低速晶體振蕩器LFXT1和高速晶體振蕩器XT2。低速晶體振蕩器為32KHZ,晶振只需經(jīng)過XIN和XOUT兩個引腳相連,不需要其他外部器件,所有保證系統(tǒng)工作穩(wěn)定的元件和移向電容都集成在芯片中。LFXT1振蕩器在發(fā)生有效PUC信號后開始工作,依次有效PUC信號可以將SR寄存器中的OscOf
70、f位復(fù)位,即允許XT1工作。如果LFXT1CLK信號沒有用作SMCLK或MCLK信號,可以用軟件將OscOff位置位以禁止LFXT1工作。高速晶體振蕩器為8MHZ的標(biāo)準(zhǔn)晶體振蕩器,經(jīng)過XT2IN和XT2OUT兩個引腳相連。它產(chǎn)生時鐘信號XT2CLK,它的工作特性與LFXT1振蕩器工作在高頻模式時相似。如果XT2CLK信號沒有用做MCLK和SMCLK時鐘信號,可以用控制位XT2OFF關(guān)閉XT2。</p><p>
71、 圖4-3 系統(tǒng)整體框圖</p><p> 4.3 電源穩(wěn)壓電路</p><p> 電源通過穩(wěn)壓器接入單片機(jī),穩(wěn)壓器選用SPX1117低壓差穩(wěn)壓器。</p><p> SPX1117低壓差穩(wěn)壓器為一個低功耗正向電壓調(diào)節(jié)器,具有0.8A的穩(wěn)定輸出電流,可以用在一些高效率,小封裝的低功耗設(shè)計中。這款器件非常適合便攜式電腦及電池供電的應(yīng)用。SPX1117有很低的靜態(tài)
72、電流,在滿負(fù)載時其低壓差僅為1.1V。當(dāng)輸出電流減少時,靜態(tài)電流隨負(fù)載變化,并提高效率。SPX1117可調(diào)節(jié),可以選擇1.5V、1.8V、2.5V、2.85V、3.0V、3.3V及5V的輸出電壓。SPX1117提供多種3引腳封裝:SOT-223,TO-252,TO-220及TO-263。一個10µF的輸出電容可有效地保證穩(wěn)定性,然而在大多數(shù)應(yīng)用中,僅需要一個更小的2.2µF的電容。SPX1117具有以下一些特性:&l
73、t;/p><p> a.0.8A穩(wěn)定輸出電流</p><p> b.1A穩(wěn)定峰值電流</p><p> c.3端可調(diào)節(jié)(電壓可選:1.5V、1.8V、2.5V、2.85V、3.0V、3.3V及5V)</p><p><b> d.低靜態(tài)電流</b></p><p> e.0.8A時低壓差為1
74、.1V</p><p> f.0.1%線性調(diào)整率/0.2%負(fù)載調(diào)整率</p><p> g.2.2µF陶瓷電容即可以保持穩(wěn)定</p><p><b> h.過流及溫度保護(hù)</b></p><p><b> i.多封裝</b></p><p> 因為MSP4
75、30F149的工作電壓范圍為1.8~3.6V。所以在此次設(shè)計中,SPX1117的作用是將5V的電源轉(zhuǎn)化為3.3V的電壓輸給單片機(jī)。為了濾除電壓轉(zhuǎn)換時的內(nèi)部及外部干擾,在輸入和輸出電壓的接口處都通過一個極性電容連接電源地。</p><p> 4.4 LED數(shù)碼顯示電路</p><p> 4.4.1 LED數(shù)碼管的結(jié)構(gòu)與工作原理</p><p> 在單片機(jī)應(yīng)用系統(tǒng)
76、中,顯示器可以反映系統(tǒng)的工作狀態(tài)和運(yùn)行結(jié)果。比較常用的顯示器是由8只發(fā)光二極管LED構(gòu)成的八位數(shù)碼顯示器。如圖4-4所示。</p><p> 其中,a~g用于構(gòu)成7筆字形,h用于構(gòu)成小數(shù)點(diǎn)。這種顯示器有共陰極和共陽極兩種。共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常將公共陰極接地,當(dāng)某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點(diǎn)亮,相應(yīng)的段被顯示。同樣,共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常
77、將公共陽極接正電壓,當(dāng)某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點(diǎn)亮,相應(yīng)的段位被顯示。</p><p> 圖4-4 LED數(shù)碼管</p><p> 4.4.2 LED顯示器的顯示方式及驅(qū)動方式</p><p> 在單片機(jī)應(yīng)用系統(tǒng)中,常使用N個LED數(shù)碼管構(gòu)成的LED顯示器。N位LED顯示器有N根位選線和8×N根字選線。根據(jù)顯示方式的不同,位選線和
78、字選線的連接方式不同,字選線控制字符的選擇,位選線控制顯示字符的亮、暗。</p><p> LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。</p><p> a. LED靜態(tài)顯示方式</p><p> 在靜態(tài)顯示方式下,每位的字選線(a~h)與一個8位端口相連。只要在該位的字選線上出現(xiàn)字形碼,就顯示出相應(yīng)的字符。由于每一位數(shù)碼管由一個單獨(dú)的8位端口控制字選碼,故在
79、同一時間里每一位所顯示的字符可以各不相同。</p><p> 使用靜態(tài)顯示方式的優(yōu)點(diǎn)在于軟件處理比較容易,缺點(diǎn)是占用I/O口線太多,在實際應(yīng)用中不是經(jīng)常使用這種顯示方式。</p><p> b. LED動態(tài)顯示方式</p><p> 在一組顯示器中所含數(shù)碼管個數(shù)較多時,為了簡化電路,降低成本,一般采用動態(tài)顯示方式。這種顯示方式是將所有數(shù)碼管的各字段電極對應(yīng)地并
80、聯(lián)在一起,由一個8位端口控制,這個端口送出的信號用來控制顯示的字形,稱為段或字選碼。而每個數(shù)碼管的共陰極或共陽極極點(diǎn)分別由另一個端口的相位I/O口線控制,這個端口送出的信號用來選擇第幾位數(shù)碼管工作,稱為位碼。</p><p> 本次設(shè)計的顯示器需要8個數(shù)碼管,由于所有位的字選碼均由同一個端口送出,因此在每一個瞬間,8位LED只可能顯示相同的字形,要想顯示不同的字形,必須采用動態(tài)掃描方式。動態(tài)顯示只需要2個8位端
81、口,其中P4通過74HC244連接到顯示器控制位選,P5連接a~h控制字選。</p><p> 動態(tài)掃描的工作過程為:由P4向各個位輪流輸出掃描信號,使每一瞬間只有一個數(shù)碼管被選通(共陰極低電平選通,共陽極高電平選通),然后由P5送入該位所要顯示的字形碼,點(diǎn)亮該位字形段顯示的字形。這樣,在P5送出的碼段和P4送出的位段的配合控制下,就可以使各個數(shù)碼管輪流點(diǎn)亮顯示各自的字形。雖然數(shù)碼管顯示器的幾位是被依次被點(diǎn)亮的
82、,但只要每位點(diǎn)亮?xí)r間超過1ms,隔一段時間使之再顯示一遍,如此重復(fù)掃描,只要掃描時間足夠快,由于人的視覺惰性,人眼看不出閃爍。</p><p> LED不同位顯示的時間間隔可以通過定時中斷完成。如對8位LED顯示器,掃描顯示頻率為50Hz,假若顯示一位保持1ms時間,則顯示完成所有8位之后,只需8ms,于是另外12msCPU可以處理其他工作。上述保持1ms的時間應(yīng)根據(jù)實際情況而定,不能太小,因為發(fā)光二極管從導(dǎo)通
83、到發(fā)光有一定的延時,導(dǎo)通時間太小,發(fā)光太弱人眼無法看清;但也不能太大,因為畢竟要受限制于臨界閃爍頻率,而且次時間越長,占用CPU時間也越多。另外,顯示位增多,也將占用大量的CPU時間,因此動態(tài)顯示實質(zhì)是以犧牲CPU時間換取元件和能耗的減少。</p><p> 前面只是對顯示器進(jìn)行原理上的闡述,沒有涉及LED的驅(qū)動問題,其實這是一個非常重要的問題。如果驅(qū)動器的驅(qū)動能力差,顯示器亮度就低,而驅(qū)動器長期在超負(fù)荷下運(yùn)行
84、則很容易損壞,因此,對LED的驅(qū)動就顯得非常重要。</p><p> 顯示分為靜態(tài)顯示和動態(tài)顯示兩種方式,由于這兩種顯示方式有本質(zhì)的不同,因此在選擇LED驅(qū)動器時,一定要分清顯示方式。</p><p> 如果是靜態(tài)顯示,則LED驅(qū)動器的選擇較為簡單,只要驅(qū)動器的驅(qū)動能力與顯示器工作電流相匹配即可。而且只需要考慮段的驅(qū)動,因為共陽極接+5V,而共陰極接地,所以位的驅(qū)動無需考慮。</
85、p><p> 動態(tài)顯示則不同,由于一位數(shù)據(jù)的顯示是由段選和位選信號共同配合完成的,因此,必須同時考慮段和位的驅(qū)動能力,而且段的驅(qū)動能力決定位的驅(qū)動能力。</p><p> 段的驅(qū)動能力是由顯示器的亮度決定的,通過發(fā)光二極管的電流越大,其亮度也越高。對于靜態(tài)顯示器,當(dāng)某位點(diǎn)亮?xí)r,此位中點(diǎn)亮的段通過恒定的電流,而對于動態(tài)顯示器,此電流卻是以一定脈沖方式出現(xiàn)的,其峰值電流不能真實地反映二極管的發(fā)
86、光亮度,而必須以與脈沖占空比有關(guān)的平均值電流來考慮。</p><p> 理論分析表明,同樣的驅(qū)動器,當(dāng)驅(qū)動靜態(tài)顯示器時,其亮度為驅(qū)動動態(tài)顯示器的n倍,n近似為顯示位數(shù)。所以要使動態(tài)顯示器達(dá)到靜態(tài)顯示器的亮度,必須將驅(qū)動器的驅(qū)動能力提高n倍。</p><p> 段的驅(qū)動能力確定之后,位的驅(qū)動能力也隨之確定。當(dāng)然必須考慮極端的情況,即位中各段均點(diǎn)亮,則位的驅(qū)動電流為各段驅(qū)動電流之和,此電流
87、應(yīng)為峰值。</p><p> 在課題電路的設(shè)計中,采用的是74HC244對數(shù)碼管顯示器進(jìn)行驅(qū)動,因為MSP430的功耗很低,所以它的輸出電流很低,無法驅(qū)動數(shù)碼管顯示,所以需要通過74HC244對數(shù)碼管進(jìn)行驅(qū)動,使其可以正常工作。74HC244芯片內(nèi)部共有兩個四位三態(tài)緩沖器,使用時可分別以1G和2G作為它們的選通工作信號。當(dāng)1G和2G都為低電平時,輸出端Y和輸入端A狀態(tài)相同;當(dāng)1G和2G都為高電平時,輸出呈高阻態(tài)
88、。</p><p> 4.5 LCD液晶顯示接口電路</p><p> 液晶顯示器的原理是利用液晶的物理特性,通電時導(dǎo)通,排列變得有順序,使光線容易通過;不通電時排列混亂,阻止光線通過。光線通過和不通過的組合就可以在屏幕上顯示出圖像來。通俗地說,液晶顯示器就是兩塊玻璃中間夾了一層(或多層)液晶材料,液晶材料在信號控制下改變自己的透光狀態(tài),于是就能在玻璃面板前看到圖像了。由于液晶是通過環(huán)
89、境光來顯示信息的,液晶本身不主動發(fā)光,所以液晶功耗很低,更加適用單片機(jī)低功耗應(yīng)用系統(tǒng)。另外,液晶只能低頻交流電壓驅(qū)動,直流電壓將損壞液晶。</p><p> 液晶的種類有多種,常見的有段式液晶、字符式液晶、圖形式液晶等。本設(shè)計使用的是TC1602字符型液晶顯示器。字符型液晶顯示模塊是一類專門用于顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶顯示模塊。字符型液晶顯示模塊是在一塊雙面印刷線路板上,它的一面用導(dǎo)電橡膠將電路與液晶
90、顯示器件連接,另一面裝配所需要的驅(qū)動器和控制器以及驅(qū)動所需的分壓電路。</p><p> TC1602采用標(biāo)準(zhǔn)的16腳接口,如圖4-5所示。</p><p> 第1腳:VSS為地電源。</p><p> 第2腳:VDD接5V正電源。</p><p> 第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對
91、比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。</p><p> 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器,接MSP430F149的P3.0腳。</p><p> 第5腳:RW為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為
92、高電平RW為低電平時可以寫入數(shù)據(jù),接單片機(jī)的P3.1腳。</p><p> 第6腳:EN端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令,接單片機(jī)的P3.2腳。</p><p> 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線,接單片機(jī)的P2口。 </p><p> 圖4-5 TC1602液晶顯示器</p><p> 1602液晶
93、模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。1602液晶模塊內(nèi)部的控制器共有11條控制指令。它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的(說明:1為高電平、0為低電平)
94、。</p><p> RS、RW和EN三個讀/寫使能端口控制著LCD的讀/寫狀態(tài),它們的接口時序如下圖所示,圖4-6為寫狀態(tài)時序,圖4-7為讀狀態(tài)時序。</p><p> 圖4-6 寫狀態(tài)時序圖</p><p> 圖4-7 讀狀態(tài)時序圖</p><p> 另外,TC1602液晶顯示器的一些工作范圍如下:</p><
95、p> a.邏輯工作電壓(Vdd):+4.5 ~ +5.5V </p><p> b.LCD 驅(qū)動電壓(Vdd-V0):+4.5 ~ +13.0V </p><p> c.工作溫度(Ta):0 ~ 60°C(常溫)/-20 ~ 75°C(寬溫)
96、 </p><p> d.保存溫度(Tstg):-55~125°C </p><p> e.工作電流:2.0mAmax </p><p> 為了區(qū)分正常顯示時間和調(diào)整時間的不同,在調(diào)時時顯示“SET TIME”,在正常顯示時間時顯示“NOW
97、TIME”用以區(qū)分。用液晶顯示器和數(shù)碼管顯示器同時顯示時間,并在液晶顯示器的第一行顯示“NOW TIME”或“SET TIME”,第二行顯示時間。</p><p> 4.6 鍵盤輸入電路</p><p> 鍵盤是計算機(jī)系統(tǒng)中最常用的人機(jī)對話輸入部分。在單片機(jī)應(yīng)用系統(tǒng)中,為了控制系統(tǒng)的工作狀態(tài)以及向系統(tǒng)輸入數(shù)據(jù),一般均設(shè)有按鍵或鍵盤。例如復(fù)位用的復(fù)位鍵,功能轉(zhuǎn)換的命令鍵和數(shù)據(jù)輸入的數(shù)字鍵
98、等。</p><p> 鍵盤一般分為編碼鍵盤和非編碼鍵盤兩種。</p><p> 編碼鍵盤本身除了按鍵之外,還包括產(chǎn)生鍵碼的硬件電路。只要按一下某一個鍵,就能產(chǎn)生這個鍵的代碼,這種鍵盤使用比較方便,需要編寫的鍵盤輸入程序也比較簡單。不過由于使用的硬件較復(fù)雜,在單片機(jī)應(yīng)用系統(tǒng)中使用的不多。</p><p> 非編碼鍵盤是由若干個按鍵組合的開關(guān)矩陣,按鍵的作用只是
99、簡單地實現(xiàn)接點(diǎn)的接通和斷開。非編碼鍵盤必須有一套相應(yīng)的程序與之配合,才能產(chǎn)生出相應(yīng)的鍵碼。由于非編碼鍵盤硬件上十分簡單,目前在單片機(jī)應(yīng)用系統(tǒng)中使用比較普遍。</p><p> 單鍵鍵盤每一個按鍵開關(guān)占一位I/O口線,在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口就可以構(gòu)成4*4=16個按鍵,
100、比直接將端口線用于鍵盤多出了一倍容量,而且線數(shù)越多,區(qū)別越明顯。比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。</p><p> 如圖4-8所示,矩陣式結(jié)構(gòu)的鍵盤顯然要復(fù)雜一些,識別也要復(fù)雜一些。其中key0~key3接單片機(jī)的P1.0~P1.3做輸入線,key4~key7接單片機(jī)的P1.4~P1.7做輸入線。行線通過電阻接正電
101、源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵被按下。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法。</p><p> 圖4-8 矩陣鍵盤示意圖</p><p> 在檢測是否有鍵按下
102、時,先使4條列線輸出低電平,然后讀取4條行線的狀態(tài),如果全部為高電平則表示沒有任何鍵被按下;如果有任一鍵被按下,由于行線是弱上拉至Vcc,則行線上讀到的將是一個非全“1”的值。上述只是說明了如何判定如何有鍵被按下,但不能判定具體是哪一個鍵。上面提到的按鍵識別方法是這樣的:首先看輸入的行線,假設(shè)4條列線都輸出低電平,4條行線都是弱上拉至Vcc的,在沒有任何按鍵按下時輸入都為“1”。但當(dāng)與某一條行線相連的4個按鍵中的任何一個被按下時,這條行
103、線將輸入低電平。即,當(dāng)某條行線輸入低電平時,必定是連接在這條行線上的某個按鍵被按下了。這樣就將16個按鍵按行線分成了4組,已經(jīng)能夠區(qū)分出這4條行線間的區(qū)別了。接著要解決的是區(qū)分同一條行線上的4個連接在不同列線上的按鍵。方法是以均勻的時間間隔(比如10毫秒)在4條列線上分別掃描輸出“0”信號,也就是說在第一個10毫秒內(nèi)在P1.4上輸出低電平,其他的列線上輸出高電平;接著在第二個10毫秒內(nèi)在P1.5上輸出低電平,其他列線輸出高電平,如此循環(huán)
104、輸出。如果4條列線沒有輸出低電平,則盡管鍵被按下,仍然不能從行線讀到“0”。利用這一原理,分時掃描在不</p><p> 比如說圖4-2中的按鍵7被按下,如果P1.6沒有輸出低電平,則盡管按鍵被按下,仍然不能從P1.2口線讀到“0”,但由于4條列線上掃描輸出低電平,只要按下超過40毫秒的時間,必定能等到P1.6輸出低電平。即,如果在P1.6輸出低電平的這10毫秒內(nèi)在P1.2上讀取到低電平,則必定是與這兩條I/O
105、口線相連的這個按鍵被按下了,也就找到了被按下的按鍵的確切位置。</p><p> 4.7 JATG接口基本原理</p><p> 隨著嵌入式技術(shù)的發(fā)展,在一些高端的掌上設(shè)備中,都使用了Flash芯片,但對于研發(fā)人員來說,在開發(fā)階段需要大量的程序調(diào)試,就意味著要對Flash進(jìn)行擦除和改寫的工作,因此,如何對 Flash進(jìn)行在線編程是問題的關(guān)鍵所在,通過JTAG對Flash進(jìn)行的在線編程是
106、一種重要的方法。JTAG(Joint Test Action Group)是1985年制定的檢測PCB和IC芯片的一個標(biāo)準(zhǔn),1990年被修改后成為IEEE的一個標(biāo)準(zhǔn),即IEEE1149.1-1990。通過這個標(biāo)準(zhǔn),可對具有JTAG口芯片的硬件電路進(jìn)行邊界掃描和故障檢測。在IEEE 1149.1標(biāo)準(zhǔn)里面,寄存器被分為兩大類:數(shù)據(jù)寄存器(DR-Data Register)和指令寄存器(IR-Instruction Register)。邊界掃
107、描鏈屬于數(shù)據(jù)寄存器中很重要的一種。邊界掃描鏈用來實現(xiàn)對芯片的輸入輸出的觀察和控制。而指令寄存器用來實現(xiàn)對數(shù)據(jù)寄存器的控制,例如:在芯片提供的所有邊界掃描鏈中,選擇一條指定的邊界掃描鏈作為當(dāng)前的目標(biāo)掃描鏈,并作為訪問對象。</p><p> 4.7.1 邊界掃描技術(shù)</p><p> 在JTAG調(diào)試當(dāng)中,邊界掃描(Boundary-Scan)是一個很重要的概念。邊界掃描技術(shù)的基本思想是在
108、靠近芯片的輸入輸出管腳上增加一個移位寄存器單元。寄存器的每一個單元分配給IC芯片的相應(yīng)引腳,每一個獨(dú)立的單元稱為BSC(Boundary-Scan Cell)邊界掃描單元。這個串聯(lián)的BSC在IC內(nèi)部構(gòu)成JTAG回路,所有的BSR(Boundary-Scan Register)邊界掃描寄存器通過JTAG測試激活,當(dāng)芯片處于調(diào)試狀態(tài)的時候,這些邊界掃描寄存器可以將芯片和外圍的輸入輸出隔離開來。通過這些邊界掃描寄存器單元,可以實現(xiàn)對芯片輸入輸
109、出信號的觀察和控制。對于芯片的輸入管腳,可以通過與之相連的邊界掃描寄存器單元把信號(數(shù)據(jù))加載倒該管腳中去;對于芯片的輸出管腳,也可以通過與之相連的邊界掃描寄存器“捕獲”(CAPTURE)該管腳上的輸出信號。在正常的運(yùn)行狀態(tài)下,這些邊界掃描寄存器對芯片來說是透明的,所以正常的運(yùn)行不會受到任何影響,這樣邊界掃描寄存器提供了一個便捷的方式用以觀測和控制所需要調(diào)試的芯片。另外,芯片輸入/輸出管腳上的邊界掃描(移位)寄存器單元可以相互連接起來,
110、在芯片的周圍形成</p><p> 4.7.2 TAP控制器</p><p> JTAG內(nèi)部有一個狀態(tài)機(jī),稱為TAP控制器。TAP是一個通用的端口,通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器(DR)和指令寄存器(IR)。對整個TAP的控制是通過TAP 控制器來完成的。TAP總共包括5個信號接口TCK、TMS、TDI、TDO和RST :其中4個是輸入信號接口和另外1個是輸出信號接口。一般
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- msp430單片機(jī)的時鐘信號小結(jié)
- 基于msp430單片機(jī)循跡小車
- msp430單片機(jī)的測溫系統(tǒng)的研究與設(shè)計畢業(yè)論文
- msp430單片機(jī)的測溫系統(tǒng)的研究與設(shè)計畢業(yè)論文
- 基于msp430單片機(jī)的倒車?yán)走_(dá)設(shè)計畢業(yè)設(shè)計
- 基于msp430單片機(jī)的測壓系統(tǒng)設(shè)計
- 基于MSP430單片機(jī)的智能電表設(shè)計.pdf
- msp430單片機(jī)實踐篇---msp430單片機(jī)控制io口操作-led燈閃爍
- 基于msp430單片機(jī)的計算器設(shè)計
- 基于msp430單片機(jī)的智能門禁系統(tǒng)
- msp430教程1msp430 單片機(jī)系列簡介
- msp430單片機(jī)課程設(shè)計-實時時鐘與鍵盤控制
- 電子工程畢業(yè)設(shè)計(論文)- 基于msp430單片機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計
- 基于MSP430單片機(jī)的測距系統(tǒng).pdf
- 基于msp430單片機(jī)的液位測量儀設(shè)計畢業(yè)論文外文翻譯
- 基于msp430單片機(jī)的信號發(fā)生器設(shè)計
- 基于msp430系列單片機(jī)熱量表的設(shè)計
- 基于msp430單片機(jī)的溫度測控裝置的設(shè)計
- 畢業(yè)論文 -- 基于msp430單片機(jī)的環(huán)境參數(shù)監(jiān)測儀的設(shè)計制作
- 基于msp430單片機(jī)的智能樓宇安檢系統(tǒng)
評論
0/150
提交評論