實(shí)驗(yàn)一 簡(jiǎn)單程序設(shè)計(jì)實(shí)驗(yàn)_第1頁(yè)
實(shí)驗(yàn)一 簡(jiǎn)單程序設(shè)計(jì)實(shí)驗(yàn)_第2頁(yè)
實(shí)驗(yàn)一 簡(jiǎn)單程序設(shè)計(jì)實(shí)驗(yàn)_第3頁(yè)
實(shí)驗(yàn)一 簡(jiǎn)單程序設(shè)計(jì)實(shí)驗(yàn)_第4頁(yè)
實(shí)驗(yàn)一 簡(jiǎn)單程序設(shè)計(jì)實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)一 簡(jiǎn)單程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆諉纹瑱C(jī)程序設(shè)計(jì)的基本方法,熟悉程序交叉編譯和調(diào)試執(zhí)行的過(guò)程。二、實(shí)驗(yàn)器材1、PC機(jī)(安裝Keil軟件) 1臺(tái)2、實(shí)驗(yàn)開(kāi)發(fā)板 1塊3、U-EC5型仿真器 1只4、直流穩(wěn)壓電源 1臺(tái)三、實(shí)驗(yàn)要求1、課前溫習(xí)和回顧C(jī)語(yǔ)言程序設(shè)計(jì)方面的知識(shí)。2、搭建集成開(kāi)發(fā)環(huán)境 (參考所給實(shí)驗(yàn)附件中Keil軟件與仿真驅(qū)動(dòng)程序安裝.doc)。3、編寫(xiě)簡(jiǎn)單的C程序,熟悉Keil環(huán)境下的調(diào)試方法,包括跟蹤、單步運(yùn)行和斷點(diǎn)設(shè)置等。4、仔細(xì)觀察實(shí)驗(yàn)板電路圖,并結(jié)合C8051F411數(shù)據(jù)手冊(cè)給出自己I/O端口配置方案。5、編寫(xiě)程序,實(shí)現(xiàn)LED的亮滅、蜂鳴器的鳴叫以及按鍵狀態(tài)識(shí)別等控制功能。

2、四、擴(kuò)充實(shí)驗(yàn)(思考題)1、如何實(shí)現(xiàn)蜂鳴器的間歇鳴叫(1秒)?2、如何實(shí)現(xiàn)依次點(diǎn)亮LED的控制功能?五實(shí)驗(yàn)程序1.實(shí)現(xiàn)LED的亮滅#include c8051F410.h#define OLD_BOARD #ifdef OLD_BOARDsbit LED8=P17;sbit LED7=P16;sbit LED6=P15;sbit LED5=P14;sbit LED4=P13;sbit LED3=P12;sbit LED2=P11;sbit LED1=P10;sbit KEY5=P22;sbit KEY4=P21;sbit KEY3=P20;sbit KEY2=P02;sbit KEY1=P01;

3、sbit SPKOUT=P00;#elsesbit LED8=P21;sbit LED7=P20;sbit LED6=P07;sbit LED5=P06;sbit LED4=P03;sbit LED3=P02;sbit LED2=P01;sbit LED1=P00;sbit KEY5=P17;sbit KEY4=P16;sbit KEY3=P15;sbit KEY2=P14;sbit KEY1=P13;sbit SPKOUT=P22; #endifvoid init(void); /初始化子程序void main()init(); /初始化子程序LED1 = 1;LED2 = 0;LED3 =

4、 0;LED4 = 0;LED5 = 0;LED6 = 0;LED7 = 0;LED8 = 1;SPKOUT = 0; for(;) void init(void)PCA0MD=0x00;/關(guān)閉WDT控制OSCICN=0xc7;/設(shè)置內(nèi)部振蕩器工作(使用內(nèi)部晶振24.5MHz)#ifdef OLD_BOARDP0MDIN=0xFF;P0MDOUT=0x11;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;#elseP0MDIN=0xFF;P0MDOUT=0x10;P0SKIP=0xCF;P1MD

5、IN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF; #endifXBR0=0x01;XBR1=0x41;2. 蜂鳴器的實(shí)現(xiàn)#include c8051F410.h#define OLD_BOARD #ifdef OLD_BOARD sbit SPKOUT = P00; #else sbit SPKOUT = P22; #endifvoid init(void); /初始化子程序void main()init(); /初始化子程序 for(;) SPKOUT = 1;/蜂鳴器鳴叫 void init(voi

6、d)PCA0MD=0x00;/關(guān)閉WDT控制OSCICN=0xc7;/設(shè)置內(nèi)部振蕩器工作(使用內(nèi)部晶振24.5MHz)#ifdef OLD_BOARDP0MDIN=0xFF;P0MDOUT=0x11;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF;#elseP0MDOUT=0x10;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF;#endifXBR0

7、=0x01;XBR1=0x40;3.實(shí)現(xiàn)亮燈且按鍵狀態(tài)識(shí)別蜂鳴#include c8051F410.h#define OLD_BOARD #ifdef OLD_BOARDsbit LED8=P17;sbit LED7=P16;sbit LED6=P15;sbit LED5=P14;sbit LED4=P13;sbit LED3=P12;sbit LED2=P11;sbit LED1=P10;sbit KEY5=P22;sbit KEY4=P21;sbit KEY3=P20;sbit KEY2=P02;sbit KEY1=P01;sbit SPKOUT=P00;#elsesbit LED8=P2

8、1;sbit LED7=P20;sbit LED6=P07;sbit LED5=P06;sbit LED4=P03;sbit LED3=P02;sbit LED2=P01;sbit LED1=P00;sbit KEY5=P17;sbit KEY4=P16;sbit KEY3=P15;sbit KEY2=P14;sbit KEY1=P13;sbit SPKOUT=P22; #endifvoid Delay(int n);void main(void)PCA0MD=0x00; OSCICN=0xc7;/設(shè)置內(nèi)部振蕩器工作(使用內(nèi)部晶振24.5MHz)#ifdef OLD_BOARDP0MDIN=0

9、xFF;P0MDOUT=0x11;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF;#elseP0MDIN=0xF0;P0MDOUT=0x10;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF;#endifXBR0=0x01;XBR1=0x40;LED5 = 0;LED6 = 0;LED7 = 0;LED8 = 0;SPKOUT = 0; for(;)

10、if(KEY1=0)Delay();if(KEY1=0)SPKOUT = !SPKOUT; void Delay(int n)while(-n);4.實(shí)現(xiàn)蜂鳴器的間歇鳴叫及依次點(diǎn)亮LED#include C8051F410.H#define OLD_BOARD #ifdef OLD_BOARDsbit LED8=P17;sbit LED7=P16;sbit LED6=P15;sbit LED5=P14;sbit LED4=P13;sbit LED3=P12;sbit LED2=P11;sbit LED1=P10;sbit KEY5=P22;sbit KEY4=P21;sbit KEY3=P20

11、;sbit KEY2=P02;sbit KEY1=P01;sbit SPKOUT=P00;#elsesbit LED8=P21;sbit LED7=P20;sbit LED6=P07;sbit LED5=P06;sbit LED4=P03;sbit LED3=P02;sbit LED2=P01;sbit LED1=P00;sbit KEY5=P17;sbit KEY4=P16;sbit KEY3=P15;sbit KEY2=P14;sbit KEY1=P13;sbit SPKOUT=P22; #endif#define SYSCLK L#define TIME0TIME 1000 /定時(shí)時(shí)間為

12、0.001s(1ms)#define TIMER0CNT -SYSCLK*TIME0TIME/12 /定時(shí)器0時(shí)間常數(shù)void init(void);void Time0_ISR(void);void main(void)init();SPKOUT = 0;LED1 = 1;LED2 = 1;LED3 = 1;LED4 = 1;LED5 = 1;LED6 = 1;LED7 = 1;LED8 = 1; for(;);void init(void)PCA0MD=0x00; /關(guān)閉WDT控制OSCICN=0xc7; /設(shè)置內(nèi)部振蕩器工作(使用內(nèi)部晶振24.5MHz)#ifdef OLD_BOARDP

13、0MDIN=0xFF;P0MDOUT=0x11;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF;#elseP0MDIN=0xFF;P0MDOUT=0x10;P0SKIP=0xCF;P1MDIN=0xFF;P1MDOUT=0x00;P1SKIP=0xFF;P2MDIN=0xFF;P2MDOUT=0x04;P2SKIP=0xFF;#endifXBR0=0x01;XBR1=0x40;TMOD= 0x21;TCON= 0x05;TH0= TIMER0CNT/256;TL0= TI

14、MER0CNT;TR0= 1;IP= 0x00;ET0= 1;EA=1;void Time0_ISR(void) interrupt INTERRUPT_TIMER0static int Counter=0;static unsigned char LEDNUM=0;Counter+;if (Counter999)Counter = 0;LEDNUM-;LEDNUM = LEDNUM & 0x07;SPKOUT = !SPKOUT;LED1 = !(LEDNUM = 0x00);LED2 = !(LEDNUM = 0x01);LED3 = !(LEDNUM = 0x02);LED4 = !(L

15、EDNUM = 0x03);LED5 = !(LEDNUM = 0x04);LED6 = !(LEDNUM = 0x05);LED7 = !(LEDNUM = 0x06);LED8 = !(LEDNUM = 0x07);TH0=TIMER0CNT/256;TL0=TIMER0CNT;TR0=1;六實(shí)驗(yàn)結(jié)果1.實(shí)現(xiàn)LED的亮滅運(yùn)行此程序后,單片機(jī)板上的led燈全部都亮,當(dāng)停止編譯后,燈全部熄滅。2. 蜂鳴器的實(shí)現(xiàn)運(yùn)行程序后,蜂鳴器開(kāi)始鳴叫并持續(xù)不斷,當(dāng)停止運(yùn)行后,蜂鳴聲消失。3.實(shí)現(xiàn)亮燈且按鍵狀態(tài)識(shí)別蜂鳴運(yùn)行程序后單片機(jī)板上的后四個(gè)燈亮,當(dāng)按下板上的key1鍵時(shí)蜂鳴器開(kāi)始響,當(dāng)再次按下時(shí)蜂鳴聲停止,再次按下時(shí)又開(kāi)始響,一直重復(fù)進(jìn)行下去。4.實(shí)現(xiàn)蜂鳴器的間歇鳴叫及依次點(diǎn)亮LED當(dāng)運(yùn)行程序后,蜂鳴器間隔一秒就響,同時(shí)led燈也開(kāi)始循環(huán)閃亮。七出現(xiàn)的問(wèn)題及解決方法1.在實(shí)現(xiàn)led燈亮滅的過(guò)程中發(fā)現(xiàn)燈不亮,經(jīng)檢查發(fā)現(xiàn)原來(lái)沒(méi)有在頭文件中加入define OLD_BOARD

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論