微处理器实验报告-实验四

《微处理器》实验报告

学院:                  

班级:                  

姓名:                  

学号:                  

实验四 可编程定时/计数器8253实验

  • 实验要求

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

  • 实验目的

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

      1. Proteus实验电路

2、硬件验证实验

硬件连接表

接线孔1

接线孔2

8253 CS

A000H-AFFFH

CLOCK_OUT

CLOUK_IN

分频1/4

CLK0

GATE0

+5V

OUT0

示波器(电压表)

  • 实验说明

8253芯片介绍

8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz, 用+5V单电源供电。

8253的功能用途:

⑴ 延时中断 ⑸ 实时时钟

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

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

⑷ 二进制倍频器

8253的六种工作方式:

⑴ 方式0:计数结束中断  ⑷ 方式3:方波频率发生器

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

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

  • 实验程序流程图

  • 实验步骤

1、Proteus仿真

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  ;方式3,二进制计数,计数器0,只写计算值低8位

             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仿真,检查验证结果

  • 实验结果

8253的内部结构以及相关引脚排列:

即8253内部有3个计数器和1个控制字寄存器,可以通过地址线A0、A1,读写控制线RD非、WR非与选片CS非进行寻址,并进行相关的操作,在本次实验中利用Proteus系统对8086外接8253可编程定时/计数器的控制,最后实现了方波的产生,运行结果是播放音乐。

  • 心得体会

通过本次实验的学习,我利用Proteus系统对8086外接8253可编程定时/计数器,实现了方波的产生。熟悉了8086与8253的连接方法和8253的控制方法。掌握了8253定时器/计数器的工作方式和编程原理。

通过这次实验,使我对芯片8253有了更加深刻的认识,也使将理论知识和实践操作相结合,使储备的专业知识更加丰富,对仿真操作能力提升了一些,在实验中,还是会遇到一些问题,这让我认识到了虽然理论知识很充足,但是如果缺少动手实践的经验的话,会产生一些令人啼笑皆非的小失误,所以当理论知识掌握了之后,一定要与实践结合起来,这样我们的理论知识才能够通过这种方式创造价值。

最后希望我以后会有更多的实践机会,并从中取得更多的进步。

                                                                 

                                                                       

                                                                       

                                                                       

                                                                       

                                                                       

  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青竹小轩_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值