单片机实验指导书1_第1页
单片机实验指导书1_第2页
单片机实验指导书1_第3页
单片机实验指导书1_第4页
单片机实验指导书1_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2004 电力、电气本选做 5 个实验, 10 个学时,实验一、二、四、五、六,其他的实验供大家参考。目录实验系统使用说明2实验一、 P1 口输出实验6实验二、简单I/O 扩展实验8实验三、数码管显示实验11实验四、定时计数器实验16实验五、外部中断实验19实验六、交通灯实验21实验七、简单按键实验26实验八、 8255 可编程并行接口实验30实验九、电子时钟实验331实验系统使用说明MCS51单片机原理实验系统 (Ctrl)使用说明:一、基本操作启动软件实验系统从桌面双击“ MCS51 单片机原理实验系统 (Ctrl) ”启动或者是从 “开始菜单 程序MCS51-MCS51 单片机原理实验系

2、统 (Ctrl) ”单击启动新建源程序文件 -新建 -ASM51 文件打开源程序文件 -打开汇编源程序2编译 -汇编快捷键: Shift+F3出现以下编译成功提示即可继续实验,否则需检查源程序直至编译成功ASSEMBLY COMPLETE, NO ERRORS FOUNDGENERATING HEXFILE:D:CTRL51C51*.HEXDRI-SYMFILE: D:CTRL51C51*.SYMPC 与实验系统通讯选项 通讯选项 .在弹出的“通讯选项设置”对话框内选择串口为COM2; 波特率为 9600,确定即可!3注意:在执行该操作前,请确保PC 与 EL 教学实验箱主板已由串行线连接,且

3、实验箱供电并处于开机状态(见 EL 教学实验箱主板使用说明),单片机上电复位成功则在数码管上显示 1995 02。单片机复位按下实验箱上“ RESET”按钮,等待数码管显示C_,即表示 PC 与实验系统通讯成功。调试调试 -调试快捷键: F5等待工具栏调试相关按钮由灰度变为可用4启动 MCU 执行程序可令 MCU 处于以下工作方式: 复位、程序执行 (单步执行、连续执行、跟踪执行等 )。例如要检验实验结果只需进行如下操作:调试-运行 快捷键: F9注意:在执行该操作前,请确保硬件电路连接无误修改完善程序要修改程序必须先停止调试,即执行调试-停止调试快捷键: Shift+F5重复执行 4 9 步

4、操作5实验一、 P1 口输出实验一、实验目的1、熟悉 P1 口作为输出口的使用2、熟悉 MCS51 实验系统的使用方法3、学习延时子程序的编写二、实验器材1、EL 型微机教学实验系统电路板和8051 芯片2、PC 机和 MCS-51 软件3、导线若干三、实验内容P1 口作输出口,接8 个发光二极管,编写程序,使八个发光二极管循环点亮。四、实验电路+5VL1L2L3L4L5L6L7L8P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.78051五、实验连线P1.0P1.7 连接 8 个发光二极管L1L86六、流程图程序开始置初值输出到 P1 口延时 0.1s循环左移一位以显示下一位七

5、、参考程序ENDCSEGAT 0000H;程序起始地址LJMPSTARTCSEGAT 4000H;主程序起始地址START:MOVA ,#01H;置初值LOOP: MOVP1, A;点亮第一个灯LCALLDELAY;调用延时 0.1s 的子程序RLA;左循环移位SJMPLOOPDELAY :MOV R7 , #200;延时 0.1s 的子程序DE0: MOVR6, #126DE1: DJNZR6,DE1DJNZR7,DE0RETEND八:思考1、改变点亮的时间间隔程序的编写2、改变灯的输出花样程序的编写7实验二、简单 I/O 扩展实验一、实验目的1、熟悉 P1 口作为输入口的使用2、熟悉 MC

6、S51 实验系统的使用方法3、掌握 TTL 电路的扩展接口二、实验器材1、 L 型微机教学实验系统电路板和8051 芯片2、 C 机和 MCS-51 软件3、导线若干三、实验内容P1 口作输入口,接 8 个按钮开关,实验台上 74LS273 做输出口,接 8 个发光二极管,编写程序读取开关状态,在发光二极管上显示出来。四、实验电路原理+5VK1K2K3K4K5K6K7K8P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780518+5VL1L2L3L4L5L6L7L8SO0SO1 SO2SO3SO4 SO5SO6SO774LS273CSU8RST=1WR五、实验连线P1.0P1.

7、7 连接 8 个按钮开关 K1 K8, 74LS273 的 SO0SO7 接 8 个发光二极管L1 L8,74LS273 的片选信号 CSU8 接 CS0(由程序所选的入口地址而定, 与 CS0CS7相应的片选地址) 其中 DAIS 系统接线方式是将74LS273 接 FFE0六、流程图程序开始P1 口锁存器置1输入开关状态输出显示9七、参考程序CSEGAT0000H;程序起始地址LJMPSTARTCSEGAT4000H;主程序起始地址START:MOVDPTR,#0CFA0H;指向 74LS273(其中 DAIS 系统地址修改为 FFE0H)LOOP: MOVP1,#0FFH;P1 口置初值

8、为全 1MOVA ,P1;读取开关量MOVXDPTR , A;把采集到的开关量送P1 口显示SJMPLOOPEND八:思考1、修改 74LS273 片选信号的连接线,程序相应的变化2、利用开关设置灯的输出状态,让系统运行后的显示不会受开关量的变化而变化,程序应该作何修改。10实验三、数码管显示实验一、实验目的1、熟悉 LED 七段显示器的工作原理2、掌握 LED 数码管动态显示的使用方法二、实验器材1、EL 型微机教学实验系统电路板和8051 芯片2、PC 机和 MCS-51 软件 ,线若干三、实验内容LED 为共阴极管,利用P1.0P1.5 做为位驱动,用74LS273 作为段驱,利用动态显

9、示的效果,显示出自己的出生年月(如197603)(其中 DAIS 系统 LED 是共阳极管,不用接线,利用段驱和为驱芯片,地址系统已经分配好。段驱地址是FFDCH ,位驱地址是 FFDDH )+5V四、 实验电路原理+a ha ha ha ha ha hcccccccccccc754527545275452SO0 SO1 SO2SO3 SO4 SO5 SO6 SO7P1.0 PI.1P1.2 P1.3P1.4 P1.5五、实验连线CLK RSTCSU8=111WR将数码显示部分与8279 之间的 14 个短路子全部拔掉 ,改插在下面两根导柱上 ,即将每一组的中下两导柱短界接,然后 P1.0 P

10、1.5 与 LED1 LED6 相连 ,74LS273 的 SO0SO7与 A Dp 相连 ,片选信号 CSU8 与 CS0 相连。 (DAIS 系统不用接线 )六、流程图START写出生年月写位驱的初值写显示位计数器初值指向显示数据首地址取显示数据地中内容查七段显示码送74LS273Y六位显示完了吗?N指向下一位延时一段时间ENDN12七、参考程序CSEGAT0000H;程序起始地址LJMPSTARTCSEGAT4100H;主程序起始地址START:MOV20H,#3MOV21H,#0MOV22H,#6MOV23H,#7MOV24H,#9MOV25H,#1;写入出生年月;EL 型实验系统用以

11、下程序段:LED:MOVP1,#0FEH;位驱动的初值MOVR0,#20H;显示数据位数MOVR1,#6;显示数据存放的首地址NEXT :MOVA, R0MOVDPTR, #TABLE;指向表的首地址MOVCA, A+DPTR;查七段显示码MOVDPTR, #0CFA0H;指向 74LS273MOVXDPTR, A ;送段码给 74LS273MOVA, P1LCALLDELAYRL A;修改显示位驱动13MOVP1,A;送下一个位驱动信号INCR0;指向下一个显示数据地址; DAIS 系统的以上程序段修改为:LED :MOV 30H ,#01H;位驱码初值MOV R0 ,#20H ;显示数据地

12、址指针MOV R1 ,#6;显示数据的位数NEXT :MOVA ,R0;取显示数据MOVDPTR, #TABLE ;指向表首地址MOVCA, A+DPTR ;查共阴极七段显示码CPLA ;转化为共阳极代码MOVDPTR, #0FFDCHMOVXDPTR,AMOVA, 30HMOVDPTR,#0FFDDH ;指向位驱地址MOVXDPTR, A;送位驱码LCALLDELAYMOV A , 30HRLAMOV 30H,A;修改位驱码指向下一位INC R0 ;指针指向下一个显示数据;以下是两个系统共用的程序DJNZR1,NEXT;一轮没有显示完的话显示下一位14SJMPLED;显示下一轮DELAY:M

13、OVR7,#2DE0:MOVR6,#200DE1:DJNZR6,DE1DJNZR7,DE0RETTABLE :DB3FH,06H,5BH ,4FH,66HDB6DH,7DH,07H,7FH,6FH;09 十个数字的七段显示共阴极代码表格END八:思考1、修改出生年月的数据,程序怎样修改2、改变数据显示的方向,程序应该作何修改。3、增大扫描延时的时间,观察动态显示的效果。15实验四、定时计数器实验一、实验目的1、熟悉定时计数器的使用方法和编程。2、了解定时计数器中断的处理方法。3、掌握利用 CPU 查询的方式判断计数溢出的编程方法。二、实验器材1、 L 型微机教学实验系统电路板和8051 芯片2

14、、PC 机和 MCS-51 软件3、导线若干三、实验内容利用定时计数器T0 对 P3.4 进行计数,每计完2 个脉冲将 A 里面的内容左移一位送P1 口显示。四、电路原理VCCRP3.48051五、实验连线将实验电路板上的脉冲开关PP1 连接到 P3.4 引脚 , P1.0-P1.7接 LED1-LED8 。16六、流程图STARTC/T 初始化启动 T0 工作溢出吗NY关 T0清除 TF0重装计数初值A 中内容移位送 P1 口显示开 T0END七、参考程序CSEGAT0000H;程序起始地址LJMPSTARTCSEGAT4000H;主程序起始地址START:MOVA , #01H17MOVP

15、1, AMOVTMOD,#05H;T0 工作与计数状态方式 1MOVTH0,#0FFHMOVTL0,#0FEHSETBTR0;LOOP:JNBTF0,$ ;如果没有溢出就等待;溢出的就执行PROCPROC:CLRTR0;关定时器CLR TF0;清除 T0 溢出标志MOVTH0,#0FFHMOVTL0,#0FDH;重装计数器初值RLAMOVP1,A;将 A 中内容移位送 P1 口显示SETBTR0;启动计数SJMPLOOP;循环工作END八:思考1、修改计数脉冲的初值看程序的运行变化.2、改变定时计数器的工作方式程序相应的修改.3、改用 T1,该方案要作何修改才能实现相应的要求。4、怎样利用中断

16、的方式来编程实现。18实验五、外部中断实验一、是实验目的1、熟悉定外部中断的使用方法和编程。2、掌握外部中断的负跳变触发方式的使用。3、掌握中断服务程序和主程序编写的规则和注意事项。二、实验器材1、EL 型微机教学实验系统电路板和8051 芯片2、PC 机和 MCS-51 软件3、导线若干三、实验内容当外部按键送入一个负脉冲时,P1.7 里面的内容取反送LED 显示。四、电路原理VCCRP3.2INT08051五、实验连线将实验电路板上的脉冲开关PP1连接到 P3.2 引脚19六、流程图START中断的入口P1.7 写初值送LEDP1.7 内容取反外部中断的初始化显示等待RETEND七、参考程

17、序(中断服务程序)(主程序)CSEGAT0000H;程序起始地址LJMPSTARTCSEGAT0003H;中断服务程序入口地址LJMPINTR_0CSEGAT0030HSTART:SETBP1.7SETBIT0SETBEASETBEX0SJMP$INTR_0:CPLP1.7RETIEND八:思考1、改用外部 1 中断,要作何修改才能实现相应的要求。2、怎样实现每按一次键使P1 口输出彩灯右移一位。20实验六、交通灯实验一、实验目的1、学习模拟交通灯的控制b)掌握 TTL 电路的扩展接口2、学会编写多段延时子程序的编写二、实验器材1、EL 型微机教学实验系统电路板和8051 芯片2、PC 机和

18、MCS-51 软件 ,导线若干三、实验内容1、 74LS273 作为输出口, 控制 8 个发光二极管, L1、L3、L5 为东西方向的指示灯,L2 、L4 、L6 为南北方向的指示灯。2、 交通灯规则:初态是两个路口的红灯全亮;之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车;延时一段时间后,东西路口绿灯灭,黄灯开始闪烁;闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向通车;延时一段时间后,南北方向绿灯灭,黄灯开始闪烁;闪烁若干次后,再切换到东西路口通车,重复上述过程。+5V四、实验电路原理L1L2L3L4L5L6L7L8SO0SO1SO2 SO3SO4 SO5SO6SO7

19、74LS27321CSU8=1RSTWR五、实验连线 :74LS273 的 SO0SO7 接 8 个发光二极管L1 L8, 74LS273 的片选信号 CSU8 接CS0;(其中 DAIS 系统接线方式是将 74LS273 接 FFE0H)六、流程图START置口地址两个红灯亮延时 3秒东西路口绿灯 , 南北路口红灯亮延时 10秒东西路口绿灯灭东西路口黄灯闪烁5 次两个红灯亮延时 0.2 秒南北路口绿灯 , 东西路口红灯亮延时 10秒南北路口绿灯灭南北路口黄灯闪烁5 次两个红灯亮22延时 0.2 秒七、参考程序CSEGAT0000H;程序起始地址LJMPSTARTCSEGAT4000H;主程序

20、起始地址START:MOVSP,#60H;MOVDPTR,#0CFA0H;其中 DAIS 系统 74LS273 地址修;改为 0FFE0H )MOVA ,#03H;L1=L2=1 两个红灯亮MOVXA ,DPTR;ACALLDE3LOOP:MOV R0,#05HMOVR1,#05HMOVA,#12H; L5=L2=1 东绿南红MOVXDPTR,AACALLDE10LOOP1:MOVA,#06H;L2=L3=1 东黄南红MOVXDPTR,AACALLDE02MOVA,#02H;L2=1 南红MOVXDPTR ,ADJNZR0, LOOP1MOVA,#03H; L1=L2=1 两红23MOVXDP

21、TR,AACALLDE04MOVA,#41H;L6=L1=1 南绿东红MOVXDPTR ,AACALLDE10LOOP2:MOVA,#09H;L4=L1 南黄东红MOVXDPTR,AACALLDE02MOVA,#01H;L1=1 东红MOVXDPTR ,ADJNZR1,LOOP2MOVA,#03H; L1=L2=1 两个红灯MOVXDPTR,AACALLDE04SJMPLOOPDE10:MOVR5,#100LJMPDEY1DE3:MOVR5,#30LJMPDEY1DE04:MOVR5,#4LJMPDEY1DE02:MOVR5,#224LJMPDEY1DEY1:MOVR6,#200DEY2:MO

22、VR7,#126DEY3:DJNZR7,DEY3DJNZR6,DEY2DJNZR5,DEY1RETEND八:思考1、修改 74LS273 片选信号的连接线,程序相应的变化2、改变交通灯规律间间隔程序应该作何修改。3、有救护车信号要求两路口都暂停通车20 秒钟怎样实现。25实验七、简单按键实验一、实验目的1、熟悉按键的检测和判断方法和编程。2、熟悉逻辑操作指令的使用方法。3、掌握选择结构程序设计的方法。二、实验器材1、L 型微机教学实验系统电路板和8051 芯片2、 PC 机和 MCS-51 软件3、导线若干三、实验内容利用定时计数器T0 对 P3.4 进行计数,每计完2 个脉冲将 A 里面的内

23、容左移一位送 P1 口显示。+5V四、电路原理+5VK1K2+5VL1L2L5L6P1.0P1.1P1.2P1.3P1.6P1.7805126五、实验连线P1 口作 I/O 口, P1.0P1.1 接 K1、 K2, P1.2、P1.3 接 L1、L2 ,P1.5、P1.6 接 L5 、L6 ,K1 为左转开关, L1、 L2 为左转指示灯, K2 为右转开关, L5、L6 为右转指示灯,要求实现:按下 K1 左转灯亮,按下 K2 右转灯亮, K1 、K2 同时弹起或同时按下,左右指示灯都不亮。六、流程图STARTP1.0、P1.1 置 1读取 K1 、K2YK1 、 K2 相异吗NK1=1

24、?YNL5=L6=1L1=L2=1灯全灭DELAY灯全灭DELAY送 P1 口显示七、参考程序ENDCSEGAT0000H;程序起始地址LJMPSTARTCSEGAT4000H;主程序起始地址27START:MOVSP, #60HLOOP: ORL,#03HMOVC, P1.0ANLC,/ P1.1MOV00H, CMOVC,P1.1ANLC,/ P1.0ORLC,00HJNCPROG1JBP1.0,LEFTRIGHT: MOV P1, #0C0HSJMPSHANSHOULEFT:MOVP1, #0CHSHANSHOU :ACALLDELAYMOVP1,#00HACALLDELAYSJMPLO

25、OPPROG1:MOVP1, #00HSJMPLOOPDELAY:MOVR7,#200DE0:MOVR6, # 126DE1:DJNZR6, DE128DJNZR7,DE0RETEND八:思考如果 P1.0、P1.1 开始不置 1 会出现什么现象。29实验八、 8255 可编程并行接口实验一、实验目的1、熟悉 8255A 芯片的结构及编程方法2、掌握通过 8255A 并行口读取开关量数据和输出驱动的方法二、实验器材1、EL 型微机教学实验系统电路板和8051 芯片2、PC 机和 MCS-51 软件3、导线若干三、实验内容利用 8255A 可编程并行接口芯片, 通过 PA 通道采集 8 个按钮开

26、关状态, 在 PB 口通过 8 个发光二极管显示出来。四、 实验电路原理+5V+5VPB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 8255A五、实验连线8255A 的 PB0PB7 连接 8 个按钮开关K1 K8 ,PA0PA7 接 8 个发光二极管30L1 L8,8255A 的片选信号 CS8255 接 CS0(由程序所选的入口地址而定, 与 CS0CS7相应的片选地址) (DAIS 系统连线做相应的修改FFE0H)六、流程图七、参考程序程序开始8255 置控制字从 PB 口输入开关状态从 PA 口输出到二极管

27、显示延时一段时间CSEGAT0000H;程序起始地址LJMPSTARTCSEGAT4000H;主程序起始地址START:MOVA ,#82H;MOVDPTR,#0CFA3H;指向 8255A 控制口地址(DAIS 系统地址做相应的修改 0FFE0H)MOVX DPTR ,A ; 定义 PA 口为输出 PB 口为基本输入方式LOOP: MOVDPTR,#0CFA1H;指向 PB 口地址MOVXA,DPTR;读取 PB 口的开关量MOVDPTR ,#0CFA0H;指向 PA 口地址MOVDPTR , A;把采集到的开关量送PA 口显示DELAY :MOVR7,#20031DE0:MOVR6, #1

28、26DE1:DJNZR6, DE1DJNZR7, DE0SJMPLOOPEND八:思考1、修改 8255A 片选信号的连接线,程序相应的变化2、将电路修改,用 PA 口作为输入, PB 口作为输出,程序应该作何修改。32实验九、电子时钟实验一、实验目的1、熟悉定时计数器的扩展使用与中断的使用方法。2、掌握 LED 数码管动态显示的使用方法二、实验器材1、EL 型微机教学实验系统电路板和8051 芯片2、PC 机和 MCS-51 软件 ,线若干三、实验内容利用 P1.0 P1.5 做为位驱动,用74LS273 作为段驱,利用动态显示的效果,显示出自己时钟分钟和秒钟(如081230)+5V四、 实

29、验电路原理+a ha ha ha ha ha hccccccccccccHHHHHH754527545275452SO0SO1SO2SO3SO4SO5SO6SO7P1.0PI.1P1.2P1.3P1.4P1.5CLK RST33CSU8=1WR五、实验连线将数码显示部分与8279 之间的 14 个短路子全部拔掉 ,改插在下面两根导柱上 ,即将每一组的中下两导柱短界接,然后 P1.0 P1.5 与 LED1 LED6 相连 ,74LS273 的 SO0SO7与 A Dp 相连 ,片选信号 CSU8 与 CS0 相连。(其中 DAIS 系统 LED 是共阳极管,不用接线,利用段驱和为驱芯片,地址系

30、统已经分配好。段驱地址是FFDCH ,位驱地址是FFDDH )六、流程图STATR显示单元置初值定时和中断的初始化时钟初值设置开始计数取时钟的六位数字放六个连续单元存放起来调用显示子程序END(主程序)34中断入口关 T1 并重装时常BUF 内容加 1N1s 到吗Y秒钟加 1N秒到吗Y分钟加 1N分到吗Y时钟加 1N时到吗Y时钟清 0开 T1RETI(中断服务程序)35七、参考程序CSEGAT0000HLJMPSTARTCSEGAT001BHLJMPCLOCKCSEGAT4100HDISBUFEQU30H;显示数字缓冲首地址SECBUFEQU21H;秒缓冲MINBUFEQU22H;分缓冲HOU

31、BUFEQU23H;时钟缓冲BUF EQU 20H;0.1S 秒缓冲START:MOVBUF,#00H ;0.1S 秒缓冲清 0MOVMINBUF,# 00HMOVSECBUF ,#00HMOVHOUBUF , #00H ;时钟设置MOVTMOD#10H;设置 T1 工作于定时方式 2MOVTL1, #0B0HMOVTH1 , #3CH;写 0.1S 的时间常数SETBEA;开放 CPU 中断SETBET1;开放 T1 中断SETBTR1;允许 T1 工作DISP1:MOVR0 ,#DISBUF,显示数字存放首地址36MOVA,HOUBUF;取小时高为数字ANLA,#0F0HSWAPAMOVR

32、0,A;小时高位数字存放INCR0;指向下一个单元MOVA,HOUBUFANLA,#0FHMOVR0 ,A;小时低位数字存放INCR0MOVA,MINBUFANLA,#0F0HSWAPAMOV R0 , A ;分钟高为数字存放INCR0MOVA,MINBUFANLA, #0FHMOVR0, A;分钟高为数字存放INCR0MOVA,SECBUFANLA, #0F0HSWAPAMOVR0 ,A;秒钟高为数字存放37INCR0MOVA,SECBUFANLA ,#0FHMOV R0 ,A;秒钟高为数字存放LCALLDISPLAYSJMPDISP1;以下程序段是EL 型系统的程序DISPLAY:MOVP1, #0FEH;驱动最低位MOVR1,#DISBUF;取显示数字首地址MOVR2,#06H;软计数器表示显示位数LOOP1:MOVDPTR, #SEG_TAB;七段显示码表首地址MOVA,R1MOVCA, A+DPTR;查代码MOVDPTR, #0CFA0HMOVXDPTR ,A;送段驱动器 74LS273LCALLDELAY;严时 0.1sMOVA,P1RLCA;指向下一位位驱动MOVP1,AINCR1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论