實(shí)驗(yàn)報(bào)告4-萬年歷綜合實(shí)驗(yàn)_第1頁
實(shí)驗(yàn)報(bào)告4-萬年歷綜合實(shí)驗(yàn)_第2頁
實(shí)驗(yàn)報(bào)告4-萬年歷綜合實(shí)驗(yàn)_第3頁
實(shí)驗(yàn)報(bào)告4-萬年歷綜合實(shí)驗(yàn)_第4頁
實(shí)驗(yàn)報(bào)告4-萬年歷綜合實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)報(bào)告班級(jí)學(xué)號(hào)姓名同組人實(shí)驗(yàn)日期室溫大氣壓成績本實(shí)驗(yàn)主要目的是通過解決一些實(shí)際問題,鞏固和加深“微機(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ǔ)。通過課本現(xiàn)有程序改寫編程,實(shí)現(xiàn)時(shí)鐘設(shè)有整點(diǎn)音樂報(bào)時(shí),半點(diǎn)數(shù)碼管顯示,每隔30秒流水燈提醒,還可以隨時(shí)手動(dòng)按鍵使其響音樂來作為警報(bào)或人為約定的提示等功能。同時(shí)還可以用定時(shí)器來設(shè)定一次跳動(dòng)的時(shí)間,為實(shí)際生活所服務(wù)。由于ARM芯片的高速、低功耗、低工作電壓導(dǎo)致其噪聲容限低,對(duì)電源的紋波、瞬態(tài)響應(yīng)性能、時(shí)鐘IC運(yùn)行速度更快(CPU最大操作時(shí)鐘為60MHz)。倘若不使用片內(nèi)PLL功能及ISP下載功能,則外部晶振頻率范圍是1MHz~30MHz,外部時(shí)鐘頻率范圍是1MHz~頻率范圍是10MHz~25MHz。用這兩個(gè)按鍵進(jìn)行外部中斷的實(shí)驗(yàn)、喚醒掉電CPU的實(shí)驗(yàn)。KEY2、KEY3、KEY4和KEY6所連的口線為來選擇連接。電路采用了I/O口灌電流的驅(qū)動(dòng)方式來驅(qū)動(dòng)LED,這樣做主要是因?yàn)镮/O口能提供的灌電流大實(shí)時(shí)時(shí)鐘(RTC,RealTimeClock)提供一套計(jì)數(shù)器在系統(tǒng)上電和關(guān)閉操作時(shí)對(duì)時(shí)間進(jìn)行測(cè)量,RTC消BRTC包含了許多寄存器,按照功能分成混合寄存器、時(shí)間寄存器、時(shí)間計(jì)數(shù)器、報(bào)警寄存器和預(yù)分頻器lk置為高/低電平、翻轉(zhuǎn)或者無動(dòng)作)。它還包括4個(gè)捕獲輸入,用于在輸入信號(hào)發(fā)生跳變時(shí)捕獲定時(shí)器值,并PWM一個(gè)附加特性,建立在匹配寄存器事件基礎(chǔ)之上??瑟?dú)立控制上升沿和下降沿的位置,這樣使PWM可以應(yīng)用于更多的領(lǐng)域。例如,多相位電機(jī)控制通常兩個(gè)匹配寄存器可用控制單邊沿PWM輸出。PWMMR0控制PWM周期率,另一個(gè)匹配寄存器 (PWMMR1~PWMMR6)控制PWM邊沿的位置。每個(gè)額外的單邊沿PWM輸出只需要一個(gè)匹配寄存器,因?yàn)樗蠵WM輸出的重復(fù)率速率是相同的。多個(gè)單邊沿控制PWM輸出在每個(gè)PWM周期的開始,當(dāng) 使用雙邊沿控制PWM輸出時(shí),指定的匹配寄存器控制輸出的上升和下降沿。這樣就產(chǎn)生了正脈沖(當(dāng)上升沿先于下降沿時(shí))和負(fù)脈沖(當(dāng)下降沿先于上升沿時(shí))。-連續(xù)操作,可選擇在匹配時(shí)產(chǎn)生中斷;-匹配時(shí)停止定時(shí)器,可選擇產(chǎn)生中斷;-匹配時(shí)復(fù)位定時(shí)器,可選擇產(chǎn)生中斷。2、每個(gè)匹配寄存器對(duì)應(yīng)一個(gè)外部輸出,具有下列特性:-匹配時(shí)設(shè)置為低電平;-匹配時(shí)設(shè)置為高電平;;產(chǎn)生正和負(fù)脈沖。輸出都以相同的重復(fù)率發(fā)生。6、匹配寄存器更新與脈沖輸出同步,防止產(chǎn)生錯(cuò)誤的脈沖。軟件必須在新的匹配值生效之前將它們釋放。放.7.3PWM的方框圖。在同一總線上可以有多個(gè)主機(jī)或者從機(jī),但同一時(shí)刻只能有一個(gè)主機(jī)和一個(gè)從機(jī)能夠進(jìn)行通信,在一次數(shù)據(jù)傳輸過程中,主機(jī)向從機(jī)發(fā)送一字節(jié)數(shù)據(jù),從機(jī)也向主機(jī)返回一字節(jié)數(shù)據(jù)。傳感器等;外部協(xié)處理器。定時(shí)器對(duì)外設(shè)時(shí)鐘(pclk)周期進(jìn)行計(jì)數(shù),可選擇產(chǎn)生中斷或根據(jù)4個(gè)匹配寄存器的設(shè)定,在到達(dá)指定的定時(shí)值時(shí)執(zhí)行其它動(dòng)作(輸出高/低電平、翻轉(zhuǎn)或者無動(dòng)作)。它還包括4個(gè)捕獲輸入,用于在輸入信號(hào)發(fā)生跳變時(shí)捕獲定時(shí)器值,并可選擇產(chǎn)生中斷??捎糜趯?duì)內(nèi)部事件進(jìn)行計(jì)數(shù)的間隔定時(shí)器,或者通過捕獲輸入實(shí)現(xiàn)脈寬調(diào)制,亦可作為3.9.2特性4.1程序概述此程序是多功能萬年歷,具有以下功能:4.2程序流程圖開始P1[25:18]選擇連接設(shè)置P1[25:18]為輸出狀態(tài)?否時(shí)間到了嗎?否是從定義的花樣顯示表取出點(diǎn)亮部分LED,其余熄滅延時(shí)LED將點(diǎn)亮的LEDLED熄滅開始設(shè)置P0.7為輸出狀讀取P0.16口狀態(tài)延時(shí)取樣指針加1否否到數(shù)組末尾了否是取樣指針復(fù)位為流水燈花樣顯示流程圖0是PPWM樂輸出置位P0.7,關(guān)閉按鍵音樂輸出流程圖拍數(shù)組中否否是時(shí)流程圖五、程序清單/******************************************************************功能****功能****說明****************************************************************/#include"music.h"/*歌曲曲譜-虹彩妹妹*/constuint32HCMM[]={_LA,_SO,_MI,_LA,_SO,_MI,_MI,_MI,_MI,_MI,_MI,_1LA,_1LA,_1SO,_1LA,};/*歌曲節(jié)拍*/{uint8datab;//字長度5/6/7/8uint8stopb;//停止位1/2}UARTMODE;#defineBEEP1<<7//P0.7控制蜂鳴器/********************************************************************函數(shù)名稱:Delay**功能描述:軟件延時(shí)函數(shù)****************************************************************/voidDelay(uint8dly){uint32i;for(;dly>0;dly--)for(i=0;i<0x7FFFF;i++);}/********************************************************************函數(shù)名稱:UART0_Init()**函數(shù)功能:初始化串口:設(shè)置工作模式和波特率。**入口參數(shù):baud波特率**set模式設(shè)置(UARTMODE數(shù)據(jù)結(jié)構(gòu))****************************************************************/{//參數(shù)過濾n//設(shè)置串口波特率U0LCR=0x80;//DLAB=1bak=(Fpclk>>4)/baud;U0DLM=bak>>8;U0DLL=bak&0xff;//設(shè)置串口模式{}}/********************************************************************函數(shù)名稱:SendByte()**函數(shù)功能:向串口UART0發(fā)送字節(jié)數(shù)據(jù),并等待發(fā)送完畢。**入口參數(shù):data要發(fā)送的數(shù)據(jù)**出口參數(shù):無****************************************************************/{while((U0LSR&0X20)==0);//等待數(shù)據(jù)發(fā)送}/*****************************************************************函數(shù)名稱:PC_DispChar()**函數(shù)功能:向PC機(jī)發(fā)送顯示字符。**入口參數(shù):no顯示位置**char顯示的字符,不能為ff**出口參數(shù):無****************************************************************/{}uint8constSHOWTABLE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/**********************************************************************************************************函數(shù)名稱:SendTimeRtc()**函數(shù)功能:讀取RTC的時(shí)間值,并將讀出的時(shí)分秒值通過串口送到上位機(jī)顯示。**入口參數(shù):無**出口參數(shù):無****************************************************************/{times=CTIME0;//讀取完整的時(shí)鐘寄存器datas=CTIME1;kkbak=(datas>>8)&0x0f;//獲取月bak=datas&0x1f;//獲取日PC_DispChar(7,SHOWTABLE[bak%10]);bak=(times>>24)&0x07;//獲取星期bak=(times>>16)&0x1f;//獲取小時(shí)bak=(times>>8)&0x3f;//獲取分鐘bak=times&0x3f;//獲取秒鐘k}/******************************************************************函數(shù)名稱:MSPI_Init()**函數(shù)功能:初始化SPI接口,設(shè)置為主機(jī)。**入口參數(shù):無**出口參數(shù):無****************************************************************/voidMSPI_Init(void){SPIPINSELPINSELxFFx<<8);SPCCR=0x52;//設(shè)置SPI時(shí)鐘分頻SPCR=(0<<3)|//CPHA=0,數(shù)據(jù)在SCK的第一個(gè)時(shí)鐘沿采樣(1<<4)|//CPOL=1,SCK為低有效(1<<5)|//MSTR=1,SPI處于主模式(0<<6)|//LSBF=0,SPI數(shù)據(jù)傳輸MSB(位7)在先//SPIE=0,SPI中斷被禁止}/******************************************************************函數(shù)名稱:MSPI_SendData()**函數(shù)功能:向SPI總線發(fā)送數(shù)據(jù)。**入口參數(shù):data待發(fā)送的數(shù)據(jù)**出口參數(shù):返回值為讀取的數(shù)據(jù)*************************/{//等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢}/*此表為LPC2131字模*///LPC2131uint8constLPC2131[7]={0xC7,0x8C,0xC6,0xA4,0xF9,0xB0,0xF9};/**********************************************************************************************************函數(shù)名稱:RTCInit()**函數(shù)功能:初始化實(shí)時(shí)時(shí)鐘**入口參數(shù):無**出口參數(shù):無*******************************************************************************************************{PREINT=Fpclk/32768-1;//設(shè)置基準(zhǔn)時(shí)鐘分頻器CCR=0x00;//禁止時(shí)間計(jì)數(shù)器YEAR=2009;DOM=8;DOW=5;HOUR=8;MIN=59;CIIR=0x01;//設(shè)置秒值的增量產(chǎn)生1次中斷CCR=0x01;//啟動(dòng)RTC}{uint8i;PINSEL0=0x02<<14;//P0.7選擇PWM2功能/*PWM初始化*/PWMMR/2;{//不分頻,計(jì)數(shù)頻率為FpclkC//50%占空比//PWM0和PWM2匹配鎖存PWMMR0=Fpclk/HCMM[i];//設(shè)置輸出頻率PWMLER=0x05;//更新匹配值后,必須鎖存Delay(HCMM_L[i]);//延時(shí),控制播放速度}}voidGPIO_BEEP(uint8n){PINSEL0=0x00000000;//設(shè)置管腳連接GPIOIO0DIR=BEEP;//設(shè)置BEEP控制口為輸出IOCLRBEEP//BEEP蜂鳴}voidSPI_7SegLed(uint8n){uint8i;for(i=0;i<7;i++){rcv_data=MSPI_SendData(LPC2131[i]);//發(fā)送顯示數(shù)據(jù)Delay(10);//延時(shí)}}voidGPIO_LEDS(uint8n){/*流水燈花樣,低電平點(diǎn)亮,注意調(diào)用時(shí)候用了取反操作*/constuint32LED_TBL[]={0x00,0xFF,//全部熄滅后,再全部點(diǎn)亮};uint8i;PINSEL1=0x00000000;//設(shè)置管腳連接GPIO//PINSEL2=PINSEL2&(~0x08);//P1[25:16]連接GPIOIO1DIR=LEDS8;//設(shè)置LED1控制口為輸出rinini{/*流水燈花樣顯示*/IO1SET=~((LED_TBL[i])<<18);IO1CLR=((LED_TBL[i])<<18);}}/****************************************函數(shù)名稱:main()**函數(shù)功能:讀取實(shí)時(shí)時(shí)鐘的值,通過串口發(fā)送出去。***************************************/intmain(void){PINSELxGPIOT//PINSEL1=0x00000000;//設(shè)置管腳連接GPIOIO1DIR=LEDS8;//設(shè)置LED1控制口為輸出/*定時(shí)器0初始化*//*定時(shí)器設(shè)置為0*//*時(shí)鐘不分頻*//*設(shè)置T0MR0匹配后復(fù)位T0TC,并產(chǎn)生中斷標(biāo)志*/=Fpclk*2;/*2秒鐘定時(shí)*//*啟動(dòng)定時(shí)器*/U0FCR=0x01;//FIFO使能{while

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論