實驗二 定時器實驗

2021-09-09 07:44:55 字數 1610 閱讀 3256

實驗二 定時器實驗

一、實驗要求

89c51內部定時計數器t0,用cpu內部定時器中斷方式計時,實現每一秒鐘輸出狀態發生一次反轉.

、實驗目的

學習89c51內部定時/計數器使用方法,進一步掌握中斷處理程式的程式設計。

、實驗原理

定時器中斷是由微控制器中的定時器溢位而申請的中斷。51微控制器中有兩個定時器t0和t1。關於內部計數器的程式設計主要是定時常數的設定和有關控制暫存器的設定。內部計數器在微控制器中主要有定時器和計數器兩個功能。本實驗使用的是定時器。

定時器有關的暫存器有工作方式暫存器tmod和控制暫存器tcon。tmod用於設定定時器/計數器的工作方式0-3,並確定用於定時還是用於計數。tcon主要功能是為定時器在溢位時設定標誌位,並控制定時器的執行或停止等。

、實驗內容

利用89c51內部定時器t0的溢位中斷方式,實現每一秒鐘輸出狀態(p1.0)發生反轉,每個一分鐘輸出狀態(p1.1)發生反轉,每三分鐘輸出狀態(p1.2)發生發轉。用發光二極體的亮滅來顯示輸出狀態的變化。

、實驗程式框圖

、實驗電路圖

、實驗程式

org 0000h

ljmp main

org 000bh

ljmp itop

org 1000h

main:mov sp,#60h

mov tmod,#01h

mov 30h,#20

mov 31h,#60

mov 32h,#3

mov tl0,#0b0h

mov th0,#3ch

mov a,#0

setb tr0

setb et0

setb ea

here:mov p1,a

sjmp here

itop:mov tl1,#0b0h

mov th1,#3ch

djnz 30h,loop

mov 30h,#20

cpl p1.0

djnz 31h,loop

mov 31h,#60

cpl p1.1

djnz 32h,loop

mov 32h,#3

cpl p1.2

loop:reti

end八、實驗總結

在上次實驗的基礎上,這次實驗中,我們學習了89c51內部定時/計數器使用方法,即學習了微控制器的內部溢位中斷,進一步掌握中斷處理程式的程式設計。

實驗四 定時器實驗

一 實驗目的 1 掌握微控制器定時 計數器的使用方法。2 掌握定時 計數器程式設計方法。二 實驗裝置及軟體 1 pc機 2 keil51 3 proteaus 三 實驗任務 1 迴圈點亮流水等d1 d2 d3 d8,延時採用定時器t0定時100ms 2 迴圈點亮流水等d1 d2 d3 d8,延時採用...

定時器中斷實驗

常用庫函式 定時器引數初始化 void tim timebaseinit tim typedef timx,tim timebaseinittypedef tim timebaseinitstruct typedef struct tim timebaseinittypedef 定時器使能函式 vo...

定時器中斷實驗

今天看了並實際做了一次正點原子的定時器中斷實驗,實驗結果並不重要,這部分教程的意義在於讓我們學會如何去配置乙個定時器中斷。想要使用定時器中斷,我們要進行各種配置,將它們整合到乙個初始化函式裡,在這個函式中我們要做的事主要有 1.定義nvic和定時器初始化的結構體。2.使能定時器時鐘。3.配置nvic...