已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长春理工大学单片机原理及应用实验指导书实验一 KEIL 51软件实验 实验目的:1、掌握KEIL集成开发环境的使用2、掌握算术运算程序实验设备:计算机、KEIL51软件实验内容:编程实现把片人RAM30H单元和40H单元两个16字节数相加,结果放于30H单元开始的位置处。在KEIL51编译、连接、仿真调试。实验步骤:一、运行KEIL51软件,出现图1所示KEIL 51主界面。图1 KEIL 51主界面首先用Project菜单下的New Project命令建立项目文件,过程如下。(1)选择Project菜单下的New Project命令,弹出如图2所示的Create new Project对话框。图2 Create New Project对话框(2)在Create New Project对话框中选择新建项目文件的位置(最好一个项目建立一个文件夹如E:project),输入新建项目文件的名称,例如,项目文件名为example,单击【保存】按钮将弹出如图3所示的Select Device for Target Target 1对话框,用户可以根据使用情况选择单片机型号。Keil uVision2 IDE几乎支持所有的51核心的单片机,并以列表的形式给出。选中芯片后,在右边的描述框中将同时显示选中的芯片的相关信息以供用户参考。图3 Select Device for Target Target 1对话框(3)这里选择atmel公司的AT89c51。单击【确定】按钮,这时弹出如图4所示的Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框,C语言开发选择【是】,汇编语言开发选择【否】。单击后,项目文件就创建好了。项目文件创建后,在主界面的左侧的项目窗口可以看到项目文件的内容。这时只有一个框架,紧接着需向项目文件中添加程序文件内容。图4 Copy Standard 8051 Startup Code to Project Folder and Add File to Project确认框二、给项目添加程序文件当项目文件建立好后,就可以给项目文件加入程序文件了,Keil uVision2支持C语言程序,也支持汇编语言程序。这些程序文件可以是已经建立好了的程序文件,也可以是新建的程序文件,这里我们新建的汇编程序文件后再添加。(1)选择文件菜单上的new命令,出现新建文本窗口,如图5所示。图5 新建文本窗口在文本编辑窗口中输入加法程序。存盘,假设文件名为add16.asm。注意汇编程序文件扩展名为.asm,这时默认路径为工程文件夹。参考程序如下:ORG 0000HLJMP MAINORG 1000HMAIN:MOV R0,#30HMOV R1,#40HMOV R2,#16CLR CLOOP: MOV A,R0ADDC A, R1MOV R0,AINC R0INC R1DJNZ R2,LOOPSJMP $END(2)添加文件到项目中。在项目管理器窗口中,展开Target1项,可以看到Source Group1子项。右击Source Group1,在出现菜单中选择Add Files to Group Source Group1命令。出现添加文件的窗口,加程序add16.asm如到项目中。如图6所示。注意文件类型要选择为*.a*。图5 添加程序文件到项目三、编译、连接项目,形成目标文件当把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成HEX目标文件(只在keil 51中软件仿真可以不形成目标文件)(1)选择Project菜单下的Built Target命令(或快捷键F7) 编译、连接当前项目,编译、连接时,如果程序有错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接,这个过程可能会重复多次。如果没有错误,则编译、连接成功,并且在信息窗口给出提示信息。如图6所示。图6 编译、连接后的显示图(2)如果要做硬件下载可硬件仿真,则要形成HEX目标文件,须先对输出选项进行相应的设置,设置后再进行编译连接。方法如下:右击项目管理器窗口的Target1项,在右键菜单中选择下面的Options for Target Target 1命令,在Options for Target Target 1对话框选择Output选项卡,在该选项卡选中Create HEX File选项,选择生成HEX文件。如图7所示。图7 Options for Target Target 1 对话框四、运行调试观察结果当项目编译、连接成功后,就可以运行它来观察结果,运行调试过程如下。先用Debug菜单下的Start/Stop Debug Session命令(快捷键Ctrl+F5)启动调试过程,启动后可用Debug菜单下Go连续运行命令、Step单步运行、Stop running停止运行命令等运行程序观察结果。本实验中进入启动调试后,先用View菜单下的memory window打开存储器窗口,在address框输入d:0x30,在存储器窗口中显示片内数据存储器30h单元开始的数据。如图8所示。Memory window窗口图8 启动调试过程结果图在片内数据存储器窗口中右击30h单元,在右键菜单中选择modify memory at D:0x30,从30h单元开始修改数据,在弹出的窗口中输入30h3fh单元的数据,如图9和图10所示。图9 修改片内数据存储器的内容图10 输入30h3fh单元的数据用相同的方法修改40h4fh单元的数据。修改后选择run命令运行,运行后在存储器窗口可看到该程序运行的结果。在存储器窗口的address框中还可输入c:0x地址显示程序存储器,x:0x地址显示片外数据存储器。另外,可用View菜单下的symbols window命令查看特殊功能寄存器,用peripherals菜单下面的命令来查看并口、串口、定时/计数器和中断的相关内容。实验结论与问题:简要介绍KEIL 51使用过程。实验二 内存块移动实验目的:1、掌握KEIL集成开发环境的使用2、掌握数据块移动程序实验设备:计算机、KEIL51软件 实验内容:编程实现将内存数据块移动,在KEIL51编译、连接、仿真调试汇编语言源程序: ORG 00HSTART: MOV R0, #30H MOV R1, #00H;设置源地址 MOV R2, #40H MOV R3, #00H;设置目标地址 MOV R7, #0 ;设置计数值LOOP: MOV DPH, R0 MOV DPL, R1;将源地址(3000H)赋DPTR MOVX A, DPTR;取源地址中的数据 MOV DPH, R2 MOV DPL, R3;将目标地址(4000H)赋DPTR MOVX DPTR, A;将源地址中的数据送到目标地址 INC R1;源地址加1 INC R3 ;目标地址加1 DJNZ R7, LOOP LJMP $END输入源程序,编译无误后,用单步执行的方法,观察各个相应存储单元和寄存器中内容的变化。实验三 乘法运算实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握多字节乘法运算程序实验设备:计算机、KEIL51软件 实验内容:编程实现把R2R1(R2为高字节,R1为低字节)和R0中的无符号数相乘,结果放于R7R6R5(R7为最高位)。在KEIL51编译、连接、仿真调试实验步骤:ORG 0000HLJMP MAINORG 0030HMAIN: MOV R1,#0FFHMOV R2,#0FFHMOV R0,#11HMOV A,R1MOV B,R0MUL ABMOV R6,BMOV R5,ACLR CMOV A,R2MOV B,R0MUL ABMOV R7,BADDC A,R6MOV R6,AMOV A,R7ADDC A,#00HMOV R7,ASJMP $END实验结论及问题:给R2R1和R0赋值方法有哪些?MOV Rn,AMOV Rn,01H 立即数寻址MOV Rn,#01H 直接赋值。三种情况实验四 并行接口实验实验目的:1、掌握KEIL集成开发环境的使用2、掌握Proteus仿真软件的使用3、学会使用Proteus和KEIL软件进行系统仿真调试4、掌握单片机并行接口的结构与使用实验设备:计算机、KEIL51软件、PROTEUS软件实验内容:在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。在KEIL 51中编程序,形成HEX文件,在PROTEUS中设计硬件,下载程序,运行看结果。实验步骤:一、打开PROTEUS的ISIS软件,如图10所示。新建电路图文件,设文件保存到e:projectio下面,文件基本名为io,扩展名默认。选择元件图10 ISIS窗口图二、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图11所示。图11 元件选择窗口在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图10的device列表栏。在这里依次添加元件单片机80c51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED。如图12所示。图12 添加元件的device列表栏三、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作。电源与地在工具按钮的Terminals mode中选取。如图13所示。图13 放置元件图四、连接导线,如图14所示。连接后存盘。图14 连接元件图五、在keil 51中设计软件程序,形成HEX文件。保存软件项目到电路文件相同的文件夹e:projectio。设计软件程序如内容一,过程略。参考程序如下:ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#01HLOOP:MOV P2,A LCALL DELAY RL A SJMP LOOP SJMP $DELAY:MOV R2,#10HDELAY1:MOV R3,#0FFH DJNZ R3,$ DJNZ R2,DELAY1 RET END六、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。这里是同一个文件夹下面的io.hex文件。如图14所示。图14 下载程序到单片机七、单击仿真运行按钮play,运行程序。可通过LED二极管看到相应的结果。如图15所示。图15 仿真结果图实验结论与问题:如果要改变LED显示的循序,该怎么办?实验五 多路开关指示实验目的:1、掌握KEIL集成开发环境的使用2、掌握Proteus仿真软件的使用3、学会使用Proteus和KEIL软件进行系统仿真调试4、掌握单片机并行接口的结构与使用实验设备:计算机、KEIL51软件、PROTEUS软件实验内容:AT89C51单片机的P1.0P1.3接4个二极管,P1.4P1.7接4个开关,编程读取开关状态,使得对应的发光二极管反映开关状态(开关闭合,对应的灯亮)。Porteus模型为Multi Switch.DSN如下图所示。程序设计:开关状态检测,对于单片机来说,是检测其I/O口的输入。可以轮流检测每个开关状态。根据每个开关的状态让相应的发光二极管指示。汇编语言源程序:ORG00HSTART: ;读取P1口数据 ;交换A中高四位与低四位的位置 ;与0F0H相或 ;将开关状态送LED显示 ;转移到STARTEND实验六 外部中断实验目的:1、掌握KEIL集成开发环境的使用2、掌握Proteus仿真软件的使用3、学会使用Proteus和KEIL软件进行系统仿真调试4、掌握单片机的功能模块中断的设置和应用中断的结构与使用实验设备:计算机、KEIL51软件、PROTEUS软件实验内容:AT89C51单片机的P3.2/INT0引脚接一个开关,模拟外部中断源,编写程序,当外部中断发生时,对其作出响应(以发光二极管的亮/灭来指示)。程序设计:外部中断的初始化设置共有三项内容:中断总允许即EA=“1”,外部中断允许即EXi=“1”,中断方式设置。中断方式设置一般有两种方式,即电平方式和脉冲方式,这里采用脉冲方式,当前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入。Proteus模型为External Interrupt.DSN。汇编语言源程序:LEDBITP1.0LEDBUFEQU30HORG00HLJMPSTART ;中断入口地址 ;中断处理指令START:CLRLEDBUFCLRLED ;外部中断0下降沿触发 ;打开外部中断允许位(EX0)及总中断允许位(EA)LJMP$;等待中断INTERRUPT: ;保护现场CPLLEDBUF;取反LEDMOVC,LEDBUFMOVLED,CPOPPSW;恢复现场RETIEND实验七 单片机定时实验实验目的:1、了解定时器的结构2、熟练掌握定时器的使用方法3、掌握利用定时器产生方波的方法4、掌握中断的使用实验设备:计算机、KEIL51软件、PROTEUS软件实验内容:T89C51单片机的实验电路如图所示,P1.0口接一个发光二极管,编写程序,控制发光二极管闪烁,时间间隔1s,要求采用AT89C51单片机的内部定时器计时,用中断方式,采用工作方式2。Porteus模型为External Interrupt.DSN如下图所示。程序设计要求:设置内部计数器用作定时器, 是对机器周期数计数。每个机器周期的长度是12个振荡器振荡周期。单片机晶振用12MHz,工作方式2,即8位自动重装方式定时器,定时100微秒中断一次,通过计算,得到定时常数=156,然后对100微秒中断次数计数10000次,就是1s。汇编语言源程序:ORG00HTICKEQU10000;10000100us=1sT100usEQU256-100;100us时间常数(12M)C100usEQU30H;100us计数单元LEDBUFEQU40H LEDBITP1.0 ;跳至主程序 ;中断服务子程序起始地址T0INT:PUSHPSW;状态保护MOVA,C100us+1JNZGOONDECC100us;秒计数值减1GOON:DECC100us+1MOVA,C1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城乡污水处理工程建设工程方案
- 城区市政基础设施改造提升工程环境影响报告书
- 2025宁夏银川知名企业精英人才冬季大型招聘笔试历年备考题库附带答案详解试卷3套
- 2025四川华西绿舍亿丰管桩有限公司招聘6人笔试历年常考点试题专练附带答案详解试卷3套
- 2025云南盈江鸿福实业有限公司招聘笔试历年典型考点题库附带答案详解试卷3套
- 2025中投公司校园招聘笔试历年常考点试题专练附带答案详解试卷3套
- 2025中国教育出版传媒集团有限公司招聘应届高校毕业生笔试须知笔试历年常考点试题专练附带答案详解试卷3套
- 2025中冶赛迪集团春季校园招聘笔试历年常考点试题专练附带答案详解试卷3套
- 开采阶段的生产调度与资源管理方案
- 高效矿石选矿技术应用方案
- 2016北大模联学术标准手册
- 高强度螺栓终拧扭矩检查记录表
- 双目立体视觉
- 风电场安全检查表
- JJF 1049-1995温度传感器动态响应校准
- GB/T 19981.1-2014纺织品织物和服装的专业维护、干洗和湿洗第1部分:清洗和整烫后性能的评价
- GB/T 18347-2001128条码
- GB 5903-2011工业闭式齿轮油
- 刑事侦查学考试复习题及参考答案
- 国开经济学(本)1-14章练习试题及答案
- 斯巴达勇士赛合作方案(精彩策划文案)课件
评论
0/150
提交评论