第一篇:電子信息專業_嵌入式實驗報告實訓指導書
桂林電子科技大學
應用科技學院 《ARM嵌入式系統實驗指導書》
J-LINK 仿真器設置
設置步驟:
1.連接J-LINL仿真器USB到電腦。J-LINK仿真器指示燈閃爍,電腦開始自動安裝驅動程序,完成驅動程序安裝后指示燈常亮。2.連接J-LINL仿真器的JTAG扁平排線到LPC22EB06-I實驗系統的JTAG模塊CON19插座。連接完成后D12貼片LED常亮。3.連接LPC22EB06-I實驗系統左側USB供電接口到電腦,將LPC22EB06-I實驗系統右下角的電源開關打到“ON”狀態。此時系統上電,左下角的D4 LED燈亮度。4.將LPC22EB06-I實驗系統右下角的SW1撥碼開關S3撥到“ON”,其余全為“OFF”。5.在電腦上打開KEIL 4軟件,建立一個工程,并新建一個C文件添加到工程中。
6.點擊“Project”-“Options for Target ‘Target 1’”-Debug 選項卡,點擊選擇右側的Use,然后在下拉列表中選擇“J-LINK/J-TRACE”。再點擊“Settings”按鈕。在彈出的“J-LINK/JTrace Interface Driver Setup”對話框中點擊右下方的“Target”按鈕,如果彈出的信息中“ARM CPU ID:”為“0x4F1F0F0F”,說明目標芯片連接成功,否則請檢查原因。點擊“OK”按鈕確定。7.返回“Options for Target ‘Target 1’”對話框,選擇`“Utilities”選項卡,單擊選擇“Use Target Driver for Flash Programming”, 然后在下拉列表中選擇“J-LINK/J-TRACE”。勾選“Update Target before Debugging”選項。至此J-LINK仿真設置完成。
注意事項: LPC22EB06-I實驗系統外部時鐘:Fosc = 10 MHz Fcclk = 50 MHz Pclk = Fcclk/4
桂林電子科技大學
應用科技學院 《ARM嵌入式系統實驗指導書》
實驗一
GPIO輸出實驗(2學時)
一、實驗目的
1、了解ARM7TDMI內核處理器。
2、掌握在Keil軟件中編制源程序。
3、掌握在Keil軟件調試源程序。
4、掌握在LPC22EB6-I實驗系統的使用。
二、實驗內容
1、基本要求:
編寫程序驅動LPC22EB6-I實驗系統上的D5、D6 LED 閃爍。
2、擴展要求:
編寫延時子程序,使得D5、D6的閃爍頻率約為1Hz和0.5Hz。
三、硬件電路
圖1 LED電路
四、基本要求源程序
#include
PINSEL2 = 0x04;
//包含所需的文件
IO2DIR |=(1 << 23);IO2DIR |=(1 << 24);
桂林電子科技大學
應用科技學院 《ARM嵌入式系統實驗指導書》
while(1){for(j=0;j<6;j++)
{ if(0 ==(IO2PIN &(1 << 23)))IO2SET |=(1 << 23);
}
{if(0 ==(IO2PIN &(1 << 24)))IO2SET |=(1 << 24);
else IO2CLR |=(1 << 24);for(i=0;i<1000000;i++);for(i=0;i<1000000;i++);else IO2CLR |=(1 << 23);
for(j=0;j<6;j++)
}//end of for }//end of while }//end of main
五、基本實驗步驟
1.打開Keil軟件,新建立一個工程Lab01.uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2.新建一個后綴名為.c文件,輸入上述源代碼,編譯。
3.按《J-LINK 仿真器設置》設置好J-LINK仿真器; 4.點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。
5.選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。觀察運行輸出情況,修改程序。
六、擴展實驗要求
1.理解基本要求實驗源程序,將基本要求的閃爍周期調整到約1Hz和0.5Hz。2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序。
3.編譯通過并產生機器碼,下載到LPC22EB6-I實驗系統,并運行看實驗現象。
七、實驗報告要求
1.預習報告中要體現實現內容的基本要求中的源程序理解,程序框圖繪制和現實現擴展實驗要求的實現原理。
2.實驗報告中要體現擴展實驗要求的的源程序理解,包括源程序注釋及框圖繪制。3.實驗報告中要有實驗心得體會。
桂林電子科技大學
應用科技學院 《ARM嵌入式系統實驗指導書》
實驗二
基于GPIO數碼管驅動實驗(2學時)
一、實驗目的
1.2.3.4.了解ARM7TDMI內核處理器。掌握在Keil軟件中編制源程序。掌握在Keil軟件調試源程序。
掌握74HC595芯片工作時序及動態數碼管的驅動程序編寫。
二、實驗內容
1.基本要求:
在LPC22EB6-I實驗系統上,編寫程序模擬SPI時序驅動兩個四位動態共陰數碼管LAM1、LAM2。顯示內容“12345678”
2.擴展要求:
編寫程序實現動態數碼顯示的左移、右移、單個位閃爍功能。
三、硬件電路
圖1 動態數碼管電路
桂林電子科技大學
應用科技學院 《ARM嵌入式系統實驗指導書》
圖2 74HC595工作時序圖
四、基本要求源程序
#include
(1)(~OUTPUT)(6)(4)(19)(18)(OUTPUT << SDI_BIT)(OUTPUT << SRCLK_BIT)(OUTPUT << RCLK_BIT)(OUTPUT << G_BIT)
//共陰數碼管編碼,#define SRCLK_BIT
#define HC595_SDI #define HC595_SRCLK #define HC595_RCLK #define HC595_G
unsigned char const LEDSEG[]={ 0x3F, //“0” 0x06, //“1” 0x5B, //“2” 0x4F, //“3”
桂林電子科技大學
應用科技學院 《ARM嵌入式系統實驗指導書》 0x66, //“4” 0x6D, //“5” 0x7D, //“6” 0x07, //“7” 0x7F, //“8” 0x6F, //“9” };unsigned char const LEDDEG[]={0xF7,0xFB,0xFD,0xFE,0x7F,0xBF,0xDF,0xEF};unsigned char Display_Buffer[] = {1,2,3,4,5,6,7,8};void Send_Two_byte(unsigned int Data);void Delay_us(unsigned long int temp);void System_Int(void);/***************************************************************/ int main(void){
} void Send_Two_byte(unsigned int Data){
} void Delay_us(unsigned long int temp)
long i;IO2CLR =(IO2CLR & ~(1 << G_BIT))|(1 << G_BIT);for(i=0;i<16;i++){
} IO2SET =(1 << RCLK_BIT);Delay_us(1);IO2CLR =(1 << RCLK_BIT);IO2SET =(1 << G_BIT);if((Data &(1 << 15))==(1 << 15))IO0SET =(1 << SDI_BIT);IO0CLR =(1 << SDI_BIT);else Delay_us(1);IO0SET =(1 << SRCLK_BIT);Delay_us(1);IO0CLR =(1 << SRCLK_BIT);Delay_us(1);Data <<= 1;long i;PINSEL2 = 0x04;System_Int();while(1){
} for(i=0;i //配置J-LINK 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 { } void System_Int(void){ } IO0DIR = HC595_SDI;IO0DIR = HC595_SRCLK;IO2DIR = HC595_RCLK;IO2DIR = HC595_G;temp = temp*10;while(temp > 0){ } temp--; 五、基本實驗步驟 1.打開Keil軟件,新建立一個工程Lab02.uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2.新建一個后綴名為.C文件,輸入上述源代碼,編譯。 3.按《J-LINK 仿真器設置》設置好J-LINK仿真器。4.點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。 5.選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。 六、擴展實驗要求 1.根據實驗內容的擴展要求,理解74HC595工作時序及SPI協議原理,繪畫該要求的程序流程圖。2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序。 3.編譯通過并產生機器碼,下載到LPC22EB6-I實驗系統,并運行看實驗現象。 七、實驗報告要求 1.預習報告中要體現實現內容的基本要求中的源程序理解,包括源程序注釋及程序框圖繪制和現實現擴展實驗要求的實現原理; 2.實驗報告中要體現擴展實驗要求的的源程序理解,包括源程序注釋及程序框圖繪畫; 3.實驗報告中要有實驗心得體會; 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗三 GPIO輸入實驗(2學時) 一、實驗目的 1.了解并掌握Keil軟件的工程設計。 2.掌握在Keil軟件中編制源程序、編譯通過并產生機器碼。3.掌握在LPC22EB6-I實驗系統中運行程序。 4.掌握在LPC22EB6-I實驗系統中實現外部信息號的輸入及其程序編寫。 二、實驗內容 1.基本要求: 利用LPC22EB6-I實驗系統的外部按鈕SW19,SW18手動輸入開關信息,SW19按下一次D5的狀態轉換一次,SW18按下一次D6狀態轉換一次。要求有去抖功能。 2.擴展要求: 利用LPC22EB6-I實驗系統的SW2—SW17 4x4鍵盤做為輸入按鍵,并將被按下的按鍵編號顯示在U17動態數碼管上。 三、硬件電路 圖1 按鍵電路 圖2 LED輸出電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖3 矩陣鍵盤電路 四、基本要求源程序 #include long j;PINSEL2 = 0x04;IO2DIR |=(1 << D5);IO2DIR |=(1 << D6);IO1DIR &=(0 << SW_19);IO1DIR &=(0 << SW_18);IO2SET |=(1 << D5);IO2SET |=(1 << D6);IO1SET |=(1 << SW_19);IO1SET |=(1 << SW_18);while(1){ if((IO1PIN &(1 << SW_19))== 0){ for(j=0;j<10000;j++);if((IO1PIN &(1 << SW_19))== 0){ if((IO2PIN &(1 << D5))== 0)IO2SET |=(1 << D5);IO2CLR |=(1 << D5); else(23)(24)(25)#define SW_18(24)桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 } } } if((IO1PIN &(1 << SW_18))== 0){ } for(j=0;j<10000;j++);if((IO1PIN &(1 << SW_18))== 0){ } if((IO2PIN &(1 << D6))== 0)IO2SET |=(1 << D6);IO2CLR |=(1 << D6);else while((IO1PIN &(1 << SW_18))== 0);} while((IO1PIN &(1 << SW_19))== 0); 五、基本實驗步驟 1.打開Keil軟件,新建立一個工程Lab03.uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2.新建一個后綴名為.C文件,按照原理圖4和原理圖5編寫輸入上述源代碼,編譯并排除錯誤。3.按《J-LINK 仿真器設置》設置好J-LINK仿真器; 4.點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。5.選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。 六、擴展實驗要求 1.根據實驗內容的擴展要求,理解74HC595、矩陣鍵盤和動態數碼管工作時序與原理,繪制該要求的程序流程圖。 2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序。 3.編譯通過并產生機器碼,下載到LPC22EB6-I實驗系統,并運行看實驗現象。 七、實驗報告要求 1.預習報告中要體現實現內容的基本要求中的源程序理解,包括源程序注釋及程序框圖繪制和現實現擴展實驗要求的實現原理; 2.實驗報告中要體現擴展實驗要求的的源程序理解,包括源程序注釋及程序框圖繪制; 3.實驗報告中要有實驗心得體會; 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗四 基于定時器的LED閃爍實驗(2學時) 一、實驗目的 1.了解并掌握Keil軟件的工程設計。 2.掌握在Keil軟件中編制源程序、編譯通過并產生機器碼。3.掌握LPC2294處理器的定時器程序編寫。4.掌握在LPC22EB6-I實驗系統中運行程序。 二、實驗內容 1.基本要求: 在Keil軟件中編寫基于定時器的LED閃爍程序,頻率:D5為1Hz,D6為2Hz。 2.擴展要求: 在基本要求的基礎上,使用LAM1或者LAM2動態數碼管設計實現一個簡單秒表。 三、硬件電路 圖1 LED輸出電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖2動態數碼管電路 四、基本要求源程序 #include unsigned long temp = 0;PINSEL2 = 0x04;IO2DIR |=(1 << D5);IO2DIR |=(1 << D6);T0TC = 0;T0PR = 10000;T0MCR = 0x06;T0MR0 = 250;while(1){ T0TCR = 0x01;while(T0TCR == 0x01);temp++;if(temp == 2){ } if((IO2PIN &(1 << D6))== 0)IO2SET |=(1 << D6); if((IO2PIN &(1 << D5))== 0)IO2SET |=(1 << D5);IO2CLR |=(1 << D5);else temp = 0; (23)(24) //VPB = Fosc/4=2.5MHz 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 } } else IO2CLR |=(1 << D6); 五、基本實驗步驟 1.打開Keil軟件,新建立一個工程Lab04.uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2.新建一個后綴名為.C文件,按照原理圖1和原理圖2編寫輸入上述源代碼,編譯并排除錯誤。3.按《J-LINK 仿真器設置》設置好J-LINK仿真器; 4.點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。 5.選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。 六、擴展實驗要求 1.根據實驗內容的擴展要求,理解74HC595、矩陣鍵盤和動態數碼管工作時序與原理,繪制該要求的程序流程圖。 2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序。 3.編譯通過并產生機器碼,下載到LPC22EB6-I實驗系統,并運行看實驗現象。 七、實驗報告要求 1.預習報告中要體現實現內容的基本要求中的源程序理解,包括源程序注釋及程序框圖繪制和現實現擴展實驗要求的實現原理; 2.實驗報告中要體現擴展實驗要求的源程序理解,包括源程序注釋及程序框圖繪畫; 3.實驗報告中要有實驗心得體會; 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗五 外部中斷實驗(2學時) 一、實驗目的 1.了解并掌握Keil軟件的工程設計。 2.掌握在Keil軟件中編制源程序、編譯通過并產生機器碼。3.掌握LPC2294處理器的外部中斷程序編寫。4.掌握在LPC22EB6-I實驗系統中運行程序。 二、實驗內容 1.基本要求: 在Keil軟件中編寫外部中斷EXTIN0的中斷程序,并對中斷進行計數,然后將計數值以二進制形式從D5、D6輸出。 2.擴展要求: 在基本要求的基礎上,編寫基于外部中斷EINT3和矩陣鍵盤的輸入程序。并將按鍵編號顯示在LAM1或者LAM2動態數碼管上。 三、硬件電路 圖1按鍵電路 圖2 LED輸出電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖2 矩陣鍵盤電路 四、基本要求源程序 #include } void EXTIN0_FIQ(void){ if((IO2PIN &(1 << D5))== 0)IO2SET |=(1 << D5);IO2CLR |=(1 << D5); else PINSEL2 = 0x04;PINSEL1 =(PINSEL1 & ~(3 << 28)|(2 << 28));VICIntSelect =(1 << 17);VICIntEnable =(1 << 17);EXTMODE = EXTMODE|0x08;EXTPOLAR = EXTPOLAR&0x07;IO2DIR |=(1 << D5);IO2SET |=(1 << D5);IO1DIR |=(1 << KEY16);IO1CLR |=(1<< KEY16);while(1); while((EXTINT&(1 << 3))!=0){ EXTINT =(1<<3);桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 } } 在Startup.s 文件 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗六 PWM實驗(2學時) 一、實驗目的 1.了解并掌握Keil軟件的工程設計。 2.掌握在Keil軟件中編制源程序、編譯通過并產生機器碼。3.掌握LPC2294處理器PWM波型輸出程序的編寫。4.掌握在LPC22EB6-I實驗系統中運行程序。 二、實驗內容 1.基本要求: 在Keil軟件中編寫PWM程序。編寫LPC2294程序從PWM3輸出1KHz的PWM信號驅動蜂鳴器發出聲音。 2.擴展要求: 在基本要求的基礎上,將輸出的PWM信號驅動直流電機,有關電路如圖1,圖2所示。并使用《實驗3》圖1中的SW18或者SW19按鍵實現對直流電機的簡單調速。 三、硬件電路 圖1 基本要求電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖2 擴展要求電路A 四、基本要求源程序 #include //Fosc = 10MHz pclk = Fosc/4=2.5MHz PWM_EN(21)BUZZER(1)int main(void) 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 { PINSEL2 = 0x04;PINSEL0 |=(PINSEL0 & ~(3 << 2))|(2 << 2);IO0DIR |=(1 << BUZZER);IO2DIR |=(1 << PWM_EN);IO2CLR =(1 << PWM_EN);PWMMCR |=(1 << 1);PWMPCR =(1 << 11);PWMPR = 10;PWMPC = 0;PWMMR0 = 250;PWMMR3 = 250/2;PWMLER =(0x09);PWMTCR = 0x09;while(1);} 五、基本實驗步驟 1.打開Keil軟件,新建立一個工程Lab05uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2.新建一個后綴名為.C文件,按照原理圖1和原理圖4編寫輸入上述源代碼,編譯并排除錯誤。3.按《J-LINK 仿真器設置》設置好J-LINK仿真器; 4.點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。5.選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。6.觀察LPC22EB6-I實驗系統右下角的Buzzer蜂鳴器現象,并記錄。 六、擴展實驗要求 1.理解基本要求實驗源程序,如何配置不同的PWM頻率和占空比。 2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序,編譯通過生成HEX文件,下載到LPC22EB6-I實驗系統。3.觀察LPC22EB6-I實驗系統上DC/STEP MOTOR 模塊左邊的直流電機的運行情況。 七、實驗報告要求 1.預習報告中要體現實現內容的基本要求中的源程序理解,包括源程序注釋及程序框圖繪制和現實現擴展實驗要求的實現原理。 2.實驗報告中要體現擴展實驗要求的源程序理解,包括源程序注釋及程序框圖繪制。3.實驗報告中要有實驗心得體會。 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗七 SPI驅動實驗(2學時) 一、實驗目的 1.了解并掌握Keil軟件的工程設計。 2.掌握在Keil軟件中編制源程序、編譯和產生機器碼。3.掌握LPC2294處理器SPI時序波型輸出程序的編寫。4.掌握在LPC22EB6-I實驗系統中運行程序。 二、實驗內容 1.基本要求: 在LPC22EB6-I實驗系統上,編寫SPI驅動程序點亮LAM1、LAM2動態數碼管。 2.擴展要求: 在基本要求基礎上,編寫D/A芯片CS4334的SPI驅動程序并使之播放一段音樂。 三、硬件電路 圖1動態數碼管電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖2 CS4334工作時序圖 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖3 D/A轉換電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖3 使能電路 四、基本要求源程序 #include (1)(0)(0 << 3)(0 << 4)(1 << 5)(1 << 6)(MSTR|CP0L|CPHA)(18)(19)(OUTPUT << G_BIT)(6)(5)(4)(7)(INPUT << SSEL0)(OUTPUT << MOSI_BIT)(OUTPUT << SCK_BIT)#define SPI_MODE #define G_BIT #define RCLK_BIT #define HC595_G #define MOSI_BIT #define MISO_BIT #define SCK_BIT #define SSEL0 #define HC595_SSEL #define HC595_SDI #define HC595_SRCLK unsigned char const LEDSEG[]={ 0x3F, //“0” 0x06, //“1” 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 0x5B, //“2” 0x4F, //“3” 0x66, //“4” 0x6D, //“5” 0x7D, //“6” 0x07, //“7” 0x7F, //“8” 0x6F, //“9” };unsigned char const LEDDEG[]={0xF7,0xFB,0xFD,0xFE,0x7F,0xBF,0xDF,0xEF};unsigned char Display_Buffer[]={1,2,3,4,5,6,7,8};void Delay_us(unsigned long temp);void SPI_Send_Data(unsigned char TEMP);void SPI_Ini(unsigned char fdiv);int main(void){ } void SPI_Ini(unsigned char fdiv){ } void SPI_Send_Data(unsigned char TEMP) if(fdiv < 8)fdiv = 8;S0SPCCR = fdiv & 0xFE;S0SPCR = SPI_MODE;unsigned char i;PINSEL2 |= 0x04;PINSEL0 =(PINSEL0 & ~(3 << SSEL0*2))|(1 << SSEL0*2);PINSEL0 =(PINSEL0 & ~(3 << MISO_BIT*2))|(1 << MISO_BIT*2);PINSEL0 =(PINSEL0 & ~(3 << MOSI_BIT*2))|(1 << MOSI_BIT*2);PINSEL0 =(PINSEL0 & ~(3 << SCK_BIT*2))|(1 << SCK_BIT*2);IO0DIR |=(1 << 24);IO0SET |=(1 << 24);IO2DIR |=(1 << RCLK_BIT);IO2DIR |=(1 << G_BIT);IO2CLR |=(1 << G_BIT);SPI_Ini(200);while(1){ } for(i=0;i < sizeof(Display_Buffer);i++){ } SPI_Send_Data(LEDDEG[i]);SPI_Send_Data(LEDSEG[Display_Buffer[i]]);IO2SET =(1 << RCLK_BIT);Delay_us(1);IO2CLR =(1 << RCLK_BIT);Delay_us(1000);桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 { } void Delay_us(unsigned long temp){ } temp = temp*10;while(temp > 0){temp--;} S0SPDR = TEMP;while((S0SPSR & 0x80)== 0); 五、基本實驗步驟 1.打開Keil軟件,新建立一個工程Lab08uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2.新建一個后綴名為.C文件,按照圖10原理編寫輸入上述源代碼,編譯并排除錯誤。3.按《J-LINK 仿真器設置》設置好J-LINK仿真器; 4.點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。5.選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。6.觀察動態數碼管的顯示情況,修正程序,并記錄。 六、擴展實驗要求 1.理解基本要求實驗源程序,如何配置不同的PWM頻率和占空比。 2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序,編譯通過生成HEX文件,下載到LPC22EB6-I實驗系統。3.觀察聲音的情況; 七、實驗報告要求 4.預習報告中要體現實現內容的基本要求中的源程序理解,包括源程序注釋及程序框圖繪制和現實現擴展實驗要求的實現原理; 5.實驗報告中要體現擴展實驗要求的源程序理解,包括源程序注釋及程序框圖繪制; 6.實驗報告中要有實驗心得體會; 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗八 A/D模數轉換實驗(2學時) 一、實驗目的 1. 了解并掌握Keil軟件的工程設計。 2. 掌握在Keil軟件中編制源程序、編譯通過并產生機器碼。3. 掌握LPC2294處理器A/D模數轉換程序的編寫。4. 掌握在LPC22EB6-I實驗系統中運行程序。 二、實驗內容 1. 基本要求: 在LPC22EB6-I實驗系統上編寫程序,讀取AIN17電位器的輸出電壓的A/D轉換值,并以十進制的形式顯示在動態數碼管LAM1上。 2. 擴展要求: 在基本要求的基礎上,將AIN7與AIN6輸出的通過A/D采集,并在LAM1與LAM2上分別顯示出來,實現簡單的數字電壓表功能。所需原理圖參見圖1和圖2。 三、硬件電路 圖1 A/D轉換輸入電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖 2 動態數碼管電路 四、基本要求源程序 #include 31(1)(~OUTPUT)(6)(4)(19)(18) ((IO0DIR & ~(1 << SDI_BIT)|(OUTPUT << SDI_BIT)))((IO0DIR & ~(1 << SRCLK_BIT)|(OUTPUT << SRCLK_BIT)))((IO2DIR & ~(1 << RCLK_BIT)|(OUTPUT << RCLK_BIT)))((IO2DIR & ~(1 << G_BIT)|(OUTPUT << G_BIT)))(28) | | | | | | ((2500000/1000000-1)<< 8)|(0 << 16)(0 << 17)(1 << 21)(0 << 22)(1 << 24)(0 << 27); #define SRCLK_BIT #define HC595_SDI #define HC595_SRCLK #define HC595_RCLK #define HC595_G #define AIN7 #define START_ADC()ADCR =(1 << 7)桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 unsigned char const LEDSEG[]={ 0x3F, //“0” 0x06, //“1” 0x5B, //“2” 0x4F, //“3” 0x66, //“4” 0x6D, //“5” 0x7D, //“6” 0x07, //“7” 0x7F, //“8” 0x6F, //“9” };unsigned char const LEDDEG[]={0xF7,0xFB,0xFD,0xFE,0x7F,0xBF,0xDF,0xEF};unsigned char Display_Buffer[] = {0,0,0,0};void Send_Two_byte(unsigned int Data);void Delay_us(unsigned long int temp);void System_Int(void);int main(void){ } void Send_Two_byte(unsigned int Data){ long i; unsigned char i;unsigned int temp = 0;unsigned int ADC_Val;PINSEL2 = 0x04;PINSEL2 =(PINSEL2 & ~(3 << 4))|(3 << 4);PINSEL2 =(PINSEL2 & ~(1 << 7))|(1 << 7);System_Int();while(1){ } for(i=0;i<=GET_ADC_CNT;i++){ } Display_Buffer[0] = temp/1000;Display_Buffer[1] =(temp/100)% 10;Display_Buffer[2] =(temp/10)% 10;Display_Buffer[3] = temp % 10;for(i=0;i 應用科技學院 《ARM嵌入式系統實驗指導書》 } void Delay_us(unsigned long int temp){ } void System_Int(void){ } IO0DIR = HC595_SDI;IO0DIR = HC595_SRCLK;IO2DIR = HC595_RCLK;IO2DIR = HC595_G;temp = temp*10;while(temp > 0){ temp--;} IO2CLR =(IO2CLR & ~(1 << G_BIT))|(1 << G_BIT);for(i=0;i<16;i++){ } IO2SET =(1 << RCLK_BIT);Delay_us(1);IO2CLR =(1 << RCLK_BIT);IO2SET =(1 << G_BIT);if((Data &(1 << 15))==(1 << 15))IO0SET =(1 << SDI_BIT);IO0CLR =(1 << SDI_BIT);else Delay_us(1);IO0SET =(1 << SRCLK_BIT);Delay_us(1);IO0CLR =(1 << SRCLK_BIT);Delay_us(1);Data <<= 1; 五、基本實驗步驟 1. 打開Keil軟件,新建立一個工程Lab08uvproj,在Select Device for Target ‘Target 1’對話框的‘Data base’選擇“NXP(founder by Philips)”中的‘LPC2294’芯片。確定后彈出的確認框,選擇“是”。2. 新建一個后綴名為.C文件,按照圖10原理編寫輸入上述源代碼,編譯并排除錯誤。 3. 按《J-LINK 仿真器設置》設置好J-LINK仿真器; 4. 點擊“Project”-“Options for Target ‘Target 1’”-Output 選項卡, 勾選擇“Creat HEX File”,然后編譯連接生成HEX文件。 5. 選擇“Debug”-“Start/Stop Debug Session”開始調試源代碼。選擇“Debug”-“Step”或者按F11可單步調試程序。選擇“Debug”-“Run”或者F5全速運行程序。6. 旋轉AIN7或者AIN6,觀察動態數碼管的顯示情況,并記錄。 六、擴展實驗要求 1.理解基本要求實驗源程序; 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 2.根據實驗內容的擴展要求,在Keil軟件中編寫該要求的源程序。 3.編譯通過并產生機器碼,加載LPC22EB6-I實驗系統中,并運行看實驗現象。 七、實驗報告要求 1.預習報告中要體現實現內容的基本要求中的源程序理解,包括源程序注釋及程序框圖繪制和現實現擴展實驗要求的實現原理; 2.實驗報告中要體現擴展實驗要求的源程序理解,包括源程序注釋及程序框圖繪制; 3.實驗報告中要有實驗心得體會; 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 實驗九 串口通信實驗(2學時) 一、實驗目的 1.了解并掌握Keil軟件的工程設計。 2.掌握在Keil軟件中編制源程序、編譯通過并產生機器碼。3.掌握LPC2294處理器串行通信程序的編寫。4.掌握在LPC22EB6-I實驗系統中運行程序。 二、實驗內容 1.基本要求: 在LPC22EB6-I實驗系統上編寫程序,從串口0(UART0)發送字符串“Hello ARM!”到計算機。 2.擴展要求: 在基本要求的基礎上,實現在計算機輸入一個數值控制D5的閃爍速度,并回發此數值到計算機上。 三、硬件電路 圖1 UART0電路 桂林電子科技大學 應用科技學院 《ARM嵌入式系統實驗指導書》 圖2 撥碼開關電路 四、基本要求源程序 #include (1200)(50000000/4)unsigned char const String[]=“Hello ARM!”;void UART_Send_Byte(unsigned char data);void System_Int(void);void UART_Ini(void);int main(void){ unsigned long i = 0; } void System_Int(void){ } void UART_Ini(void){ unsigned int FDIV; PINSEL2 = 0x04;PINSEL0 =(PINSEL0 & ~(3 << 0))|(1 << 0);PINSEL0 =(PINSEL0 & ~(3 << 2))|(1 << 2);System_Int();UART_Ini();while(1){ } while(String[i]!= '
主站蜘蛛池模板:
少妇人妻在线无码天堂视频网|
狠狠综合久久久久综合网站|
无码精品一区二区三区在线|
国产精品亚洲一区二区无码|
国产激情内射在线影院|
东北少妇不戴套对白第一次|
国产乱码人妻一区二区三区|
中文在线а√天堂官网|
波多野结衣av一区二区全免费观看|
欧美黑人粗暴多交高潮水最多|
久久久不卡国产精品一区二区|
亚洲国产理论片在线播放|
强开小婷嫩苞又嫩又紧视频|
春色校园综合人妻av|
亚洲 校园 欧美 国产 另类|
久久久久久久综合色一本|
精品一二三区久久aaa片|
国产精品人妻一区二区高|
性欧美牲交xxxxx视频欧美|
真实国产老熟女粗口对白|
国产女人被狂躁到高潮小说|
天天摸天天透天天添|
国产农村乱对白刺激视频|
97国产精华最好的产品|
欧美日韩精品一区二区在线视频|
yy111111少妇无码影院|
国产精品 中文字幕 亚洲 欧美|
亚洲国产天堂久久综合网|
久久国产精品萌白酱免费|
国产精品沙发午睡系列|
亚洲精品欧美综合二区|
成人免费777777被爆出|
精品国产sm最大网免费站|
成人区人妻精品一区二区不卡视频|
国产精品毛片在线完整版sab|
亚洲香蕉视频综合在线|
1000部啪啪未满十八勿入|
久久精品夜色噜噜亚洲a∨|
精品自拍亚洲一区在线|
国产成人久久精品77777综合|
中文字幕日韩激情无码不卡码|