51单片计算机实验.doc_第1页
51单片计算机实验.doc_第2页
51单片计算机实验.doc_第3页
51单片计算机实验.doc_第4页
51单片计算机实验.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

实验一 KEILC51上机环境实操 实验目的:学习掌握Keil_uvision_4基本使用方法实验内容:一、首先我们要养成一个习惯:最好先建立一个空文件夹,把您的工程文件放到里面,以避免和其他文件混合,如下图笔者先创建了一个名为“Mytest”文件夹:二、点击桌面上的Keil uVision4图标,出现启动画面:三、点击“project - New uVision Project”新建一个工程:四、在对话框,选择放在刚才建立的“Mytest”文件夹下,给这个工程取个名后保存,不需要填后缀,注意默认的工程后缀与uVision3及uVision2版本不同了,为uvporj:五、弹出一个框,在CPU类型下我们找到并选中“Atmel”下的AT89S51或52:六、以上工程创建完毕,接下来开始建立一个源程序文本:七、在下面空白区别写入或复制一个完整的C程序:八、输入源程序文件名名称,在这里笔者示例输入“test”,这个名称,同样大家可以随便命名。注意:如果您想用汇编语言,要带后缀名一定是“test . asm”,如果是C语言,则是“test . c”,然后保存:九、接下来需要把刚创建的源程序文件加入到工程项目文件中,大家在点“ADD”按钮时会感到奇怪,怎么对话框不会消失呢?不管它,直接点击“Close”关闭就行了,此时大家可以看到程序文本字体颜色已发生了变化:十、最后还要有设置一下,按下图设置晶振,建议初学者修改成12M,因12MHZ方便计算指令时间:十一、在Output栏选中Create HEX File,使编译器输出单片机需要的HEX文件:十三、工程项目创建和设置全部完成!点击保持并编译: 以上是KEIL uVISION的使用入门,这些是单片机基础知识和基本操作必备的。KEIL uVISION拥有强大的功能,还有仿真、调试等功能。编制C语言程序在计算机上用Keil_uvision_4仿真1:设置十个变量并赋值,给这个十个变量从小到头排序2:在片内RAM30H3FH单元存入16个八位数,并赋值为0、1、2、3、4153:利用P2口控制八个发光二极管,设计一个流水灯控制程序思考题:1、 说明在Keil_uvision_4仿真中怎么样看各寄存器、SRF、片内数据存储器、程存储器的内容?2、 怎么样装入头文件,主要装入哪些头文件?实验报告: 要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。 实验二 流水灯实验一、实验目的1学习51的P1口的使用方法。2学习延时子程序的编写和使用。3熟悉并掌握TUGMU-1型单片机试验箱的操作和使用。二、实验说明AT89S52有32个通用的I/O口,分为P0、P1、P2、P3,每组都是8位,它们是准双向口,它作为输出口时与一般的双向口使用方法相同。P3口也可以做第二功能口用,本实验使用P1口做输出口,控制LED等产生流水灯效果。三、实验内容及步骤注:实验程序放在Soundcode/MS51的文件夹中。用P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管循环点亮。1最小系统中插上80C51核心板,用扁平数据线连接MCU的P1口与八位逻辑电平显示模块JD3。2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开Keil uVision2仿真软件,首先“流水灯”文件夹下的 “8031.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。4、全速运行程序,程序功能使发光二极管循环点亮的流水灯的效果。注:在做完实验时记得养成一个好习惯:把相应单元的短路帽和电源开关还原到原来的位置!以下将不在重述。四、编写源程序,并上机调试 五、电路图源程序(参考)/ 8个流水灯从从右到左、从右到左逐个闪动,间隔1秒#include /51系列单片机定义文件#define uchar unsigned char /定义无符号字符#define uint unsigned int /定义无符号整数void delay (void) /定义延时函数 register uint x,y; for(x=100;x0;x-); for(y=2000;y0;y-); /声明延时函数void main(void) uint i; uchar temp; while(1) temp=0xfe; for(i=0;i8;i+) /8个流水灯逐个闪动 P2=temp; delay( ); /调用延时函数 temp=1; temp=0x7f; for(i=0;i=1; 七、实验分析与思考 1、分析实验结果 2、改变点亮方式,应该如何修改程序,例如每次点亮两只LED八、实验报告要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。 实验三 I/O口控制实验一、实验目的1学习P1口的使用方法;2学习延时子程序的编写和使用。3进一步熟悉并掌握TUGMU-1型单片机试验箱的操作和使用。二、实验说明P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用作输入口时,必须先对口的锁存器写“1”,若不先对它写“1”,读入的数据是不正确的。三、实验内容及步骤:用P1.0、P1.1作输入接两个拨断开关,P1.2、P1.3作输出接两个发光二极管。程序读取开关状态,并在发光二极管上显示出来。1最小系统中插上80C51核心板,用导线分别连接MCU最小应用系统的 P1.0、P1.1到两个八位逻辑电平输出的K0、K1,MCU最小应用系统的P1.2、P1.3到两个逻辑电平显示的L0、L1。2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开Keil uVision2仿真软件,首先“P1_B”文件夹下的 “P1_B.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。4、全速运行程序,按拨动K0、K1时看L0、L1的显示情况。四、编制源程序,调试,仿真、运行五、思考题本模块使用11.0592MHz晶振,粗略计算此程序的执行时间为多少?六、电路图源程序(参考):KEYLEFT BIT P1.0 KEYRIGHT BIT P1.1 LEDLEFT BIT P1.2 LEDRIGHT BIT P1.3 ORG 0000H LJMP START ORG 0030HSTART:SETB KEYLEFT SETB KEYRIGHTLOOP: MOV C,KEYLEFT MOV LEDLEFT,CMOV C,KEYRIGHT MOV LEDRIGHT,C LJMP LOOP END 思考题:1、编制C语言源程序联机调试运行。2、本实验中如果要让八位逻辑电平输出模块中K0-K7开关置于“H”位置时,八位逻辑电平显示模块控制的发光二极管“亮”;反之,发光二极管“灭”;则实验怎样完成?实验报告要求:要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。 实验五 中断系统实验一、实验目的1掌握外部中断技术的基本使用方法;2掌握中断处理程序的编写方法。二、实验说明1外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入,本实验由INT0(P3.2)引入。2中断服务的关键:A保护进入中断时的状态。堆栈有保护断点和保护现场的功能使用PUSH指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。B必须在中断服务程序中设定是否允许中断重入,即设置EX0位。C用POP指令恢复中断时的现场。3中断控制原理:中断控制是提供给用户使用的中断控制手段。实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:TCON 、IE 、SCON 及IP。4中断响应的过程:首先中断采样然后中断查询最后中断响应。采样是中断处理的第一步,对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,IE0或IE1置“1”;否则继续为“0”。所谓查询就是由CPU测试TCON和SCON中各标志位的状态以确定有没有中断请求发生以及是那一个中断请求。中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。INT0端接单次脉冲发生器。P1.0接LED灯,以查看信号反转。三、实验内容及步骤1最小系统中插上80C51核心板,用导线连接MCU的P10到八位逻辑电平显示的L0发光二极管处,P32接单次脉冲电路的输出端(绿色防转座)。2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开Keil uVision2仿真软件,首先“中断”文件夹下的 “中断.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。4、全速运行程序,按一次单次脉冲的按钮灯取反一次四、编写C语言源程序,调试、运行 C语言源程序由学生自编 仿真运行,单步执行,观察运行过程中有关变量与寄存器状态.五、思考题1多个中断源时如何设计硬软件?2中断方式与其它数据输入/输出方式的比较,各有何优缺点?六 要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。实验六 继电器控制实验一、实验目的1学习I/O端口的使用方法;2掌握继电器的控制的基本方法;3了解用弱电控制强电的方法。二、实验说明现代自动控制设备中,都存在一个电子电路的互相连接问题,一方面要使电子电路的控制信号能控制电气电路的执行元件(电动机,电磁铁,电灯等),另一方面又要为电子线路和电气电路提供良好的电气隔离,以保护电子电路和人身的安全,继电器便能完成这一任务。继电器电路中一般都要在继电器的线圈两头加一个二极管以吸收继电器线圈断电时产生的反电势。本电路的控制端为高电平时,继电器常开触点吸合,LED灯被点亮当控制端口为低电平时,继电器不工作。三、实验内容及步骤用P1.0作为控制输出口,接继电器电路,使继电器重复吸合与断开。1最小系统中插上80C51核心板,用导线连接P10端口到继电器CONTROL,K-OPEN接八位逻辑显示的任意一个口,K-MID接GND。2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开Keil uVision2仿真软件,首先“Control”文件夹下的 “Control.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。4、全速运行程序,观察二极管亮灭情况和听继电器开合的声音,继电器重复延时吸合与延时断开。 四、电路图 12D1A3IN4001213Q1A3805012354678JDQA3R2A310KP1A3ControlP5A3K-MIDP3A3K-CloseP40A3K-Open+12V五、编写C语言源程序,调试、运行 C语言源程序由学生自编 仿真运行,单步执行,观察运行过程中有关变量与寄存器状态.六、思考题1试用单片机的其他输入输出口控制继电器。2如何考虑实际负载的设计?六 要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。实验七74HC138译码器实验一、实验目的掌握74138电路的基本知识及由软件编译的译码器控制方式一、实验说明译码是编码的逆过程,它的功能是将具有特定含义的二进制码进行辨别,并转换成控制信号,具有译码功能的逻辑电路称为译码器。译码器可以分为两种类型,一种是将一系列代码转换成与之一一对应的有效信号。这种译码器可以称为唯一地址译码器,它用于计算机中对存储器单元地址的译码,即将每一个地址代码转换成一个有效信号,从而选中对应的单元。另一种是将一种代码转换成另一种代码,所以也称为代码变换器。 74HC138是唯一地址译码器的一种,它有A、B、C共3个输入端,可以组合8种状态(Y0-Y7),还设置了G1、G2A、G2B 3个使能输入端,当G1=1、G2A和G2B为0时,74HC138译码器处于工作状态。二、实验步骤由软件控制138译码器的工作方式,可以改变A,B,C的端口而改变其译码输出值。1最小系统中插上80C51核心板,MCU的P1口接74LS138上的JD12口,而JD13口接到八位逻辑显示JD3,A,B,C接八位逻辑电平输出的K2,K1,K0。(K2为低位,K0为高位,如要选择Y1,则K2、K1、K0对应的值为001)2、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开Keil uVision2仿真软件,首先“74LS138”文件夹下的 “74LS138.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。4、全速运行程序,改变K0,K1,K2的状态观察发光二极管的显示,是否与控制端口的对应。三、源程序汇编用系统自带编制C语言源程序上机调试运行四、电路图五、思考题1改变译码地址应当如何操作?六 要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。实验八 查询式键盘实验一、实验目的掌握查询式键盘的接口和编程方法。二、实验内容本实验提供了8个按键的小键盘,如果有键按下,则相应输出为低电平,否则输出为高电平。MCU判断有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。编写一个程序,能读出键盘操作的编号,并在数码显示器上显示。三、实验电路本实验所需电路请参见系统原理图的第一部分和独立式键盘电路。四、实验程序参考框图 (a) 主程序框图 (b) 键盘扫描子程序框图五、实验步骤1最小系统中插上80C51核心板,把7279阵列式键盘的JT9短路帽打在VCC处,用8P排线将JD16、JD17接八位动态数码显示JD1和JD2相连。2查询式键盘的JD15和MCU最小系统的P2口相连,MCU最小系统的P15、P16、P17分别接7279键盘的CS、CLK、DATA。3、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。4、打开Keil uVision2仿真软件,首先“KEY”文件夹下的 “KEY.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。5、全速运行程序,键盘上按下某个键,观察数显是否与该键号一致。六、源程序汇编源程序机上调用C语言源程序自编七、思考题1程序如何确保每按一次键,只处理一次。八、原理图九、 要求学生按实验报告格式和要求的内容写出实验报告,实验报告应包括电原理图、C语言源程序、仿真调试总结等内容。 实验九 串行AD转换实验一、实验目的1掌握单片机和TLC549硬件联接及软件编程。 2熟悉八位串行AD转换器TLC549的性能及转换过程。 二、实验说明TLC549是一种采用8位逐次逼近式工作的A/D转换器。内部包含系统时钟、采样和保持、8位A/D转换器、数据寄存器以及控制逻辑电路。TLC549每25uS重复一次“输入转换输出”。器件有两个控制输入:I/O CLOCK和片选(CS)。 内部系统时钟和I/O CLOCK可独立使用。应用电路的设计只需利用I/O时钟启动转换或读出转换结果。当CS为高电平时,DATA OUT处于高阻态且I/O时钟被禁止。 当CS变为低电平时,前次转换结果的最高有效位(MSB)开始出现在DATA OUT端。在接下来的7个I/O CLOCK周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。然后再将第8个时钟周期加至I/O CLOCK,此时钟周期的下跳沿变使芯片进行下一轮的AD转换。在第8个I/O CLOCK周期之后,CS必须变为高电平,并且保持高电平直至转换结束为止(17uS),否则CS的有效高电平至低电平的转换将引起复位(其它详细资料看芯片说明)。 三、实验内容及步骤1最小系统中插上80C51核心板,把7279阵列式键盘的JT9短路帽打在上方VCC处,用8P排线将JD16、JD17分别接八位动态数码显示的JD1、 JD2相连;MCU最小系统的P16、P17、P27分别接7279键盘的CLK、DATA、CS。2MCU最小系统的P10,P11,P12分别接AD转换的DATA、CLK、CS-549,AD转换的AIN接可调电压05V可调端。3、用串行数据通信线、USB线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。4、打开Keil uVision2仿真软件,首先“TLC549”文件夹下的 “TLC549.Uv2” 实验的项目文件,对源程序进行编译,直到编译无误。5、全速运行程序数码显示电压转化的数字量,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是04

温馨提示

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

评论

0/150

提交评论