完整的實驗報告下載:
單片機外部中斷實驗報告.doc
(293 KB, 下載次數: 55)
2017-1-14 02:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
-------------部分內容預覽-----------------------
重 慶 交 通 大 學
學生實驗報告
實驗課程名稱單片機原理及應用 開課實驗室 信息技術實踐中心 學 院 信息科學與工程學院年級2014級專業班通信3班 學 生 姓 名 劉凱學 號 63140680111 開 課 時 間 2015至2016學年第二學期
注:實驗成果考核方式采用非實驗報告形式的,可自行制定封面。 單片機原理及應用 實驗報告 實驗項目名稱:外部中斷實驗 實驗日期:第四次課 實驗成績: 1、掌握單片機外部中斷的原理及使用方法; 2、掌握中斷處理程序的編程方法。 2、實驗器材 (1)AT89C52:單片機;(2)7SEG-COM-CAT-GRN:數碼管;(3)CAP、CAP-ELE:電容與電解電容;(4)CRYSTAL:晶振;(5)BUTTON:按鍵;(6)RES:電阻。 用AT89C52單片機外部中斷功能改變數碼管的顯示狀態,當無外部中斷0中斷請求時,主程序運行狀態為數碼管的a~g段依次點亮循環顯示;當有外中斷0輸入時,立即產生中斷,轉而執行中斷服務程序,數碼管顯示狀態改為閃爍顯示“8”,閃爍顯示“8”8次后,返回主程序斷點處繼續執行主程序,繼續把a~g依次點亮循環顯示。 1、根據外部中斷實驗的原理圖在protues軟件上找到相應器件并連接好線路; 2、在keil軟件上編寫外部中斷的源程序; 3、調試程序并生成hex文件; 4、把hex文件加載到89C52單片機上,調試仿真,直到達到實驗要求為止。 C語言源代碼: - #include
- unsigned char code table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
- void delay(unsigned char delay_time)
- {
- unsigned char i,j;
- for(i=0;i<=delay_time;i++)
- {
- for(j=0;j<=200;j++);
- }
- }
- void init_tx()
- {
- EA=1;
- EX0=1;
- IP=0x00;
- }
- void main()
- {
- unsigned char i;
- init_tx();
- while(1)
- {
- for(i=0;i<8;i++)
- {
- P1=table[i];
- delay(200);
- }
- }
- }
- void tx0() interrupt 0
- {
- unsigned char i;
- P1=0x00;
- delay(200);
- for(i=1;i<=15;i++)
- {
- P1=~P1;
- delay(200);
- }
- }
復制代碼
運行仿真程序,當沒有0中斷請求時,數碼管從a~g依次循環閃爍;當按一下TNT0的按鍵時,就相當于輸入了中斷請求,數碼管將會出現8次“8”后,然后再次從a~g依次循環顯示。
1.001.jpg (49.46 KB, 下載次數: 241)
下載附件
2017-1-14 02:17 上傳
1.002.jpg (49.51 KB, 下載次數: 154)
下載附件
2017-1-14 02:17 上傳
|