久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4375|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)匯編語言實驗八 利用定時計數(shù)器產(chǎn)生波形

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:808939 發(fā)表于 2021-7-23 16:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本實驗設(shè)8051微控制器采用的晶振頻率為12MHz,利用定時器T1定時,使P1.0 輸出周期為2ms的方波。目的是為了1、了解8051定時計數(shù)器的硬件結(jié)構(gòu)和寄存器2、掌握8051定時計數(shù)器軟件查詢和中斷的處理方法

1、定時計數(shù)器概述
定時/計數(shù)器,其具有定時和計數(shù)的功能。計數(shù)是指對外部脈沖信號進(jìn)行比較,每來一個脈沖,計數(shù)值加1;當(dāng)產(chǎn)生的信號脈沖很有規(guī)律時,比如1秒鐘來一個,那么計數(shù)多少個脈沖就知道過了多少秒,從而計數(shù)功能可以演化為定時功能。時功能需要用到某個基準(zhǔn)時鐘,通過對基準(zhǔn)時鐘的計數(shù)來完成定時功能。
定時/計數(shù)器的種類比較多,但一般可歸為兩類:
1)專用的定時/計數(shù)器器件(如8253);
2)處理器中集成定時器/計數(shù)器(如8051單片機(jī)自帶2個16位定時/計數(shù)器)。這些定時器一般都有一個輸入時鐘,即基準(zhǔn)時鐘。

定時/計數(shù)器有如下一些用途:
1)產(chǎn)生所需頻率的脈沖。如產(chǎn)生頻率1000hz,占空比1:1的脈沖波。
2)在累加計數(shù)中的應(yīng)用。計數(shù)器可在一段時間內(nèi)記錄信號A經(jīng)整形后的脈沖個數(shù)。
3)在頻率測量中的應(yīng)用。通過測量脈沖寬度或在一定時間內(nèi)測量脈沖的個數(shù),從而推算出脈沖的頻率。
4)定時/計數(shù)器在計時中的應(yīng)用。定時/計數(shù)器可對時鐘信號,如秒信號進(jìn)行計數(shù),也可用來倒計時,秒表計,時間循環(huán)等。
1、8051定時計數(shù)器
8051單片機(jī)內(nèi)部有2個16位的定時/計數(shù)器:T1和T0。
T0定時/計數(shù)器詳解: 寄存器位C/T控制開關(guān),往上是振蕩器,即CPU晶振產(chǎn)生的脈沖,往下是P3.4的引腳,即從外部得到的脈沖信號。進(jìn)來之后首先送到TL0寄存器中,當(dāng)TL0寄存器計數(shù)滿了之后,就會進(jìn)位到TH0寄存器,當(dāng)TH0寄存器計數(shù)滿了之后,就會產(chǎn)生溢出信號,TCON寄存器就會設(shè)置一個相應(yīng)的標(biāo)志,標(biāo)志會引發(fā)CPU的中斷,即51單片機(jī)的內(nèi)核處理單元處理。整個定時器是受到TMOD和TCON這兩個寄存器的控制,分別控制工作模式與工作狀態(tài)。
1、計數(shù)功能與定時功能
計數(shù)功能就是對外部脈沖進(jìn)行計數(shù);
計時就是針對內(nèi)部振蕩器,一般12MHz,除以12 ,就是1MHz,相當(dāng)于一個脈沖就是1us,數(shù)多少個脈沖就知道多少us,就是定時功能;
2、T0相關(guān)寄存器4個
寄存器描述
6個相關(guān)的寄存器:TMOD、TCON、TH0、TL0、TH1、TL1
其中TMOD用于控制和確定各定時/計數(shù)器的功能和工作方式,TCON用于控制各定時/計數(shù)器的啟動和停止計數(shù),同事 包含定時/計數(shù)器的狀態(tài),TH0、TL0用于T0的計數(shù),TH1、TL1用于T1的計數(shù)。系統(tǒng)復(fù)位時,這些寄存器的所有為都被清零。
#TMOD方式寄存器描述

C/T:選擇計數(shù)器或定時器功能,C/T=1位外部脈沖計數(shù)器功能,C/T=0為內(nèi)部脈沖計數(shù)器功能(可做定時器)
GATE:選通控制,GATE=0,由軟件控制TR0或TR1位啟動定時器:GATE=1,由外部中斷引腳INT0(P3.2)和INT1(P3.3)輸入電平分別控制T0和T1的運行。
方式1
方式0和方式1工作過程差不多,只不過方式0為13位計數(shù)方式,最大計數(shù)值只能達(dá)到213=8192;而方式1為16位計數(shù)方式,最大計數(shù)值為216=65536。
當(dāng)工作在計數(shù)方式時,最大計數(shù)值為2^16=65536。
當(dāng)為定時工作方式時,定時時間計算公式為:
T=(216-計數(shù)初值)×晶振周期×12=(216-計數(shù)初值)×12÷晶振頻率
假設(shè)晶振頻率為12MHz,則方式1下最大定時時間T=(2^16-0)×12÷12MHz=65536x1us=65.536ms。
方式2
方式2為8位計數(shù)方式,最大計數(shù)值為2^8,能夠自動重裝計數(shù)值。
方式2特別適合于把定時/計數(shù)器用作串口波特率發(fā)生器。
定時時間T=(2^8-計數(shù)初值)×晶振周期×12 =(2^8-計數(shù)初值)×12÷晶振頻率。
方式1
方式2

方式1詳解: C/T開關(guān)控制脈沖的來源,不管哪種脈沖,都會送到K往后計數(shù),其中K的狀態(tài)受下方邏輯控制。當(dāng)GATE=0,A處輸出1,此時B處的狀態(tài)只受TR0控制,當(dāng)TR0=1,K處開關(guān)閉合,當(dāng)TR0=0,K處開關(guān)斷開,即只通過TR0(軟件控制位)來控制定時器。當(dāng)GATE=1,A處輸出值受INT0引腳控制,當(dāng)TR0=1,此時K狀態(tài)只受INT0控制,當(dāng)INT0=1,K處開關(guān)閉合,當(dāng)INT0=0,K處開關(guān)斷開,即只通過引腳的電平來控制定時器。開關(guān)閉合后,開始計數(shù),TL0計數(shù)滿進(jìn)位到TH0,TH0計數(shù)滿進(jìn)位到TF0(中斷標(biāo)志),即產(chǎn)生中斷給了51。
方式2詳解: 方式2與方式1的前面大部分原理相同,不同的是8位計數(shù)方式,TL0計數(shù)滿直接進(jìn)位給TF0產(chǎn)生中斷,同時通過選通控制將TH0(已設(shè)置好)的值覆蓋到TH0(自動重裝計數(shù)值),重新計數(shù)。
TCON寄存器描述
其中高4位控制定時/計數(shù)器T0和T1的運行,低4位控制外部中斷INT1和INT0的運行。
TF1: T1計數(shù)溢出標(biāo)志位,計數(shù)寄存器產(chǎn)生溢出時由硬件自動置位,置位后向CPU申請中斷,中斷響應(yīng)后硬件自動復(fù)位,若采用程序查詢方式,必須軟件清除該位。
TR1: T1運行控制位,由軟件置位和復(fù)位。當(dāng)GATE(TMOD.7)為0時,由軟件設(shè)置為“1”時立即啟動T1計數(shù)寄存器開始計數(shù),清除為“0”時立即停止T1計數(shù)器寄存器計數(shù)。當(dāng)GATE為1時,置位TR1為“1”時還必須INT1輸入為高電平時,才啟動T1計數(shù),清除為“0”時或INT1輸入為低電平時均可停止T1計數(shù)。
TF0: 定時器T0溢出標(biāo)志位,其含義與TF1類似。
TR0: 定時器T0的運行控制位,其含義與TR1類似。
#使用步驟
1、定時/計數(shù)功能的確定,從而確定C/T位的值;以及T0、T1的選用。
2、計數(shù)值的確定 如果選擇為定時功能,則需要計算計數(shù)值,公式如下:
(注:一個機(jī)器周期等于12個時鐘周期,時鐘周期是晶振振蕩頻率的倒數(shù))
計數(shù)值 = 定時時間/機(jī)器周期 = 定時時間×12/晶振頻率。比如單片機(jī)系統(tǒng)的晶振頻率為12MHz,現(xiàn)需要定時1ms,則計數(shù)值 = 1ms × 12/12MHz = 1000。
3、確定定時/計數(shù)器的工作方式,一般選用方式1和方式2,當(dāng)需要計數(shù)值比較大時(計數(shù)值>256),選用方式1工作,此時最大計數(shù)范圍為2^16。
4、計數(shù)初值的確定,即THn和TLn的確定。因為51單片機(jī)的定時/計數(shù)器是采用計滿溢出的,所以:計數(shù)初值=(計數(shù)最大值-計數(shù)值),從而確定計數(shù)初值。比如計數(shù)值為1000,選用方式2(16位寄存器),則:計數(shù)初值 = 2^16-1000 = 64536 = 0xFC18,所以THn = 0xFC,TLn = 0x18。
5、溢出標(biāo)志位TFn(n=0或1)清0。
6、運行控制位TRn置1,定時/計數(shù)器開始計數(shù)。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. ORG  0000H
  2. LJMP MAIN
  3. ORG 000BH
  4. LJMP COUNT
  5.        
  6.         MAIN:
  7.         CLR P1.0
  8.         MOV R4,#0
  9.         MOV R5,#0
  10.         MOV TMOD,#6
  11.         MOV TH0,#9CH
  12.         MOV TL0,#9CH
  13.         SETB EA
  14.         SETB ET0
  15.         SETB TR0
  16.         SJMP $
  17.        
  18.         COUNT:
  19.         SETB P1.0
  20.         MOV A,R4
  21.         ADD A,R5
  22.         MOV R4,A
  23.         MOV A,R5
  24.         ADDC A,#0
  25.         MOV R5,A
  26.         MOV R3,#250
  27.         DLY:NOP
  28.         MOV R2,#250
  29.         D1:NOP
  30.         DJNZ R2,D1
  31.         DJNZ R3,DLY
  32.         CLR P1.0
  33.         RETI
  34.        
  35.         END
復(fù)制代碼

仿真代碼51hei附件下載:
實驗八工程.7z (53.81 KB, 下載次數(shù): 11)

圖片4.png (48.02 KB, 下載次數(shù): 158)

圖片4.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 五月天天色 | 天天干天天玩天天操 | 日本午夜在线视频 | 亚洲欧美国产精品久久 | 国产精品成人一区二区三区吃奶 | 国产精品中文字幕在线 | 中文字幕av亚洲精品一部二部 | 国产999在线观看 | 国产精品1区2区3区 国产在线观看一区 | 91久久久久久久久久久 | 欧美黄色片| 免费一区二区在线观看 | 欧美黄色片 | 国产免费一二三区 | 欧美炮房 | 国产精品自拍视频 | 久久久精彩视频 | 久久久久久久久久久成人 | 中国人pornoxxx麻豆 | 成人深夜福利网站 | 蜜桃视频在线观看免费视频网站www | 国产一区二区精品在线观看 | 手机在线观看av | 黄a在线观看| 久久艹免费视频 | 亚洲欧美国产毛片在线 | 新疆少妇videos高潮 | 免费观看一区二区三区毛片 | 一级毛片高清 | 亚洲一区二区三区在线播放 | av免费观看在线 | 欧美freesex黑人又粗又大 | 成人欧美在线 | 久久一区二区精品 | 久久久久久久一区二区三区 | 欧美不卡一区二区三区 | 国产精品久久久久久婷婷天堂 | 可以在线观看av的网站 | 农村黄性色生活片 | 少妇一区在线观看 | 国产精品视频 |