日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

8254定时/计数器实验

發(fā)布時(shí)間:2023/12/29 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8254定时/计数器实验 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載的:
https://blog.csdn.net/as1072966956/article/details/80718843
8254定時(shí)/計(jì)數(shù)器應(yīng)用實(shí)驗(yàn)

1 實(shí)驗(yàn)?zāi)康?/p>

  • 掌握8254的工作方式及應(yīng)用編程。

  • 掌握8254典型應(yīng)用電路的接法。

  • 2 實(shí)驗(yàn)設(shè)備

    PC機(jī)一臺(tái),TD-PITE實(shí)驗(yàn)裝置一套。

    3 實(shí)驗(yàn)內(nèi)容

  • 計(jì)數(shù)應(yīng)用實(shí)驗(yàn)。編寫(xiě)程序,應(yīng)用8254的計(jì)數(shù)功能,使用單次脈沖模擬計(jì)數(shù),使每當(dāng)按動(dòng)‘KK1+’5次后,產(chǎn)生一次計(jì)數(shù)中斷,并在屏幕上顯示一個(gè)字符‘M’。

  • 定時(shí)應(yīng)用實(shí)驗(yàn)。編寫(xiě)程序,應(yīng)用8254的定時(shí)功能,產(chǎn)生一個(gè)1s的方波。

  • 4 實(shí)驗(yàn)原理

    8254是Intel公司生產(chǎn)的可編程間隔定時(shí)器。是8253的改進(jìn)型,比8253具有更優(yōu)良的性能。8254具有以下基本功能:

    (1)有3個(gè)獨(dú)立的16位計(jì)數(shù)器。

    (2)每個(gè)計(jì)數(shù)器可按二進(jìn)制或十進(jìn)制(BCD)計(jì)數(shù)。

    (3)每個(gè)計(jì)數(shù)器可編程工作于6種不同工作方式。

    (4)8254每個(gè)計(jì)數(shù)器允許的最高計(jì)數(shù)頻率為10MHz(8253為2MHz)。

    (5)8254有讀回命令(8253沒(méi)有),除了可以讀出當(dāng)前計(jì)數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。

    (6)計(jì)數(shù)脈沖可以是有規(guī)律的時(shí)鐘信號(hào),也可以是隨機(jī)信號(hào)。計(jì)數(shù)初值公式為:

    n=fCLKi÷fOUTi、其中fCLKi是輸入時(shí)鐘脈沖的頻率,fOUTi是輸出波形的頻率。

    圖4.27是8254的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU的接口、內(nèi)部控制電路和三個(gè)計(jì)數(shù)器組成。8254的工作方式如下述:

    (1)方式0:計(jì)數(shù)到0結(jié)束輸出正躍變信號(hào)方式。

    (2)方式1:硬件可重觸發(fā)單穩(wěn)方式。

    (3)方式2:頻率發(fā)生器方式。

    (4)方式3:方波發(fā)生器。

    (5)方式4:軟件觸發(fā)選通方式。

    (6)方式5:硬件觸發(fā)選通方式。

    圖4.27 8254的內(nèi)部接口和引腳

    8254的控制字有兩個(gè):一個(gè)用來(lái)設(shè)置計(jì)數(shù)器的工作方式,稱(chēng)為方式控制字;另一個(gè)用來(lái)設(shè)置讀回命令,稱(chēng)為讀回控制字。這兩個(gè)控制字共用一個(gè)地址,由標(biāo)識(shí)位來(lái)區(qū)分。控制字格式如表4.3—4.5所示。

    表4.3 8254的方式控制字格式

    D7
    D6
    D5
    D4
    D3
    D2
    D1
    D0
    計(jì)數(shù)器選擇
    讀/寫(xiě)格式選擇
    工作方式選擇
    計(jì)數(shù)碼制選擇
    00-計(jì)數(shù)器0
    01-計(jì)數(shù)器1
    10-計(jì)數(shù)器2
    11-讀出控制
    字標(biāo)志
    00-鎖存計(jì)數(shù)值
    01-讀/寫(xiě)低8位
    10-讀/寫(xiě)高8位
    11-先讀/寫(xiě)低8位
    再讀/寫(xiě)高8位
    000-方式0
    001-方式1
    010-方式2
    011-方式3
    100-方式4
    101-方式5
    0-二進(jìn)制數(shù)
    1-十進(jìn)制數(shù)
    表4.4 8254讀出控制字格式

    D7
    D6
    D5
    D4
    D3
    D2
    D1
    D0
    1
    1
    0-鎖存計(jì)數(shù)值
    0-鎖存狀態(tài)信息
    計(jì)數(shù)器選擇(同方式控制字)
    0
    表4.5 8254狀態(tài)字格式

    D7
    D6
    D5
    D4
    D3
    D2
    D1
    D0
    OUT引腳現(xiàn)行狀態(tài)
    1-高電平
    0-低電平
    計(jì)數(shù)初值是否裝入
    1-無(wú)效計(jì)數(shù)
    0-計(jì)數(shù)有效
    計(jì)數(shù)器方式(同方式控制字)

    8254實(shí)驗(yàn)單元電路圖如下圖所示:

    圖4.28 8254實(shí)驗(yàn)電路原理圖

    5 實(shí)驗(yàn)步驟

  • 計(jì)數(shù)應(yīng)用實(shí)驗(yàn)
  • 編寫(xiě)程序,將8254的計(jì)數(shù)器0設(shè)置為方式3,計(jì)數(shù)值為十進(jìn)制數(shù)4,用單次脈沖KK1+作為CLK0時(shí)鐘,OUT0連接MIR7,每當(dāng)KK1+按動(dòng)5次后產(chǎn)生中斷請(qǐng)求,在屏幕上顯示字符“M”。

    實(shí)驗(yàn)步驟:

    (1)實(shí)驗(yàn)接線如圖4.29所示。

    (2)編寫(xiě)實(shí)驗(yàn)程序,經(jīng)編譯、鏈接無(wú)誤后裝入系統(tǒng)。

    (3)運(yùn)行程序,按動(dòng)KK1+產(chǎn)生單次脈沖,觀察實(shí)驗(yàn)現(xiàn)象。

    (4)改變計(jì)數(shù)值,驗(yàn)證8254的計(jì)數(shù)功能。

    圖4.29 8254計(jì)數(shù)應(yīng)用實(shí)驗(yàn)接線圖

    實(shí)驗(yàn)程序清單(A82541.ASM)

    A8254 EQU 06C0H ;8254計(jì)數(shù)器0端口地址
    B8254 EQU 06C2H ;8254計(jì)數(shù)器1端口地址
    C8254 EQU 06C4H ;8254計(jì)數(shù)器2端口地址
    CON8254 EQU 06C6H ;8254 控制寄存器端口地址

    SSTACK SEGMENT STACK
    DW 32 DUP(?)
    SSTACK ENDS

    CODE SEGMENT
    ASSUME CS:CODE, SS:SSTACK
    START: PUSH DS
    MOV AX, 0000H
    MOV DS, AX
    MOV AX, OFFSET IRQ7 ;取中斷入口地址
    MOV SI, 003CH ;中斷矢量地址
    MOV [SI], AX ;填I(lǐng)RQ7的偏移矢量
    MOV AX, CS ;段地址
    MOV SI, 003EH
    MOV [SI], AX ;填I(lǐng)RQ7的段地址矢量
    CLI ;中斷屏蔽clear interrupt
    POP DS

    ;初始化主片8259MOV AL, 11H ;0001 0001 級(jí)聯(lián),邊沿觸發(fā),要ICW4OUT 20H, AL ;ICW1MOV AL, 08H ;0000 1000 中斷類(lèi)型號(hào)從8開(kāi)始OUT 21H, AL ;ICW2MOV AL, 04H ;0000 0100 OUT 21H, AL ;ICW3MOV AL, 01H ;0000 0001 非緩沖方式,8086/8088配置OUT 21H, AL ;ICW4MOV AL, 6FH ;OCW1 0110 1111 IR7,IR4引腳的中斷開(kāi)放OUT 21H, AL;8254MOV DX, CON8254MOV AL, 10H ;0001 0000計(jì)數(shù)器0,方式0OUT DX, ALMOV DX, A8254MOV AL, 04HOUT DX, ALSTI ;開(kāi)中斷

    AA1: JMP AA1 ;無(wú)限循環(huán)

    IRQ7: MOV DX, A8254
    MOV AL, 04H ;0000 0100
    OUT DX, AL
    MOV AH, 02H ;M 4DH
    MOV DL, 4DH
    INT 21H
    MOV AH, 02H
    MOV DL, 20H
    INT 21H
    MOV AL, 20H
    OUT 20H, AL ;中斷結(jié)束命令
    IRET
    CODE ENDS
    END START

  • 定時(shí)應(yīng)用實(shí)驗(yàn)
  • 編寫(xiě)程序,將8254的計(jì)數(shù)器0和計(jì)數(shù)器1都設(shè)置為方式3,用信號(hào)源1MHz作為CLK0時(shí)鐘,OUT0為波形輸出1ms方波,再通過(guò)CLK1輸入,OUT1輸出1s方波。

    實(shí)驗(yàn)步驟:

    (1)接線圖如圖4.30所示。

    (2)根據(jù)實(shí)驗(yàn)內(nèi)容,編寫(xiě)實(shí)驗(yàn)程序,經(jīng)編譯、鏈接無(wú)誤后裝入系統(tǒng)。

    (3)單擊按鈕,運(yùn)行實(shí)驗(yàn)程序,8254的OUT1會(huì)輸出1s的方波。

    (4)用示波器觀察波形的方法:單擊虛擬儀器菜單中的按鈕或直接單擊工具欄的按鈕,在新彈出的示波器界面上單擊按鈕運(yùn)行示波器,就可以觀測(cè)出OUT1輸出的波形。

    實(shí)驗(yàn)程序清單(A82542.ASM)

    A8254 EQU 06C0H ;8254計(jì)數(shù)器0端口地址
    B8254 EQU 06C2H ;8254計(jì)數(shù)器1端口地址
    C8254 EQU 06C4H ;8254計(jì)數(shù)器2端口地址
    CON8254 EQU 06C6H ;8254 控制寄存器端口地址

    SSTACK SEGMENT STACK
    DW 32 DUP(?)
    SSTACK ENDS
    CODE SEGMENT
    ASSUME CS:CODE
    START: MOV DX, CON8254 ;8254
    MOV AL, 36H ;0011 0110計(jì)數(shù)器0,方式3
    OUT DX, AL
    MOV DX, A8254
    MOV AL, 0E8H ;03E8H --> 1000
    OUT DX, AL
    MOV AL, 03H
    OUT DX, AL
    MOV DX, CON8254 ;8254
    MOV AL, 76H ;0111 0110計(jì)數(shù)器1,方式3
    OUT DX, AL
    MOV DX, B8254
    MOV AL, 0E8H ;03E8H --> 1000
    OUT DX, AL
    MOV AL, 03H
    OUT DX, AL
    AA1: JMP AA1
    CODE ENDS
    END START

    圖4.30 8254定時(shí)應(yīng)用實(shí)驗(yàn)接線圖

    附表 輸入/輸出接口編址

    信號(hào)線
    編址空間
    主片8259

    20H、21H
    從片8259

    A0H、A1H
    擴(kuò)展I/O接口
    IOY0
    0600H~063FH
    IOY1
    0640H~067FH
    IOY2
    0680H~06BFH
    IOY3
    06C0H~06FFH
    附表 INT 10H 使用說(shuō)明

    入口:AH=01H,AL=數(shù)據(jù)
    功能:寫(xiě)AL中的數(shù)據(jù)到屏上
    入口:AH=06H,DS:BX=字串首址,且字串尾用00H填充
    功能:顯示一字串,直到遇到00H為止
    附表 INT 21H使用說(shuō)明

    入口:AH=00H或AH=4CH
    功能:程序終止
    入口:AH=01H
    功能:讀鍵盤(pán)輸入到AL中并回顯
    入口:AH=02H,DL=數(shù)據(jù)
    功能:寫(xiě)DL中的數(shù)據(jù)到顯示屏
    入口:AH=08H
    功能:讀鍵盤(pán)輸入到AL中無(wú)回顯
    入口:AH=09H,DS:DX=字符串首地址,字符串以 ‘′結(jié)束功能:顯示字符串,直到遇到′' 結(jié)束 功能:顯示字符串,直到遇到 '結(jié)’ 為止
    入口:AH=0AH,DS:DX=緩沖區(qū)首地址,(DS:DX)=緩沖區(qū)最大字符數(shù),
    (DS:DX+1)=實(shí)際輸入字符數(shù),(DS:DX+2)=輸入字符串起始地址
    功能:讀鍵盤(pán)輸入的字符串到DS:DX指定緩沖區(qū)中并以回車(chē)結(jié)束


    作者:hasp_Jason
    來(lái)源:CSDN
    原文:https://blog.csdn.net/as1072966956/article/details/80718843
    版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!

    總結(jié)

    以上是生活随笔為你收集整理的8254定时/计数器实验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。