標題: 單片機定時器、計數(shù)器實驗 [打印本頁]
作者: sqwwsq 時間: 2017-11-26 02:00
標題: 單片機定時器、計數(shù)器實驗
一、實驗名稱
定時、計數(shù)器實驗
二、實驗目的及要求
1.掌握 51 單片機的定時/計數(shù)器工作原理。
2.編程實現(xiàn)定時和計數(shù)功能的控制。
三、實驗主要儀器設備
PC機
單片機有 2 個 16 位的定時器/計數(shù)器,分別是 T0 和 T1。它們有兩種工作狀態(tài),可以工作在定時方式和計數(shù)方式;定時是對內(nèi)部的機器周期進行加法計數(shù),計數(shù)是對外部輸入的計數(shù)脈沖進行加法計數(shù),T0 的外部計數(shù)脈沖從 P3.4 引腳輸入,T1 的外部計數(shù)脈沖從 P3.5 引腳輸入;計數(shù)滿產(chǎn)生溢出,硬件使定時器/計數(shù)器 T0、T1 的中斷請求標志 TF0、TF1 置位;如果定時器、計數(shù)器允許中斷,則可以采用中斷方式進行溢出處理,而如果定時器/計數(shù)器不允許中斷,則可以采用查詢方式進行溢出處理。
1.定時中斷方式
2.計數(shù)器的應用
3.方波
4.蜂鳴器
六、實驗步驟
- 在Keil uVision3中編譯鏈接生成點陣.hex文件
源代碼如下:
#include<reg51.h>
char i=100;
void main(){
TMOD=0x01;
TH0=0xee;
TL0=0x00;
P1=0x00;
EA=1;
ET0=1;
TR0=1;
while(1); { ;}
}
void time0() interrupt 1{
TH0=0xee;
TL0=0x00;
i--;
if(i<=0){
P1=~P1;
i=100;
}
}

- 在Keil uVision3中編譯鏈接生成點陣.hex文件
源代碼如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint i){
uint j;
for(;i>0;i--) ;
}
void main(){
TMOD=0X50;
TH1=0XFF;
TL1=0XFC;
EA=1;
ET1=1;
TR1=1;
while(1) ;
}
void T1_int(void) interrupt 3{
for(;;){
P1=0XFF;
delay(500);
P1=0;
delay(500);
}
}

作者: 暖風798 時間: 2020-4-15 09:55
樓主,那個空心的引腳怎么弄?還有就是如何讓沒有連線的引腳對應起來?
作者: 陳朱聯(lián) 時間: 2020-5-21 17:53
那個叫Default 右鍵界面可以看到
作者: 姐姐啊是 時間: 2020-5-27 13:54
有流程圖嗎,大佬
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |