


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)報(bào)告班級(jí)學(xué)號(hào)姓名同組人實(shí)驗(yàn)日期室溫大氣壓成績(jī)實(shí)驗(yàn)題目:萬(wàn)年歷綜合實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模罕緦?shí)驗(yàn)主要目的是通過(guò)解決一些實(shí)際問(wèn)題,鞏固和加深微機(jī)原理與接口技術(shù)”課程中所學(xué)的理論知識(shí)和實(shí)踐能力,基本掌握計(jì)算機(jī)接口應(yīng)用電路的一般設(shè)計(jì)方法,提高電子電路的設(shè)計(jì)和實(shí)踐能力,加深對(duì)計(jì)算機(jī) 軟硬件知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。通過(guò)課本現(xiàn)有程序改寫編程,實(shí)現(xiàn)時(shí)鐘設(shè)有整點(diǎn)音樂(lè)報(bào)時(shí),半點(diǎn)數(shù)碼管顯示,每隔30秒流水燈提醒,還可以隨時(shí)手動(dòng)按鍵使其響音樂(lè)來(lái)作為警報(bào)或人為約定的提示等功能。同時(shí)還可以用定時(shí)器來(lái)設(shè)定一次跳動(dòng) 的時(shí)間,為實(shí)際生活所服務(wù)。二、實(shí)驗(yàn)儀器:微型電子計(jì)算機(jī)(含軟件和
2、ADSv1_2、Easy ARM2131開(kāi)發(fā)板。三、硬件電路設(shè)計(jì)及其描述3.1、復(fù)位電路由于ARM芯片的高速、低功耗、低工作電壓導(dǎo)致其噪聲容限低,對(duì)電源的紋波、瞬態(tài)響應(yīng)性能、時(shí)鐘 源的穩(wěn)定性、電源監(jiān)控可靠性等諸多方面也提出了更高的要求。本開(kāi)發(fā)板的復(fù)位電路使用了帶I2C存儲(chǔ)器的電源監(jiān)控芯片CAT1025JI-30,提高系統(tǒng)的可靠性,電路原理如圖1.4所示。在圖1.4中,信號(hào)nRST連接到LPC2131芯片的復(fù)位腳 RESET ,當(dāng)復(fù)位按鍵 RST按下時(shí), CAT1025JI-30的RESET引腳立即輸出復(fù)位信號(hào),使 LPC2131芯片復(fù)位。注意,使用 CAT1025JI-30芯片時(shí), 其RESE
3、T引腳上的下拉電阻、 RESET引腳上的上拉電阻都是不能省略的。® K4 系絨&位電路3.2、系統(tǒng)時(shí)鐘電路LPC2100系列ARM7微控制器可使用外部晶振或外部時(shí)鐘源,內(nèi)部PLL電路可調(diào)整系統(tǒng)時(shí)鐘,使系統(tǒng)運(yùn)行速度更快(CPU最大操作時(shí)鐘為60MHz )。倘若不使用片內(nèi)PLL功能及ISP下載功能,則外部晶振頻率 范圍是1MHz30MHz,外部時(shí)鐘頻率范圍是 1MHz50MHz ;若使用了片內(nèi) PLL功能或ISP下載功能,則外部晶振頻率范圍是10MHz25MHz,外部時(shí)鐘頻率范圍是 10MHz25MHz。EasyARM2131開(kāi)發(fā)板使用了外部 11.0592MHz晶振,電路如圖1
4、.5所示。用11.0592MHz晶振的原因是 使串口波特率更精確,同時(shí)能夠支持LPC2131微控制器芯片內(nèi)部 PLL功能及ISP功能。、一二譏Fr - -丄nTYI3.3、鍵盤電路EasyARM2131開(kāi)發(fā)板具有6個(gè)獨(dú)立按鍵,分別為KEY1KEY6,如圖1.8所示。由于P0 口作為輸入時(shí), 內(nèi)部無(wú)上拉電阻,所以要使用R28R33等6個(gè)上拉電阻,當(dāng)沒(méi)有按鍵時(shí),口線值為 1,當(dāng)按鍵按下時(shí)為 0;其中,KEY1、KEY5所連接的口線為 P0.16、P0.20,這兩個(gè)口分別與外部中斷EINTO、EINT3復(fù)用,所以可用這兩個(gè)按鍵進(jìn)行外部中斷的實(shí)驗(yàn)、喚醒掉電CPU的實(shí)驗(yàn)。KEY2、KEY3、KEY4和K
5、EY6所連的口線為P0.17、P0.18、P0.19、P0.21,可用作定時(shí)器的捕獲輸入。鍵盤電路通過(guò)JP8跳線器來(lái)選擇連接。3.4、LED顯示電路在顯示方面,EasyARM2131開(kāi)發(fā)板采用了一片 74HC595驅(qū)動(dòng)一位靜態(tài)共陽(yáng) LED數(shù)碼管,如圖1.9所示, 其時(shí)鐘(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 ,可用來(lái)讀回?cái)?shù)據(jù)。這樣連
6、接就可以進(jìn)行SPI接口控制實(shí)驗(yàn),并能把74HC595的移位輸出讀回來(lái)(由 MISO0讀回)。這一部份電路通過(guò) JP10跳線器來(lái)選擇連接。在使用硬件 SPI接口主方式時(shí), 要把SPI0/1的4個(gè)I/O 口均設(shè)置為 SPI功能,女口 P0.4、P0.5、P0.6、P0.7, 而且SSEL0/1引腳不能為低電平,一般要接一個(gè)10K Q的上拉電阻。另外,EasyARM2131開(kāi)發(fā)板還具有 8個(gè)獨(dú)立的發(fā)光二極 LED1LED9,由P1.18P1.25輸出控制,輸 出1時(shí)對(duì)應(yīng)的LED熄滅,輸出0時(shí)對(duì)應(yīng)的LED點(diǎn)亮,電路如圖1.10所示。這一部份電路通過(guò) JP12跳線器 來(lái)選擇連接。電路采用了 I/O 口灌
7、電流的驅(qū)動(dòng)方式來(lái)驅(qū)動(dòng) LED,這樣做主要是因?yàn)镮/O 口能提供的灌電流大于其拉電流,保證了 LED的顯示亮度。3.5、蜂鳴器控制電路如圖1.11所示,蜂鳴器使用 PNP三極管Q1進(jìn)行驅(qū)動(dòng)控制,當(dāng) P0.7控制電平輸出0時(shí),Q1導(dǎo)通,蜂 鳴器蜂鳴;當(dāng)P0.7控制電平輸出1時(shí),Q1截止,蜂鳴器停止蜂鳴;若把 JP6選擇斷開(kāi)連接,Q1截止,蜂鳴 器停止蜂鳴。Q1采用開(kāi)關(guān)三極管 8550,其主要特點(diǎn)是放大倍數(shù)高h(yuǎn)FE = 300,最大集電極電流ICM =1500mA,特征頻率 fT = 100MHz。由于P0.7 口與SPI部件的SSEL0復(fù)用,所以此管腳上接一上拉電阻R22,防止在使用硬件 SPI總
8、線時(shí)由于SSEL0引腳懸空導(dǎo)致SPI操作出錯(cuò)。ttl 1.1 1 鮭嗎料控制電路3.6實(shí)時(shí)時(shí)鐘概述實(shí)時(shí)時(shí)鐘(RTC,Real Time Clock )提供一套計(jì)數(shù)器在系統(tǒng)上電和關(guān)閉操作時(shí)對(duì)時(shí)間進(jìn)行測(cè)量,RTC消耗的功率非常低。LPC2131的RTC時(shí)鐘可由獨(dú)立的32.768KHZ振蕩器或基于 VPB時(shí)鐘的可編程預(yù)分頻器來(lái)提供。 另外,RTC還具有專用的電源管腳 Vbat,可連接到電池或其它器件使用的相同的3.3V電壓上。要使RTC中斷能夠喚醒掉電的 CPU,必須選擇外部時(shí)鐘源。特性1、測(cè)量保持日歷或時(shí)鐘的時(shí)間通路;2、超低功耗設(shè)計(jì),支持電池供電系統(tǒng);3、提供秒、分、小時(shí)、日、月、年和星期;4、
9、指定的32KHZ振蕩器或可編程 VPB時(shí)鐘預(yù)分頻器;5、 專用電源管腳可與電池或3.3V的電壓相連結(jié)構(gòu)RTC功能結(jié)構(gòu)如圖 4.116所示。圏4.116 RTC方植圖寄存器描述RTC包含了許多寄存器,按照功能分成混合寄存器、時(shí)間寄存器、時(shí)間計(jì)數(shù)器、報(bào)警寄存器和預(yù)分頻器 幾組,見(jiàn)表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計(jì)立并時(shí)冋奇 陸“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奇費(fèi)胖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命軸閒那骼王殲旳以血鬲檜冊(cè)礙卄澆惜rt乜侍口勺轡咽+ mm KVC 1tR£- 葩叫窗價(jià)祖瑕城已忸fl +;WWHL-3.7、PWM脈寬調(diào)制器概述
13、LPC2131的脈寬調(diào)制器 (PWM , Pulse Width Modulator )建立在標(biāo)準(zhǔn)定時(shí)器 0/1之上。應(yīng)用可在 PWM和 匹配功能當(dāng)中進(jìn)行選擇。PWM基于標(biāo)準(zhǔn)的定時(shí)器模塊并具有其所有特性。不過(guò)LPC2131只將其PWM功能輸出到管腳。定時(shí)器對(duì)外設(shè)時(shí)鐘(pclk)進(jìn)行計(jì)數(shù),可選擇產(chǎn)生中斷或基于 7個(gè)匹配寄存器,在到達(dá)指定的定時(shí)值時(shí)執(zhí)行其它動(dòng)作(設(shè)置為高/低電平、翻轉(zhuǎn)或者無(wú)動(dòng)作)。它還包括4個(gè)捕獲輸入,用于在輸入信號(hào)發(fā)生跳變時(shí)捕獲定時(shí)器值,并 可選擇在事件發(fā)生時(shí)產(chǎn)生中斷。PWM功能是一個(gè)附加特性,建立在匹配寄存器事件基礎(chǔ)之上??瑟?dú)立控制上升沿和下降沿的位置,這樣使PWM可以應(yīng)用于更
14、多的領(lǐng)域。例如,多相位電機(jī)控制通常需要3個(gè)非重疊的PWM輸出,而這3個(gè)輸出的脈寬和位置需要獨(dú)立進(jìn)行控 制。兩個(gè)匹配寄存器可用控制單邊沿PWM輸出。PWMMR0控制PWM周期率,另一個(gè)匹配寄存器(PWMMR1PWMMR6 )控制PWM邊沿的位置。每個(gè)額外的單邊沿PWM輸出只需要一個(gè)匹配寄存器,因?yàn)樗?PWM輸出的重復(fù)率速率是相同的。多個(gè)單邊沿控制PWM輸出在每個(gè) PWM周期的開(kāi)始,當(dāng)PWMMR0發(fā)生匹配時(shí),都有一個(gè)上升沿。3個(gè)匹配寄存器共同控制一個(gè)雙邊沿PWM輸出。PWMMR0控制PWM周期速率,其它匹配寄存器控制(PWMMR1PWMMR6 )兩個(gè)PWM邊沿位置。每個(gè)額外的雙邊沿PWM輸出只需
15、要兩個(gè)匹配寄存器,因?yàn)樗蠵WM輸出的重復(fù)率速率是相同的。使用雙邊沿控制 PWM輸出時(shí),指定的匹配寄存器控制輸出的上升和下降沿。這樣就產(chǎn)生了正脈沖(當(dāng) 上升沿先于下降沿時(shí))和負(fù)脈沖(當(dāng)下降沿先于上升沿時(shí))。特性1、 7個(gè)匹配寄存器,可實(shí)現(xiàn) 6個(gè)單邊沿控制或 3個(gè)雙邊沿控制PWM輸出,或這兩種類型的混合輸出:-連續(xù)操作,可選擇在匹配時(shí)產(chǎn)生中斷;匹配時(shí)停止定時(shí)器,可選擇產(chǎn)生中斷;-匹配時(shí)復(fù)位定時(shí)器,可選擇產(chǎn)生中斷。2、每個(gè)匹配寄存器對(duì)應(yīng)一個(gè)外部輸出,具有下列特性:匹配時(shí)設(shè)置為低電平;匹配時(shí)設(shè)置為高電平;匹配時(shí)翻轉(zhuǎn);匹配時(shí)無(wú)動(dòng)作。3、 支持單邊沿控制和/或雙邊沿控制的 PWM輸出。單邊沿控制 PWM
16、輸出在每個(gè)周期開(kāi)始時(shí)總是為高 電平,除非輸出保持恒定低電平。雙邊沿控制PWM輸出可在一個(gè)周期內(nèi)的任何位置產(chǎn)生邊沿。這樣可同時(shí) 產(chǎn)生正和負(fù)脈沖。4、 脈沖周期和寬度可以是任何的定時(shí)器計(jì)數(shù)值。這樣可實(shí)現(xiàn)靈活的分辨率和重復(fù)速率的設(shè)定。所有PWM輸出都以相同的重復(fù)率發(fā)生。5、雙邊沿控制的 PWM輸出可編程為正脈沖或負(fù)脈沖。6、匹配寄存器更新與脈沖輸出同步,防止產(chǎn)生錯(cuò)誤的脈沖。軟件必須在新的匹配值生效之前將它們釋 放。7、如果不使能PWM模式,可作為一個(gè)標(biāo)準(zhǔn)定時(shí)器。&帶可編程32位預(yù)分頻器的32位定時(shí)器/計(jì)數(shù)器。9、當(dāng)輸入信號(hào)跳變時(shí) 4個(gè)捕獲寄存器可取得定時(shí)器的瞬時(shí)值,也可選擇使捕獲事件產(chǎn)生中斷
17、。3.7.3 PWM的方框圖圖4.100所示為PWM的方框圖。在標(biāo)準(zhǔn)定時(shí)器模塊上增加的部分位于圖的右邊和頂端。圖4.100的PWM輸出邏輯允許通過(guò) PWMSELn (在PWM控制寄存器PWMPCR中)位選擇單邊沿或者雙邊沿控制的 PWM輸 出。l r Ri >2I " 帥宀AT將3円奇fr紹爲(wèi)匹機(jī)謁右牌5moadQ4*韻詢"霑r(shí);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 +* 個(gè)貝體的ttttM® 4.100 PWM A+H®3.8、SPI 接口概述LPC2131具有一個(gè)硬件 SPI (SPI, Serial Peripheral In terface )接口,它是一個(gè)同步、全雙工串行接口, 最大數(shù)據(jù)位速率為時(shí)鐘速率的 1/8,可以配置為主機(jī)或者從機(jī)。在同一總線上可以有多個(gè)主機(jī)或者從機(jī),但同一時(shí)刻只能有一個(gè)主機(jī)和一個(gè)從機(jī)能夠進(jìn)行通信,在一次 數(shù)據(jù)傳輸過(guò)程中,主機(jī)向從機(jī)發(fā)送一字節(jié)數(shù)據(jù),從機(jī)也向主機(jī)返回一字節(jié)數(shù)據(jù)。SPI可應(yīng)用
19、于:串行存儲(chǔ)器,如 DataFlash、三線EEPROM等;串行外設(shè),如 ADC、DAC、LCD控制器、CAN控制器、 傳感器等;外部協(xié)處理器。特性1、 兩個(gè)完全獨(dú)立的 SPI控制器;遵循串行外設(shè)接口(SPI)規(guī)范;2、同步、串行、全雙工通信;組合的 SPI主機(jī)和從機(jī);3、 最大數(shù)據(jù)位速率為輸入時(shí)鐘速率的1/8。結(jié)構(gòu)SPI0接口中的SPI方框圖見(jiàn)圖4.47。spm: -iI4OS4 out MISO IH IXIl&O u3MOEI 住5 cn 訥 i 勺a uui *i>i概述LPC2131具有2個(gè)32位可編程定時(shí)/計(jì)數(shù)器,均具有 4路捕獲、4比較路匹配并輸出電 路。定時(shí)器對(duì)外
20、設(shè)時(shí)鐘(pclk )周期進(jìn)行計(jì)數(shù),可選擇產(chǎn)生中斷或根據(jù)4個(gè)匹配寄存器的設(shè)定,在到達(dá)指定的定時(shí)值時(shí)執(zhí)行其它動(dòng)作(輸出高/低電平、翻轉(zhuǎn)或者無(wú)動(dòng)作)。它還包括4個(gè)捕獲輸入,用于在輸入信號(hào)發(fā)生跳變時(shí)捕獲定時(shí)器值,并可選擇產(chǎn)生中斷??捎糜趯?duì)內(nèi)部事件進(jìn)行計(jì)數(shù)的間隔定時(shí)器,或者通過(guò)捕獲輸入實(shí)現(xiàn)脈寬調(diào)制,亦可作為 自由運(yùn)行的定時(shí)器。定時(shí)器0和定時(shí)器1除了外設(shè)基地址以外,其它都相同。3.9.2 特性帶可編程32位預(yù)分頻器的32位定時(shí)器/計(jì)數(shù)器;具有多達(dá)4路32位的捕獲通道-當(dāng)輸入信號(hào)跳變時(shí)可取得定時(shí)器的瞬時(shí)值,也可結(jié)構(gòu)定時(shí)器0和定時(shí)器1的方框圖,見(jiàn)圖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è)計(jì)流程及其描述4.1程序概述此程序是多功能萬(wàn)年歷,具有以下功能:1、利用實(shí)時(shí)時(shí)鐘顯示時(shí)間,利用定時(shí)器的功能使其兩秒鐘跳動(dòng)一次;2、 進(jìn)行整點(diǎn)報(bào)時(shí):到了整點(diǎn)時(shí)用PWM音樂(lè)輸出來(lái)報(bào)點(diǎn);3、 SPI設(shè)置:當(dāng)?shù)搅税朦c(diǎn)時(shí)數(shù)碼管顯示LPC2131來(lái)提醒人們;4、當(dāng)時(shí)間到了 30秒時(shí)流水燈閃爍;5、 按
22、鍵設(shè)置:當(dāng)按下按鍵 1時(shí)PWM音樂(lè)輸出響應(yīng)。4.2程序流程圖LED融礎(chǔ)它金示穽特址積團(tuán)定時(shí)睛1匹®冥驗(yàn)濡樸幣I- 開(kāi)始 、P125:18選擇連接GPIO將點(diǎn)亮的LED 熄滅,即所有LED熄滅延時(shí)流水燈花樣顯示流程圖按鍵音樂(lè)輸出流程圖五、程序清單/*功能 :運(yùn)行RTC進(jìn)行計(jì)時(shí),將時(shí)間值通過(guò)串口向上位機(jī)發(fā)送。*上位機(jī)使用EasyARM軟件,在仿真的萬(wàn)年歷顯示器顯示結(jié)果。*說(shuō)明 :通訊波特率115200, 8位數(shù)據(jù)位,1位停止位,無(wú)校驗(yàn)。*/#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_/字長(zhǎng)度5/6/7/8/停止位1/2/奇偶校驗(yàn)0 無(wú)校驗(yàn),1奇校驗(yàn),2 偶校驗(yàn)1 << 7/ P0.7控制蜂鳴器CS(1 << 29)/ P0.29 口為 74HC595 的片選const u
25、int32 LEDS8 = (0xFF << 18);/ P125:18控制 LED8LED1,低電平點(diǎn)亮const uint32 KEY1 = 1 << 16;/ P0.16 連接 KEY1const ui nt32 KEY2 = 1 << 17;const ui nt32 KEY4 = 1 << 19;/*功能描述:軟件延時(shí)函數(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ù)出錯(cuò)。*/uin t8 UART0_I nit (ui nt32 baud, UARTMODE set)uin t32 bak;函數(shù)名稱:UART0_lnit()/參數(shù)過(guò)濾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ù):無(wú)*/void Sen dByte (ui nt8 data)UOTHR = data;while (UOLSR & 0X20) = 0);/ 等待數(shù)據(jù)發(fā)送/*函數(shù)名稱PC_DispChar()*函數(shù)功能:向PC機(jī)發(fā)送顯示字符。*入口參數(shù):no顯示位置*char 顯示的字符,不能為 ff*出口參數(shù):無(wú)* 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í)分秒值通過(guò)串口送到上位機(jī)顯示。*入口參數(shù):無(wú)*出口參數(shù):無(wú)*/void Sen dTimeRtc (void)uin t32 datas;uin t32 times;uin t32 bak;times =
30、CTIME0;/讀取完整的時(shí)鐘寄存器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;/ 獲取 小時(shí)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、主機(jī)。出口參數(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時(shí)鐘分頻/ CPHA = 0,數(shù)據(jù)在SCK的第一個(gè)時(shí)鐘沿采樣/ 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);/*/此表為L(zhǎng)PC2131字模*/L Puint8 const LPC21317 = 0xC7, 0x8C, 0xC6, 0xA4, 0xF9, 0xB0, 0xF9;/*函數(shù)名稱 函數(shù)功能 入口參數(shù) 出口參數(shù)RTCI ni t()初始化實(shí)時(shí)時(shí)鐘無(wú)無(wú)*/ ui nt8 rcv_data;void RTCI nit (void)PREINT = Fpclk / 32768 - 1; / 設(shè)置基準(zhǔn)時(shí)鐘分頻器PREFRAC = Fpclk - (Fpclk / 32768) * 32768;/禁止時(shí)間計(jì)數(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;/不分頻,計(jì)數(shù)頻率為 FpclkPWMMCR=0x02;/設(shè)置PWMMR0匹配時(shí)復(fù)位PWMTCPWMPCR=0x0400;/允許PWM2輸出,單邊PWMPWMMR0=Fpclk / 500;PWMMR2=PWMMR0 / 2;/ 50%占空比PWMLER=0x05;/ PWM0和PWM2匹配鎖存PWMTCR=0x02
37、;/ 復(fù)位 PWMTCPWMTCR=0x09;/啟動(dòng)PWM輸出for(i =0; i < 10; i+)SendTimeRtc():void PWM_music (ui nt8 n)設(shè)置秒值的增量產(chǎn)生1次中斷啟動(dòng)RTCPWMMR0= Fpclk / HCMMi; / 設(shè)置輸出頻率PWMLER= 0x05;/更新匹配值后,必須鎖存Delay(HCMM Li);/延時(shí),控制播放速度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);/ 延時(shí)PINSEL0 = 0x00000000|0x00000005;void GPIO LEDS( uint8 n )/*流水燈花樣,低電平點(diǎn)亮,注意調(diào)用時(shí)候用了取反操作*/const uint32 LED TBL = 0x00, 0xFF,/全部熄滅后,再全部點(diǎn)亮0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, / 依次逐個(gè)點(diǎn)亮0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, / 依次逐個(gè)疊加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x
40、01, / 依次逐個(gè)遞減0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, /兩個(gè)靠攏后分開(kāi)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ù)功能:讀取實(shí)時(shí)時(shí)鐘的值,通過(guò)串口發(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;/*定時(shí)器0初始化*/T0TC= 0;/*定時(shí)器設(shè)置為0*/T0PR= 0;/*時(shí)鐘不分頻*/T0MCR
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新時(shí)代醫(yī)院電子病歷系統(tǒng)優(yōu)化與數(shù)據(jù)安全防護(hù)研究報(bào)告
- 爆破公司安全試題及答案
- 安全作業(yè)試題知識(shí)及答案
- 從能源到環(huán)保2025年可燃冰開(kāi)采技術(shù)預(yù)研全視角報(bào)告001
- 安全生法試題及答案
- 安全生產(chǎn)責(zé)任制試題及答案
- 安全教培訓(xùn)試題及答案
- 中國(guó)廚藝學(xué)校教案課件
- 中國(guó)功夫教學(xué)大全課件
- 原發(fā)性高血壓的健康教學(xué)
- 《出生醫(yī)學(xué)證明》單親母親情況聲明
- 第一套路面工程考試試題及答案
- 4配電柜安全風(fēng)險(xiǎn)點(diǎn)告知牌
- 旋挖機(jī)操作手知識(shí)試卷含參考答案
- GB∕T 22590-2021 軋鋼加熱爐用耐火澆注料
- 研發(fā)部程序文件bom管理
- 大件運(yùn)輸管理制度
- Q∕GDW 11445-2015 國(guó)家電網(wǎng)公司管理信息系統(tǒng)安全基線要求
- 材料科學(xué)基礎(chǔ) 第2章 晶體結(jié)構(gòu)
- 結(jié)構(gòu)化思維PPT通用課件
- 新標(biāo)準(zhǔn)大學(xué)英語(yǔ)(第二版)綜合教程2 Unit 5 A篇練習(xí)答案及課文翻譯
評(píng)論
0/150
提交評(píng)論