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

下载本文档

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

文档简介

1、1微机原理实验指导书微机原理实验指导书目目 录录一伟福实验系统组成和结构一伟福实验系统组成和结构1.1 实验系统主机的硬件组成1.2 实验系统 EX51B 仿真板简介 二二 实验系统的使用方法实验系统的使用方法2.1 系统的安装和启动2.2 MCS51 系列单片机实验软件设置三伟福三伟福 60006000 软件模拟器的使用软件模拟器的使用四实验项目四实验项目实验一 系统认识与程序调试方法 (2 学时)实验二 汇编语言程序设计实验 (2 学时)实验三 并行口的应用 (2 学时)实验四 外部中断应用(2 学时)实验五 计数器/定时器应用实验(2 学时)实验六 七段数码管显示实验 (2 学时)实验七

2、 键盘扫描显示实验(2 学时) 实验八 串行通讯实验(2 学时)实验九 A/D、D/A 转换实验 (4 学时)实验十 外部中断在交通信号灯中的应用(6 学时)实验十一 单片机应用系统设计(8 学时)实验十二 数字钟的设计(6 学时)实验十三 报警系统的设计 (8 学时)2一伟福实验系统组成和结构一伟福实验系统组成和结构实验系统可根据教学实践的需要实现 MCS51/MCS196 单片机原理与接口、8088/8086 微机原理与接口的一系列实验,并在硬件上预留了自主开发实验的空间。对基本实验仅需连少量连接线就可完成,减轻学员工作量。同时也提供了需较多连线的扩展性实验,以进一步锻炼学员的实践开发能力

3、。此外,系统还为学员们提供了强大的软、硬件调试手段。1.11.1 实验系统主机的硬件组成实验系统主机的硬件组成本实验系统主机上有丰富的实验电路模块和灵活的组成方法,既可以和MCS51、MCS96 CPU 也可以和 80888086CPU 组合完成各种实验。本实验仪拥有高档通用仿真器所具有的逻辑分析仪、波形发生器和程序跟踪器等强大的分析功能,让学生在做实验时不仅能了解程序的执行过程,更能直观地看到程序运行时的时序或者电路上的信号。31.1.11.1.1 逻辑电平开关电路逻辑电平开关电路实验仪上有 8 只开关 K0K7,并有与之相对应的 K0K7 引线孔为逻辑电平输出端。开关向上拨相应插孔输出高电

4、平“1”,向下拨相应插孔输出低电平“0” 。 1.1.21.1.2 LEDLED 电平显示电路电平显示电路实验仪上装有 8 只发光二极管及相应驱动电路。见图 2,L0-L7 为相应发光二极管驱动信号输入端,该输入端为高电压电平“1”时发光二极管点亮。我们可以通过P1 口对其直接进行控制,点亮或者熄灭发光二极管。1.1.31.1.3 单脉冲电路单脉冲电路单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键 产生一个单脉冲。板上有单脉冲的输出信号插孔,图为“ ”和“ ” ,分别为正脉冲和负脉冲。图 3: 单脉冲发生电路图 2: LED 电平显示电路图 1: 逻辑电平开关电路

5、41.1.41.1.4 音频放大电路音频放大电路1.1.51.1.5 继电器输出电路继电器输出电路 当控制端电平置高,公共触点与常开端吸合。我们可以将常开端接入一发光二极管,公共端接+5V 电平,通过对控制端进行控制,观察发光二极管的状态。见图 5。1.1.61.1.6 逻辑门电路逻辑门电路本实验仪提供系列门电路:非门,或门,与门,D 触发器。逻辑门电路由 7400和 7404 组合实现。图 4: 音频放大滤波电路图 5: 继电器控制电路或门 与门 非门图 6:逻辑门电路51.1.71.1.7 逻辑测量(逻辑笔)电路逻辑测量(逻辑笔)电路本实验仪上有逻辑测量电路,如图 11。可用于测量各种电平

6、,其中红灯亮表示高电平,绿灯亮表示低电平。如果两灯同时闪动,表示有脉冲信号;两灯都不亮时,表示浮空(高阻态) 。1.1.81.1.8 4MHz4MHz 脉冲信号源和多级分频电路脉冲信号源和多级分频电路 下图是 4MHz 脉冲信号输出电路。可将 4MHz 脉冲信号接到分频电路上,经过分频后,能得到 2M、1M、500K、250K、125K、62.5KHz 多种频率的脉冲信号。1.1.9 PWM 转换电路图 7: 逻辑笔电路图 8-2: 脉冲分频电路图 8-1 :4 MHz 脉冲产生电路图 9: PWM 转换电路61.1.101.1.10 可调模拟量输入电路可调模拟量输入电路电位器电路用于产生可变

7、的模拟量(0-5V) 。1.1.111.1.11 串口通信程序实验插孔串口通信程序实验插孔做串行通信时,如果不需要将 TTL 电平转到 RS232 电平,可直接将 POD51/96 仿真板或 POD8086 仿真板上的 TXD、RXD 与通信对方交叉对接,并且共地即可。单片机与标准的串行设备通信,需要将 TTL 电平转到 RS232 电平或将 RS232 电平转成 TTL 电平。本实验仪提供用户串行通信接口,可以用这两个插孔进行 RS232通信程序实验,经电平转换后,再通过实验仪的“用户串口”接到 PC 机或其它RS232 设备,实现数据互传。1.1.121.1.12 六位六位 LEDLED

8、数码显示器数码显示器1.1.131.1.13 4646 键盘电路键盘电路 本实验仪的 LED 显示电路和键盘电路如图 12-13。显示控制的位码由 74HC374 输出,经 ULN2003 反向驱动后,做 LED 的位选通信号。位选通信号也可做为键盘列扫描码,键盘扫描的行数据从 74HC245 读回,374 输出的列扫描码经 245 读入后,用来判断是否有键被按下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经 245 读回的值为高,如果有键按下,374 输出的低电平经过按键被接到 245的端口上,这样从 245 读回的数据就会有低位,根据 374 输出的列信号和 245 读回的行

9、信号,就可以判断哪个键被按下。LED 显示的段码由另一个 74HC374 输出。 键盘和 LED 显示电路的地址译码见图,做键盘和 LED 实验时,需将 KEY/LED CS 接到相应的地址译码上。位码输出地址为 0X002H,段码输出地址为 0X004H,键盘行码读回地址为 0X001H,此处 X 是由 KEY/LED CS 决定。例如将 KEY/LED CS 接到地址译码的 CS0 上,那么位码输出地址就为 08002H,段码输出地址就是 08004H,键盘行码读回地址为 08001H。图 10: 电位器71.1.141.1.14 存储器电路存储器电路本实验仪上有一片 32K 存储器 61

10、256。提供给学生做存储器实验,由于地址译码图 12-13: 键盘及 LED 显示电路8为 4K 一段,所以只能提供 4K 容量使用,地址从 0000H0FFFH。用 RAM CS 来选择不同的地址段,以适应不同的应用电路。1.1.151.1.15 82558255 端口扩展电路端口扩展电路1.1.161.1.16 A/DA/D 转换电路转换电路 实验仪上有一个 05V 的可调电位器,将可变电压输出端接入 A/D 转换电路的输入端,通过 CPU 软件处理,读进 A/D 转换值,再将转换值送数码管显示。我们可以调节电位器,使之输出不同电压值,通过数码管的显示,检验 A/D 转换正确与否。1.1.

11、171.1.17 D/AD/A 转换电路转换电路我们可以通过软件编程控制 D/A 转换芯片 DAC0832,输出相应电流值,经过采样电路取出模拟量电压值,用电压表测量电压输出端子,读出电压值。图 16:A/D 转换电路图 15:8255 端口扩展电路9图 17: D/A 转换电路1.1.181.1.18 128X64128X64 图形液晶屏、图形液晶屏、16X216X2 字符液晶屏显示控制电路字符液晶屏显示控制电路图 18:液晶屏显示控制电路101.1.191.1.19 直流电机电路直流电机电路1.1.201.1.20 步进电机电路步进电机电路1.1.211.1.21 打印机驱动电路打印机驱动

12、电路图 19:直流电机/霍尔器件电路图 20:步进电机驱动电路图 21:打印机驱动电路111.1.221.1.22 温度传感器电路温度传感器电路1.1.231.1.23 压力传感器电路压力传感器电路1.1.241.1.24 红外通信电路红外通信电路图 22:温度传感器电路图 23:压力传感器电路图 24:红外通信电路121.1.251.1.25 16161616 LEDLED 点阵电路点阵电路图 25:LED 点阵电路1.1.261.1.26 8251A8251A 串行口扩展电路串行口扩展电路图 26:8251A 串行口扩展电路131.1.271.1.27 I I2 2C C 总线实验电路总线

13、实验电路1.1.281.1.28 82538253 定时器定时器/ /计数器扩展电路计数器扩展电路1.1.291.1.29 82598259 中断扩展电路中断扩展电路图 28:8253 定时器/计数器扩展电路图 29 实验板左边 8259 中断扩展电路图 27:I2C 总线电路141.1.301.1.30 82378237 DMADMA 扩展电路扩展电路1.1.311.1.31 数字温度传感器数字温度传感器 DS18B20DS18B20图 30:8237 DMA 扩展电路图 31:数字温度传感器 DS18B20 扩展电路151.1.321.1.32 82798279 键盘显示扩展电路键盘显示扩

14、展电路1.1.331.1.33 霍尔电流扩展电路霍尔电流扩展电路图 32:8279 键盘显示扩展电路图 33:霍尔电流扩展电路161.1.341.1.34 81558155 IO/RAMIO/RAM 扩展电路扩展电路1.1.351.1.35 ISD1420ISD1420 语音录放电路语音录放电路图 34:8155 IO/RAM 扩展电路图 35:ISD1420 语音录放电路171.1.361.1.36 接触式接触式 ICIC 卡电路卡电路1.1.371.1.37 V/FV/F 转换电路转换电路1.1.381.1.38 F/VF/V 转换电路转换电路图 36:接触式 IC 卡电路图 37:V/F

15、 转换电路图 38:F/V 转换电路181.1.391.1.39 4 41616 译码器译码器1.1.401.1.40 实验电路插座实验电路插座本实验仪具有 1 个 40 芯通用电路插座,每个插座的全部引脚都被引出到相应的插孔,40 芯通用插座可兼容 28 芯、24 芯、16 芯和 14 芯插座。利用这个插座,可对双列直插式的各种微机芯片进行实验。1.1.411.1.41 总线插孔总线插孔 本实验仪上有三排总线插座,用于引出各种总线信号,其中 AD0AD7 为 8 根数据总线,A0A15 为 16 根地址总线。另外 ALE,RD,WR 为控制总线。与 CPU 相关的一些控制信号和 I/O 信号

16、例如 P1 口、RXD、TXD 等信号在相应的仿真板上。1.1.421.1.42 地址译码插孔地址译码插孔片选号片选号地址范围地址范围CS008000H08FFFHCS109000H09FFFHCS20A000H0AFFFHCS30B000H0BFFFHCS40C000H0CFFFHCS50D000H0DFFFHCS60E000H0EFFFHCS70F000H0FFFFH图 39:4-16 译码器电路191.21.2 实验系统的实验系统的 EX51BEX51B 仿真板简介仿真板简介进行 80C51 的实验时,需将 EX51B 仿真板插在实验仪上,EX51B 仿真板如下图:在 EX51B 仿真板

17、上有两个跳线器 J301 和 J302,和一个启动方式选择按键。J301:当仿真板独立运行时,请将这组跳线全部短接。所说的仿真板独立运行,就是说没有仿真器,把程序烧录到 CPU 中,插到 40DIP 座上运行程序。 (注:用KEIL 的下载仿真方式也属于独立运行方式) 。与独立运行相对的是仿真方式,在这种方式下,这组跳线都要开路,仿真方式有两种:1直接用实验议自带的仿真器,2外接伟福仿真器,将仿真器用 34 芯电缆接到实验仪的 CN2 插座上,此时,EX51B 仿真板相当于一个仿真头。J302:本实验仪具有外接仿真功能,当实验仪工作于外接仿真方式时,为防止总线冲突,将此跳线短接,屏蔽实验仪的外

18、部总线。这时实验仪上所有接在总线上的器件都不会受到影响。参见实验仪用于仿真的有关说明。启动方式按键:EX51B 仿真板可工作于两种独立进行方式:1.把程序烧到 CPU 芯片中,打开实验就可以直接运行。2.用 KEIL 的 MON51 下载方式进行仿真。按住“启动方式”键,就可进入此方式。 (注:EX51B 仿真板工作于独立方式时,需要将实验仪上仿真器拔下来)二二 实验系统的使用方法实验系统的使用方法2.12.1 系统的安装和启动系统的安装和启动1、仿真开发系统集成调试软件的安装和使用见 WAVE 仿真开发系统使用手册。2、用户根据实验要求,进行 MCS51 单片机实验时,应插上 EX51B 仿

19、真板。单片机常用信号接线座实验仪工作于仿真方式时,接 8051 仿真线实验仪工作于仿真方式时,请短接此跳线。当仿真 EX51B 仿真板独立运行时,请短接这组五个跳线。启动方式按键203、将配套的串行通讯电缆的一端与实验仪上的“仿真器串口”9 芯 D 形插座相连,另一端与 PC 相的串行口相连。4、将实验台的电源线与 220V 电源相连。 (实验结束后应拔下)5、打开实验台电源开关,红色电源指示灯亮。仿真开发器初始化成功后,6、LED 会显示 8051,表示仿真系统正常。7、打开计算机电源,执行 WAVE 集成调试软件。注意:1、 论是集成电路的插拔、通讯电缆的连接、跳线器的设置还是实验线路的连

20、接,都应确保在断电情况下进行,否则可能造成对设备的损坏。2、 实验线路连接完成后,应仔细检查无误后再接通电源。2.22.2 MCS51MCS51 系列单片机实验软件设置系列单片机实验软件设置WAVE 集成调试环境应设置如下:仿真器型号:伟福 Lab6000 实验仪仿真头型号:MCS51 实验 (803132)本课程所有的实验采用系统机上的集成调试软件驱动板上仿真器进行仿真和实验。 三三伟福伟福 60006000 软件仿真器的使用软件仿真器的使用3 31 1 建立你的新程序建立你的新程序选择菜单 文件文件 | | 新建文件新建文件 功能出现一个文件名为 NONAME1 的源程序窗口,在此窗口中输

21、入程序.例:ORG0000HLJMPMAINORG 1000HMAIN:MOV R2,#06HMOV R3,#00HMOV R4,#00HMOV R0,#50HL1: MOV A,R4ADD A,R0MOV R4,AINC R0CLR AADDCA,R3MOV R3,ADJNZR2,L1L2: SJMPL221END现在要做的是将此文件存盘。 3.23.2 保存你的程序保存你的程序选择菜单 文件文件 | | 保存文件保存文件 或 文件文件 | | 另存为另存为 功能。给出文件所要保存的位置,例 如 : D:TRY 文件夹,再给出文件名 PROC1.ASM。保存文件。文件保存后,程序窗口上文件名

22、变成了:D:TRYPROC1.ASM。3.33.3 建立新的项目建立新的项目选择菜单 文件文件 | | 新建项目新建项目 功能。新建项目会自动分三步走。A A) 加入模块文件加入模块文件。在加入模块文件的对话框中选择刚才保存的文件 PROC1.ASM,按打开键。如果你是多模块项目,可以同时选择多个文件再打开。B B) 加入包含文件加入包含文件。在加入包含文件对话框中,选择所要加入的包含文件(可多选) 。如果没有包含文件,按取消键。22C C) 保存项目。保存项目。在保存项目对话框中输入项目名称:PROC1,无须加后缀。软件会自动将后缀设成 “.PRJ” 。按保存键将项目存在与你的源程序相同的文

23、件夹下。项目保存好后,如果项目是打开的,可以看到项目中的“模块文件”已有 一个模块“PROC1.ASM” ,如果项目窗口没有打开,可以选择菜单 窗口窗口 | | 项目窗口项目窗口 功能来打开。3.43.4 设置项目设置项目选择菜单 设置设置 | | 仿真器设置仿真器设置 功能或按“仿真器设置”快捷图标或双击项目窗口的第一行来打开“仿真器设置”对话框。设置如下:仿真器型号:伟福 Lab6000 实验仪仿真头型号:MCS51 实验 (803132)3.53.5 编译你的程序编译你的程序选择菜单 项目项目 | | 编译编译 功能或按编译快捷图标或 F9F9 键,编译你的项目。23在编译过程中,如果有

24、错可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可调试程序了,首先我们来单步跟踪调试程序。3.63.6 单步调试程序单步调试程序选择 执行执行 | | 跟踪跟踪 功能或按跟踪快捷图标或按 F7F7 键进行单步跟踪调试程序单步跟踪就一条指令一条指令地执行程序,若有子程序调用,也会跟踪到子程序中去。你可以观察程序每步执行的结果, “=”所指的就是下次将要执行的程序指令。由于条件编译或高级语言优化的原因,不是所有的源程序都能产生机器指令。源程序窗口最左边的“o”代表此行为有效程序,此行产

25、生了可以指行的机器指令。程序单步跟踪,在程序行的“CX”符号上单击就可以观察“CX”的值,观察一下“CX”的值,可以 看到“CX”在逐渐减少。选择 执行执行 | | 执行到光标处执行到光标处 功能或 F4F4 键或弹出菜单的“执行到光标处”功能。程序全速执行到 光标所在行。24选择 执行执行 | | 单步单步 功能或 F8F8 单步执行就可以全速执行子程序调用,而不会一步一步地 跟踪子程序。设置断点:设置断点:将光标移到源程序窗口的左边灰色区,光标变成“手指圈” ,单击左键单击左键设置断点,也可以用弹出菜单的“设设 置置/ /取消断点取消断点”功能或用 Ctrl+F8Ctrl+F8 组合键设置

26、断点。如果断点有效图标为“红圆绿勾” ,无效断点的图标为“红圆黄叉” 。 断点设置好后,就可以用全速执行的功能,全速执行程序,当程序执行到断点时,会暂停下来,这时你可以观察程序中各变量的值,判断程序是否正确。25四实验项目四实验项目实验一实验一 系统认识系统认识与程序调试方法实验与程序调试方法实验一、实验目的一、实验目的1.掌握实验系统的使用方法。2.掌握集成调试软件的操作与程序调试方法。3.熟悉单片机指令系统,掌握在单片机开发系统上调试和执行程序的过程。二、实验原理二、实验原理Lab6000通用微控制器实验系统由板上仿真器、实验单元、开关电源等构成。接上EX51B 仿真板,可进行MCS-51

27、系列单片机的实验。实验系统通过串行通讯电缆将实验系统上的“仿真器串口”与计算机的串行通讯端口联接,在计算机上运行WAVE 集成调试软件,即可完成实验程序的编写、编译、装载、调试。WAVE 集成调试软件具有与一般办公和工程软件相似的编辑功能和命令菜单。可在软件上完成程序的输入、编辑、编译、调试等工作,实现对实验系统的控制。并可通过相关窗口观察程序运行过程中,单片机各个数据存储单元的变化情况。三、实验仪器、材料三、实验仪器、材料 1. Lab6000 通用微控制器实验系统。 2.计算机,WAVE 集成调试软件。四、实验步骤四、实验步骤1.按要求进行实验系统的联接与启动。 用配套的串行通讯电缆联接实

28、验系统上的“仿真器串口”和计算机串行口。 将实验系统的电源线与220V 电源相连(实验结束后应拔下)。打开实验系统电26源开关,红色电源指示灯亮。仿真器初始化成功后,数码管会显示8051,表示仿真系统正常。 2.执行 WAVE 集成调试软件。 进入开发环境界面(见上图)后,在“仿真器”下拉菜单,选择“仿真器设置”项。在弹出的“仿真器设置”窗口中,应作设置如下: 在“语言”标签窗口下, “编译器路径”为“C:COMP86”; “ASM命令行”勾选“使用伟福预定义符号”项; “编译器选择”点选“伟福汇编器”项; “缺省显示格式”点选“混合十、十六进制”项。 27 在“目标文件”标签窗口下,勾选:

29、“缺省地址(由编译结果确定)”; “生成HEX文件”; “置未用程序存储器为00H”。 在“仿真器”标签窗口: 选择仿真器:Lab6000 通用微控制器实验系统; 选择仿真头:MCS51 实验; 选择CPU:803132; 去掉“使用伟福软件模拟器”选项。 在“通信设置”标签窗口,按实验系统与计算机的实际连接串口点选“端口选择”。3.执行“建新文件”命令,在开发环境程序窗口中按汇编语言格式逐行输入汇编语言源程序,并进行编辑。将程序文件名取为shiyan1.asm保存。 ORG 0000HMAIN: MOV R2,#06H MOV R3,#00H MOV R4,#00H MOV R0,#50HL

30、1: MOV A,R4 ADD A,R0 MOV R4,A INC R0 CLR A ADDCA,R328 MOV R3,A DJNZR2,L1 SJMP$ END4.执行“文件”下拉菜单中,执行“新建项目”命令,建立新项目。在弹出的“加入模块文件”窗口,确定实验程序所在路径,选择实验源程序,并“打开”。在弹出的“加入包含文件”窗口,选择“取消”。 在弹出的“保存项目”窗口,建立项目文件名,选择“保存”。项目文件名一般与程序名同。 完成以上新建项目后,窗口的“模块文件”项下,应有实验源程序一项。 5.执行“项目”下拉菜单中, 执行“编译”命令,对输入的源程序进行编译。 6.在“窗口”下拉菜单中

31、, (1)执行“项目窗口SFR”命令,观察特殊功能寄存器值的变化。 (2)执行“CPU 窗口”命令,观察相应寄存器值的变化。 (3)执行“数据窗口DATA”命令,按下表设置单片机内部 RAM 相应单元的值,并观察这些单元在程序执行过程中的变化。存储单元及数据运行结果单元50H51H52H53H54H55HR3R4数据54HF6H39H20H04HB2H以上窗口命令也可用相应的工具按钮实现。7.在“执行”下拉菜单中,执行相应命令,或利用工具按钮,或利用快捷键,运行调试程序: (1)全速执行运行程序。 (2)跟踪跟踪程序执行的每步,观察程序运行状态及结果。 (3)单步单步执行程序。与“跟踪”不同的

32、是,“跟踪”可以跟踪到函数29(子程序)或过程的内部,而“单步”执行则不跟踪到程序内部。 (4)执行到光标处程序从当前 PC 位置,全速执行到程序窗口中光标所在的行。如果光标所在行没有可执行代码,则提示“这行没有代码”。 (5)暂停暂停正在全速执行的程序。 (6)复位终止调试过程,将系统复位。如果程序正在全速执行,则应先执行“暂停”。 (7)设置 PC将程序指针 PC,设置到程序窗口中光标所在行。程序将从光标所在行开始执行。 (8)自动单步跟踪/单步模仿用户连续执行“跟踪”或“单步”命令来运行程序。 (9)在程序的适当位置,设置断点,全速执行程序到断点处,观察程序运行到断点时的运行结果。 有四

33、种方法,可以在程序窗口光标所在的行处设置断点 1)将光标移到程序窗口内,行左边的空白处,光标变成“手指圆”箭头,单击鼠标左键, 可以设置/取消断点。 2)使用 Ctrl-F8 快捷键,可以在光标所在行设置/取消断点。 3)右击鼠标,在弹出的菜单中,选择“设置/取消断点”。 4)主菜单“执行”下拉菜单中,选择“设置/取消断点”。 8.记录程序运行结果。思考:如果源程序是用 C51 编写,文件名的后缀应以什么结尾?五、实验报告要求五、实验报告要求 1.编写程序清单,处理的运行结果。 2.通过程序调试,分析程序完成什么功能。 3.说明若程序处理的数据不是 6 个,应修改程序的哪部分? 4.说明若存放

34、数据的单元地址变化,应修改程序哪部分?3031实验二实验二 汇编语言程序设计实验汇编语言程序设计实验数制的转换数制的转换一、一、 实验目的实验目的1、进一步熟悉单片机开发系统及其操作2、了解单片机的指令系统3、通过简单程序,了解在单片机系统上程序的调试和执行程序过程4、掌握简单的数值转换算法二、实验原理二、实验原理计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制之间的转换是一种基本功。本实验包含两个程序:程序一:将给定的一个二进制数,转换成二-十进制(BCD)码。在主程序中存入一个二进制数 A,将 A 拆为三个 BCD 码, 并存入 RESULT 开始的叁个单元,请参照实验步骤完成

35、要求。1、 C51 语言源程序:给出要转换的二进制数将数除以 100,得百位数保存百位数将余数再除以 10,得十位数保存十位数余数为个位数,将其保存结束32VOID MAIN() UNSIGNED CHAR RESULT3; UNSIGNED CHAR NUMBER; NUMBER = 123; RESULT0 = NUMBER / 100; / 除以 100, 得百位数 RESULT1 = (NUMBER % 100) / 10; / 余数除以 10, 得十位数 RESULT2 = NUMBER % 10; / 余数为个位数2、 汇编语言源程序RESULT EQU 20H ORG 0 LJM

36、P START ;进入主程序 STARTBINTOBCD: MOV B, #100 DIV AB MOV RESULT, A ; 除以 100, 得百位数 MOV A, B MOV B, #10 DIV AB MOV RESULT+1, A ; 余数除以 10, 得十位数 MOV RESULT+2, B ; 余数为个位数 RETSTART: MOV SP, #40H MOV A, #123 ;存入数 123 CALL BINTOBCD LJMP $END程序二:给出一个 BCD 值数,将其转换成 ASCII 值。在主程序中存入一个 BCD 值数A,将 A 拆为两个 ASCII 码, 并存入 R

37、ESULT 开始的二个单元,请参照实验步骤完成要求。331、C51 语言源程序:CODE UNSIGNED CHAR ASCIITABLE16 = 0123456789ABCDEF; / 定义数字对应的ASCII 表VOID MAIN() UNSIGNED CHAR RESULT2; UNSIGNED CHAR NUMBER; NUMBER = 0X1A; RESULT0 = ASCIITABLENUMBER / 16; / 高四位 RESULT1 = ASCIITABLENUMBER & 0XF; / 低四位2、汇编语言源程序RESULT EQU 20H ORG 0 LJMP STA

38、RTASCIITAB: DB 0123456789ABCDEF ; 定义数字对应的 ASCII 表BINTOHEX: MOV DPTR, #ASCIITABMOV A, #RESULT MOV B, A ; 暂存 A SWAP A给出要转换数 BCD 码取出 BCD 码高四位查表得到 ASCII 码保存高位 ASCII 码取出 BCD 码低四位查表得到 ASCII 码保存低位 ASCII 码结束34 ANL A, #0FH ; 取高四位 MOVC A, A+DPTR ; 查 ASCII 表 MOV RESULT, A MOV A, B ; 恢复 A ANL A, #0FH ; 取低四位 MOV

39、C A, A+DPTR ; 查 ASCII 表 MOV RESULT+1, A RETSTART: MOV SP, #40H MOV A, #1AH CALL BINTOHEX LJMP $ END三、实验器材三、实验器材伟福 Lab6000 系列单片机仿真实验系统一套四、实验步骤四、实验步骤1、确连接系统,设置好仿真器和编译选项2、建立新程序和新项目,编译程序。3、编译成功后进行单步调试,在观察窗口中添加 RESULT 观察项,并观察和记录下 XDATA 窗口和观察窗口的数据变化。五、实验报告要求五、实验报告要求1、整理实验记录的数据和结果,分析结果正确与否。2、进行单步调试,简述调试过程。

40、3、尝试用别的方法解决问题(提示:移位法) 。35实验三实验三 并行口的应用一、实验要求1.P1 口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。2.P1.0、P1.1 作输入口接两个拨动开关,P1.2、P1.3 作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意 P1.0、P1.1 作为输入口时应先置 1,才能正确读入值。二、实验目的1.学习 P1 口的使用方法。2.学习延时子程序的编写和使用。3.学习用与 或运算对 MCS96 系列 CPU 的变量进行位操作。三、实验电路及连线四、实验说明a)P1 口是准双向口。它作为输出口时与一

41、般的双向口使用方法相同。由准双向口结构可知当 P1 口用为输入口时,必须先对它置“1” 。若不先对它置“1” ,读入的数据是不正确的。b)由于 80C196 系列 CPU 没有位操作,所以要对 P1.0,P1.1 进行与运算,以判断该位为高还是为低,然后再用与和或运算将 P1.2,P1.3 的相应位置高或低,这与80C51 系列 CPU 不同。80C51 可以将位变量通过 C 标志位赋值给其它位。c)8051 延时子程序的延时计算问题,对于程序连线连接孔 1连接孔 21S0P1.02S1P1.13P1.2L44P1.3L5实验 2: P1 口输入输出连线连接孔 1连接孔 21P1.0L02P1

42、.1L13P1.2L24P1.3L3实验 1: P1 口循环点灯Delay:MOV R6,#0HMOV R7, #0HDelayLoop:DJNZ R6,DelayLoopDJNZ R7,DelayLoopRET36查指令表可知 MOV,DJNZ 指令均需用两个机器周期,在 6MHz 晶振时,一个机器周期时间长度为 12/6MHZ,所以该段程序执行时间为:(256257+2)2126 261ms五、实验框图六汇编语言源程序六汇编语言源程序Loop: mov a, #01h mov r2, #8Output: mov P1, a rl a call Delay djnz r2, Output l

43、jmp LoopDelay: mov r6, #0 mov r7, #0DelayLoop: 开始 设置初始值 数据输出 左移一位 延时 设移位次数 移位次数完成? 否 是 (A) P1 口循环点灯程序框图 开始 P1.0,P1.1 置 1 读入 P1.0 口值 将读入的值输出到 P1.3 将读入的值输出到 P1.2 读入 P1.1 口值 (B) P1 口输入输出程序框图37 djnz r6, DelayLoop djnz r7, DelayLoop ret end七、实验步骤:七、实验步骤:1、连接系统,设置好仿真器和编译选项。2、建立新程序和新项目,编译程序。4、 编译成功后进行调试,观察

44、 LED 的闪烁。八、实验报告:八、实验报告:若采用 P3 口,实验线路和软件应如何修改?38实验四实验四 外部中断实验外部中断实验一、实验要求一、实验要求用单次脉冲申请中断,在中断处理程序中对输出信号进行反转。二、实验目的二、实验目的1、学习外部中断技术的基本使用方法。2、学习中断处理程序的编程方法。三、实验电路及连线三、实验电路及连线四、实验说实明四、实验说实明中断服务程序的关键是: 1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中设定是否允许中断重入,即设置 EXO 位。本例中使用了 INTO 中断,一般中断程序进入时应保护 PSW,ACC 以及中断程序使

45、用但非其专用的寄存器。本例的中断程序保护了 PSW,ACC 等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。INTO(P32)端接单次脉冲发生器。P1.0 接 LED 灯,以查看信号反转。连线连接孔 1连接孔 21P1.0L02单脉冲输出INT0 (51 系列)单次脉冲39五、实验框图五、实验框图参考程序:参考程序:LED EQU P1.0LEDBUF EQU 0 LJMP START ORG 3INTERRUPT0: PUSH PSW ; 保护现场 CPL LEDBUF ; 取反 LED MOV C, LE

46、DBUF MOV LED, C POP PSW ; 恢复现场 RETISTART: CLR LEDBUF CLR LED MOV TCON, #01H ; 外部中断 0 下降沿触发 MOV IE, #81H ; 打开外部中断允许位(EX0)及总中断允许位(EA) LJMP $ END 主程序框图 外部中断子程序框图开始设置初始状态设置中断控制寄存器中断允许等待中断中断入口保护现场状态位取反状态位输出中断返回恢复现场40六、实验步骤:六、实验步骤:1、连接系统,设置好仿真器和编译选项。2、建立新程序和新项目,编译程序。3、编译成功后进行调试,观察 LED 的闪烁。七、实验报告要求七、实验报告要求

47、1、采用单步、断点、连续运行等调试方式以上程序,记录中断的过程和结果。2、若采用外部中断 1 来产生中断,电路和程序应如何修改?41实验五实验五 计数器计数器/ /定时器应用实验定时器应用实验一、实验要求一、实验要求用 CPU 内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转.二、实验目的二、实验目的1、学习 8051 内部计数器的使用和编程方法。2、进一步掌握中断处理程序的编程方法。程序一程序一 定时器实验定时器实验实验电路及连线实验电路及连线 实验说明实验说明1、关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验

48、使用的是定时器。2、定时器有关的寄存器有工作方式寄存器 TMOD 和控制寄存器 TCON。TMOD 用于设置定时器/计数器的工作方式 0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。3、内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是 12个振荡器周期。因为实验系统的晶振是 6MHZ,本程序工作于方式 2,即 8 位自动重装方式定时器, 定时器 100us 中断一次, 所以定时常数的设置可按以下方法计算:机器周期=126MHZ=2uS(256-定时常数)2uS=100us定时常数=206. 然后对 100us 中断次

49、数计数 10000 次,就是 1 秒钟.4、在中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。连线连接孔 1连接孔 21P1.0L042实验框图实验框图 TICK EQU 10000 ; 10000 X 100US = 1S T100US EQU 256-50 ; 100US 时间常数(6M) C100US EQU 30H ; 100US 记数单元 LEDBUF EQU 0 LED EQU P1.0 LJMP START ORG 000BH ;中断程序入口T0INT: PUSH PSW MOV A, C100US+1

50、 JNZ GOON DEC C100USGOON: DEC C100US+1 MOV A, C100US ORL A, C100US+1 Y 主程序框图 定时中断子程序框图开始置 T0 中断工作方式设置定时常数设置初始状态位设置秒计数值定时中断入口遇保护现场秒计数值减 1重新设置秒计数值状态位取反恢复现场中断返回是否到 1 秒是否中断允许输出状态位等待中断43 JNZ EXIT ; C100US 记数器不为 0, 返回 MOV C100US, #HIGH(TICK) MOV C100US+1, #LOW(TICK) CPL LEDBUF ; C100US 记数器为 0, 重置记数器 ; 取反

51、LEDEXIT: POP PSW RETISTART: ; 主程序入口 MOV TMOD, #02H ; 方式 2, 定时器 0 MOV TH0, #T100US ; 计算 T/C 的计数初值,并装载到 TH 和 TL MOV TL0, #T100US MOV IE, #10000010B ; EA=1, IT0 = 1 SETB TR0 ; 开始定时 CLR LEDBUF CLR LED MOV C100US, #HIGH(TICK) MOV C100US+1, #LOW(TICK)LOOP: MOV C, LEDBUF MOV LED, C LJMP LOOP END程序二程序二 计数器实

52、验:计数器实验:定时器/计数器 0 按计数器模式和方式 2 工作,对 P3.4(T0)引脚进行计数。按动按钮,记数寄存器增加 1 记数,记满则与 P1.0 相连的发光二极管亮,留意按动次数。实验说明:实验说明:单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。实验电路及连线实验电路及连线 连线连接孔 1连接孔 21P1.0L02单脉冲输出T0P1.0 LED0T044程序框图程序框图参考程序:参考程序:三、实验器材三、实验器材1、L

53、AB6000 通用微控制器实验系统。2、计算机,WAVE 集成调试软件。3、连线若干。四、实验步骤:四、实验步骤:CLR P1.0MOV TMOD, #00000110B ; 方式 2,记数器 0 MOV TH0, #0FBH MOV TL0, #0FBH SETB TR0 ; 开始记数LOOP1:JBC TF0, LOOP2SJMP LOOP1LOOP2:SETB P1.0NOPEND开始设置初始状态位设置计数值输出状态位查询状态位是否为一是置 P1.0 为一,LED 亮451、连接系统,设置好仿真器和编译选项。2、建立新程序和新项目,编译程序。3、编译成功后进行调试,观察 LED 的闪烁。

54、4、对于实验一,可在中断程序中设置断点,在观察窗口中添加 C100US 和 LEDBUF 观察项,并观察和记录下 XDATA 窗口和观察窗口中的数据变化。五、实验报告要求五、实验报告要求1、整理好观测到的数据,并与理论值相比较。2、讨论定时器/计数器 0 的四种方式的定时范围。3、小结做完实验后的体会(着重弄懂控制寄存器的位含义及中断的处理) 。46实验六实验六 七段数码管显示实验七段数码管显示实验一、实验要求利用实验仪提供的显示电路,动态显示一行数据.二、实验目的1. 了解数码管动态显示的原理。2. 了解用总线方式控制数码管显示三、实验线路及连线四、实验说明1本实验仪提供了 6 位 8 段码

55、 LED 显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有 6 位,用动态方式显示。8 位段码、6 位位码是由两片 74LS374 输出。位码经 MC1413 或 ULN2003 倒相驱动后,选择相应显示位。本实验仪中 8 位段码输出地址为 0X004H,位码输出地址为 0X002H。此处 X 是由 KEY/LED CS 决定,参见地址译码。做键盘和 LED 实验时,需将 KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将 KEY/LED CS 接到 CS0 上,则段码地址为 08004H,位码地址为 08002H。位选通信号 (0 x002H

56、) 段码输出(0 x004H)数据总线连线连接孔 1连接孔 21KEY/LED_CSCS047 七段数码管的字型代码表如下表: 显示字形gfedcba段码001111113fh1000011006h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hB11111007chC011100139hD10111105ehE111100179hF111000171h五、程序框图 a f b g e c d 。dp 否 是初始化显示参数关所有位显示取显示数据输

57、出段码数据 位选通信号移位指向下一个显示数据返回6 位完成开始输出位选通信号延时48汇编源程序:OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口IN equ 08001h ; 键盘读入口LEDBuf equ 60h ; 显示缓冲Num equ 70h ; 显示的数据DelayT equ 75h ; ljmp StartLEDMAP: ; 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ; 延时子程序 m

58、ov r7, #0DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop retDisplayLED: mov r0, #LEDBuf mov r1, #6 ; 共 6 个八段管 mov r2, #00100000b ; 从左边开始显示Loop: mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管 mov a, r0 mov dptr, #OUTSEG movx dptr,a mov dptr, #OUTBIT mov a, r2 movx dptr, a ; 显示一位八段管 mov r6, #0149

59、call Delay mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx dptr, a ; 关所有八段管 retStart: mov sp, #40h mov Num, #0MLoop: inc Num mov a, Num mov b, a mov r0, #LEDBufFillBuf: mov a, b anl a, #0fh mov dptr, #LEDMap movc a, a+dptr ; 数字转换成显示码 mov r0,a ; 显示在码填入显示缓冲 inc r

60、0 inc b cjne r0, #LEDBuf+6, FillBuf mov DelayT,#30DispAgain: call DisplayLED ; 显示 djnz DelayT,DispAgain50 ljmp MLoop end六、实验步骤1、编制程序。2、进行实验线路的接线。3、按要求进行实验系统的联接与启动。4、输入程序并检查,保存程序,编译程序。5、执行程序,观察 LED 显示数值的变化,说明程序实现的功能。51实验七实验七 键盘扫描显示实验实验一、一、实验目的1 了解数码管动态显示的原理。了解用总线方式控制数码管显2 掌握键盘和显示器的接口方法和编程方法。掌握键盘扫描和 LED 八

温馨提示

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

评论

0/150

提交评论