精华内容
下载资源
问答
  • 用汇编实现8253定时计数器应用实验

    千次阅读 2020-05-25 18:32:19
    用汇编实现8253定时计数器应用实验要求要求1要求2小结 要求 目的: (1)掌握8253可编程定时器/计数器定时方法; (2)掌握8253多级串联实现大时间常数的定时方法; (3)掌握8086与8253的连接方法与控制方法。 内容: (1)...

    用汇编实现8253定时计数器应用实验

    要求

    目的:
    (1)掌握8253可编程定时器/计数器定时方法;
    (2)掌握8253多级串联实现大时间常数的定时方法;
    (3)掌握8086与8253的连接方法与控制方法。
    内容:
    (1)利用8086外接8253可编程定时器/计数器,通道0方式0实现对外部事件进行计数并显示;
    (2)实现频率计功能,8253通道0通过标准脉冲信号(2000HZ)实现1秒定时中断(8259),
    在8253通道1实现对外部频率信号进行计数,测得的计数值用2位数码管显示,测量范围0~99HZ。硬件电路已经搭建好。

    要求1

    C8253       	EQU 	9006H
    P8253_0   	EQU  	9000H
    LEDOUT		EQU		8000H
    DATA SEGMENT
    DATA  ENDS
    CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    BEGIN: 
    	    mov dx,c8253
    	    mov al,00010000B
    	    out dx,al
    	    mov dx,P8253_0
    	    mov al,0Fh
    	    out dx,al
    start:
    	    mov dx,P8253_0
    	    in al,dx
    	    mov dx,LEDOUT
    	    out dx,al
    	    mov dx,P8253_0
    	    in al,dx
    	    jmp start
    CODE ENDS
    END BEGIN
    

    要求2

    P8253_0		EQU 	8000H			;8253地址
    P8253_1		EQU 	8002H
    C8253			EQU 	8006H
    
    
    ICW1    	equ   00010011b     ; 单片8259, 上升沿中断, 要写ICW4
    ICW2    	equ   01100000b     ; 中断号为60H
    ICW4    	equ   00011001b     ; 工作在8086/88 方式
    OCW1    	equ   11111110b     ; 中断屏蔽字,只响应INT0 中断
    
    CS8259A  	EQU		9000h          ; 8259地址
    CS8259B  	EQU		9002h
    
    LEDOUT   	EQU 	0A000H  		; 数码管显示地址
    
    DATA   SEGMENT
    
    
    DATA   ENDS
    
    CODE SEGMENT
    ASSUME CS:CODE,DS:CODE,DS:DATA,ES:DATA
    BEGIN:
    			MOV	AX,  DATA
    			MOV	DS,  AX
    			MOV	ES,  AX
    			CLI
    			MOV	SI,ICW2*4;中断控制程序地址
    			LEA		AX,INT0
    			MOV	[SI],AX
    			MOV	AX,CS
    			MOV	[SI+2],AX
    
    			MOV	AL,ICW1
    			MOV 	DX,CS8259A
    			OUT		DX,AL
    			MOV	AL,ICW2
    			MOV	DX,CS8259B
    			OUT 	DX,AL
    			MOV	AL,ICW4
    			OUT 	DX,AL
    			MOV 	AL,OCW1
    			OUT 	DX,AL
    start:	;初始化通道0和通道1
    			mov dx,c8253
    			mov al,00110000B
    			out dx,al
    			MOV DX,C8253
    			MOV AL,36H;00110110B
    			OUT DX,AL
    			MOV DX,P8253_0
    			MOV  AL,0D0H
    			OUT DX,AL			
    			MOV AL,07H
    			OUT	 DX,AL
    			mov dx,c8253
    			mov al,01110000B
    			out dx,al
    			mov dx,P8253_1
    			mov al,64H
    			out dx,al
    			mov dx,P8253_1
    			mov al,00H
    			out dx,al
    			sti
    LI:			
    			nop
    			jmp LI
    ;中断服务程序
    int0 proc
    			cli    ;频率检测
    			mov dx,P8253_1
    			in al,dx
    			xchg al,ah
    			in al,dx
    			xchg al,ah
    			mov ah,64H
    			sub ah,al
    			mov dx,LEDOUT
    			mov al,ah
    			mov ah,0   ;进制转换
    			mov bl,10 
    			div bl  ;;div之后al为商,ah为余数
    			mov cx,4  ;针对这个范围,商和余数均只占al和ah的低四位
    lp:                                    ;把al的低四位变成al的高四位,在与ah相加即可
    			rcl al,1
    			loop lp
    			add al,ah
    			out dx,al
    			mov dx,P8253_1
    
    			mov dx,P8253_1
    			mov al,64H
    			out dx,al
    			mov dx,P8253_1
    			mov al,00H
    			out dx,al
    			
    			mov dx,CS8259A  ;非自动结束方式,发送结束EOI命令
    			mov al,20h
    			out dx,al
    			sti
    			iret
    int0 endp
    CODE ENDS
    END BEGIN
    
    
    

    小结

    感谢大佬们的帮助,感谢老师,顺便说一下,老师的记性是真的好。。。
    本文章儿童节之前不允许抄袭转载

    展开全文
  • 8253A定时计数器实验报告 汇编与接口
  • 8253定时/计数器实验

    2010-06-12 23:21:36
    8253定时/计数器实验 利用8253可实现分频,再通过8259键盘显示,可下载了解一下,本程序老师给提供的。
  • 8253定时计数器演奏音乐 2 3 ; 8253定时计数器T2输出用于音频驱动 演奏《一闪一闪亮晶晶》 4 5 ; (A9)CS -- (B8)300 6 ; (A12)Φ -- (A11)1A ;输入4.9152MHz 7 ; (A9)CLK2 -- (A11)1QD ;输出307.2KHz...
      1 ; 8253定时计数器演奏音乐
      2 
      3 ; 8253定时计数器T2输出用于音频驱动  演奏《一闪一闪亮晶晶》
      4 
      5 ; (A9)CS    -- (B8)300
      6 ; (A12)Φ   -- (A11)1A  ;输入4.9152MHz
      7 ; (A9)CLK2  -- (A11)1QD ;输出307.2KHz
      8 ; (A9)GATE2 -- (A10)+5V
      9 ; (A9)OUT2  -- 上板喇叭
     10 
     11 CS8253  EQU 0303H       ;8253端口地址
     12 TCON2   EQU 0302H       ;8253的通道2端口地址
     13 TCON1   EQU 0301H       ;8253的通道1端口地址
     14 TCON0   EQU 0300H       ;8253的通道0端口地址
     15 
     16 data segment
     17   state DB 3
     18 ;音符数据
     19 TFREQ   DW 264,264,396,396,440,440,396   ; 1 1 5 5 6 6 5
     20         DW 352,352,330,330,297,297,264   ; 4 4 3 3 2 2 1
     21         DW 396,396,352,352,330,330,297   ; 5 5 4 4 3 3 2
     22         DW 396,396,352,352,330,330,297   ; 5 5 4 4 3 3 2
     23         DW 264,264,396,396,440,440,396   ; 1 1 5 5 6 6 5
     24         DW 352,352,330,330,297,297,264,0 ; 4 4 3 3 2 2 1
     25 
     26 ;节拍数据
     27 TDLY    DW 6000,6000,6000,6000,6000,6000,12000
     28         DW 6000,6000,6000,6000,6000,6000,12000
     29         DW 6000,6000,6000,6000,6000,6000,12000
     30         DW 6000,6000,6000,6000,6000,6000,12000
     31         DW 6000,6000,6000,6000,6000,6000,12000
     32         DW 6000,6000,6000,6000,6000,6000,12000
     33 
     34 data ends
     35 
     36 CODE    SEGMENT
     37         ASSUME CS:CODE, ds:data
     38 
     39 START:  mov ax, data
     40         mov ds, ax
     41         
     42 restart:
     43         MOV SI,OFFSET TFREQ
     44         MOV BX,OFFSET TDLY
     45         
     46 FREQ:   MOV DI,[SI]
     47         CMP DI,0
     48         ;JE START
     49         je next
     50         
     51         CALL SOUND
     52         ADD SI, 2        ;转到下一个音符
     53         ADD BX, 2        ;转到下一个节拍
     54         JMP FREQ
     55 
     56 SOUND:  MOV DX,CS8253   ;8253初始化
     57         MOV AL,0B6H
     58         OUT DX,AL
     59         MOV DX,2
     60         MOV AX,307      ;307.2KHz
     61         DIV DI
     62         MOV DX,TCON2
     63         OUT DX,AL
     64         MOV AL,AH
     65         OUT DX,AL
     66 
     67         MOV AX,[BX]
     68 
     69         
     70 SLOOP:  MOV CX,0018H    ;延时子程序
     71         LOOP $
     72 
     73         DEC AX
     74         JNZ SLOOP
     75         RET
     76         
     77    next:;mov cx, word ptr [state]
     78         mov dl, state
     79         dec dl
     80         mov state, dl
     81         
     82         cmp dl, 0
     83         je stop
     84         jmp restart
     85         
     86    stop:mov ah, 4ch
     87         int 21h
     88 
     89 CODE    ENDS
     90         END START
     91 
     92 ******************************************************
     93 
     94 ; 8253定时计数器演奏音乐
     95 
     96 ; 8253定时计数器T2输出用于音频驱动  演奏《一闪一闪亮晶晶》
     97 
     98 ; (A9)CS    -- (B8)300
     99 ; (A12)Φ   -- (A11)1A  ;输入4.9152MHz
    100 ; (A9)CLK2  -- (A11)1QD ;输出307.2KHz
    101 ; (A9)GATE2 -- (A10)+5V
    102 ; (A9)OUT2  -- 上板喇叭
    103 
    104 data segment
    105   state DB 3
    106 ;音符数据
    107 TFREQ   DW 264,264,396,396,440,440,396   ; 1 1 5 5 6 6 5
    108         DW 352,352,330,330,297,297,264   ; 4 4 3 3 2 2 1
    109         DW 396,396,352,352,330,330,297   ; 5 5 4 4 3 3 2
    110         DW 396,396,352,352,330,330,297   ; 5 5 4 4 3 3 2
    111         DW 264,264,396,396,440,440,396   ; 1 1 5 5 6 6 5
    112         DW 352,352,330,330,297,297,264,0 ; 4 4 3 3 2 2 1
    113 
    114 ;节拍数据
    115 TDLY    DW 6000,6000,6000,6000,6000,6000,12000
    116         DW 6000,6000,6000,6000,6000,6000,12000
    117         DW 6000,6000,6000,6000,6000,6000,12000
    118         DW 6000,6000,6000,6000,6000,6000,12000
    119         DW 6000,6000,6000,6000,6000,6000,12000
    120         DW 6000,6000,6000,6000,6000,6000,12000
    121 
    122 data ends
    123 
    124 CODE    SEGMENT
    125 ASSUME CS:CODE, ds:data
    126 
    127 START:  mov ax, data
    128         mov ds, ax
    129 
    130 restart:
    131         MOV SI,OFFSET TFREQ ;置地址指针
    132         MOV BX,OFFSET TDLY
    133 
    134 FREQ:   MOV DI,[SI]  ;寄存器间接寻址
    135         CMP DI,0     ;0是音符表的终止标志
    136         je next      ;如果DI=0 表明已经结束一次播放 跳转到next
    137 
    138         CALL SOUND   ;段内间接调用子程序sound
    139         
    140         ADD SI, 2        ;转到下一个音符
    141         ADD BX, 2        ;转到下一个节拍
    142         JMP FREQ         ;处理发声当前这个音符
    143 
    144 SOUND:  MOV DX, 303H
    145         MOV AL,10110110B
    146         OUT DX,AL     ;8253初始化 送控制字
    147         
    148         MOV DX,2   ;进行的是字运算
    149         MOV AX,307    ;307.2KHz
    150         DIV DI     ;(dx:ax)/di 结果存到ax
    151         
    152         MOV DX, 302H  ;端口2
    153         OUT DX,AL  ;计算计数初值
    154         MOV AL,AH  ;分高低8位写计数初值
    155         OUT DX,AL
    156 
    157         MOV AX,[BX] ;取节拍数字
    158 
    159 
    160 SLOOP:  MOV CX,0018H    ;延时子程序
    161         LOOP $   ;执行一条loop指令需要17个时钟周期
    162 
    163         DEC AX  ;控制节拍数
    164         JNZ SLOOP
    165         RET
    166 
    167    next:
    168         mov dl, state  ;取内存中的state的值
    169         dec dl         ;自减
    170         mov state, dl  ;更新state
    171 
    172         cmp dl, 0
    173         je stop       ;若dl=0 表明循环次数已够 转去执行stop
    174         jmp restart   ;否则转去执行restart
    175 
    176    stop:mov ah, 4ch   ;返回DOS结束
    177         int 21h
    178 
    179 CODE    ENDS
    180         END START

     

    转载于:https://www.cnblogs.com/yspworld/p/6440982.html

    展开全文
  • 微机原理 实验报告 专业班级 姓名 学 号 实验题目 日 期 实验三可编程定时/计数器8253实验目的 掌握8253定时器的编程原理用示波器观察不同模式下的输出波形 二实验设备 MUT型实验箱8086CPU模块示波器 三实验内容 ...
  • 8253A定时计数器实验、 8255并行接口实验 AD(模数)转换实验 DA(数模)转换实验 数字式时钟(电子钟)
  • 1、熟悉PLC实验装置以及三菱编程软件gxdeveloper8.86。 2、掌握定时器、计数器的编程方法,并学会定时器和计数器的扩展方法。
  • 方式1 :又称可编程单稳态工作方式。功能是在GATE信号的上升沿作用下,输出端OUT产生一个负...在计数过程中OUT保持不变,直到计数器从初值减为1时,输出OUT将变低,再经过一个CLK周期,OUT恢复为高电平,并按已设定的计...

    【资源下载】下载地址:点击下载(1153) 百度网盘

    方式1 :又称可编程单稳态工作方式。功能是在GATE 信号的上升沿作用下,输出端OUT 产生一个负脉冲信号,负脉冲的宽度可由定时器的计数初值和时钟频率编程确定。

    方式2 :又称频率发生器工作方式。当程序将工作方式控制字写入控制字寄存器时,计数器的输出端OUT立即变为高电平。在写入计数初值后,计数器对输入时钟CLK计数。在计数过程中OUT 保持不变,直到计数器从初值减为1时,输出OUT 将变低,再经过一个CLK周期,OUT 恢复为高电平,并按已设定的计数初值重新开始计数。在需要产生某个脉冲信号或将某一个较高频率的脉冲信号分频为较低频率时,可使用8253 的方式2。

    方式3 :又称方波发生器工作方式。方式3 的工作类似于方式2 ,不同之处是方式3 的输出OUT是方波。

     

    展开全文
  • 设定8253的2#通道工作方式为方式0,用于事件计数,当计数值为5时,发出中断请求信号,显示“M”。STACK1 SEGMENT STACKDW 64 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AX,OFFSET IRQ7 ; 修改8259 ...

    设定8253的2#通道工作方式为方式0,用于事件计数,当计数值为5

    时,发出

    中断请求信号,显示“M”。

    a4c26d1e5885305701be709a3d33442f.png

    STACK1 SEGMENT STACK

    DW 64 DUP(?)

    STACK1 ENDS

    CODE SEGMENT

    ASSUME CS:CODE

    START: MOV AX,OFFSET IRQ7 ; 修改8259 中断7 中断矢量

    MOV SI,003CH

    MOV [SI],AX

    MOV AX,CS

    MOV SI,003EH

    MOV [SI],AX

    IN AL,21H ;修改IMR,使IRQ7 中断允许

    AND AL,7FH

    OUT 21H,AL

    MOV AL,90H ;8253 初始化

    OUT 43H,AL

    A1: MOV AL,05H ;赋8253 2 号计数器初值

    OUT 42H,AL

    HLT ;停机,等待中断

    STI

    JMP A1

    ;IRQ7 中断服务程序

    IRQ7: MOV AX,014DH ;显示“M”

    INT 10H

    MOV AX,0120H ;显示空格

    INT 10H

    MOV AL,20H ;普通EOI 命令

    OUT 20H,AL

    IRET ;中断返回

    CODE ENDS

    END START

    系统的OPCLK(1.1625MHz)作为音乐节拍,由表格查出每个音符对应的时间常数

    送给计数器2(工作在方式3:方波频率发生器),以确定音调,驱动扬声器产生音乐。

    a4c26d1e5885305701be709a3d33442f.png

    STACK1 SEGMENT STACK

    DW 64 DUP(?)

    STACK1 ENDS

    DATA SEGMENT

    TABLE DB 33H,33H,3DH,33H,26H,26H, 26H, 26H, 2DH, 2DH, 26H, 2DH,

    33H

    DB 33H,33H,33H,33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH,

    45H

    DB 45H,45H,45H,45H,45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H,

    26H

    DB 26H,28H,2DH,2DH,26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH,

    39H

    DB 39H,39H,52H,4DH,4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH,

    2DH

    DB 26H,26H,26H,26H,26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H,

    26H

    DB 26H,2DH,28H,26H,2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H,

    45H

    DB 45H,45H,45H,45H,33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H,

    2DH

    DB 2DH,26H,2DH,33H,33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H,

    39H

    DB 39H,52H,4DH,4DH,4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H

    DATA ENDS

    CODE SEGMENT

    ASSUME CS:CODE,DS:DATA

    START: MOV AX,DATA

    MOV DS,AX

    MOV BX,OFFSET TABLE

    MOV AL,[BX]

    MOV AH,00H

    A1: MOV DL,25H

    MUL DL

    PUSH AX

    MOV AL,0B7H

    OUT 43H,AL

    POP AX

    OUT 42H,AL

    MOV AL,AH

    OUT 42H,AL

    INC BX

    MOV AH,00H

    MOV AL,[BX]

    TEST AL,0FFH

    JZ A3

    MOV CX,77FFH

    A2: PUSH AX

    POP AX

    LOOP A2

    JMP A1

    A3: MOV BX,OFFSET TABLE

    MOV AL,[BX]

    MOV AH,00H

    JMP A1

    CODE ENDS

    END START

    ────────────

    北京信息科技大学自动化学院“微型计算机原理与接口技术”实验内容,仅供参考

    a4c26d1e5885305701be709a3d33442f.png

    08.04.23最后更新

    展开全文
  • 这是基于8086CPU最小系统的Proteus仿真实验,实验内容是8253可编程定时/计数器实验
  • 实验七 8254定时/计数器实验 1实验目的 掌握8254的典型应用电路接法 掌握8254的工作方式及应用编程 2实验设备 PC微机一台TD-PIT+实验系统一套示波器 3实验内容 (1)编程实现将8254定时/计数器1设计为产生频率为 250HZ...
  • 定时计数器实验

    2012-01-31 22:10:20
    计数的脉冲由外部提供.. 定时时是由外部晶振提供..定时加1的周期为一个机器周期... 定时时间与初值和晶振有关
  • 定时计数器实验.

    2014-05-15 21:03:06
    利用定时计数器1,编程实现从P1.0、P1.1、P1.2三个I/O引脚分别输出频率为0.25Hz、50 Hz、1k Hz的方波信号。
  • 采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(“0”电平)或甩空(“1”电平)来观察GATE对计数器的控制作用,用示波器观察...
  • PLC定时计数器实验

    2012-12-19 19:47:23
    设计两台电机定时交替运行的PLC梯形图。基本要求:有两台交流电动机,按下启动按钮,启动电机1运转,运转时间为10S,10S后电机1停止,自动启动电机2运转,运转时间为6S,6S后电机2停止,自动启动电机1运转,运转时间...
  • 定时计数器实验

    2012-05-29 08:51:24
    51单片机自学笔记 实验四 定时计数器实验
  • 单片机实验,IO输入输出实验,LED动态扫描显示实验, 音频控制实验, 定时计数器实验, 阵列式键盘实验, 串行口通信实验,林烟泉
  • 接口技术实验2_8253定时计数实验8253计数器0、1实现周期性负脉冲与方波脉冲输出
  • 四、定时计数器1实验

    2013-08-25 14:29:09
    马伟力AVR笔记:四、定时计数器1实验.pdf
  • AVR单片机定时计数器1实验 非常详细晚辈的AVR单片机实验
  • 8253计数器定时器实验 按1-8数字键,发出不同音响
  • 实验设计思路:本实验利用8253芯片工作在方式3下,作为一个秒信号发生器,其输出带动一个发光二极管,在一个周期内,发光二极管点亮2秒,熄灭2秒,即OUT端输出方波信号,再把方波信号通过8255芯片;并设8255芯片的C...
  • 本资源为单片机定时计数器应用的实验报告,对应的博客已经发出,报告中的内容大部分都在博客中有所体现,但是如果有小伙伴需要报告的话也可以下载哦。 整理不易,还望多多点赞支持哦~
  • 8254定时/计数器实验

    千次阅读 2019-06-02 19:03:06
    8254定时/计数器应用实验 1 实验目的 掌握8254的工作方式及应用编程。 掌握8254典型应用电路的接法。 2 实验设备 PC机一台,TD-PITE实验装置一套。 3 实验内容 计数应用实验。编写程序,应用8254的计数功能...
  • 利用c编写的单片机硬件实验,完成定时计数器功能
  • 中山大学_微机实验
  • 试用8253/8254计数器0做频率为1HZ的方波发生器,8253/8254端口地址分别为220H(计数器0),222H (计数器1) ,224H (计数器2) ,226H (控制口) 。输入时钟频率为100HZ,计数器初始值为500。有点小问题
  • 一、实验任务用 AT89S51 单片机的定时/计数器 T0 产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加 1,秒计数到 60 时,自动从 0 开始。硬件电路如下图所示二、电路原理图图 4.15.1三、系统板上硬件连线...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,755
精华内容 1,902
关键字:

8253定时计数器实验