单片机实验指导书
河北大学电子信息工程学院
2009年4月
目 录
一、P1口输入输出实验 .........................................................2 二、8255控制实验 ................................................................4 三、定时器实验 …...........…………....................................6 四、外部中断实验 …...........…………...................................7 五、外部中断(急救车与交通灯) ...........................................8 六、串行数转换并行数 ....………….....................................9 七、串行通讯实验 ..............................................................10 八、A/D转换实验 .................................................................11 九、电子音响实验 ................................................................12
1
实验一 P1口输入、输出实验
一、实验要求
1. P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
2. P1.0、P1.1作输入口接两个拨动开关,P1.2、P1.3作输出口,接两个发光二极管,
编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0、P1.1作为输入口时应先置1,才能正确读入值。
二、实验目的
1. 学习P1口的使用方法。
2. 学习延时子程序的编写和使用。
三、实验连线
实验1: P1口循环点亮 实验2: P1口输入输出
序号 连线首端 连线未端 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7 序号 1 2 3 4 连线首端 连线未端 K0 K1 P1.2 P1.3 P1.0 P1.1 LED4 LED5 四、实验说明
1. 8051延时子程序的计算 延时程序的实现常用两种方法,一种用定时器中断来实现,另一种是用指令循环实现。在系统时间允许的情况下可以采用后一种方法。
本实验系统晶振频率为6MHz,执行一个机器周期时间为12/6MHZ=2μS,现在写一个延时0.1S的程序如下:
Delay:MOV R6,#X (1) DE1: MOV R7, #200 (2) DE2: DJNZ R7,DE2 (3)
DJNZ R6,DE1 (4) 查指令表可知MOV需要一个机器周期,DJNZ指令需用两个机器周期,所以执行该段程序所需时间是:
[ 1 + ( 1 + 2 × 200 + 2 ) X ] × 2×10 = 0.1S 指令(1) (2) (3) (4)
2
-6
所需时间 所需时间 所需时间 所需时间
求出X=124,将X=124代入上式可知实际延时约0.099946≈0.1S。
2. P1口准双向口
它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。
五、硬件电路
1、LED电平显示电路
2、逻辑电平开关电路
图1: LED电平显示电路
实验仪上有8只开关K0―K7,并有与之相对应的K0―K7引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“1”,向下拨相应插孔输出低电平“0”。
图2: 逻辑电平开关电路
六、思考题
1、用软件实现延时有哪两种方法?各有何特点?
2、区分时钟周期、机器周期、指令周期。当晶振的振荡频率为6MHz时,一个机器周期为多少微秒?
3、P1口作为输入时有什么要求?
3
实验二 8255控制实验
一、实验要求
用8255可编程并行口芯片实现输入/输出(8255PA口作输出,PB口作输入)。
二、实验目的
1、了解8255芯片结构及编程方法。 2、了解8255输入/输出实验方法。
三、实验电路及连线
8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。PA0-PA7(PA口)接LED0-LED7(LED)PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。
接 线 表
序号 连线首端 连线未端 1 2 3 4 5 6 7 CS0 L0 L1 L2 L3 L4 L5 L6 L7 K0 K1 K2 K3 K4 K5 K6 K7 8255CS 8255-PA0 8255-PA1 8255-PA2 8255-PA3 8255-PA4 8255-PA5 8255-PA6 8255-PA7 8255-PB0 8255-PB1 8255-PB2 8255-PB3 8255-PB4 8255-PB5 8255-PB6 8255-PB7 8255接线图
8 9 10 11 12 13 14 15 16 17 4