文档详情

实验二单片机最小系统及流水灯电路

飞***
实名认证
店铺
PDF
134.33KB
约5页
文档ID:47135007
实验二单片机最小系统及流水灯电路_第1页
1/5

实验二单片机最小系统及流水灯电路一、 实验目的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 单片机最小系统工作状态测试序号测试项目测试点电压值或信号幅度及波形1 Vcc 2 RST 3 XTAL1 4 XTAL2 2.流水灯电路设计与仿真先采用 Proteus ISIS 软件进行流水灯电路硬件与汇编程序设计,完成硬件和软件的设计后再进行编译和仿真,一般操作步骤如下:(1)在桌面创建一个文件夹,打开 Proteus SISI 软件 参照测量单片机实验板硬件结构绘制流水灯电路,注意元器件库查找、元器件放置和编辑、导线绘制方法电路绘制完成后“流水灯”保存在文件夹中2)保存电路图后,点击“Source”创建软件代码文件以“流水灯.ASM ”文件保存3)将编制的流水灯汇编程序输入编辑器中输入程序时注意程序格以及“ 0”和“O”的区别(初学者经常出现的错误)在完成输入程序后对程序进行编译“Buidle All ” 生成“流水灯 .HEX ”文件。

注意:程序编译成功只说明程序语法正确,不能说明程序功能已经达到了设计目标4)对流水灯电路程序进行仿真当程序编译正常,程序设计正确时,实现流水灯电路的正常仿真运行如果程序不正常、或出现语法错误要根据编译器的提示进行修改程序,也可以进行仿真调试仿真调试需要重点查看的对象是:Code 区程序代码存储区间、PC 值及其变化量、指令周期长度、 P1 口输出值、工作寄存器和及其它有关的SFR 之值通过它们分别可以看到程序段的存储空间、指令的存储地址和字长、指令的执行时间长度、有关指令和程序段的运行结果等等,这些都是调试者评估程序段功能、修改和完善程序代码的基本依据更详细步骤请参照教材相关部分介绍3.烧录程序和硬件运行YZ200 实验板单片机烧入程序的方法有两种,一种是本实验板的专用方法JRISP(采用 ISP 接口) ,一种是采用STC-ISP 软件(采用RS232 口) ,在此我们采用ISP 接口1)用 ISP 下载线将单片机实验板与计算机USB 口连接在一起2)利用 JRISP 软件,将“流水灯.HEX ”文件烧入单片机中如果电路上电后不能运行则需要检查单片机的基本工作条件是否正常;如果只是运行现象不符合设计目标,则需要分析现象进而修改程序代码,重复上述编译、仿真调试、 烧写和试运行的过程。

如此反复调试,直至成功为止4.参考程序1 ORG 0000H ;程序开始地址2 LJMP MAIN 3 ORG 0100H 4 MAIN : MOV A,#0FEH ;初值1111 1110 送 P0 口,低电平点亮LED 5 LOOP: MOV P0,A 6 LCALL DEL 7 DJNZ R5, LOOP1 8 RL A ;循环左移一次9 LJMP LOOP 10 DEL : MOV R0,#20 ;循环 20 次11 DL3 : MOV R2,#50 ;循环 100 次12 DL2 :MOV R3,#250 ;循环 250 次13 DEL1: DJNZ R3,DEL1 ;此指令 2us,循环 250次 :2*250=500us 14 DJNZ R2,DL2 ;50*500us=25ms 15 DJNZ R0, DL3 ;25ms*40=1s 16 RET ;子程序返回17 END ;程序结束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 会产生什么问题?将伪指令ORG 0100H 改为ORG 0200H 会产生什么问题?用STC-ISP 软件打开“流水灯.HEX”文件,查看代码在程序存储器中的位置发生了哪些变化2.为什么单片机在开机时或复位后,都从0000H 开始执行程序?而一般程序的第一条指令都采用跳转指令:ORG 0000H LJMP MAIN ,,3.图 1 中 P0 口没有接上拉电阻为什么可以正常工作,如果将图1 的发光二极管改为图 2 所示电路,即将+5V 电源改成接地,这时仿真实验会有什么不同?加上10k 上拉电阻呢?实际电路如果按照图2 接法(加上 10k 上拉电阻) 能够正常工作吗?上述实验你得到什么结论,请从I/O 口电路结构上进行分析回答。

图 4 发光二极管电路接地接法4.如果程序烧录后,程序不能正常运行,应该如何检查,说出检查要点5.总结实验单片机开发过程,在使用Proteus 绘制电路图、仿真、YZ2000 单片机实验板实现电路功能时,你有哪些经验教训?。

下载提示
相似文档
正为您匹配相似的精品文档