四、实验说明
与上个实验一样,这个实验主要是用串并转换方法扩展I/O口。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为晶振频率Fosc/12。由软件置位串行控制寄存器的允许接收位(REN)后,才启动串行接收。待8位数据收完后,硬件将状态寄存器的RI位置1,RI必须由软件清零。用串行口工作方式0读入数据,是自动移位完成的,用P1端口串行读入数据时,要编程输出时钟信号,移位读入数据。同时注意用P1口输出位信号时,需要用到‘与’‘或’运算得到相应位。
五、实验框图
结束 (A) 串口方式0读入 程序框图 (B)P1口读入数据 程序框图 全部读入 是 清RI标志 结束 等待 否 一个字节移完 是 输出时钟 否 置REN位,开始接收 数据移入一位 数据置入外接移位寄存器 移位次数设为8 设置串口工作方式 数据置入外接移位寄存器 开始 开始
- 34 -
硬件实验十 计数器实验
一、实验要求
8031内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。
二、实验目的
1、学习8031内部定时/计数器使用方法。
三、实验电路及连线
连线 1 2 3 4 5 连接孔1 P1.0 P1.1 P1.2 P1.3 单脉冲输出 连接孔2 L0 L1 L2 L3 T0 单次脉冲 四、实验说明
1.本实验中内部计数器起计数器的作用。外部事件计数脉冲由P3.4引入定时器T0。
单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。
五、 实验框图
开始 设置工作方式 开始计数
计数,输出计数值 - 35 -
硬件实验十一 外部中断实验
一、实验要求
用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。
二、实验目的
1、学习外部中断技术的基本使用方法。 2、学习中断处理程序的编程方法。
三、实验电路及连线
连线 连接孔1 P1.0 1 单脉冲输出 2 连接孔2 L0 INT0 单次脉冲 四、实验说实明
中断服务程序的关键是:
1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。
2.必须在中断程序中设定是否允许中断重入,即设置EXO位。
本例中使用了INTO中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。
INTO(P32)端接单次脉冲发生器。P1.0接LED灯,以查看信号反转.
五、设计:改为低电平触发外部中断,程序应如何改变?
- 36 -
六、实验框图
主程序框图 外部中断子程序框图 中断返回 等待中断 恢复现场 中断允许 状态位输出 设置中断控制寄存器 状态位取反 设置初始状态 保护现场 开始 中断入口 - 37 -