单片机原理与应用实验指导书
第三章 硬件接口实验
硬件实验一 P1口输入、输出实验
一、实验目的
1. 学习P1口的使用方法。 2. 学习延时子程序的编写和使用。
3. 学习用‘与’‘或’运算对MCS96系列CPU的变量进行位操作。
二、实验设备
1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。
三、实验要求
1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2.P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
四、实验电路及连线
连线 连接孔1 连接孔2 1 2 3 4 P1.0 P1.1 P1.2 P1.3 L0 L1 L2 L3 连线 连接孔1 1 2 3 4 S0 S1 P1.2 P1.3 连接孔2 P1.0 P1.1 L4 L5
实验1: P1口循环点灯 实验1: P1口输入输出 五、实验说明
1. P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。
2. 由于80C196系列CPU没有位操作,所以要对P1.0,P1.1进行与运算,以判断该位为高还是为低,然后再用‘与’和‘或’运算将P1.2,P1.3的相应位置高或低,这与80C51系列CPU不同。80C51可以将位变量通过C标志位赋值给其它位。
3. 8051延时子程序的延时计算问题,对于程序(见程序框图) 查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:
(256×255+2)×2×12÷6 ≈ 261ms
Delay:
MOV R6,#0H MOV R7, #0H DelayLoop:
DJNZ R6,DelayLoop DJNZ R7,DelayLoop
RET
六、实验框图
19
单片机原理与应用实验指导书
开始 开始
设置初始值 P1.0,P1.1置1 设移位次数 读入P1.0口值 数据输出 将读入的值输出到P1.2 左移一位 读入P1.1口值
延时 是 否 将读入的值输出到P1.3 移位次数完成?
(B) P1口输入输出程序框图
(A) P1口循环点灯程序框图
硬件实验二 用74LS245读入数据
一、实验目的
1.了解CPU常用的端口连接总线的方法。 2.掌握74LS245进行数据读入或输出。
二、实验设备
1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。
三、实验要求
利用板上的集成电路插座,扩展一片74LS245,来读入开关状态。
四、实验电路及连线
20
连线 连接孔1 1 2 3 4 5 6 7 8 9 K0 K1 K2 K3 K4 K5 K6 K7 CS0 连接孔2 245-18脚 245-17脚 245-16脚 245-15脚 245-14脚 245-13脚 245-12脚 245-11脚 CS245 单片机原理与应用实验指导书
五、实验说明
一般情况下,CPU的总线会挂有很多器件,如何使这些器件不造成冲突,这就要使用一些总线隔离器件,例如74LS245就是一种。74LS245是三态总线收发器,利用它既可以输出也可输入数据。本实验74LS245的片选地址为CSO,即8000H,读这个地址,就是从74LS245读回开关的值。可以用单步的方式执行程序,改变开关状态,观察读回的值。
六、实验程序框图
开始 读入74LS245的值 硬件实验三 8255输入、输出实验
一、实验目的
1、了解8255芯片结构及编程方法。 2、了解8255输入/输出实验方法。
二、实验设备
1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。
三、实验要求
利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。
四、实验电路及连线
8255的CS/接地址译码/CS0,则命令字地址为8003H,
PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。
五、实验说明
可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用的是方式0:PA,PC口输出,PB口输入。很多I/O实验都可以通过8255来实现。
六、实验框图
置8255PA口 21
延时 读8255PB口 数据左移 置8255工作方式 置8255PA延时 置8255工作方式 开始 延时 开始 单片机原理与应用实验指导书
硬件实验四 串行数转换并行数实验
一、实验目的
1、 掌握8031/80C196串行口方式0工作方式及编程方法。 2、 掌握用8031/80C196的P1口的I/O功能,输出串行数据。 3、掌握利用串行口入I/O口,扩展I/O通道的方法。
二、实验设备
1.伟福Lab6000增强型开放式通用实验/仿真系统; 2.计算机。
三、实验要求
利用单片机的串行口和I/O端口串行输出,利用74LS164移位转换成并行数据,接在LED灯上显示。74LS164置于通用插座上。
四、实验电路及连线
74LS164 插入40脚锁紧座 连线 连接孔1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 L0 L1 L2 L3 L4 L5 L6 L7 RXD RXD TXD RST_ GND VCC 连接孔2 164-3脚 164-4脚 164-5脚 164-6脚 164-10脚 164-11脚 164-12脚 164-13脚 164-1脚 164-2脚 164-8脚 164-9脚 164-7脚 164-14脚 连线 连接孔1 连接孔2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 L0 L1 L2 L3 L4 L5 L6 L7 P1.0 P1.0 P1.1 RST_ GND VCC 164-3脚 164-4脚 164-5脚 164-6脚 164-10脚 164-11脚 164-12脚 164-13脚 164-1脚 164-2脚 164-8脚 164-9脚 164-7脚 164-14脚 1、用串口方式0,串行输出数据/时钟 2、用I/O口串行输出数据/时钟
22
单片机原理与应用实验指导书
五、实验说明
串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端总是输出移位同步时钟信号,其波特率固定为Fosc/12。对于80C196CPU波特率为Fosc/2(B+1),Fosc为晶振频率,B为波特率常数。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。用串行口工作方式0输出数据/时钟,是自动移位输出,用P1端口串行输出数据时,要编程移位数据,输出数据/时钟。对于80C196用串口发数据时要将IOC1.5置1,选择P2.0脚为TXD功能。同时注意用P1口输出位信号时,需要用到‘与’‘或’运算得到相应位。
六、实验框图
(A) 串口方式0输出程序框图 (B)P1口输出数据/时钟程序框图 给出另一数据 给出另一数据 延时 延时 是 否 全部输出 是 清输出标志 一个字节移输出时钟 否 等待 将移出数据位输出 输出到串口 数据移出一位 给出数据 移位次数设为8 设置串口工作方式 给出数据 开始 开始 硬件实验五 A/D转换实验
一、实验目的
1、 掌握A/D转换与单片机的接口方法。了解A/D芯片ADC0809转换性能及编程。 2、 通过实验了解单片机如何进行数据采集。
23