MCS-51单片机实验讲义

硬件实验十二 定时器实验

一、实验要求

用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转.

二、实验目的

1、学习8031内部计数器的使用和编程方法。 2、进一步掌握中断处理程序的编程方法。

三、实验电路及连线

连线 连接孔1 1 P1.0 连接孔2 L0 四、实验说明

1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计

数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。

2、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置

定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。

3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振

荡器周期。因为实验系统的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100us中断一次, 所以定时常数的设置可按以下方法计算:

机器周期=12÷6MHZ=2uS (256-定时常数)×2uS=100us

定时常数=206. 然后对100us中断次数计数10000次,就是1秒钟.

4、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键

作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。

- 38 -

五、实验框图

否 设置初始状态位 是否到1秒 是 Y 设置秒计数值 重新设置秒计数值 等待中断 中断返回 输出状态位 恢复现场 中断允许 状态位取反 设置定时常数 秒计数值减1 置T0中断工作方式 保护现场 开始 定时中断入口 主程序框图 定时中断子程序框图 六、设计:1. 改变定时时间。 2. 改为计数器中断,每记录3个脉冲,中断一次, 中断处理程序不变. - 39 -

硬件实验十三 D/A转换实验

一、实验要求

利用DAC0832,编制程序产生锯齿波、三角波、正弦波。三种波轮流显示,用示波器观看。

二、实验目的

1、了解D/A转换的基本原理。

2、了解D/A转换芯片0832的性能及编程方法。 3、了解单片机系统中扩展D/A转换的基本方法。

三、实验电路及连线

用电压表或示波器探头接-5V~+5V输出,观察显示电压或波形。

CS0 连线 连接孔1 连接孔2 1 DA_CS CS2 2 -5V-+5V 电压表 四、实验说明

1、D/A转换是把数字量转换成模拟量的变换,实验台上D/A电路输出的是模拟电压信号。要实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。

2、产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分

段来产生。

要产生正弦波,较简单的方法是造一张正弦数字量表。即查函数表得到的值转换成

- 40 -

十六进制数填表。

D/A转换取值范围为一个周期,采样点越多,精度越高些。本例采用的采样点为256

点/周期。

3、8位D/A转换器的输入数据与输出电压的关系为 U(0 ~ -5V)=Uref/256×N

U(-5V ~ +5V)=2·Uref/256×N-5V (这里 Uref为+5V)

五、 实验框图

是 否 转换完毕 改变计数器及表指针 启动D/A 查表读波形数据 置计数器初值 开始 - 41 -

联系客服:779662525#qq.com(#替换为@)