中斷和定時器實驗 c語言實現中斷巢狀

2021-04-06 20:50:06 字數 1187 閱讀 9782

題目:通過外部中斷

0,觸發乙個延時過程,假定延時時間為

1秒,延時期間可以點亮乙個

led或讓蜂鳴器發出聲音。已知微控制器晶振頻率為

6 .00mhz

問題:上面的方法可以完成乙個「重複觸發問題」,即定時時間沒有到的時候又來乙個觸發訊號,應該怎麼辦?

解:對於「重複觸發問題」,單片及不響應外部中斷。

硬體電路:

實驗程式: //

程式說明,外部中斷服務程式的工作是

:禁止外中斷,啟動定時器

0,允許定時//器

0中斷,

led1

(p1.0

口)取反。 //

定時器中斷服務程式的工作是:過載

th0和

tl0的初值,延遲

3s後,關閉定

//時器

0,禁止定時器

0中斷,允許外部中斷,

led進入滅狀態。 //

主函式設定定時器

0的工作模式,外中斷的觸發模式(本實驗使用的是脈衝觸

//發),允許總中斷和外中斷。

//yzxled.h

#include

sbit led1=p1^0;

#define on 1

#define off 0

#define reloadth0 0x3c

#define reloadtl0 0x0b0

typedef unsigned char uchar;

uchar time=0,delaytime=10;

//yzxled.c

#include "yzxled.h"

void inter1(void) interrupt 0 using 1

void time0(void) interrupt 1 using 2 }

void main()

實驗結果:程式執行後,

led燈進入滅狀態。當有外部脈衝進入

p3.2

口時,led

燈進入亮狀態。在

led燈亮的期間,再次給

p3.2

口送入一脈衝,

led燈依舊亮,說明程式沒有響應外中斷,因為如果響應外中斷

0服務程式,

led 

應該進入滅狀態。定時結束後,

led燈進入滅狀態,程式等待下次外中斷。

中斷和定時器實驗

實驗五 中斷和定時器實驗 姓名 鄭旅軍學號 0656061 指導老師 鄒慧蘭成績 如有疑問,請zlj800800 163.com 題目 通過外部中斷0,觸發乙個延時過程,假定延時時間為1秒,延時期間可以點亮乙個led或讓蜂鳴器發出聲音。已知微控制器晶振頻率為6 00mhz。可以使用定時器中斷,也可以...

定時器中斷實驗

常用庫函式 定時器引數初始化 void tim timebaseinit tim typedef timx,tim timebaseinittypedef tim timebaseinitstruct typedef struct tim timebaseinittypedef 定時器使能函式 vo...

定時器中斷實驗

今天看了並實際做了一次正點原子的定時器中斷實驗,實驗結果並不重要,這部分教程的意義在於讓我們學會如何去配置乙個定時器中斷。想要使用定時器中斷,我們要進行各種配置,將它們整合到乙個初始化函式裡,在這個函式中我們要做的事主要有 1.定義nvic和定時器初始化的結構體。2.使能定時器時鐘。3.配置nvic...