武漢理工大學微機原理課程設計_第1頁
武漢理工大學微機原理課程設計_第2頁
武漢理工大學微機原理課程設計_第3頁
武漢理工大學微機原理課程設計_第4頁
武漢理工大學微機原理課程設計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

學號課程設計題目數(shù)碼管顯示學院自動化專業(yè)自動化班級自動化zy1102姓名魏迪指導教師徐小強2014年01月14日

課程設計任務書學生姓名:魏迪專業(yè)班級:自動化zy1102班指導教師:徐小強工作單位:自動化學院題目:數(shù)碼管顯示要求完成的主要任務:4位數(shù)碼管顯示【0,9999】內(nèi)任一整數(shù)時間安排:1.1月6日1月7日查閱資料及方案設計2.1月7日1月8日編程3.1月8號1月10日調(diào)試程序4.1月10號1月13日撰寫課程設計報告5.1月14日準備辯論指導教師簽名:2014年1月14日系主任〔或責任教師〕簽名:2014年1月14日目錄11924引言1327451設計意義及要求2265201.1設計意義2232201.2設計要求229052MSP430G2系列及l(fā)aunchpad介紹35583方案設計5203123.1設計思路5120443.2方案設計5260523.2.1硬件接線方案520383.2.2編程方案876263.2.3程序18322623.2.4程序流程圖22214534MSP430使用說明23324884.1安裝IAR23120344.2使用步驟2315715程序的燒寫與測試2859885.1程序的燒寫28309495.2程序的測試2818698結(jié)束語297504參考文獻3010829附錄:本科生課程設計成績評定表31摘要當今時代是一個新技術(shù)層出不窮的時代,在電子領域尤其是自動化智能控制領域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度開展,電子技術(shù)已經(jīng)散布生活的各個角落,雖然這些電子技術(shù)有些很復雜但其最初原理都是0,1的二進制指令集,任何一項技術(shù)都是由易到難的過程,所以懂得微機原理并且利用好自己所學的知識結(jié)合單片機控制些外部器件實現(xiàn)一種自己想要的功能就顯得很重要,外部器件包括按鍵,數(shù)碼管,液晶,電機,led燈等,本次用的單片機為TI公司的MSP430型號為g2553的單片機,這款單片機特點是低功耗,有了這些硬件,通過IAR開發(fā)軟件,對430單片機進行編程開發(fā),就可以實現(xiàn)想要的功能,編程語言可以選擇C語言或者匯編語言等,本次用的是C語言,C語言有著自己獨特的特點,它是一項面向過程的語言,屬于高級語言,編程開發(fā)比擬方便,通過硬件和軟件的結(jié)合,最終可以完成一些功能。關鍵字:智能控制,電子技術(shù)1設計意義及要求1.1設計意義通過課程設計,使學生在理論計算,課程設計、查閱設計資料、標準和標準運用和計算機應用能力得到訓練和提高。培養(yǎng)學生的自學能力,以及嚴肅認真、實事求是的科學態(tài)度和勇于探索的創(chuàng)新精神。鍛煉學生的自學軟件的能力及分析問題、解決問題的能力。拓展學生的理論知識與專業(yè)技能。為今后從事電子領域打下堅實的根底。1.2設計要求利用MSP430單片機結(jié)合外部器件使4位數(shù)碼管顯示【0,9999】內(nèi)任一整數(shù)。2MSP430G2系列及l(fā)aunchpad介紹前言所述,主要談到MSP430系列單片機在超低功耗領域傲人的優(yōu)勢,具體談到MSP430G2系列單片機,其核心競爭力在于超高性價比。G2系列又稱“超值系列”,那么它的超值到底表達在哪些方面呢?首先,G2系列單片機的售價低,G2全系列單片機共有44款,根據(jù)片上資源的豐富程度價格由低到高,最低價格0.34美元,配置最全的2553也僅售0.99美元,這樣的價位在單片機范圍內(nèi)可以算是物美價廉了。G2系列單片機雖然價格不高,但不等于它的功能不強,G2系列單片機作為MSP430系列中的一員擁有大局部MSP430單片機片上外圍模塊:16MHz主頻16位CPU片上程序存儲器FLASH〔512B/1KB/2KB/4KB/8KB/16KB〕及FLASH控制器片上隨機存儲器SRAM(128B/256B/512B)通用并行輸入輸出端口GPIO〔4位/16位/20位/24位〕支持電容觸摸式I/O看門狗定時器WDT上電復位模塊BOR多功能通信模塊USI〔I2C/SPI〕USIC_A(UART/LIN/IrDA/SPI)USIC_B(I2C&SPI)比擬器模塊ComparatorA+片內(nèi)溫度傳感器TempSensor十位逐次逼近型ADC10斜率型slopeADC基于LaunchPad的MSP-EXP430G2低本錢實驗板是一款適用于TI最新MSP430G2xx系列產(chǎn)品的完整開發(fā)解決方案。其基于USB的集成型仿真器可提供為全系列MSP430G2xx器件開發(fā)應用所必需的所有軟、硬件。LaunchPad具有集成的DIP目標插座,可支持多達20個引腳,從而使MSP430ValueLine器件能夠簡便地插入LaunchPad電路板中。此外,還可提供板上Flash仿真工具,以直接連接至PC輕松進行編程、調(diào)試和評估。LaunchPad實驗板還能夠?qū)Z430-RF2500T目標板、eZ430-Chronos手表模塊或eZ430-F2012T/F2013T目標板進行編程。此外,它還提供了從MSP430G2xx器件到主機PC或相連目標板的9600波特UART串行連接。其實物圖如圖2.1所示。MSP-EXP430G2采用IAREmbeddedWorkbench集成開發(fā)環(huán)境(IDE)或CodeComposerStudio(CCS)編寫、下載和調(diào)試應用。調(diào)試器是非侵入式的,這使用戶能夠借助可用的硬件斷點和單步操作全速運行應用,而不耗用任何其他硬件資源。MSP-EXP430G2LaunchPad特性:?USB調(diào)試與編程接口無需驅(qū)動即可安裝使用,且具備高達9600波特的UART串行通信速度?支持所有采用PDIP14或PDIP20封裝的MSP430G2xx和MSP430F20xx器件?分別連接至綠光和紅光LED的兩個通用數(shù)字I/O引腳可提供視覺反響?兩個按鈕可實現(xiàn)用戶反響和芯片復位?器件引腳可通過插座引出,既可以方便的用于調(diào)試,也可用來添加定制的擴展板?高質(zhì)量的20引腳DIP插座,可輕松簡便地插入目標器件或?qū)⑵湟瞥?方案設計3.1設計思路根據(jù)要求,首先應該完成硬件的連接,再編程考慮如何完成功能。首先硬件包括MSP430g2553launchpad開發(fā)板,四位數(shù)碼管,8550三極管,假設干1千歐電阻,假設干杜邦線,數(shù)碼管內(nèi)部發(fā)光二極管點亮時,需要5毫安以上的電流,且電流不可過大,否那么會燒毀發(fā)光二極管,由于單片機的I/O口送不出如此大的電流所以數(shù)碼管與單片機連接時需要加驅(qū)動電路,三極管可以完成這樣的驅(qū)動功能。再其次考慮軟件編程方法,題目要求使4位數(shù)碼管顯示【0,9999】內(nèi)任一整數(shù)。要是能編程能使數(shù)碼館從0000計數(shù)一直計數(shù)到9999,計數(shù)間隔利用定時器定一固定值,在計到10000時立馬清零,這樣就可以完成4位數(shù)碼管顯示0到9999內(nèi)任意整數(shù)的功能。3.2方案設計3.2.1硬件接線方案圖3.2.1430launchpad開發(fā)板圖3.2.24位數(shù)碼管實物圖圖3.2.38550三極管實物圖加上假設干電阻,通過杜邦線將430launchpad開發(fā)板,4位數(shù)碼管,8550三極管按一定接線,具體接線方案如下:4位數(shù)碼管選擇共陽極數(shù)碼管,4位數(shù)碼管有4個公共端,8個段選段。用4個8550三極管驅(qū)動,4個8550三極管的發(fā)射極均接Vcc,基極接一個1千歐電阻后接到430launchpad開發(fā)板的P1口的P2.0-P2.2及P2.4,集電極接到4位數(shù)碼管的4個公共端,這樣就可以通過三極管放大電流驅(qū)動數(shù)碼管,同時也把三極管當做開關,控制選通4位數(shù)碼管的任何一個。數(shù)碼管的8個段選段依次接到430launchpad開發(fā)板的P1口,及P2.0-P2.7。由于430launchpad開發(fā)板自帶下載器,所以通過USB下載線將430launchpad開發(fā)板連到電腦的USB接口上,可以通過IAR軟件編輯程序,下載到430launchpad開發(fā)板上,這樣差不多就完成了硬件接線,其實也挺簡單的。具體接線圖如下:圖3.2.4總接線圖3.2.2編程方案再回憶一下功能要求:使4位數(shù)碼管顯示【0,9999】內(nèi)任一整數(shù),編程能使數(shù)碼館從0000計數(shù)一直計數(shù)到9999,計數(shù)間隔利用定時器定一固定值,在計到10000時立馬清零,這樣就可以完成4位數(shù)碼管顯示0到9999內(nèi)任意整數(shù)的功能。要完成的功能需要了解430launchpadg2553芯片的內(nèi)部硬件以及存放器配置,要用到的局部如下:I/O口,定時器A?!?〕I/O口:I/0口是微處理器系統(tǒng)對外界溝通的最根本部件,從根本的鍵盤、LED到復雜的外設芯片等,都是通過I/0口的輸入輸出操作來進行的。在MSP430系列中,不同的單片機I/0口數(shù)量不同。體積最小的MSP430F20xx系列中只有10個I/0口,適合在超小型設備中應用;功能最豐富的MSP430FG46xx系列中多達80多個I/0口,足夠應付外部設備繁多的復雜應用。在MSP430G2553單片機中,共有16個I/0口,屬于I/0口較少的系列?!?〕I/0存放器:和大局部單片機類似,MSP430系列單片機也是將8個I/0口編為一組。每個I/0口有四個控制存放器,P1和P2還有額外的3。表3.2.1I/0存放器表PxDIR存放器用于設置每一位的I/0口方向MSP430單片機的I/0口是雙向I/0口:0=輸入1=輸出。在使用I/0口時首先要選擇存放器來設置每個I/0口方向。例如下面的語句:P1DIR|=BIT1+BIT3+BIT4;P1DIR|=~(BIT5+BIT6+BIT7);以上語句將P1.1,P1.3和P1.4的方向置為輸出,P1.5,P1.6和P1.7的方向置為輸入。PxDIR存放器在復位的過程中會被清零,沒有被設置的I/0口方向均為輸入狀態(tài),所以第二句可以省略。注意,將未用的I/0口置為輸出可減小漏電流。對于所有已經(jīng)設成輸出的I/0口可通過PxOUT存放器設置其輸出電平;對于所有已經(jīng)被設成輸入的I/0口,可通過PxIN存放器讀回其輸入電平。PxSEl存放器用于設置每一位I/0口的功能:0=普通I/0口,1=第二功能。在MSP430系列單片機中,很多內(nèi)部功能模塊也需要和外界進行數(shù)據(jù)交換,為了不增加芯片的管腳數(shù)量,大局部都和I/0口管腳復用,這就導致MSP430系列單片機的大多數(shù)I/0管腳都具有第二功能。通過PxSEL可以指定某些I/0口作為第二功能使用。如MSP430G2553中P1.1和RXD,P1.2和TXD復用?!?〕I/0口中斷:在MSP430系列所有的單片機中,P1口、P2口總共16個I/0口均能引發(fā)中斷。PxIE用于設置每一位I/0口的中斷允許:0=不允許1=允許PxIES用于選擇每一個I/0口的中斷觸發(fā)沿:0=上升沿1=下降沿在使用I/0口中斷之前,需要先將I/0口設置為輸入狀態(tài),并允許該位I/0中斷,再通過PxIES存放器選擇上升沿觸發(fā)還是下降沿觸發(fā)。如下例,將P1.5,P1.6和P1.7設置為中斷源,下降沿觸發(fā)。P1DIR&=~〔BIT5+BIT6+BIT7〕;P1IES|=BIT5+BIT6+BIT7;P1IE|=BIT5+BIT6+BIT7;_EINT();PxIFG是I/0口中斷標志存放器:0=中斷標志不成立,1=中斷條件曾經(jīng)成立無論中斷是否被允許,也無論是否可以執(zhí)行中斷效勞程序,只要對應I/0口滿足中斷條件,PxIFG中相應位都會立即置1并保持,只能通過軟件人工去除。這種機制的目的在于最大可能的保證不會漏掉每一次中斷。在MSP430系列單片機中,P1口的8個中斷各共用了一個中斷入口,因此該存放器另一重要作用在于判斷是哪一位I/0產(chǎn)生了中斷。注意,在退出中斷前,一定要人工去除中斷標志,否那么該中斷會不停被執(zhí)行。類似的原理,即使I/0口沒有出現(xiàn)中斷條件,人工向PxIFG存放器寫“1”,也會引發(fā)中斷。更改中斷沿選擇存放器也相當于跳變,也會引發(fā)中斷。所以,更改PxIES存放器應該在關閉中斷后進行,并且在翻開中斷后及時去除中斷標示位。定時器A:定時器A是一個16位定時器/柜臺三個捕捉/比擬存放器。定時器A可以支持多個捕捉/比擬PWM輸出,間隔的時間。定時器A還擁有豐富的中斷功能。從計數(shù)器溢出條件,并從每個可能會產(chǎn)生中斷?!?〕定時器A根本原理:Timer_A定時/計數(shù)器的主計數(shù)器模塊結(jié)構(gòu)和原理Timer_A分為2局部:主計數(shù)器和比擬捕獲模塊。主計數(shù)器負責定時,計時或計數(shù)。計數(shù)值〔TAR存放器的值〕被送到各比擬捕獲模塊中,它們可以在無需CPU干預的情況下根據(jù)觸發(fā)條件與計數(shù)器值自動完成某些測量和輸出功能。只需定時或計數(shù)功能時,可以只使用主計數(shù)器局部。在PWM調(diào)制,利用捕獲測量脈寬,周期等應用之中還需要捕獲比擬模塊配合。與Timer_A定時器中的主計數(shù)器相關的控制位都位于TACTL存放器中,主計數(shù)器的計數(shù)數(shù)值存放與TAR存放器中。每個比擬捕獲存放器TACCRx〔x=0,1,2〕。在一般定時器應用中,TACCRx可提供額外的定時中斷觸發(fā)條件;在PWM輸出模式之下,TACCRx可用于設置周期和占空比;在捕獲模式下,TACCRx存放捕獲結(jié)果。主計數(shù)器結(jié)構(gòu)如圖3.2.4所示,它包括時鐘源選擇,預分頻,計數(shù)器與計數(shù)模式選擇幾個局部。圖3.2.5TA主計數(shù)器結(jié)構(gòu)相關控制字有:TASSELx:Timer_A計數(shù)器的時鐘源選擇〔位于TACTL存放器〕00=外部管腳〔TACLK〕01=ACLK10=SMCLK11=外部管教〔TACLK取反〕快捷宏定義:TASSEL_0TASSEL_1TASSEL_2TASSEL_3IDx:Timer_A計數(shù)器預分頻系數(shù)〔位于TACTL存放器〕00=無分頻01=2分頻10=4分頻11=8分頻快捷宏定義:ID_0ID_1ID_2ID_3通過上面兩組控制位,可以設置定時計數(shù)時鐘源。在低功耗應用以及需要長時間定時或計時的情況下,可以用ACLK作為作為時鐘,加上預分頻,最長的定時計時周期可達16s。在高分辨率短時間應用之中,可以選擇SMCLK作為時鐘源。假設選擇TACLK作為,定時器實際上成為計數(shù)器,累積從TACLK管腳上輸入的脈沖,上升沿計數(shù)。假設選擇TACLK取反作為時鐘源,TACLK的下降沿計數(shù)。TACLR:Timer_A計數(shù)器清零控制位〔位于TACTL存放器〕0=不清零1=清零將該控制位置1,可以立即將Timer_A計數(shù)器清零,無需通過軟件賦值操作來實現(xiàn)。計數(shù)器復位后該標志位自動歸零,因此讀該標志位將永遠讀回0。MCx:Timer_A計數(shù)器的技術(shù)模式〔位于TACTL存放器〕00=停止01=增計數(shù)10=連續(xù)增計數(shù)11=增減計數(shù)快捷宏定義:MC_0MC_1MC_2MC_3TAIFG:Timer_A計數(shù)器溢出標志位〔位于TACTL存放器〕0=未發(fā)生溢出1:發(fā)生了溢出Timer_A計數(shù)器提供了3種計數(shù)模式:增計數(shù),連續(xù)計數(shù)和增減計數(shù)。在增計數(shù)模式下,每個時鐘周期TAR加1。在TAR值超過TACCR0存放器〔捕獲比擬模塊0模式值〕時自動清零,同時將Timer_A溢出標志位TAIFG置1。如果TA中斷被允許,還會引發(fā)中斷。改變TACCR0存放器可以改變定是周期,且不存在初值裝載問題,非常適合產(chǎn)生周期定時中斷,只要改變TACCR0的值即可隨意調(diào)整定時周期。在連續(xù)計數(shù)模式下,其工作方式與8051的定時器根本相同。每個時鐘周期TAR加1,計數(shù)器值超過0xFFFF后溢出,TAR回到0,同時將TAIFG置1,或引發(fā)中斷。如果中斷內(nèi)給TAR重新賦初值,也可以產(chǎn)生不同周期的定時中斷。用增計數(shù)模式產(chǎn)生定時中斷比連續(xù)模式更加簡單,一般不用連續(xù)模式更簡單;連續(xù)模式一般在捕獲下使用較多,讓計數(shù)器自由運行,利用捕獲功能在事件發(fā)生時自動記錄下計數(shù)值,通過比照幾個值可以確定時間發(fā)生的準確時間或者準確的時間間隔。在增減模式下,計數(shù)器從0開始遞增,計到TACCR0后,自動切換為遞減模式,減到0后又恢復為遞增模式,如此往復,在TAR從1變?yōu)?的時刻產(chǎn)生TAIFG中斷標志。在一般應用中,不用增減模式來定時或計數(shù),而多用于PWM發(fā)生器。借助增減模式,捕獲比擬模塊能夠產(chǎn)生帶死區(qū)的對稱PWM驅(qū)動波形,可以直接驅(qū)動半橋電路,無需專門的死區(qū)產(chǎn)生電路。例如,在MSP430單片機中,為Timer_A配置時鐘源及工作模式,使Timer_A在無需CPU的干預下,每隔1.3125s溢出一次〔假設SMCLK=MCLK=1.048576MHz,ACLK=32.768kHz〕。首先1.3125時間較長,假設使用SMCLK作為時鐘源16位計數(shù)器不夠用,應該使用低頻ACLK作為時鐘源。再考慮周期性定時,3種模式都能實現(xiàn),其中增計數(shù)模式最簡單,無需重復置初值等操作。最后計算TACCR0的值應該1.3125乘以ACLK頻率得到設置值43008.計數(shù)從0開始,實際應設置為43007.〔6〕Timer_A定時器中斷:Timer_A定時器的以下四種事件均能產(chǎn)生中斷:主計數(shù)器〔TACCR0〕計滿后復位,TAIFG標志被置1。中斷發(fā)生在計數(shù)值從TACCR0跳至0時刻。捕獲通道0發(fā)生捕獲事件,或讓主計數(shù)器值TAR計至TACCR0〔計數(shù)值從TACCR0-1跳至TACCR0的時刻〕,TACCTL0存放器內(nèi)的CCIFG標志被置1。捕獲通道1發(fā)生捕獲事件,或主計數(shù)值TAR計至TACCR1〔計數(shù)器從TACCR1-1跳至TACCR0的時刻〕,TACCTL1存放器內(nèi)的CCIFG標志被置1。捕獲通道2發(fā)生捕獲事件,或主計數(shù)器TAR計至TACCR2〔計數(shù)值從TACCR2-1跳至TACCR2的時刻〕,TACCTL2存放器內(nèi)的CCIFG標志被置1。這4種事件占用了兩個中斷源,其中,事件2〔計至TACCR2或捕獲通道0發(fā)生捕獲事件〕獨占一個中斷源TIMERA0_VECTOR,其余3種事件共用另一個中斷源TIMERA1_VECTOR。對于需要緊急處理的捕獲事件建議使用通道0,因為它獨占一個中斷源,在終端內(nèi)無需分之判斷,反響最快。相應的標志位有:TAIFG:Timer_A計數(shù)器計滿復位標志〔位于TACTL存放器〕TAIE:Timer_A主計數(shù)器計滿中斷允許位〔位于TACTL存放器〕CCIFG:Timer_A捕獲/比擬模塊中斷標志〔位于TACCTL0/1/2存放器〕比擬模式下,當主計數(shù)器計至TACCRx時,該標志位置1.在捕獲模式下,當捕獲條件發(fā)生時,該標志位置1。TACCTL0內(nèi)的CCIFG標志會在中斷執(zhí)行后自動清零,其余模塊共用了中斷入口,它們的CCIFG標志位會根據(jù)TAIV存放器的值在執(zhí)行相應的中斷后自動去除。CCIE:Timer_A比擬捕獲模塊中斷允許位〔位于TACCTL0/1/2存放器〕TAIV:Timer_A中斷向量存放器幾個事件共用了TIMERA1_VECTOR中斷向量,需要在中斷效勞程序中通過軟件判斷TAIV存放器的值來確定具體中斷原因。表3.2.2Timer_A中斷向量存放器表存放器圖TACTL:圖3.2.6TACTL結(jié)構(gòu)未使用:15~10位TASSELx:9~8位Timer_A時鐘源選擇00TACLK01SMCLK02ACLK03INCLKIDx:7~6位時鐘分頻選擇00/101/202/403/8MCx:5~4位模式控制00停止模式01增計數(shù)模式,計至TACCR002連續(xù)技術(shù)模式,計至0xFFFF03增減計數(shù)模式,增計數(shù)計至TACCR0減至0未使用:3位未使用TACLR:2位清零位,計數(shù)器清零,分頻和模式位也清零TAIE:1位中斷允許位,中斷允許時置1TAIFG:0位中斷允許標志位,有中斷時置1圖3.2.7TARx:15~0位Timer_A計數(shù)器存放器圖3.2.8TACCRx:TimerA比擬捕獲存放器比擬模式:TACCRx與TAR比擬,當相等時改變輸出管腳的電平捕獲模式:當捕獲源到來時將TAR復制到TACCRx圖3.2.9TACCTLx捕獲比擬控制存放器CMx:15~14位捕獲模式00無捕獲01上升沿捕獲02下降沿捕獲03上升下降沿捕獲CCISx:13~12位捕獲比擬輸入選擇00CCIxA01CCIxB02GND03VccSCS:11位同步異步選擇0異步捕獲1同步捕獲SCCI:10位捕獲同步信號輸入端未使用:9位CAP:8位捕獲模式0比擬模式1捕獲模式OUTMODEx:7~5位輸出模式配置000模式0001模式1010模式2011模式3100模式4101模式5110模式6111模式7CCIE:4位0不允許中斷1中斷允許CCI:3位捕獲比擬輸入OUT:2位在模式0,該位直接控制輸出電平COV:1位捕獲溢出控制位0無捕獲溢出1捕獲溢出CCIFG:0位捕獲比擬中斷1無中斷發(fā)生0中斷發(fā)生以上為430launchpadg2553關于I/O口,定時器A的信息。了解了定時器A和I/O口的用法,下面考慮一下編程方法。要能編程能使數(shù)碼館從0000計數(shù)一直計數(shù)到9999,首先要對數(shù)碼管進行編碼讓他可以顯示0—9十個數(shù)字,依次選通4位數(shù)碼管,不斷的掃描更新顯示,依次顯示個,十,百,千位,中間做很短延時,利用定時器A定時50毫秒,每50毫秒講數(shù)加一,這樣就可以完成從0到9999的計數(shù),不過之前要進行以此判斷,判斷他是不是加到10000,如果加到10000,立刻清零,然后從0開始重新計數(shù),50毫秒這一參數(shù)也可以調(diào)整大或調(diào)小,這樣就可以完成4位數(shù)碼管顯示0到9999內(nèi)任意整數(shù)的功能??梢酝ㄟ^一個按鍵,控制數(shù)碼管掃描的停否,下面是完整的程序。3.2.3程序#include<msp430g2553.h>#defineuintunsignedint#defineucharunsignedcharuintnum,num_0,num1,ge,shi,bai,qian;ucharkey;uchartable[]={0X05,0XDD,0x46,0X54,0X9C,0X34,0X24,0X1D,0X04,0X14};voiddelay(uint);voidchuli(uint);voiddisplay();voidkeyscan();voidinit();voidmain(void){init();while(1){display();}}voidinit(){WDTCTL=WDTPW+WDTHOLD;CCTL0=CCIE;//CCR0interruptenabledCCR0=50000;TACTL=TASSEL_2+MC_1;//增計數(shù)模式,時鐘主頻1MHZP2SEL&=~0XC0;//設置P2.6,P2.7為I/O口P1DIR|=0xF7;//P1outputP1REN|=0X08;P1OUT|=0X08;P1IE|=0X08;P1IES|=0X08;P1IFG&=~0X08;P2DIR|=0xFF;_EINT();//開總中斷}voiddelay(uintxms){uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voidchuli(uintdata){qian=data%10000/1000;bai=data%1000/100;shi=data%100/10;ge=data%10;}voiddisplay(){chuli(num);delay(5);P1OUT=0xfe;P2OUT=table[qian];delay(5);P1OUT=0xfd;P2OUT=table[bai];delay(5);P1OUT=0xfb;P2OUT=table[shi];delay(5);P1OUT=0xef;P2OUT=table[ge];delay(5);}#pragmavector=TIMER0_A0_VECTOR__interruptvoidTimer_A(void){num_0++;if(num_0==3){num_0=0;num++;if(num==10000)num=0;}}#pragmavector=PORT1_VECTOR__interruptvoidPort_1(void){delay(10);key=P1IN&0X08;if(key==0){delay(10);if(key==0){CCTL0^=CCIE;}}P1IFG&=~0X08;}是是取反定時器中斷否按鍵是否按下否是否計到10000初始化系統(tǒng)掃描數(shù)碼管,計數(shù)3.2.4程序流程圖是是取反定時器中斷否按鍵是否按下否是否計到10000初始化系統(tǒng)掃描數(shù)碼管,計數(shù)開始開始4MSP430使用說明4.1安裝IAR請使用我們提供的軟件進行安裝,因為網(wǎng)上版本可能過舊,我們提供的版本是從TI官網(wǎng)下載安裝的。注冊請按文件夾提示操作,安裝完成,點擊圖標運行程序。4.2使用步驟1.創(chuàng)立工作空間:點擊File->NEW->Workspace2.創(chuàng)立工程:點擊Project->CreatNewProject,出現(xiàn):圖4.1然后保存新建工程到英文路徑。3.往工程添加文件:圖4.2右鍵,Add->Addfiles添加源程序文件。4.設置工程屬性:圖4.3點擊右鍵,options5.設置芯片型號:圖4.46.設置仿真類型:圖4.5simulator為軟件仿真,F(xiàn)ETDebuger那么為硬件仿真,如果為硬件仿真,那么需設置FETDebuger,選擇你的仿真器。圖4.6完成后點擊OK保存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論