


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗報告班級學(xué)號姓名同組人實驗日期室溫大氣壓成績實驗題目:萬年歷綜合實驗一、實驗?zāi)康模罕緦嶒炛饕康氖峭ㄟ^解決一些實際問題,鞏固和加深微機原理與接口技術(shù)”課程中所學(xué)的理論知識和實踐能力,基本掌握計算機接口應(yīng)用電路的一般設(shè)計方法,提高電子電路的設(shè)計和實踐能力,加深對計算機 軟硬件知識的理解,獲得初步的應(yīng)用經(jīng)驗,為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。通過課本現(xiàn)有程序改寫編程,實現(xiàn)時鐘設(shè)有整點音樂報時,半點數(shù)碼管顯示,每隔30秒流水燈提醒,還可以隨時手動按鍵使其響音樂來作為警報或人為約定的提示等功能。同時還可以用定時器來設(shè)定一次跳動 的時間,為實際生活所服務(wù)。二、實驗儀器:微型電子計算機(含軟件和
2、ADSv1_2、Easy ARM2131開發(fā)板。三、硬件電路設(shè)計及其描述3.1、復(fù)位電路由于ARM芯片的高速、低功耗、低工作電壓導(dǎo)致其噪聲容限低,對電源的紋波、瞬態(tài)響應(yīng)性能、時鐘 源的穩(wěn)定性、電源監(jiān)控可靠性等諸多方面也提出了更高的要求。本開發(fā)板的復(fù)位電路使用了帶I2C存儲器的電源監(jiān)控芯片CAT1025JI-30,提高系統(tǒng)的可靠性,電路原理如圖1.4所示。在圖1.4中,信號nRST連接到LPC2131芯片的復(fù)位腳 RESET ,當(dāng)復(fù)位按鍵 RST按下時, CAT1025JI-30的RESET引腳立即輸出復(fù)位信號,使 LPC2131芯片復(fù)位。注意,使用 CAT1025JI-30芯片時, 其RESE
3、T引腳上的下拉電阻、 RESET引腳上的上拉電阻都是不能省略的。® K4 系絨&位電路3.2、系統(tǒng)時鐘電路LPC2100系列ARM7微控制器可使用外部晶振或外部時鐘源,內(nèi)部PLL電路可調(diào)整系統(tǒng)時鐘,使系統(tǒng)運行速度更快(CPU最大操作時鐘為60MHz )。倘若不使用片內(nèi)PLL功能及ISP下載功能,則外部晶振頻率 范圍是1MHz30MHz,外部時鐘頻率范圍是 1MHz50MHz ;若使用了片內(nèi) PLL功能或ISP下載功能,則外部晶振頻率范圍是10MHz25MHz,外部時鐘頻率范圍是 10MHz25MHz。EasyARM2131開發(fā)板使用了外部 11.0592MHz晶振,電路如圖1
4、.5所示。用11.0592MHz晶振的原因是 使串口波特率更精確,同時能夠支持LPC2131微控制器芯片內(nèi)部 PLL功能及ISP功能。、一二譏Fr - -丄nTYI3.3、鍵盤電路EasyARM2131開發(fā)板具有6個獨立按鍵,分別為KEY1KEY6,如圖1.8所示。由于P0 口作為輸入時, 內(nèi)部無上拉電阻,所以要使用R28R33等6個上拉電阻,當(dāng)沒有按鍵時,口線值為 1,當(dāng)按鍵按下時為 0;其中,KEY1、KEY5所連接的口線為 P0.16、P0.20,這兩個口分別與外部中斷EINTO、EINT3復(fù)用,所以可用這兩個按鍵進行外部中斷的實驗、喚醒掉電CPU的實驗。KEY2、KEY3、KEY4和K
5、EY6所連的口線為P0.17、P0.18、P0.19、P0.21,可用作定時器的捕獲輸入。鍵盤電路通過JP8跳線器來選擇連接。3.4、LED顯示電路在顯示方面,EasyARM2131開發(fā)板采用了一片 74HC595驅(qū)動一位靜態(tài)共陽 LED數(shù)碼管,如圖1.9所示, 其時鐘(SCK)、數(shù)據(jù)(SI)分別接到LPC2131的SPI接口的SCLK0、MOSIO ,這樣就可以發(fā)送數(shù)據(jù)至U74HC595 ;片選(RCK,即74HC595輸出觸發(fā)端)與 P0.29 口連接,由P0.29控制74HC595數(shù)據(jù)鎖存輸出;而最高位 輸出(SQH)連接到LPC2131的SPI接口的MISO0 ,可用來讀回數(shù)據(jù)。這樣連
6、接就可以進行SPI接口控制實驗,并能把74HC595的移位輸出讀回來(由 MISO0讀回)。這一部份電路通過 JP10跳線器來選擇連接。在使用硬件 SPI接口主方式時, 要把SPI0/1的4個I/O 口均設(shè)置為 SPI功能,女口 P0.4、P0.5、P0.6、P0.7, 而且SSEL0/1引腳不能為低電平,一般要接一個10K Q的上拉電阻。另外,EasyARM2131開發(fā)板還具有 8個獨立的發(fā)光二極 LED1LED9,由P1.18P1.25輸出控制,輸 出1時對應(yīng)的LED熄滅,輸出0時對應(yīng)的LED點亮,電路如圖1.10所示。這一部份電路通過 JP12跳線器 來選擇連接。電路采用了 I/O 口灌
7、電流的驅(qū)動方式來驅(qū)動 LED,這樣做主要是因為I/O 口能提供的灌電流大于其拉電流,保證了 LED的顯示亮度。3.5、蜂鳴器控制電路如圖1.11所示,蜂鳴器使用 PNP三極管Q1進行驅(qū)動控制,當(dāng) P0.7控制電平輸出0時,Q1導(dǎo)通,蜂 鳴器蜂鳴;當(dāng)P0.7控制電平輸出1時,Q1截止,蜂鳴器停止蜂鳴;若把 JP6選擇斷開連接,Q1截止,蜂鳴 器停止蜂鳴。Q1采用開關(guān)三極管 8550,其主要特點是放大倍數(shù)高hFE = 300,最大集電極電流ICM =1500mA,特征頻率 fT = 100MHz。由于P0.7 口與SPI部件的SSEL0復(fù)用,所以此管腳上接一上拉電阻R22,防止在使用硬件 SPI總
8、線時由于SSEL0引腳懸空導(dǎo)致SPI操作出錯。ttl 1.1 1 鮭嗎料控制電路3.6實時時鐘概述實時時鐘(RTC,Real Time Clock )提供一套計數(shù)器在系統(tǒng)上電和關(guān)閉操作時對時間進行測量,RTC消耗的功率非常低。LPC2131的RTC時鐘可由獨立的32.768KHZ振蕩器或基于 VPB時鐘的可編程預(yù)分頻器來提供。 另外,RTC還具有專用的電源管腳 Vbat,可連接到電池或其它器件使用的相同的3.3V電壓上。要使RTC中斷能夠喚醒掉電的 CPU,必須選擇外部時鐘源。特性1、測量保持日歷或時鐘的時間通路;2、超低功耗設(shè)計,支持電池供電系統(tǒng);3、提供秒、分、小時、日、月、年和星期;4、
9、指定的32KHZ振蕩器或可編程 VPB時鐘預(yù)分頻器;5、 專用電源管腳可與電池或3.3V的電壓相連結(jié)構(gòu)RTC功能結(jié)構(gòu)如圖 4.116所示。圏4.116 RTC方植圖寄存器描述RTC包含了許多寄存器,按照功能分成混合寄存器、時間寄存器、時間計數(shù)器、報警寄存器和預(yù)分頻器 幾組,見表4.76。* 4 7CtrH電亦徉鶴朕剜Mt 1*kftl'l EHTin訂竊帀kiiI1LR、p |«ISi估種宙杯町EW(WZ<M24«OorcISn.rM- Ti nii i <i«RO(IxlLKJ 24004CC?H4ii rtrtwiw 存 wR/WOnLiM
10、Jl-HrtlHCJILUHR/WOn Id *)2 I1M:IL'A2MII4冒摳種伽電詐住滸RJVV*OmJ±<MJZ40JO旳冋囪打臘凱LTilJwflj;4><3計立并時冋奇 陸“tAKl£LMJ24l 1crriMim i亢總H J冋竊盯1ROKcrriMi-;4JZ>'1耙HJ冋奇和折1ROOk1aOO2W1CBtirifi 1 這刷SIJCr.5tt/w*31020MISft莎旳</ afrtt/wIbLXM 侶 4U»IhlOlLIHLsd'»i-J亦仃黯JHJWUxftMJUZ li
11、k2Ms11 wj匚jj j播仃:mJHJW(KlitMJ2JO2e1 M 3W1ijlwi,:卞期黑門肘1 )HJ-.14-1 hIZKJVQ11W匚牢鼻&t/W1 JKl'.l7M orsri hJH奇費胖Et/W1 )x 1-1 -« iN¥ RAR1工第奇存nt盤/WBfe*cixFnimCA.I豊F曠廿紗州苦吭R/WB*A l WI Nr-好ttJ W佈狀2寺O»BmX240<MAl HOI HHrd-ii-HW*2n.wzMAi-rx)M)1 «l c HRifW"1 1 INI' S i I-.(AL
12、LXJWJ|!R/W<lkl2(MJ24C)7(JALL>L>Y11 n « «fjR/WU.kL:EMJ±4C74ALMON4j j jtt iiiR/WMlj 二RJW-4CJxlfc-tMJ'JtJlOTCIHwi i> mi(?r *vi ;:r 葉H/wCJ(JmUCMZIDNCFREI JtAC'1箕.HJWInxi:i:«kzic:iwi和障ffl命軸閒那骼王殲旳以血鬲檜冊礙卄澆惜rt乜侍口勺轡咽+ mm KVC 1tR£- 葩叫窗價祖瑕城已忸fl +;WWHL-3.7、PWM脈寬調(diào)制器概述
13、LPC2131的脈寬調(diào)制器 (PWM , Pulse Width Modulator )建立在標準定時器 0/1之上。應(yīng)用可在 PWM和 匹配功能當(dāng)中進行選擇。PWM基于標準的定時器模塊并具有其所有特性。不過LPC2131只將其PWM功能輸出到管腳。定時器對外設(shè)時鐘(pclk)進行計數(shù),可選擇產(chǎn)生中斷或基于 7個匹配寄存器,在到達指定的定時值時執(zhí)行其它動作(設(shè)置為高/低電平、翻轉(zhuǎn)或者無動作)。它還包括4個捕獲輸入,用于在輸入信號發(fā)生跳變時捕獲定時器值,并 可選擇在事件發(fā)生時產(chǎn)生中斷。PWM功能是一個附加特性,建立在匹配寄存器事件基礎(chǔ)之上??瑟毩⒖刂粕仙睾拖陆笛氐奈恢?,這樣使PWM可以應(yīng)用于更
14、多的領(lǐng)域。例如,多相位電機控制通常需要3個非重疊的PWM輸出,而這3個輸出的脈寬和位置需要獨立進行控 制。兩個匹配寄存器可用控制單邊沿PWM輸出。PWMMR0控制PWM周期率,另一個匹配寄存器(PWMMR1PWMMR6 )控制PWM邊沿的位置。每個額外的單邊沿PWM輸出只需要一個匹配寄存器,因為所有 PWM輸出的重復(fù)率速率是相同的。多個單邊沿控制PWM輸出在每個 PWM周期的開始,當(dāng)PWMMR0發(fā)生匹配時,都有一個上升沿。3個匹配寄存器共同控制一個雙邊沿PWM輸出。PWMMR0控制PWM周期速率,其它匹配寄存器控制(PWMMR1PWMMR6 )兩個PWM邊沿位置。每個額外的雙邊沿PWM輸出只需
15、要兩個匹配寄存器,因為所有PWM輸出的重復(fù)率速率是相同的。使用雙邊沿控制 PWM輸出時,指定的匹配寄存器控制輸出的上升和下降沿。這樣就產(chǎn)生了正脈沖(當(dāng) 上升沿先于下降沿時)和負脈沖(當(dāng)下降沿先于上升沿時)。特性1、 7個匹配寄存器,可實現(xiàn) 6個單邊沿控制或 3個雙邊沿控制PWM輸出,或這兩種類型的混合輸出:-連續(xù)操作,可選擇在匹配時產(chǎn)生中斷;匹配時停止定時器,可選擇產(chǎn)生中斷;-匹配時復(fù)位定時器,可選擇產(chǎn)生中斷。2、每個匹配寄存器對應(yīng)一個外部輸出,具有下列特性:匹配時設(shè)置為低電平;匹配時設(shè)置為高電平;匹配時翻轉(zhuǎn);匹配時無動作。3、 支持單邊沿控制和/或雙邊沿控制的 PWM輸出。單邊沿控制 PWM
16、輸出在每個周期開始時總是為高 電平,除非輸出保持恒定低電平。雙邊沿控制PWM輸出可在一個周期內(nèi)的任何位置產(chǎn)生邊沿。這樣可同時 產(chǎn)生正和負脈沖。4、 脈沖周期和寬度可以是任何的定時器計數(shù)值。這樣可實現(xiàn)靈活的分辨率和重復(fù)速率的設(shè)定。所有PWM輸出都以相同的重復(fù)率發(fā)生。5、雙邊沿控制的 PWM輸出可編程為正脈沖或負脈沖。6、匹配寄存器更新與脈沖輸出同步,防止產(chǎn)生錯誤的脈沖。軟件必須在新的匹配值生效之前將它們釋 放。7、如果不使能PWM模式,可作為一個標準定時器。&帶可編程32位預(yù)分頻器的32位定時器/計數(shù)器。9、當(dāng)輸入信號跳變時 4個捕獲寄存器可取得定時器的瞬時值,也可選擇使捕獲事件產(chǎn)生中斷
17、。3.7.3 PWM的方框圖圖4.100所示為PWM的方框圖。在標準定時器模塊上增加的部分位于圖的右邊和頂端。圖4.100的PWM輸出邏輯允許通過 PWMSELn (在PWM控制寄存器PWMPCR中)位選擇單邊沿或者雙邊沿控制的 PWM輸 出。l r Ri >2I " 帥宀AT將3円奇fr紹爲(wèi)匹機謁右牌5moadQ4*韻詢"霑r;P VvM-il=| f 刑MA MVA1_PWM5 FWM'EMMPWMS FWMEkIM戶WMmP*WM'L MAAPWMifpru曲疔:hemI " 帥 r Ar 將 3I” 奇fr紹爲(wèi)山踏僧新«WZ
18、EUi'*-PWMJ *卜佃MEH屜o|-*-FWM3-WMLUAJEi ROHl«薛PWM的功8h +* 個貝體的ttttM® 4.100 PWM A+H®3.8、SPI 接口概述LPC2131具有一個硬件 SPI (SPI, Serial Peripheral In terface )接口,它是一個同步、全雙工串行接口, 最大數(shù)據(jù)位速率為時鐘速率的 1/8,可以配置為主機或者從機。在同一總線上可以有多個主機或者從機,但同一時刻只能有一個主機和一個從機能夠進行通信,在一次 數(shù)據(jù)傳輸過程中,主機向從機發(fā)送一字節(jié)數(shù)據(jù),從機也向主機返回一字節(jié)數(shù)據(jù)。SPI可應(yīng)用
19、于:串行存儲器,如 DataFlash、三線EEPROM等;串行外設(shè),如 ADC、DAC、LCD控制器、CAN控制器、 傳感器等;外部協(xié)處理器。特性1、 兩個完全獨立的 SPI控制器;遵循串行外設(shè)接口(SPI)規(guī)范;2、同步、串行、全雙工通信;組合的 SPI主機和從機;3、 最大數(shù)據(jù)位速率為輸入時鐘速率的1/8。結(jié)構(gòu)SPI0接口中的SPI方框圖見圖4.47。spm: -iI4OS4 out MISO IH IXIl&O u3MOEI 住5 cn 訥 i 勺a uui *i>i概述LPC2131具有2個32位可編程定時/計數(shù)器,均具有 4路捕獲、4比較路匹配并輸出電 路。定時器對外
20、設(shè)時鐘(pclk )周期進行計數(shù),可選擇產(chǎn)生中斷或根據(jù)4個匹配寄存器的設(shè)定,在到達指定的定時值時執(zhí)行其它動作(輸出高/低電平、翻轉(zhuǎn)或者無動作)。它還包括4個捕獲輸入,用于在輸入信號發(fā)生跳變時捕獲定時器值,并可選擇產(chǎn)生中斷??捎糜趯?nèi)部事件進行計數(shù)的間隔定時器,或者通過捕獲輸入實現(xiàn)脈寬調(diào)制,亦可作為 自由運行的定時器。定時器0和定時器1除了外設(shè)基地址以外,其它都相同。3.9.2 特性帶可編程32位預(yù)分頻器的32位定時器/計數(shù)器;具有多達4路32位的捕獲通道-當(dāng)輸入信號跳變時可取得定時器的瞬時值,也可結(jié)構(gòu)定時器0和定時器1的方框圖,見圖4.85。*月;西祝津2 asM KW fr 0fro Ct
21、w fr a i抽缺市打at仝Iff伙奇仃W 3 *c-ap:3:cr (So" H W itgad i 孚 5>4»|更*CWMfcX.VAL't址1J d擰敘弋住*1- u- : -c .:* J : Ji(勺打藥 s -dfciu f 迂 H空oEffl 4.85軟件設(shè)計流程及其描述4.1程序概述此程序是多功能萬年歷,具有以下功能:1、利用實時時鐘顯示時間,利用定時器的功能使其兩秒鐘跳動一次;2、 進行整點報時:到了整點時用PWM音樂輸出來報點;3、 SPI設(shè)置:當(dāng)?shù)搅税朦c時數(shù)碼管顯示LPC2131來提醒人們;4、當(dāng)時間到了 30秒時流水燈閃爍;5、 按
22、鍵設(shè)置:當(dāng)按下按鍵 1時PWM音樂輸出響應(yīng)。4.2程序流程圖LED融礎(chǔ)它金示穽特址積團定時睛1匹®冥驗濡樸幣I- 開始 、P125:18選擇連接GPIO將點亮的LED 熄滅,即所有LED熄滅延時流水燈花樣顯示流程圖按鍵音樂輸出流程圖五、程序清單/*功能 :運行RTC進行計時,將時間值通過串口向上位機發(fā)送。*上位機使用EasyARM軟件,在仿真的萬年歷顯示器顯示結(jié)果。*說明 :通訊波特率115200, 8位數(shù)據(jù)位,1位停止位,無校驗。*/#in elude "con fig.h"#i nclude "music.h"/*歌曲曲譜一虹彩妹妹*/co
23、nst ui nt32 HCMM= _LA, _SO, _MI, _LA, _SO, _MI,_LA, _LA, _SO, _LA,_LA, _SO, _MI, _LA, _SO, _MI,_RE, _RE, _DO, _RE,_MI, _MI, _SO, _LA, _DO1, _LA, _SO,_MI, _MI, _SO, _DO,_MI, _MI, _MI, _MI, _MI,_1LA,_1LA,_1SO,_1LA,;/*歌曲節(jié)拍 */const ui nt32 HCMM_L=_4, _8, _8, _4,【8, _8,8一 4一 8一 2一4, 8, 8, 4, 8, 8,_8, _4,
24、 _8, _2,_4, _8, _8, _8, _8, _8, _8,_8, _4, _8, _2, _ 一 一_4, _4, _4, _8, _8,_8, _4, _8, _2,;typedef struct UartModeuint8 datab; uint8 stopb; uint8 parity; UARTMODE; #defi ne BEEP #defi neHC595_/字長度5/6/7/8/停止位1/2/奇偶校驗0 無校驗,1奇校驗,2 偶校驗1 << 7/ P0.7控制蜂鳴器CS(1 << 29)/ P0.29 口為 74HC595 的片選const u
25、int32 LEDS8 = (0xFF << 18);/ P125:18控制 LED8LED1,低電平點亮const uint32 KEY1 = 1 << 16;/ P0.16 連接 KEY1const ui nt32 KEY2 = 1 << 17;const ui nt32 KEY4 = 1 << 19;/*功能描述:軟件延時函數(shù)*/void Delay(uint8 dly)ui nt32 i;函數(shù)名稱:Delayfor(; dly > 0; dly-) for(i = 0; i < 0x7FFFF; i+);/*函數(shù)功能:初始化串
26、口:設(shè)置工作模式和波特率。*入口參數(shù) : baud 波特率*set模式設(shè)置(UARTMODE數(shù)據(jù)結(jié)構(gòu))*出口參數(shù):返回1表示成功,0表示參數(shù)出錯。*/uin t8 UART0_I nit (ui nt32 baud, UARTMODE set)uin t32 bak;函數(shù)名稱:UART0_lnit()/參數(shù)過濾if (0 = baud) | (baud > 115200) return (0);if (set.datab < 5) | (set.datab > 8) return (0); if (0 = set.stopb) | (set.stopb > 2) ret
27、urn (0); if (set.parity > 4) retur n (0);/設(shè)置串口波特率U0LCR = 0x80;/ DLAB=1bak = (Fpclk >> 4) / baud;U0DLM = bak >> 8;U0DLL = bak & 0xff;/設(shè)置串口模式bak = set.datab - 5;if (2 = set.stopb) bak |= 0x04;if (0 != set.parity)set.parity = set.parity - 1; bak |= 0x08;bak |= set.parity << 4;U
28、0LCR = bak;return (0); /*函數(shù)名稱: SendByte()* 函數(shù)功能:向串口 UARTO發(fā)送字節(jié)數(shù)據(jù),并等待發(fā)送完畢。 *入口參數(shù):data要發(fā)送的數(shù)據(jù)*出口參數(shù):無*/void Sen dByte (ui nt8 data)UOTHR = data;while (UOLSR & 0X20) = 0);/ 等待數(shù)據(jù)發(fā)送/*函數(shù)名稱PC_DispChar()*函數(shù)功能:向PC機發(fā)送顯示字符。*入口參數(shù):no顯示位置*char 顯示的字符,不能為 ff*出口參數(shù):無* I void PC_DispChar (ui nt8 no, uint8 chr) _Se nd
29、Byte(0xff);Sen dByte(0x81);Se ndByte( no);Se ndByte(chr);Sen dByte(0x00);uin t8 con st SHOWTABLE10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /* * 函數(shù)名稱:SendTimeRtc()*函數(shù)功能:讀取RTC的時間值,并將讀出的時分秒值通過串口送到上位機顯示。*入口參數(shù):無*出口參數(shù):無*/void Sen dTimeRtc (void)uin t32 datas;uin t32 times;uin t32 bak;times =
30、CTIME0;/讀取完整的時鐘寄存器datas = CTIME1;bak = (datas >> 16) & 0xfff; / 獲取 年P(guān)C_DispChar(0, SHOWTABLEbak / 1000);bak = bak % 1000;PC_DispChar(1, SHOWTABLEbak / 100);bak = bak % 100;PC_DispChar(2, SHOWTABLEbak / 10);PC_DispChar(3, SHOWTABLEbak % 10);bak = (datas >> 8) & 0x0f;/ 獲取 月PC_DispC
31、har(4, SHOWTABLEbak / 10);PC_DispChar(5, SHOWTABLEbak % 10);bak = datas & 0x1f;/ 獲取 日PC_DispChar(6, SHOWTABLEbak / 10);PC_DispChar(7, SHOWTABLEbak % 10); bak = (times >> 24) & 0x07;/ 獲取 星期PC_DispChar(8, SHOWTABLEbak);bak = (times >> 16) & 0x1f;/ 獲取 小時PC_DispChar(9, SHOWTABLEb
32、ak / 10); PC_DispChar(10, SHOWTABLEbak % 10);bak = (times >> 8) & 0x3f;/ 獲取 分鐘PC_DispChar(11, SHOWTABLEbak / 10); PC_DispChar(12, SHOWTABLEbak % 10);bak = times & 0x3f;/ 獲取 秒鐘PC_DispChar(13, SHOWTABLEbak / 10); PC_DispChar(14, SHOWTABLEbak % 10);函數(shù)名稱:MSPI_I nit() /* *函數(shù)功能:初始化 SPI接口,設(shè)置為
33、主機。出口參數(shù):尢*/ voidMSPI_I nit(void)/PINSEL0 = (PINSEL0 & 0xFFFF00FF) | 0x00005500; PINSEL0 = (PINSEL0 & (0xFF << 8) | (0x55 << SPCCR = 0x52;SPCR = (0 << 3) |(1 << 4) |(1 << 5)(0 << 6)(0 << 7);/設(shè)置管腳連接SPI 8);/設(shè)置SPI時鐘分頻/ CPHA = 0,數(shù)據(jù)在SCK的第一個時鐘沿采樣/ CPOL = 1,
34、 SCK為低有效/ MSTR = 1, SPI處于主模式/ LSBF = 0, SPI數(shù)據(jù)傳輸 MSB (位7)在先/ SPIE = 0, SPI中斷被禁止/*函數(shù)功能:向SPI總線發(fā)送數(shù)據(jù)。 入口參數(shù):data 待發(fā)送的數(shù)據(jù) 出口參數(shù):返回值為讀取的數(shù)據(jù)函數(shù)名稱:MSPI_Se ndData()*/uin t8MSPI_Se ndData(ui nt8 data) -IOCLR = HC595_CS;/ 片選 74HC595SPI_SPDR = data; while( 0 = (SPI_SPSR & 0x80);/等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢IOSET = HC595_CS
35、; return(SPI_SPDR);/*/此表為LPC2131字模*/L Puint8 const LPC21317 = 0xC7, 0x8C, 0xC6, 0xA4, 0xF9, 0xB0, 0xF9;/*函數(shù)名稱 函數(shù)功能 入口參數(shù) 出口參數(shù)RTCI ni t()初始化實時時鐘無無*/ ui nt8 rcv_data;void RTCI nit (void)PREINT = Fpclk / 32768 - 1; / 設(shè)置基準時鐘分頻器PREFRAC = Fpclk - (Fpclk / 32768) * 32768;/禁止時間計數(shù)器CCR = 0x00; YEAR = 2009; MON
36、TH = 05; DOM DOW HOUR MIN SEC=8;=5;=8;=59;=50;CIIR = 0x01;/CCR = 0x01;/ui nt8 i;PINSEL0=0x02 << 14;/ P0.7選擇PWM2功能/* PWM初始化*/PWMPR=0x00;/不分頻,計數(shù)頻率為 FpclkPWMMCR=0x02;/設(shè)置PWMMR0匹配時復(fù)位PWMTCPWMPCR=0x0400;/允許PWM2輸出,單邊PWMPWMMR0=Fpclk / 500;PWMMR2=PWMMR0 / 2;/ 50%占空比PWMLER=0x05;/ PWM0和PWM2匹配鎖存PWMTCR=0x02
37、;/ 復(fù)位 PWMTCPWMTCR=0x09;/啟動PWM輸出for(i =0; i < 10; i+)SendTimeRtc():void PWM_music (ui nt8 n)設(shè)置秒值的增量產(chǎn)生1次中斷啟動RTCPWMMR0= Fpclk / HCMMi; / 設(shè)置輸出頻率PWMLER= 0x05;/更新匹配值后,必須鎖存Delay(HCMM Li);/延時,控制播放速度PWMMCR= 0x04;PINSEL0 = 0x00000005|0x00000000;void GPIO BEEP (uint8 n)PINSEL0 = 0x00000000;/ 設(shè)置管腳連接 GPIOIO0D
38、IR= BEEP;設(shè)置BEEP控制口為輸出IO0CLR = BEEP;/ BEEP 蜂鳴Delay(30);IO0SET = BEEP;PINSEL0 = 0x00000000|0x00000005;void SPI_7SegLed (ui nt8 n)ui nt8 i;PINSEL0 = 0x00005500;/ 設(shè)置 SPI 管腳連接PINSEL1 = 0x00000000;IODIR = HC595_CS;MSPI_I nit();/*顯示LPC2131字樣*/for(i=0; i<7; i+)rcv data = MSPI SendData(LPC2131i);/ 發(fā)送顯示數(shù)據(jù)D
39、elay(10);/ 延時PINSEL0 = 0x00000000|0x00000005;void GPIO LEDS( uint8 n )/*流水燈花樣,低電平點亮,注意調(diào)用時候用了取反操作*/const uint32 LED TBL = 0x00, 0xFF,/全部熄滅后,再全部點亮0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, / 依次逐個點亮0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, / 依次逐個疊加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x
40、01, / 依次逐個遞減0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, /兩個靠攏后分開0xA0, 0x50, 0x7e, 0x28, 0x14, 0x0A, 0x05, 0x82,0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81/ 從兩邊疊加后遞減;ui nt8 i;PINSEL1 = 0x00000000;/ 設(shè)置管腳連接 GPIO/PINSEL2 = PINSEL2 & (0x08);/ P125:16 連接 GPIO IO1DIR = LEDS8;/設(shè)置LED1控制口為輸出for(i=n
41、 ;i< n+20;i+)Se ndTimeRtc();/*流水燈花樣顯示*/IO1SET = (LED_TBLi) << 18);Delay(5);IO1CLR = (LED_TBLi) << 18);Delay(2);IO1SET =LEDS8;PINSEL0 = 0x00000005|0x00000000;/*函數(shù)名稱 :main()*函數(shù)功能:讀取實時時鐘的值,通過串口發(fā)送出去。*/int main (void)UARTMODE uart0 set;PINSEL1 = 0x00000000;/ 設(shè)置管腳連接 GPIOPINSEL2 = PINSEL2 & (0x08);/ P125:16 連接 GPIOPINSEI0 = 0y00000000I0y00000005;/ 厶連接 IO 至到 UART0IO0DIR=BEEP;IOOSET=BEEP;/PINSEL1 = 0x00000000;/ 設(shè)置管腳連接 GPIOPINSEL2 = PINSEL2 & (0x08); P125:16 連接 GPIOIO1SET =LEDS8;IO1DIR = LEDS8;/設(shè)置LED1控制口為輸出PWMMCR= 0x04;/*定時器0初始化*/T0TC= 0;/*定時器設(shè)置為0*/T0PR= 0;/*時鐘不分頻*/T0MCR
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 講解叉車的安全教育
- 2025年清梳聯(lián)生產(chǎn)線項目建議書
- 2025至2031年中國調(diào)節(jié)式脹管器行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國粗黑粉刺膏數(shù)據(jù)監(jiān)測研究報告
- 2025至2031年中國軸類零配件行業(yè)投資前景及策略咨詢研究報告
- 《跨境電商英語》課件-Important Information for International Sellers
- 2025至2031年中國智能航空障礙燈行業(yè)投資前景及策略咨詢研究報告
- 《UG-NX12軟件認證》課件-裝配約束
- 2025至2031年中國CBZ-L-蘇氨酸行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國組合閥接頭數(shù)據(jù)監(jiān)測研究報告
- 流感病人的護理ppt課件
- 高邊坡施工危險源辨識及分析
- 【李建西醫(yī)案鑒賞系列】三當(dāng)歸四逆湯治療頸腫案
- 安全文明施工管理(EHS)方案(24頁)
- 結(jié)構(gòu)化思維PPT通用課件
- 劉姥姥進大觀園課本劇劇本3篇
- 新湘教版中考數(shù)學(xué)總復(fù)習(xí)教案
- 2022年拖拉機駕駛?cè)丝荚噮⒖碱}庫(含答案)
- 產(chǎn)品承認書客(精)
- 長方體和正方體的認識(動畫)(課堂PPT)
- 磷石膏堆場污染防治技術(shù)指南
評論
0/150
提交評論