《可编程定时/计数器8253实验》微机实验报告

利用8086外接8253可编程定时/计数器,可以实现方波的产生。

  • 实验目的
    1. 学习8086与8253的连接方法。
    2. 学习8253的控制方法。
    3. 掌握8253定时器/计数器的工作方式和编程原理
  •  实验电路及连线
    1. Proteus实验电路

 

  1. 硬件验证实验
  2. 实验说明
  3. 8253芯片介绍   8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz, 用+5V单电源供电。

    8253的功能用途:    ⑴ 延时中断                     ⑸ 实时时钟

    ⑵ 可编程频率发生器          ⑹ 数字单稳

    ⑶ 事件计数器                    ⑺ 复杂的电机控制器

    ⑷ 二进制倍频器          

    8253的六种工作方式:⑴ 方式0:计数结束中断  ⑷ 方式3:方波频率发生器

    ⑵ 方式l:可编程频率发生 ⑸ 方式4:软件触发选通信号

    ⑶ 方式2:频率发生器     ⑹ 方式5:硬件触发选通信号

  • 实验程序流程图

 

  • 实验步骤

1Proteus仿真

a.在Proteus中打开设计文档“8253_STM.pdsprj”;

b.建立实验程序并编译,仿真;

c.如不能正常工作,打开调试窗口进行调试。

汇编语言参考程序:

CODE    SEGMENT ;H8253.ASM

         ASSUME CS:CODE

START:      JMP TCONT

TCONTRO   EQU 0A06H

TCON0      EQU 0A00H

TCON1      EQU 0A02H

TCON2      EQU 0A04H

TCONT:      MOV DX,TCONTRO

             MOV AL,16H  ;计数器0,只写计算值低8位,方式3,二进制计数

             OUT DX,AL

             MOV DX,TCON0

             MOV AX,20   ;时钟为1MHZ,计数时间=1us*20=20us,输出频率50KHZ

             OUT DX,AL

             JMP $

CODE        ENDS

             END START

C语言参考程序:

#define TCONTRO   0A006H

#define TCON0     0A000H

#define TCON1     0A002H

#define TCON2     0A004H

void outp(unsigned int addr, char data)

// Write a byte to the specified I/O port

 { __asm

    { mov dx, addr

      mov al, data

      out dx, al

    }

 }

char inp(unsigned int addr)

// Read a byte from the specified I/O port

 { char result;

   __asm

    { mov dx, addr

      in al, dx

      mov result, al

    }

   return result;

 }

void main(void)

{

    outp(TCONTRO,0x16);//计数器0,只写计算值低8位,方式3,二进制计数

    outp(TCON0,20);//时钟为1MHZ ,计数时间=1us*20 =20 us  输出频率50KHZ

    while(1){}

}

2、实验板验证

a.通过USB线连接实验箱

b.按连接表连接电路

c.运行PROTEUS仿真,检查验证结果

  • 实验结果和体会

通过本次实验学习了8086与8253的连接方法。学习了8253的控制方法。掌握了8253定时器/计数器的工作方式和编程原理。

同时知道了知道了学海无涯这只是仅仅入门阶段,要想学习的更扎实更能熟练运用必须得继续努力,在今后继续努力学习。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值