
《单片机原理及接口技术》实验指导书编柏方艳玉玉玉州##酒西国店222222临DO---H谷店3REILEEF艺安徽理工大学机械工程学院实验中心
《单片机原理及接口技术》实验指导书 柏方艳 编 安徽理工大学 机械工程学院实验中心 10K VCC EA/VP 31 X 1 19 X 2 18 RESET 9 RD 17 W R 16 INT0 12 INT1 13 T0 14 T1 15 P10/T 1 P11/T 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 VCC 40 GND 20 8051 12MHZ 20pF 20pF 10uF 1 K VCC RES 1K 10K 10K 15K RT +12V 10K 10uF 10K 22K 100K 9013 10K IN4001 J 9013 J +12V VCC 8 9 10 74LS02 1 2 3 74LS02 4 5 6 74LS02 D 0 3 Q 0 2 D 1 4 Q 1 5 D 2 7 Q 2 6 D 3 8 Q 3 9 D 4 13 Q 4 12 D 5 14 Q 5 15 D 6 17 Q 6 16 D 7 18 Q 7 19 O E 1 LE 11 VCC 20 GND 10 74LS373 GND 13 VCC 11 IN-0 26 msb2-1 21 2-2 20 IN-1 27 2-3 19 2-4 18 IN-2 28 2-5 8 2-6 15 IN-3 1 2-7 14 lsb2-8 17 IN-4 2 EOC 7 IN-5 3 ADD-A 25 IN-6 4 ADD-B 24 ADD-C 23 IN-7 5 ALE 22 ref(-) 16 ENABLE 9 START 6 ref(+) 12 CLOCK 10 ADC0809 UP DOWN 100 10K*2 VCC -12V 3 2 6 7 4 1 K VCC 100K +12V 1 2 CONTROL RXD TXD P3.4 P3.4 VCC VCC -5V

学生实验手册1.实验前,预习实验指导书,经教师提问检查合格后,方可进行实验;2.实验时,必须使用指定的仪器、设备和工具,不得随便动用本实验无关的其他东西;3.实验时,必须先熟悉机器、设备和操作规程,开动机器及设备,应先经指导教师检查同意,不懂、不会时严禁操作;4.发生不正常的现象或事故,必须立即切断电源(指电器设备),保护现场,报告老师;5.实验完备后,整理各仪器设备,清洁场地
学生实验手册 1. 实验前,预习实验指导书,经教师提问检查合格后,方可进行实验; 2. 实验时,必须使用指定的仪器、设备和工具,不得随便动用本实验无关的其他东西; 3. 实验时,必须先熟悉机器、设备和操作规程,开动机器及设备,应先经指导教师检查同 意,不懂、不会时严禁操作; 4. 发生不正常的现象或事故,必须立即切断电源(指电器设备),保护现场,报告老师; 5. 实验完备后,整理各仪器设备,清洁场地

目录实验一清零程序实验二拆字程序实验三拼字程序.实验四数据区传送子程序实验五数据排序实验实验六查找相同数个数实验七P1口转弯灯实验.6实验八8255控制交通灯.10实验九温度传感器温度控制实验15
目 录 实验一 清零程序.1 实验二 拆字程序.1 实验三 拼字程序.2 实验四 数据区传送子程序.3 实验五 数据排序实验 .4 实验六 查找相同数个数 .5 实验七 P1 口转弯灯实验.6 实验八 8255 控制交通灯 .10 实验九 温度传感器温度控制实验.15

实验一清零程序一、实验目的:掌握汇编语言设计和调试方法,熟悉键盘操作。二、实验内容:把2000H20FFH的内容清零。三、实验程序框图:开始RO=0000送2000HDPTR+1RO+1ROFF?结束四、实验步骤:月用连续或单步方式运行程序,检查2000~20FF中执行程序前后的内容变化。五、思考:假使把2000H~20FFH中的内容改成FF,如何修改程序。实验二拆字程序一、实验目的:掌握汇编语言设计和调试方法。二、实验内容:把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用
1 实验一 清零程序 一、实验目的: 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容: 把 2000H~20FFH 的内容清零 。 三、实验程序框图: 四、实验步骤: 用连续或单步方式运行程序,检查 2000~20FF 中执行程序前后的内容变 化。 五、思考: 假使把 2000H~20FFH 中的内容改成 FF,,如何修改程序。 实验二 拆字程序 一、实验目的: 掌握汇编语言设计和调试方法。 二、实验内容: 把 2000H 的内容拆开,高位送 2001H 低位,低位送 2002H 低位,2001H、 2002H 高位清零,一般本程序用于把数据送显示缓冲区时用

三、实验程序框图:开始→2000H内客送A高低位交换屏散高位后送2001H2000H内容送A+屏蔽高位后送2002H结束用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。四、实验步骤:五、思考:如何用断点方式调试本程序。实验三拼字程序一、实验目的:进一步掌握汇编语言设计和调试方法。二、实验内容:把2000H.2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一字节。三、实验程序框图:
2 三、实验程序框图: 四、实验步骤: 用连续或单步方式运行程序,检查 2000H~2002H 中内容变化情况。 五、思考: 如何用断点方式调试本程序。 实验三 拼字程序 一、实验目的: 进一步掌握汇编语言设计和调试方法。. 二、实验内容: 把 2000H.2001H 的低位分别送入 2002H 高低位,一般本程序用于把显 示缓冲区的数据取出拼装成一字节。 三、实验程序框图:

开始(2000H)送A,屏蔽商位交换高低位,送B(2001H)送A,屏蔽高位A和B或后送2002H结束单步或用断点方式运行程序,检查2002H内容变化情况。四、实验步骤:实验四数据区传送子程序一、实验目的:掌握RAM中的数据操作。把R2.R3源RAM区首址内的R6.R7字节数据传送到R4.R5目的RAM二、实验内容:区。三、实验程序框图:开始源地址内容送A(A)送目的地址源地址加1目地址加字节数到吗?N结束四、实验步骤:在R2.R3中输入源首址(例如0000H),R4.R5中输入目的地址(例如2000H),R6.R7中输入字节数(例如IFFFH),运行程序,检查0000H~IFFFH中内容是否和2000H~3FFFH中内容完全一致
3 四、实验步骤: 单步或用断点方式运行程序,检查 2002H 内容变化情况。 实验四 数据区传送子程序 一、实验目的: 掌握 RAM 中的数据操作。 二、实验内容: 把 R2.R3 源 RAM 区首址内的 R6.R7 字节数据传送到 R4.R5 目的 RAM 区。 三、实验程序框图: 四、实验步骤: 在 R2.R3 中输入源首址(例如 0000H),R4.R5 中输入目的地址(例如 2000H),R6.R7 中输入字节数(例如 lFFFH),运行程序,检查 0000H~lFFFH 中内容是否和 2000H~3FFFH 中内容完全一致

实验五数据排序实验、实验目的:熟悉51指令系统,掌握程序设计方法。二、实验内容:编写并调试一个排序子程序,其功能为用冒泡法将内存RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。三、程序框图:开始中清标志位根据(RO)取数→A(RO)+1R0A)Nty结策四、实验步骤:将RAM50H~5AH中放入不等的数据,用断点方法运行本实验程序后检查50H~5AH中的内容是否按从小到大的次序排列。五、思考:修改程序把50H~5AH中内容从大到小排列
4 实验五 数据排序实验 一、实验目的: 熟悉 51 指令系统,掌握程序设计方法。 二、实验内容: 编写并调试一个排序子程序,其功能为用冒泡法将内存 RAM 中几个 单字节无符号的正整数,按从小到大的次序重新排列。 三、程序框图: 四、实验步骤: 将 RAM 50H~5AH 中放入不等的数据,用断点方法运行本实验程序 后检查 50H~5AH 中的内容是否按从小到大的次序排列。 五、思考: 修改程序把 50H~5AH 中内容从大到小排列

实验六查找相同数个数一、实验目的:熟悉汇编语言编程。二、实验内容:在2000H~200FH的N个单元中填入零,运行本程序后检查2100H中是否为 N。三、实验程序框图:开始字节数送RO,查找字节送R1相同否?RI+DPTR+1字节数到吗?N(R1)送2100H结束在2000H~200FH的几个单元中填入零,运行本程序后检查2100H四、实验步骤:中是否是几个单元数五、思考:如何修改程序,查找其它内容
5 实验六 查找相同数个数 一、实验目的: 熟悉汇编语言编程。 二、实验内容: 在 2000H~200FH 的 N 个单元中填入零,运行本程序后检查 2100H 中是否为 N。 三、实验程序框图: 四、实验步骤: 在 2000H~200FH 的几个单元中填入零,运行本程序后检查 2100H 中是否是几个单元数。 五、思考: 如何修改程序,查找其它内容

实验七P1口转弯灯实验一、实验目的:进一步了解P1口的使用,学习汇编语言编程方法及调试技巧。二、实验内容:P1.0开关接5V,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮,P1.0,P1.1开关同时接5V或接地时,转弯灯均不闪亮。三、实验程序框图:开始关灯-只是P1.0高码3只是P11高吗?LYLY标志位为吗?标志位为1吗?ININ开右灯关左灯开左灯关右灯关灯关灯延时、直标志位延时、直标志位延时、置标志位证时、置标志位四、实验接线图:
6 实验七 P1 口转弯灯实验 一、实验目的: 进一步了解 P1 口的使用,学习汇编语言编程方法及调试技巧。 二、实验内容: P1.0 开关接 5V,右转弯灯闪亮,P1.1 开关接 5V 时左转弯灯闪亮, P1.0,P1.1 开关同时接 5V 或接地时,转弯灯均不闪亮。 三、实验程序框图: 四、实验接线图:

0m0五、实验步骤:P1.0接K1,P1.1接K2,P1.4~P1.7接L1、L5、L9、L13,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改成返回指令22H),以便观察。六、程序清单:ORG 0000HLUMPPX0OORGOC30HPX00:MOV P1,#OFFH;初始化PX03:MOV A,P1MOV B,AANL A,#03HCJNEA,#O1H,PXO1:满足只是P1.0为高条件?JB 00H,PX04;闪烁标志位CLR P1.4CLR P1.5;开右灯
7 五、实验步骤: P1.0 接 K1,P1.1 接 K2,P1.4~P1.7 接 L1、L5、L9、L13,连续运 行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例可 把延时程序第一个字节改成返回指令 22H),以便观察。 六、程序清单: ORG 0000H LJMP PX00 ORG 0C30H PX00: MOV P1,#0FFH ;初始化 PX03: MOV A,P1 MOV B,A ANL A,#03H CJNE A,#01H,PX01 ;满足只是 P1.0 为高条件? JB 00H,PX04 ;闪烁标志位 CLR P1.4 CLR P1.5 ;开右灯