標題: 單片機定時器、計數(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.蜂鳴器

六、實驗步驟

源代碼如下:

#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;
              }
}            

源代碼如下:
#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
暖風798 發(fā)表于 2020-4-15 09:55
樓主,那個空心的引腳怎么弄?還有就是如何讓沒有連線的引腳對應起來?

那個叫Default 右鍵界面可以看到
作者: 姐姐啊是    時間: 2020-5-27 13:54
有流程圖嗎,大佬




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1