MCS51单片机原理及应用实验指导书.doc_第1页
MCS51单片机原理及应用实验指导书.doc_第2页
MCS51单片机原理及应用实验指导书.doc_第3页
MCS51单片机原理及应用实验指导书.doc_第4页
MCS51单片机原理及应用实验指导书.doc_第5页
免费预览已结束,剩余38页可下载查看

下载本文档

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

文档简介

MCS-51微机原理及应用-实验指导书MCS51单片机原理及应用实验指导书 邵铁锋 编工程训练中心2009年9月18日41目录综合仿真实验仪简介1Keil uVison2快速入门4实验一 清零程序15实验二 拆字、拼字程序16实验三 数据区传送程序及数据排序程序17实验四 查找相同数个数18实验五 多分支程序19实验六 无符号双字节快速乘法子程序20实验七 P1口亮灯实验21实验八 P3.3 口输入、P1 口输出22实验九 继电器控制24实验十 定时流水灯实验(定时器简单应用)25实验十一 定时器实验(电脑时钟)26实验十二 脉冲计数实验27实验十三 8*8 LED动态扫描实验28实验十四 A/D接口实验29实验十五 D/A接口实验30实验十六 8255 PA口控制PB口31实验十七 8255 A.B.C口输出方波32实验十八 串/并转换实验33实验十九 RS232串口通讯实验34实验二十 字符型液晶(1602)显示实验35实验二十一 电机驱动控制实验36实验二十二 串行AD转换实验38实验二十三 P1口转弯灯实验(设计性实验)39综合仿真实验仪简介DP-51PROC 单片机综合仿真实验仪向用户提供了丰富的外围器件和设备接口同时,基于Keil C51 集成开发环境下的TKSMonitor51 仿真器具有硬件仿真的功能,组合成一套资源丰富、功能强大的MCU 综合实验系统。用户可以在Keil uVision2 环境下学习编写、调试单片机程序,可以完成大量的单片机应用练习和开发实验,快速掌握单片机原理及其实用接口技术。掌握运用单片机进行项目开发的过程、步骤和方法,积累一定的调试方法、技巧。DP-51PROC 单片机综合仿真实验仪如图1-1所示,图1-1 DP-51PROC 单片机综合仿真实验仪1. 实验箱布局结构图1-2 DP-51PROC 单片机综合仿真实验仪由图1-2可以看出,它分为很多个功能块,各个功能块之间是相对独立的,每个功能块都有一个编号分别是竖数AD,横数110。我们可以从编号,快速的找到功能块所在的位置。如C3 功能块,就是第3 行的第3 个功能块,这样用户就可以比较方便的找到对应的位置。DP-51PROC 单片机综合仿真实验仪上的功能块如表1 所示。表1 DP-51PROC单片机综合仿真实验仪功能块2. TKSMonitor51 仿真器说明在DP-51PROC 单片机综合仿真实验仪中为用户配备了一个TKSMonitor51 仿真器,它实质上是一个基于Keil 环境下的MON51 仿真调试器,并且配备了一个装载用户程序的空间,可以脱离计算机使用仿真器运行用户程序,这就相当于一个单片机在运行用户程序一样,当用户将HEX 文件下载入TKSMonitor51 仿真器后,用户将仿真头插入锁紧座就相当于在锁紧座上插入了一块烧写好程序的单片机。它的工作方式有两种:下载工作方式和运行工作方式。(1)下载工作方式 (load)把拨动开关拨到LOAD 一边就进入下载工作方式了。在该工作方式下,用户可以下载程序到FLASH 中。(2)运行工作方式 (run)把拨动开关拨到RUN 一边就进入运行工作方式了。在该工作方式下用户可以跑下载到FLASH 中的程序,也可以把MON51 下载到FLASH 中,然后使用KEIL C51来调试用户程序。Keil uVison2快速入门1. 创建第一个Keil uVison2 应用程序在Keil C51 集成开发环境下,所有的文件包括源程序(包括C 程序,汇编程序)、头文件、甚至说明性的技术文档都可以放在工程项目文件里统一管理。在使用Keil C51 前,您应该习惯这种工程的管理方式,对于刚刚使用Keil C51 的用户来讲,一般可以按照下面的步骤来创建一个自己的Keil C51应用程序。 新建一个工程项目文件; 为工程选择目标器件(例如选择PHILIPS 的P87C52X2); 为工程项目设置软硬件调试环境; 创建源程序文件并输入程序代码; 保存创建的源程序项目文件; 把源程序文件添加到项目中。2. 调试仿真功能的使用调试仿真功能是指DP-51PROC单片机综合仿真实验仪运行TKSMonitor51仿真器中单片机P87C52X2 内部的MON51 监控程序,把用户的应用程序装载到外部SRAM 中,从而实现运用Keil C51 集成开发环境所提供的所有调试命令来调试用户的应用程序或仿真用户的应用系统。(1) 如何下载程序并进入调试状态首先,把TKSMonitor51 仿真器上的开关拨到 LOAD 模式,即在下载状态下,用户应将TKSMonitor51 仿真器的仿真头插入到DP-51PROC 单片机综合仿真实验仪的U13 锁紧座上;然后ISP 跳线JP14 跳开(即不短接),按下复位按键“RESET”。此时,DP-51PROC单片机综合仿真实验仪即进入下载状态。然后将TKSMonitor51 仿真器接上串口线,在PC 机上双击 DPFlash 下载软件的快捷图标(DPFALSH 安装版在光盘的SOFTWEAR 目录内,运行安装即可),运行DPFlash 下载软件。这时将出现如图2.23 所示的DPFlash 下载软件的操作界面。在DPFLASH 上“型号:”的下拉菜单选择 DP-51PROC,然后选择适当的通信口即可。另外DPFlash 下载软件还内嵌一个串口调试器,如图2-1 所示的菜单栏的串口调试器,用户可以使用它进行串口调试。图2-1 DPFlash 编程界面然后在主界面中点击编程命令按钮,在出现如图2-2 所示的编程窗口中选择其它编程选择栏的编程 MON51 选项,单击编程命令按钮即可自动把MON51.HEX 监控程序下载到TKSMonitor51 仿真器的Flash 中。若无异常,则提示编程正常结束,这时关闭该窗口退出 DPFlash 软件。把TKSMonitor51 仿真器上的工作模式选择开关切换到 RUN 处,然后按一下复位键(RESET),MON51 程序就开始运行了。此时,DP-51PROC 单片机综合仿真实验仪即进入调试状态。图2-2 MON51 编程界面(2) 调试状态的存贮器模型当TKSMonitor51 仿真器处于调试状态时将执行MON51 监控程序,这样可在KeilVision2 集成开发环境下调试程序,即作为MON51调试器。在调试状态下TKSMonitor51仿真器的存贮器模型,如图2-3 所示。图2-3 调试状态下存储空间分配图系统复位后,TKSMonitor51 仿真器执行“MON51 监控程序”。在调试状态下,用户的应用程序必须从SRAM 的0x8000 地址开始存放,中断矢量也应从相应的地址单元转移到从0x8000 开始的相应单元。注意:调试状态下,定时器T2、串行口UART 已被“MON51 监控程序”所占用,用户不能再使用这些资源。(3) 调试前的硬件准备工作a) 拿出随机提供的串口通信电缆,一端连接TKSMonitor51 仿真器的RS-232 串行通信口,而另一端则连接到PC 机的串口上(COM1 或COM2)。b) 打开实验仪的工作电源,此时即为仿真调试准备好了硬件环境。c) 如2.5.1 节所说的设置好跳线,并下载MON51 监控程序到实验仪。(4) 软件调试环境的设置(a) 双击Keil C51 快捷图标,进入Keil C51 集成开发环境,这时Keil C51 集成环境自动打开上次正确退出时所编辑的工程项目文件,如图2-4 所示。图2-4 Keil C51 集成开发环境界面(b) 点击菜单栏上的Project 项,会弹出下拉式菜单,这时选择 Option for target target 1 将出现如图2-5 所示的调试环境设置界面。图2-5 调试环境设置窗口(c) 第1 项Target 属性的设置,对于在TKSMonitor51 仿真器上进行的仿真、调试,由于MON51 监控程序已经占用了从0000H7FFFH 地址单元的程序存储空间,因此用户的应用程序必须从8000H 地址单元开始存放,即用户应设置OffChip CodeMemory 栏内的Eprom 选项。具体配置请见图2-5,对于第4 项“C51”的配置请按图2-6 进行设置。图2-6 C51 属性栏的设置(d) Debug 环境的设置首先选择 Debug 项,进入如图2-7 所示的设置画面.图2-7 Debug 调试环境设置这时就可以对其中的每项进行具体设置了,当然您完全可以按照图3-2-29 进行设置(要点:在该选项中Use Simulator 是软件模拟仿真,它只能对程序的语法及其结构做一般性的分析,与硬件没有联系;而Use 选项则是硬件仿真,且根据所选用的驱动而使用不同的硬件仿真方式,对于TKSMonitor51 仿真器而言应该选择 Keil Monitor51 Driver 选项)。同时它的 Settings 项还为我们提供了一个串口通信设置环境,通过它我们可以灵活设置串行通信的端口和波特率,其设置环境如图2-8 所示,但请注意:由于在调试模式下,TKSMonitor51 仿真器需要与上位机进行通信,因此它们的通信协议必须一致,波特率也必须相同且为9600bps。当然要进入系统调试环境设置我们也可以点击工具栏上的快捷图标进入到环境设置窗口,Keil C51 集成开发环境为我们提供了很多这样的快捷功能,好好利用往往能达到事半功倍的效果。图2-8 串口属性设置(e) 至于其它的选项用户可按默认值进行设置或不用设置,最后点击确定加以确认。3. 程序调试实战下面讲述运用TKSMonitor51 仿真器在Keil C51 集成开发环境下调试程序的步骤和方法。(1) 打开示范程序的项目文件Led_Light.V2,这时在Keil C51 的Project Window项目观察窗口中看到如图2-9 所示的工程项目结构。图2-9 Led_Light 工程的结构在Source Group 1 中可以看到文件Led_Light.c,它就是该项目的核心用户要调试的源程序文件。在此用户应特别注意:在TKSMonitor51 仿真器下调试时,用户的程序代码是从8000H 单元开始存放的,则还需要添加 Startup.a51 系统配置文件(用户可以在KeilC51Lib 目录下找到它,为了保证该文件不会被破坏,用户可以把它拷贝到该工程目录中),其主要功能是定义数据段、程序段和堆栈的大小及其起始地址、RAM 的初始化、程序重新定位、初始化启动代码等等,用户必须把CSEG AT 0 代码改为CSEG AT 8000H,即用户的应用程序应从8000H 开始存放,当然中断矢量地址也应跳转到相应的高端地址单元,如外部中断0 的入口地址则应该是8003H。(2) 在使用TKSMonitor51 仿真器进行的调试是一种软硬件相结合的综合调试方法,因此用户在使用TKSMonitor51 仿真器进行仿真调试实验前应正确设置工程项目的软硬件环境,本例子的硬件设置请参考基于Keil C51 集成开发环境的仿真与调试实验的实验步骤(用40 针排线把实验仪上的A1 区J76 接口和A2 区J79 接口相连,然后使用排线把A2 区的J61 接口与D1 区的 J52 接口相连)在KEIL 的环境下点击工具栏Project 的选项,在弹出的如图2-10所示的下拉菜单中选择Option for TargetTarget 1命令,对hello.uv2 工程项目进行调试环境设置。图2-10 调试环境设置命令菜单 (3) 修改完毕执行Project 菜单中的Rebuild all target files 命令对工程项目文件进行重新编译、连接,此时会出现“编译正确、连接成功”的提示信息。若编译出错,它将提示出错的原因及所在的位置,更正后重新编译直至完全正确为止,接下来点击菜单栏内的“Debug”菜单,在出现的下拉式菜单中选择 Start/Stop Debug Session 调试命令,这样即可把用户程序就下载TKSMonitor51 仿真器的SRAM 中。(4) 此时出现如图2-11 所示调试画面,看到了吗?或许和您看到的不一样,请不用担心。若因为初始设置不同,在您的调试界面中没有看到变量观察窗口,您可以点击菜单栏中的View 选项,在弹出如图2-12 所示的下拉菜单中选择 Watch & Call Stack Window ,即可以打开变量观察窗口。您可以使用同样的方法打开其它相关窗口。图2-11 调试界面Command 输入框图2-12 打开变量窗口命令菜单(5) 此时请注意:当您调试C 语言程序时,应在Keil环境的Command 输入框下执行g,main 命令;而当您调试的是汇编语言程序时,在Keil环境的下执行g 命令进入程序调试状态。这时程序指针PC 已指向第一命令语句 AJMP MAIN 处,并等待用户输入各种调试命令。Keil C51 给出了许多调试快捷图标和调试命令,为了更好的使用这些命令,可以详细查阅本章附录中常用的调试命令及方法。(6) 由于Led_light 程序使用了系统资源P1 口,为了更好的观察这些资源的变化,用户可以打开它们的观察窗口。点击菜单栏Peripherals 选项,在打开的下拉菜单中选择I/O-Ports 选项中的Port 1 命令,即可打开并行I/O 口P1 的观察窗口,如图2-13所图2-13 P1 口观察窗口(7) 点击菜单栏的Debug 选项,在弹出的下拉菜单中执行Step 命令,观察项目窗口的特殊功能寄存器区域,如图2.34 所示,看看PC 指针和堆栈指针的值有何变化。多次执行单步运行指令Step,注意观察P1 观察窗口和DP-51PROC 单片机综合仿真实验仪上用逻辑笔检测P1 口状态。最后选择Go 命令全速运行程序,此时DP-51PROC 单片机综合仿真实验仪上看的P1.0、P1.1、P1.2 电平在发生变化。(8) 程序调试完毕可执行Debug 菜单栏中的Start/Stop Debug Session 命令停止调试(当然您按一下TKSMonitor51 仿真器的复位按钮,即可较快地退出调试状态)。Flash 脱机运行您的项目工程经过在Keil C51 集成开发环境下的软件模拟、DP-51PROC 单片机综合仿真实验仪上的硬件仿真,已基本实现和满足用户要求。但在实际的现场工作环境中它是否仍然符合我们的要求,这就需要制作样机脱机运行。脱机运行用户程序是指用户把经过调试、仿真后生成的目标代码文件(*.hex)下载(编程、固化)到TKSMonitor51 仿真器上的单片机内部Flash 程序存储器中,系统复位后TKSMonitor51 仿真器将全速执行用户程序,这样DP-51PROC 单片机综合仿真实验仪就相当于用户的一个样机了。TKSMonitor51 仿真器具有下载固化用户程序的功能,与上位机DPFLASH 软件配合使用,把程序下载到实验仪自带的FLASH 存储区中运行。1运行状态的存贮器模型当TKSMonitor51 仿真器处于运行状态时,将全速执行实验仪内部 Flash 中的用户程序。运行状态下,DP-51PROC 单片机综合仿真实验仪的存储器模型如图2-14所示。图2-14 运行状态下存储器模型2.运行程序实例首先设置好实验仪,然后把项目修改一下配置,并生成HEX 文件,然后使用DPFLASH 软件把HEX 文件下载,最后把TKSMonitor51 仿真器上的开关切换到RUN 模式然后按RESET 按键即可进入脱机运行状态。具体操作如下。2.下面以Led_Display.asm 源程序为例来介绍如何运行用户程序的步骤及方法。(1) 在Keil C51 集成开发环境下打开Led_Display.V2 工程,这时会出现如图2-15所示的编辑、编译环境,由于在运行状态下TKSMonitor51 仿真器是运行单片机内部程序存储器中的程序,这样源程序文件必须从 0000H 单元开始存放,这与在MON51 环境下调试程序不同(其程序存放起始地址为8000H)。因此在编译源程序文件时,必须对程序及其编译环境进行重新设置。(2) 首先更改源程序文件中的程序代码定位伪指令语句“ORG 8000H”为“ORG0000H”,若您的源程序是C 语言编写的,则系统配置文件“Startup.a51”中的命令代码“CSEG AT 8000H”改为“CSEG AT 0000H”,即让程序从0000H 地址单元开始装载。图2-15 系统编译环境设置界面(3)重新设置Keil C51 的编译环境,点击菜单栏上的Project 项,在弹出的下拉式菜单中选择Option for target target 1命令,将出现如图2-15 所示的系统环境设置界面。在第一栏Target 选项中把外部程序存储器空间起始地址改为:0000H。在第2 栏Output 选项中选中 Create Hexe File,即表示在编译连接后自动生成目标文件(*.HEX)。而第三栏C51 选项中的中断入口地址向量改为:0000H,点击确定命令按钮加以确认。(4)运行Rebuild Target 命令重新编译连接程序文件,这时会出现如图2-16所示的输出提示信息框。其中“Creating hex file from Led_Light”表示正在生成目标文件Led_Light.hex,接下来的一行“ Led_Light0 Error(s),0 Warning(0)。”提示编译成功,程序没有错误,也不存在警告。若在编译连接中出现警告信息用户可以不必理会它;但是若提示程序中存在错误,必须查找并修改程序中的错误直至程序编译成功为止。图2-16 编译输出信息窗口(5)将实验箱内串口通信电缆并正确连接到PC 机的串口和TKSMonitor51 仿真器的串口上。(6) 复位TKSMonitor51 仿真器后, 将状态开关拨置LOAD 处。运行上位机的 DPFLASH 下载软件。然后装载 Led_Light.hex 文件,并点击下载软件(DPflsah)左边的编程命令按钮(见图2-1),则出现如图2-17 所示的编程区域选择对话框,点击编程命令即可把Led_Light.hex 文件下载到FLASH 芯片中。图2-17 编程区域选择对话框(7) 最后又把TKSMonitor51 仿真器上的开关拨到 RUN 的一边,按下复位开关“RESET”,这时TKSMonitor51 仿真器再次进入用户模式并全速运行用户程序。实验一 清零程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。二、实验内容程序一:把2000H20FFH的内容清零。三、程序框图四、实验步骤用连续或单步方式运行程序,检查2000H20FFH中执行程序前后的内容变化。五、思考(1)对于清零程序,假使把2000H20FFH中的内容改成FF,如何修改本程序?(2)如何用断点方式调试程序? 实验二 拆字、拼字程序一、实验目的(1)掌握汇编语言设计和调试方法;(2)熟悉MCS-51 单片机实验系统。二、实验内容程序一:把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。程序二:把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。三、程序框图 拆字 拼字四、实验步骤程序一:用连续或单步方式运行程序,检查20002002H中内容变化情况。程序二:单步或用断点方式运行程序,检查2002H内容变化情况。五、思考(2)如何用断点方式调试程序? 实验三 数据区传送程序及数据排序程序一、实验目的(1)掌握RAM中的数据操作;(2)熟悉8031(8051)指令系统,掌握程序设计方法。二、实验内容程序一:把R2、R3源RAM区首址内的R6、R7字节数据传送到R4、R5目的RAM区。程序二:编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、程序框图 数据区传送 数据排序四、实验步骤程序一:在R2、R3中输入源首址(例如0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如1FFFH),运行程序,检查00001FFFH中内容是否和20003FFFH中内容完全一致。程序二:把8031(8051)中RAM50H5AH中放入不等的数据,运行本实验程序后检查505AH中内容是否按从小到大排列。五、思考对于程序二,修改程序把50H5AH中内容按从小到大排列。实验四 查找相同数个数一、实验目的熟悉汇编语言编程。二、实验内容在2000200FH中查出有几个字节是零,把个数放在2100H中。三、程序框图四、实验步骤在2000200FH的几个单元中填入零,运行本程序后检查2100H中是几个相同数。五、思考修改程序,查找其他内容。实验五 多分支程序一、实验目的掌握汇编语言的编程。二、实验内容编写程序,根据送入的数据转移运行。三、程序框图四、实验步骤A2区的P10P17用8芯排线连接到D1区的LED1LED8,在20H中分次送入00、01、02、03,每次运行程序后,观察8个LED上数字循环情况。0字循环时LED1点亮,其他LED熄灭。1字循环时LED2点亮,其他LED熄灭,2字循环时LED3点亮,其他LED熄灭,3字循环时LED4点亮,其他LED熄灭。实验六 无符号双字节快速乘法子程序一、实验目的掌握MCS-51汇编语言程序设计方法。二、预备知识本程序是利用单字节的乘法指令,根据下面的公式进行乘法运算的:(R2R3)(R6R7)=(R2)28+(R3)(R6)28+(R7)=(R2)(R6)216+(R2)(R7)+(R3)(R6)28+(R3)*(R7)三、实验内容将(R2R3)和(R6R7)中双字节无符号整数相乘,积送R4 R5 R6 R7中。四、程序框图五、实验步骤在R2R3和R6R7中输入无符号整数,连续或单步运行本实验程序后检查R4 R5 R6 R7中内容。实验七 P1口亮灯实验一、实验目的(1)学习P1口的使用方法;(2)学习延时子程序的编写。二、实验预备知识(1)P1口对准双向口,每一位都可独立地定义为输出或输入。(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。三、实验内容P1口作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。四、程序框图五、实验电路六、实验步骤A2区的P10P17用8芯排线连接到D1区的LED1LED8,运行程序后,观察发光二极管闪亮移位情况。七、思考(1)改变延时常数,使发光二极管闪亮时间改变;(2)修改程序,使发光二极管闪亮移位方向改变。实验八 P3.3 口输入、P1 口输出一、实验目的(1)掌握P3口、P1口简单使用;(2)学习延时程序的编写和使用。二、实验内容实验方案一:1.P3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。2.P1口做输出口,编写程序,使P1口接的8个发光二极管D1D8按16进制加一方式点亮发光二极管。实验方案二:1.P3.3口作为外部中断输入口,连接A2区的P3.3口和D1区的KEY1口,KEY1每按一下,P1口输出按十六进制加一。2.P1口做输出口,编写程序,使P1口接的8个发光二极管D1D8按16进制加一方式点亮发光二极管。三、实验说明1.P3口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P3口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。2.延时子程序的延时计算问题对于延时程序DELAY: MOV R6,#00HDELAY1:MOV R7,#80H DJNZ R7, DJNZ R6,DELAY1查指令表可知MOV、DJNZ指令分别需用一个和两个机器周期,而一个机器周期时间长度为12/6.0MHZ=2s,所以该段指令执行时间为:(1+2128+2)256+1)2s=132.61ms。四、实验程序框图中断初始化开始中断使能P1口赋初始值中断中断开始初始值+1中断返回中断函数是方案二程序流程图主函数中断服务函数方案一程序流程图否 五、实验线路图 六、实验步骤A2区P33用插针连至D1区K1,A2区P10P17用排线连至D2区LED1LED8。连续运行程序。开关K1每拨动一次,LED1LED8发光二极管按16进制方式加一点亮。 实验九 继电器控制一、实验目的掌握用继电器控制的基本方法和编程。二、实验内容利用P10口输出高低电平,控制继电器的开合,以实现对外部装置的控制。三、预备知识现代自动化控制设备都存在一个电子与电气电路的互相联结问题,一方面要使电子电路的控制信号能够控制电器电路的执行元件(电动机、电磁铁、电灯等),另一方面又要为电子电路和电气电路提供良好的电隔离,以保护电子电路和人身的安全,电子继电器便能完成这一桥梁作用。本实验采用JZC23F型继电器,其控制电压为5V。继电器电路中一般要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势,防止干扰。四、实验线路图 五、实验程序框图六、实验步骤1. A2区的P10用杜邦线连接到C7区的KJ孔;2. C7区的OPEN1、OPEN2分别用杜邦线连接到D1区的LED1、LED2;3. C7区的COM1、COM2都用杜邦线连接到C1区的GND;4. C7区跳线JP7用跳线帽短接;5. 编写例程,用Keil C51编译,生成HEX格式的文件;6. 利用DPFlash软件将HEX文件下载到实验箱内运行;也可以用Mon51仿真调试;7. 程序运行后,会听到继电器噼啪作响,同时看到LED灯的亮灭。 实验十 定时流水灯实验(定时器简单应用)一、实验目的通过学习单片机定时器的简单定时操作,掌握单片机定时器使用的一般方法。二、实验内容利用单片机内部定时器产出精确的一秒定时,用其中的单片机的P1 口作为控制端口,使D1 区的LED 每隔一秒钟轮流亮。三、实验原理图四、实验流程图中断开始1s标志位置1定时1s?中断计数参数+1是否中断退出中断函数流程图任务A开始P1口赋值初始值初始值右移一位定时1s?定时器初始化是否主函数流程图五、实验步骤用排线连接A2区P1口和D2区LED1LED8,编写定时控制程序,观察LED发光情况实验十一 定时器实验(电脑时钟)一、实验目的熟悉MCI-51定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。二、实验内容编写程序,从本实验系统键盘上输入时间初值,用定时器产生0.1S定时中断,对时钟计数器计数,并将数值实时地送液晶显示器(1602)显示。三、程序框图四、实验步骤连续运行程序,在键盘上输入时间初值,液晶显示器(1602)上实时显示时间值。五、思考(1)电子钟走时精度和程序中那些常数有关?(2)修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。实验十二 脉冲计数实验一、实验目的熟悉8031(8051)定时/计数功能,掌握初始化编程显示方法。二、实验内容把定时器0外部输入的脉冲进行计数,并送显示器显示。三、程序框图四、实验电路五、实验步骤P3.4依次接B2区的脉冲输出孔,执行程序,观察显示器上计数脉冲的速度及个数。实验十三 8*8 LED动态扫描实验一、 实验目的使用户学会利用单片机的 IO 口进行LED 点阵的扫描显示。二、 实验内容编写一段程序,用 P1 口控制C3区74HC164进行行列扫描,使C3区的88 LED 点阵显示用户指定的字符。三、 实验电路四、 实验步骤1. A2区的P10P14分别用导线接到C3区的L_DAT_H,L_DAT_L,L_CLK,L_OE,L_STR;2. 编写程序,用Keil C51编译,生成HEX格式的文件;3. 利用DPFlash软件将HEX文件下载到实验箱内,并运行;也可以用Mon-51仿真调试实验十四 A/D接口实验一、 实验目的熟悉A/D转换的工作原理,学习使用并行模数转换芯片ADC0809进行电压信号的采集和数据处理。二、 实验内容通过片外总线方式访问并行模拟数字转换器芯片ADC0809,掌握模拟电压的通用采集方法。三、 实验原理图四、 实验步骤1. 将ADC0809模块插入PARK2区2. 将D2区1K电位器和10K电位器的左端金属孔通过导线连接到该区的GND金属孔,而右端的金属孔通过导线连接到该区的VCC金属孔3. 将D2区1K电位器的中间金属孔链接到A7去的P2_IO2金属孔,而D2区10K电位器的中间金属孔链接到A7去的P2_IO1金属孔4. 将A7区的P2_IO3P2_IO5分别连接到A2区的A2A05. 将A7区的P2_CS连接到A2区的A156. 运行程序,设置断点,观察转换值是否与万用表测试值相同。实验十五 D/A接口实验一、 实验目的熟悉D/A转换的工作原理,学习使用并行数模转换芯片ADC0832进行数字信号到模拟信号的转换过程。二、 实验内容通过片外总线方式访问并行模拟数字转换器芯片ADC0832,掌握数字信号到模拟信号的转换方法。三、 实验原理图四、 实验步骤1. 将DAC0832模块插入PARK2区2. 将模块上的JP1跳线帽跳至右侧的VCC处3. 将A7区的P2_CS连接到A2区的A154. 将A7区的P2_IO2、P2_IO5和P2_INT分别接入C4区的A-,A+和AOUT5. 将C4区的V+和V-分别接至C1区的+12V和-12V6. 运行程序,使用万用表观察C4区的AOUT处的电压是否和程序输出电压相同。实验十六 8255 PA口控制PB口一、实验目的掌握单片机系统中扩展外围芯片的方法,了解8255芯片的结构及编程方法。二、实验内容用8255 PA口作开关量输入口,PB口作输出口。三、程序框图四、实验电路五、实验步骤1. 将8255模块插入PARK2区2. 使用导线连接A7区的P2_IO1、P2_IO2、P2_IO5和P2_CS分别至A2区的A8、A9、P10和A153. 使用排线连接8255模块上的J4接口(PB口)至D1区的J52接口(LED接口)4. 使用排线连接8255模块上的J1接口(PA口)至D1区的J53接口(按键接口)5. 编写并运行程序,按K1K8,观察LED1LED8发光二极管是否对应点亮观察8个LED的点亮情况实验十七 8255 A.B.C口输出方波一、实验目的掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入,输出软件的设计方法。二、实验内容在8255的A.B.C口用万用表可测出每个口线的高低电平变化。三、程序框图四、实验步骤执行程序,用万用表测量8255 A.B.C口应有高低电平变化(或用8255 A.B.C口分别用插针连至D1D8,观察发光二极管变化情况)。硬件连接方法参考实验十四实验十八 串/并转换实验一、 实验目的掌握最基本的串行输出端口的扩展方法。二、 实验内容使用74HC164串并转换芯片,掌握采用少数两三根I/O口线以串行的方式扩展出多位的并行I/O口的方法三、 实验原理图四、 实验步骤1. 将A2区的P10P13分别用杜邦线连接到C5区的CLK、DINA、DINB和/CLR;2. C5区的J97用双头排线连接到D1区的J52,注意:Q0对应LED8,Q7对应LED1;3. C5区的跳线JP10用跳线帽短接;4. 仔细阅读例程,用Keil C51编译,生成HEX格式的文件;5. 利用DPFlash软件将HEX文件下载到实验箱内,并运行;也可以用Mon-51仿真调试;6. 程序运行后,观察LED灯的闪烁情况。实验十九 RS232串口通讯实验一、实验目的 利用单片机的TXD、RXD口,学会单片机串口的使用二、实验内容编写一段程序,使单片机和PC,或者单片机之间通过串口收发数据三、实验原理图 四、实验步骤1. 用串口线连接PC机(单片机)和单片机综合仿真试验仪2. 编写一段程序,利用PC机(或单片机)串口发送数据(0X55),波特率为9600Bps。当单片机

温馨提示

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

最新文档

评论

0/150

提交评论