求51微控制器簡單的中斷c語言程式

時間 2021-08-30 09:55:54

1樓:樂隱生態農學院

這個是我自己做的 99s的計數器。用數碼管顯示的,這裡使用了中斷,其目的是為了通過中斷來精確計算真實的時間。如果還有需要,給我郵箱,我這裡還有不少資料,我學了2個多月,基本也算有點小成了吧。

呵//自行設計 99s,用數碼管顯示!

#include

#define uchar unsigned char#define uint unsigned intsbit wei=p1^2;

sbit duan=p1^1;

uchar num;

uchar i,j;

uchar code table=; //數碼管模組void delayms(unsigned int i) // 毫秒延時

void fuzhi(uchar x,uchar y)void main()

//程式在此等待中斷的到來

}void t0_time() interrupt 1if(i==10)

if(j==10)j=0 ; //j超過9 就置為0}

2樓:做而論道

//微控制器,一個定時器,能使發光二極體亮1s,滅1s,周而復始。

#include

#define uchar unsigned char#define uint unsigned intvoid init();

uchar a = 0;

//----------------------------main()

} //----------------------------void init()

//----------------------------void timer0() interrupt 1

3樓:匿名使用者

#include

#define uint unsigned int#define uchar unsigned charsbit beep=p3^5;

uchar i;

uchar code table1=;

uchar code table= ;

uchar num;

uint m;

void delay(uint z);

void main()} }

void delay(uint z)

void enter0()interrupt 0 //第一個中斷無源蜂鳴器響,無源蜂鳴器響要給響,需要不停給高低電平。

}void enter1()interrupt 2 第二個中斷是數碼管從0到f閃爍。}}

註釋: p0是控制led, p2控制數碼管。

4樓:出荃帖旋

首先你這問題不難,現在回答你這問題的難點在於你妹給出電路圖。

在此給出你程式的大體思路,

1、寫兩個子函式,一個是實現8個led順序點亮的函式1,俗稱的流水燈,另一個是數碼管顯示「sos」的函式2

2、在主程式中去呼叫函式1,完了跟著檢測按鍵是否按下,檢測到按鍵後,呼叫函式1,完了多迴圈幾次函式2的呼叫來實現你的「顯示一段時間後返回led順序點亮」

注意:按鍵檢測需要考慮去抖動的問題,寫的高大上一點,可以加入定時器,實現你的點亮一段時間。

望採納,有問題在追加,還不會寫可以發電路圖出來再說

求89c51微控制器簡單中斷程式,用c語言編寫,題目如圖

5樓:匿名使用者

#include

#include "intrins.h"

#include "absacc.h"

#define uchar unsigned charuchar ledtab=;//0-9

uchar num,cnt;

bit flag=0;

void ext1() interrupt 2void t1isr() interrupt 3 //顯示}main()

求89c51微控制器外部中斷程式,c語言編寫。

6樓:匿名使用者

方法類似,補寫程式如下:

#include

#define uint unsigned int#define uchar unsigned charsbit led=p0^0;

sbit led1=p0^1;

void delay1ms (uint z)void exter() interrupt 2void exter0() interrupt 0main()

7樓:匿名使用者

補充sbit led0=p0^1;

void exter0() interrupt 0void main(void)

只是中斷0只有一次可以通過外表辨別出來,最好**設斷點,不過好在出現簡單,應該可以理解吧

求一個簡單的51微控制器c語言程式設計~

8樓:鳳凰與涅槃射手

機的外部結構:1.

dip40

雙列直插;

2.p0,p1

,p2,p3

四個8位準雙向

i/o引腳;(作為

i/o輸入時,要先輸出高電平)

3.電源

vcc(

pin40

)和地線

gnd(

pin20

);4.

高電平復位

reset

(pin9

);(10uf

電容接vcc

與reset

,即可實現上電覆位)

5.內建振盪電路,外部只要接晶體至x1(

pin18

)和x0

(pin19

);(頻率為主頻的

12倍)

6.程式配置ea(

pin31

)接高電平

vcc;(執行微控制器內部

rom中的程式)

7.p3

支援第二功能:

rxd、

txd、

int0

、int1、t0

、t1微控制器內部

i/o部件:(

所為學習微控制器,實際上就是程式設計控制以下

i/o部件,完成指定任務

) 1.四個8

位通用i/o

埠,對應引腳p0、

p1、p2和

p3;2.兩個

16位定時計數器;(

tmod

,tcon

,tl0

,th0

,tl1

,th1)3.

一個序列通訊介面;(

scon

,sbuf)4.

一箇中斷控制器;(ie,

ip)針對at89c52

微控制器,標頭檔案

at89x52.h

給出了sfr

特殊功能暫存器所有埠的定義。

c語言程式設計基礎:1.

十六進位制表示位元組

0x5a

:二進位制為

01011010b

;0x6e

為01101110。2.

如果將一個

16位二進數賦給一個

8位的位元組變數,則自動截斷為低

8位,而丟掉高8位。

3.++var

表示對變數

var先增一;

var—

表示對變數後減一。

4.x |= 0x0f;

表示為x = x | 0x0f;

5.tmod = ( tmod & 0xf0 ) | 0x05;

表示給變數

tmod

的低四位賦值

0x5,而不改變

tmod

的高四位。

6.while( 1 );

表示無限執行該語句,即死迴圈。語句後的分號表示空迴圈體,也就是

51微控制器 c語言 如何實現中斷呼叫 10

9樓:刁刁哥

你這個不是中斷呼叫,只是一種模式選擇。也就是按鍵1按下之後按照一種方式掃描顯示燈回,按鍵2按下之後答按照另一種方式顯示燈·············。很簡單的。

我習慣用switch case 結構,想想就解決了。

10樓:匿名使用者

在你程式裡設定個檢測條件,檢測到按鍵後就無條件跳轉就ok了

11樓:昍朤

#include

sbit d1=p2^0;

sbit p1=p2^1;

void main()

void main()

void main()

void zd0() interrupt 0void zd1() interrupt 1用的是外部中斷0和1,程式很簡單,註釋就不內寫了。如果有錯誤的話,還容請指正。

C語言51微控制器中斷巢狀問題

對於普通51而言,不會存在中斷巢狀的情況,只有如stc系列的51,可以設定4個級別的中斷優先順序才有巢狀情況的發生。雖然外部中斷0 定時器0,外部中斷啊1.表明了其優先順序的高低,只是同時申請中斷時高階的先響應而已,不會打斷低優先順序的中斷。 必須返回低階中斷,你可以設定一個標誌位,在退出高階中斷時...

微控制器C語言程式設計,51微控制器C語言程式設計

使用兩個定時器或一個定時器中使用兩個計數都能滿足你的要求。建議使用一個定時器和一個計數器即可,如計數器為i,則if i 測溫定時 0 溫度測量 if i 步進電機定時 0 步進電機控制 注 此時要求兩個控制模組的定時步長是一致,比如都是1ms 設定一個比較小的定時間隔,例如1ms,用靜態變數累加,比...

C語言鬧鐘程式,用C語言寫51微控制器鬧鐘程式

如果在vc 中考慮採用定時器 如果不用vc 考慮採用多執行緒 如何拿微控制器用c語言程式設計做一個鬧鐘?現在智慧手機是設定好的,可以用手機的鬧鐘就可以了 用c語言寫51微控制器鬧鐘程式 實現功能 本程式實現在p1口模擬一個流水燈程式 include define p out p1 巨集定義輸出的i ...