您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 实验二单片机最小系统及流水灯电路
实验二单片机最小系统及流水灯电路一、实验目的1.熟悉单片机实验电路板,通过测量单片机最小系统参数,掌握单片机系统工作条件。2.测绘单片机流水灯电路,掌握51单片机汇编语言程序的编辑、调试、编译的一般过程和基本操作步骤。3.掌握单片机程序烧录基本步骤和方法,掌握单片机系统的开发过程。二.实验电路原理单片机最小系统包括单片机(内部包含有程序存储器、随机存储器)、晶振电路、复位电路和电源电路,这是单片机工作的基本硬件要求。本实验通过单片机P0口控制8个LED,单片机P0口结构如图1所示,熟悉I/O口结构对硬件电路设计有非常重要的意义。图1单片机P0口结构P0口内部没有上拉电阻,一般必须加上拉电阻。接发光二极管时,应该使用低电平点亮发光二极管(即采用灌电流),发光二极管和限流电阻起到上拉电阻的作用,在这种情况下,可以不接上拉电阻。实验电路如图所示。图2流水灯电路单片机工作离不开软件,要根据硬件电路编制相匹配的软件,流水灯电路软件设计的流程图3所示:图3流水灯电路软件流程图三、实验设备和软件单片机实验开发板、计算机、Protues软件、万用表、示波器。四、实验内容与步骤1.单片机工作状态测试(1)熟悉实验板电路布局,找出实验板电源电路的结构,晶振电路、复位电路的元器件位置,用万用表查找LED与单片机的连接。(2)实验板加电开机,电源指示灯点亮,用万用表检测单片机Vcc(40脚)、RST(9脚)、晶振工作电源(18脚、19脚)电压。(3)用示波器观察晶振引脚信号波形和幅度。注意:在测量单片机引脚电压时要小心万用表和示波器的表笔不能将单片机引脚短路!表1单片机最小系统工作状态测试序号测试项目测试点电压值或信号幅度及波形1Vcc2RST3XTAL14XTAL22.流水灯电路设计与仿真先采用ProteusISIS软件进行流水灯电路硬件与汇编程序设计,完成硬件和软件的设计后再进行编译和仿真,一般操作步骤如下:(1)在桌面创建一个文件夹,打开ProteusSISI软件。参照测量单片机实验板硬件结构绘制流水灯电路,注意元器件库查找、元器件放置和编辑、导线绘制方法。电路绘制完成后“流水灯”保存在文件夹中。(2)保存电路图后,点击“Source”创建软件代码文件以“流水灯.ASM”文件保存。(3)将编制的流水灯汇编程序输入编辑器中。输入程序时注意程序格以及“0”和“O”的区别(初学者经常出现的错误)。在完成输入程序后对程序进行编译“BuidleAll”。生成“流水灯.HEX”文件。注意:程序编译成功只说明程序语法正确,不能说明程序功能已经达到了设计目标。(4)对流水灯电路程序进行仿真。当程序编译正常,程序设计正确时,实现流水灯电路的正常仿真运行。如果程序不正常、或出现语法错误要根据编译器的提示进行修改程序,也可以进行仿真调试。仿真调试需要重点查看的对象是:Code区程序代码存储区间、PC值及其变化量、指令周期长度、P1口输出值、工作寄存器和及其它有关的SFR之值。通过它们分别可以看到程序段的存储空间、指令的存储地址和字长、指令的执行时间长度、有关指令和程序段的运行结果等等,这些都是调试者评估程序段功能、修改和完善程序代码的基本依据。更详细步骤请参照教材相关部分介绍。3.烧录程序和硬件运行YZ200实验板单片机烧入程序的方法有两种,一种是本实验板的专用方法JRISP(采用ISP接口),一种是采用STC-ISP软件(采用RS232口),在此我们采用ISP接口。(1)用ISP下载线将单片机实验板与计算机USB口连接在一起。(2)利用JRISP软件,将“流水灯.HEX”文件烧入单片机中。如果电路上电后不能运行则需要检查单片机的基本工作条件是否正常;如果只是运行现象不符合设计目标,则需要分析现象进而修改程序代码,重复上述编译、仿真调试、烧写和试运行的过程。如此反复调试,直至成功为止。4.参考程序1ORG0000H;程序开始地址2LJMPMAIN3ORG0100H4MAIN:MOVA,#0FEH;初值11111110送P0口,低电平点亮LED5LOOP:MOVP0,A6LCALLDEL7DJNZR5,LOOP18RLA;循环左移一次9LJMPLOOP10DEL:MOVR0,#20;循环20次11DL3:MOVR2,#50;循环100次12DL2:MOVR3,#250;循环250次13DEL1:DJNZR3,DEL1;此指令2us,循环250次:2*250=500us14DJNZR2,DL2;50*500us=25ms15DJNZR0,DL3;25ms*40=1s16RET;子程序返回17END;程序结束5.深入实验问题在参考程序中,单片机使用12MHz晶体,每一个LED点亮时间为1s。根据下表中的问题,修改程序、用Proteus软件仿真验证,并将回答的问题填入表1中,交指导教师检查。1.流水灯每次点亮2个LED,赋给累加器A的初值为多少?2.每次点亮两个,每次跳两个LED,程序如何修改?3.将延时程序修改为600ms,程序如何修改?4.如果单片机石英晶体从12MHz改为6MHz,流水灯移动速度仍为1s,程序如何修改?5.LED连接到P2口,其它功能不变,程序如何修改?6.子程序返回后,单片机执行哪条指令?7*.如何实现LED各闪烁5次再移位功能?表2实现功能的程序(参数)修改问题程序(参数)修改问题1累加器A初值为:问题2程序需要修改:问题3修改指令:问题4修改指令:问题5修改指令:问题6执行指令:五、实验总结和报告要求试验报告是实验过程的回顾总结与提高的过程,实验报告要求记录实验中出现的问题,解决方法,在回答下列问题的前提下,认真总结实验中的经验教训,完成实验报告。回答下列问题:1.伪指令有无机器码?不要伪指令END会产生什么问题?将伪指令ORG0100H改为ORG0200H会产生什么问题?用STC-ISP软件打开“流水灯.HEX”文件,查看代码在程序存储器中的位置发生了哪些变化。2.为什么单片机在开机时或复位后,都从0000H开始执行程序?而一般程序的第一条指令都采用跳转指令:ORG0000HLJMPMAIN……3.图1中P0口没有接上拉电阻为什么可以正常工作,如果将图1的发光二极管改为图2所示电路,即将+5V电源改成接地,这时仿真实验会有什么不同?加上10k上拉电阻呢?实际电路如果按照图2接法(加上10k上拉电阻)能够正常工作吗?上述实验你得到什么结论,请从I/O口电路结构上进行分析回答。图4发光二极管电路接地接法4.如果程序烧录后,程序不能正常运行,应该如何检查,说出检查要点。5.总结实验单片机开发过程,在使用Proteus绘制电路图、仿真、YZ2000单片机实验板实现电路功能时,你有哪些经验教训?
本文标题:实验二单片机最小系统及流水灯电路
链接地址:https://www.777doc.com/doc-2458645 .html