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 ...