1樓:安全管理人
#include
#define uchar unsigned charuchar m=0,i=0;
void main()
void timer0() interrupt 1{th0=(65536-50000)/256;
tl0=(65536-50000)%256;
m++ ;
if(m==5) //12m晶振 定時5*50ms=250ms{m=0;
p1=~(0x01<
[補充]
延時函式是一種粗略計算延時時間的函式
是通過讓微控制器執行空指令,達到等待延時的目的。
經常被應用在對延時時間要求不太嚴格的場合。
而定時器中斷,則是通過對晶振時鐘進行計數
由於晶振的頻率一般是很穩定的,所以晶振的脈衝頻率基本穩定從而通過對脈衝進行計數即可得到準確的延時目的。
中斷延時函式和定時器中斷延時沒有明確的對應關係。
主要是根據你的應用場合來確定使用哪種函式。
2樓:
// 寫了個測試程式,希望對你有幫助
#include
#define uchar unsigned charuchar m=0,i=0;
void main()
void timer0() interrupt 1}
3樓:匿名使用者
把具體要求說清楚後,我才好把按照要求寫的程式貼出來
51微控制器c語言對鍵控雙向流水燈程式設計。用兩個按鍵,中端來做。
4樓:匿名使用者
#include
#define uchar unsigned charuchar num,temp,times,led;
t0isr() interrupt 1
else if(key2==0)
led>>=num;}}
main()
51微控制器c語言編寫流水燈程式? 5
5樓:司莉莉
org 0000h
ljmp main
org 0100h
main: clr p1.5
mov a,#0feh
lop: mov p0,a
lcall delay
rl a
sjmp lop
delay: mov r7,#198
del1: mov r6,#50
del2: mov r5,#23
djnz r5,$
djnz r6,del2
djnz r7,del1
retend
微控制器流水燈c語言程式(8個燈,依次點亮每個燈,延時500ms)
6樓:小夏在深圳
微控制器流水燈c語言程式的源**如下:
#include //51系列微控制器定義檔案#define uchar unsigned char //定義無符號字元
#define uint unsigned int //定義無符號整數
void delay(uint); //宣告延時函式void main(void)
temp=0x80;
for(i=0;i<8;i++) //8個流水燈反向逐個閃動temp=0xfe;
for(i=0;i<8;i++) //8個流水燈依次全部點亮temp=0x7f;
for(i=0;i<8;i++) //8個流水燈依次反向全部點亮void delay(uint t) //定義延時函式擴充套件資料51微控制器流水燈的源**如下
#include
#include
void delay(int a)
main()}}
7樓:
1、用精確定時的方法,設定流水燈執行時的時間間隔,延時時間為500ms。
2、#include "reg51.h"首先寫出微控制器的頭函式。
3、#include "intrins.h"輸入位移函式。
4、unsigned int count=0,led;定義函式。
5、輸入主函式,定義微控制器的埠,寫入延時函式。
6、中斷跳轉,使流水燈執行起來。
8樓:匿名使用者
#include //51系列微控制器定義檔案#define uchar unsigned char //定義無符號字元
#define uint unsigned int //定義無符號整數
void delay(uint); //宣告延時函式void main(void)
}} void delay(uint t) //定義延時函式
51微控制器16路流水燈怎麼用c語言寫,並求每個步驟的講解
9樓:
我給你個簡單的例子:
#include //預處理檔案裡面定義了特殊暫存器的名稱如p1 口定義為p1
void main(void)
;unsigned int a; //定義迴圈用的變數
unsigned char b; //在c51 程式設計中因記憶體有限儘可能注意變數型別的使用
//儘可能使用少位元組的型別,在大型的程式中很
受用do
}while(1);
}程式中的花樣資料可以自以去定義,因這裡我們的led 要at89c51 的p1 引腳為低電平才
會點亮,所以我們要向p1 口的各引腳寫資料o 對應連線的led 才會被點亮,p1 口的八個引
腳剛好對應p1 口特殊暫存器的八個二進位,如向p1 口定資料0xfe,轉成二進位制就是
11111110,最低位d0 為0 這裡p1.0 引腳輸出低電平,led1 被點亮。如此類推,大家不難算
出自己想要做的效果了。
留個郵箱給你發個入門文件
10樓:匿名使用者
這個沒有0實驗板原理圖,沒法寫哈。
大概就是先定義一下管腳,再向管腳寫ff或00初始化。再把第一個燈點亮,再關掉第一個燈,再點亮第二個燈。。。 。。。把它放在do迴圈裡就ok了,
熟練了後,加個for迴圈簡化一下程式,設幾個變數就行了。
11樓:
#include "reg52.h"
#include "intrins.h"
void delay(unsigned int t)}}void main(void)
temp=0x7f;
for(num2=0;num2<8;num2++)temp=0xfe;
for(num1=0;num1<8;num1++)temp=0x7f;
for(num2=0;num2<8;num2++)}}
16個二極體分別接到p0口和p1口.....
參考資料
求基於51微控制器的流水燈的設計
include define uint unsigned int define uchar unsigned charsbit keya p2 1 這裡看你把按鍵設定在哪個引腳上,這個是實現功能2 sbit keyb p2 2 這個是實現功能2sbit keyc p2 7 實現功能3void del...
微控制器程式設計中什麼意思,51微控制器C語言中和的意思是什麼
在微控制器c語言程式設計中,是先加再賦值的意思。例如 test 5 相當於test test 5 51微控制器c語言中 和 的意思是什麼?u8 data 1 相當於 u8 data u8 data 1,u8 data u8temp 相當於 u8 data u8 data u8temp。類似的還有 這...
51微控制器資料搬運c語言程式,51微控制器訪問片內資料儲存器某單元的內容用c語言怎麼寫???
aa i bb i 51微控制器訪問片內資料儲存器某單元的內容用c語言怎麼寫?方法1 char data p 定義一個指向片內ram地址的指標 p 0x30 片內ram地址為0x30 p 0x12 向0x30內寫入立即數0x12 方法2 include char x x dbyte 0x30 將片內...