freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

簡易秒表的設(shè)計與制作(編輯修改稿)

2025-02-17 13:42 本頁面
 

【文章內(nèi)容簡介】 include sbit key1=P3^2。 sbit key2=P3^3。 sbit led=P1^0。 unsigned char duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。 void delay(unsigned int z) { unsigned int x,y。 for(x=z。x0。x) for(y=125。y0。y)。 } void int0() interrupt 0 { unsigned char j。 for(j=0。j10。j++) { led=~led。 delay(500)。 } } void int1() interrupt 2 { unsigned char i。 for(i=0。i16。i++) { P2=duan[i]。 delay(500)。 } } void main() { key1=1。 key2=1。 IE=0x85。 IP=0x04。 IT0=1。 IT1=1。 P2=0。 led=0。 while(1)。 } 2022/2/14 29 任務(wù) 2 認識單片機的定時器 /計數(shù)器 定時 /計數(shù)器是單片機系統(tǒng)一個重要的部件,其工作方式靈活、編程簡單、使用方便,可用來實現(xiàn)定時控制、延時、頻率測量、脈寬測量、信號發(fā)生、信號檢測等。此外,定時 /計數(shù)器還可作為串行通信中波特率發(fā)生器。 1. 單片機的定時器 /計數(shù)器 MCS51單片機有兩個 16位定時器 /計數(shù)器,分別為 T0和 T1。T0和 T1又分別可分為兩個 8位定時器 /計數(shù)器,名為 TH0/TL0和TH1/TL1。 MCS51單片機的定時器 /計數(shù)器的本質(zhì)都是是 計數(shù)器 。 對 MCS51單片機來說,當(dāng)選擇單片機的機器周期作為計數(shù)對象時,它們是 定時器 ;當(dāng)對通過 T0引腳( )或 T1引腳()引入的外部脈沖作為計數(shù)對象時,它們是 計數(shù)器 。定時/計數(shù)功能由軟件控制和切換,如圖 38所示。 圖 38 MCS51單片機定時器 /計數(shù)器結(jié)構(gòu)示意圖 MCS51單片機定時器 /計數(shù)器工作原理如圖 39所示。 圖 39 MCS51單片機定時器 /計數(shù)器工作原理圖 ( 1)定時器 /計數(shù)器的基本工作原理 ?當(dāng) T0或 T1用做定時器時,其計數(shù)脈沖來源于晶振時鐘輸出信號的 12分頻,即每個機器周期使計數(shù)器加 1; ?當(dāng) T0或 T1用做計數(shù)器時,只要 T0或 T1引腳上有一個從 1到 0的負跳變,相應(yīng)的計數(shù)器就加 1;單片機只在每個機器周期的 S5P2狀態(tài)對 T0及 T1引腳上的電平進行一次采樣,同時單片機需要用兩個機器周期來識別一次負跳變,所以單片機計數(shù)器的最高計數(shù)頻率為晶振頻率的 1/24。 ( 2)定時器 /計數(shù)器的結(jié)構(gòu) MCS51單片機定時器 /計數(shù)器工作原理如圖 310所示。 圖 310 MCS51單片機定時器 /計數(shù)器結(jié)構(gòu)圖 ( 3)定時器 /計數(shù)器的控制 定時 /計數(shù)器的控制關(guān)系(以 T1為例)如圖 311所示。 圖 311 T1定時器 /計數(shù)器控制關(guān)系圖 與定時器 /計數(shù)器有關(guān)的 SFR主要有 TMOD和 TCON。 ?定時器方式控制寄存器 TMOD GATE:門控位,參與定時器的啟停管理。 0:軟件啟動定時器,即用 指令使 TCON中的 TR1(TR0)置 1即可啟動定時器 1(定時器 0)。 1 :軟件和硬件共同啟動定時器,即用指令使 TCON中的 TR1(TR0)置 1時,只有外部中斷 INT1(INT0)引腳輸入高電平時 才能啟動定時器 1(定時器 0)。 C/T:模式選擇位。 0:定時, 1:計數(shù)。 M1M0:方式選擇位。 00:方式 0, 01:方式 1, 10:方式 2, 11:方式 3。 ?定時器控制寄存器 SCON TF1():定時器 1溢出標(biāo)志位。當(dāng)定時器 1計滿溢出時,由硬件自 動使 TF1置 1,并申請中斷。對該標(biāo)志位有兩種處理方 法,一種是以中斷方式工作,即 TF1置 1并申請中斷,響 應(yīng)中斷后,執(zhí)行中斷服務(wù)程序,并由硬件自動使 TF1清 0;另一種以查詢方式工作,即通過查詢該位是否為 1來 判斷是否溢出, TF1置 1后必須用軟件使 TF1清 0。 TR1():定時器 1啟停控制位。 GATE=0時,用軟件使 TR1置 1即啟動 定時器 1,若用軟件使 TR1清 0則停止定時器 1。 GATE=1 時,用軟件使 TR1置 1的同時外部中斷 INT1的引腳輸入高 電平才能啟動定時器 1。 TF0():定時器 0溢出標(biāo)志位。其功能同 TF1。 TR0():定時器 0啟??刂莆?。其功能同 TR1。 IE1():外部中斷 1請求標(biāo)志位。 IT1():外部中斷 1觸發(fā)方式選擇位。 IE0():外部中斷 0請求標(biāo)志位。 IT0():外部中斷 0觸發(fā)方式選擇位。 /計數(shù)器的工作方式 定時器 /計數(shù)器共有 4中工作方式,由 TMOD寄存器中的 M1M0決定,功能如表 33所示。 表 33 定時器 /計數(shù)器工作方式 ( 1) 方式 0 在方式 0下,定時器 /計數(shù)器是一個使用 13位的定時 /計數(shù)器( THi70+TLi40)。以 T1為例,方式 0的邏輯結(jié)構(gòu)圖如圖 312所示。 圖 312 T1方式 0邏輯結(jié)構(gòu)圖 在方式 0下: 定時時間 t = (213 X) T機 (μs) 計數(shù)初值 X= 213 t/T機 其中, T機是單片機的機器周期, 12MHz時 T機 =1μs ,則最大定時時間 t=213μs = 。 【 實例 4】 假設(shè)晶振頻率為 12MHz,計算定時器 T1在方式 0下定時時間為 500?s時的定時初值。 解: 計數(shù)初值 X=213500/1=7692= 1 1110 0000 1100B 注意:方式 0的 TL1高 3位未用,可填 0 ,即在低 5位前插入3個 0, 因此 X= 1111 0000 0000 1100B = F00CH ( 2) 方式 1 在方式 1下,定時器 /計數(shù)器是一個使用 16位的定時 /計數(shù)器( THi+TLi)。以 T1為例,方式 1的邏輯結(jié)構(gòu)圖如圖 313所示。 圖 313 T1方式 1邏輯結(jié)構(gòu)圖 在方式 1下: 定時時間 t = (216 X) T機 (μs) 計數(shù)初值 X= 216 t/T機 12MHz時,最大定時時間 t=216μs = 。 ( 3) 方式 2 在方式 2下,定時器 /計數(shù)器是一個使用 8位的能夠自動重裝初值的定時 /計數(shù)器。 THi中的 8位用于存放定時初值或計數(shù)初值, TLi中的 8位用于加 1計數(shù)器, TLi溢出后 , THi數(shù)值可自動裝入 TLi。 以 T1為例,方式 2的邏輯結(jié)構(gòu)圖如圖 314所示。 圖 314 T1方式 2邏輯結(jié)構(gòu)圖 在方式 2下: 定時時間 t = (28 X) T機 (μs) 計數(shù)初值 X= 28 t/T機 12MHz時,最大定時時間 t=28μs = 。 ( 4) 方式 3 在方式 3下, 2個定時器 /計數(shù)器共有三種狀態(tài),方式 3的邏輯結(jié)構(gòu)圖如圖 315所示。 圖 315 方式 3邏輯結(jié)構(gòu)圖 ?TH0+TF1+TR1組成的 8位定時器,只能用于定時。 ?TL0+TF0+TR0組成的 8位定時 /計數(shù)器,既可用于定時, 也能用于計數(shù)。 ?T1組成的無中斷功能的定時器。 ( 5) 不同工作方式的定時初值或計數(shù)初值的計算方法 不同工作方式的定時初值或計數(shù)初值的計算方法如下表 34所示。 裝載計數(shù)初值時: THx = X / 256, TLx = X % 256 ( X = 0、 1) 表 34 不同工作方式的定時初值或計數(shù)初值 2022/2/14 45 任務(wù) 3 利用單片機輸出方波 初始化的步驟如下: ( 1)定時器 /計數(shù)器的初始化 ?確定定時器 /計數(shù)器的工作方式,確定方式控制字,并寫入 TMOD。 ?預(yù)置定時初值或計數(shù)初值,根據(jù)定時時間或計數(shù)次數(shù),計 算定時初值或計數(shù)初值,并寫入 TH0、 TL0或 TH TL1。 ?根據(jù)需要開放定時器 /計數(shù)器的中斷,給 IE中的相關(guān)位賦值。 ?啟動定時器 /計數(shù)器,給 TCON中的 TR1或 TR0置 1。 ( 2)利用單片機的定時器 /計數(shù)器設(shè)計簡易方波發(fā)生器 【 實例 34】 在 1 ms(頻率 1kHz)的方波,要求采用定時器 1方式 1的查詢法和中斷法分別設(shè)計程序,晶振頻率為 12MHz。 根據(jù)題意,只要使 500?s取反一次即可得到周期 1 ms的方波,因而 T1的定時時間為 500?s。 解:計數(shù)初值 X=216 T/T機 =65536500/1=65036=FE0CH 則 TH1 = 0xfe TL1 = 0x0c 定時器 1方式 1時, TMOD=0x10 查詢法參考程序 include sbit p1_0=P1^0。 void main() { TMOD=0x10。 TH1=0xfe。 TL1=0x0c。 TR1=1。 p1_0=0。 while(1) { while(!TF1)。 TF1=0。 p1
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1