为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Keil_uVision2软件的实验计划

2018-09-08 18页 doc 1MB 11阅读

用户头像

is_365795

暂无简介

举报
Keil_uVision2软件的实验计划实验一 Keil uVision2等软件使用(2学时) 一. 实验目的 1. 熟悉Keil uVision2 软件的使用方法; 2. 熟悉仿真器的用法; 3. 熟悉烧录芯片的过程。 二. 实验设备 1. Keil Keil uVision2 开发系统 一台; 2. +5V电源 一台; 3. 仿真器 一条; 4. 单片机实验仪 一台。 三. 实验内容及步骤 (一)Keil uVision2软件的实验步骤: 1.点击桌面快捷图标,可以直接进入主画面: 2. 新...
Keil_uVision2软件的实验计划
实验一 Keil uVision2等软件使用(2学时) 一. 实验目的 1. 熟悉Keil uVision2 软件的使用; 2. 熟悉仿真器的用法; 3. 熟悉烧录芯片的过程。 二. 实验设备 1. Keil Keil uVision2 开发系统 一台; 2. +5V电源 一台; 3. 仿真器 一条; 4. 单片机实验仪 一台。 三. 实验内容及步骤 (一)Keil uVision2软件的实验步骤: 1.点击桌面快捷图标,可以直接进入主画面: 2. 新建的工程要起个与工程项目意义一致的名字,可以是中文名;我们这里的程序是实验测试程序,所以起的名字为 Test ,并将 Test 工程“保存”到 C:\Keil 下:      3. Keil环境我们为 Test 工程选择一个单片机型号;我们选择 Atmel 公司的 89C51(虽然我们使用的是89S51,但由于89S51与89C51内、外部结构完全一样,所以这里依然选择“89C51”)。“确定”后工程项目就算建立了。  4.  点击“文件”中的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这里你可以进行编辑、修改等操作。    mov p0,#01010101B   ;将01010101二进制代码送P0口   ajmp $              ;程序在此原地踏步             end                 ;程序结束标志               5. 保存文件,保存文件时,其文件名最好与前面建立的工程名相同(当然这里为 Test 了),其扩展名必须为 .Asm !“文件名”中一定要写全,如:Test.Asm ;  6.将Asm文件添加到工程中。具体做法如下:(见下图)   鼠标右键点击 “Source Group 1”,在弹出的菜单中选“增加文件到组 Source Group 1”:   在接下来出现的窗口中,选择“文件类型”为“Asm源文件(*.a*,*.src)”(由于我们使用的是汇编语言,所以选择Asm源文件),选中刚才保存的 Test.Asm,按“Add”,再按“关闭”,文件就添加到了工程中。   7.设置目标属性:向工程添加了源文件后,鼠标右键点击 “TarGet 1” ,在弹出的菜单中选“目标 Target 1 属性”,如下图:   在打开的话框中,选择“输出”选项卡,在这个选项卡中,“E生成HEX文件”选项前要打勾,按“确定”退出。   最后,从菜单的“工程”中执行“R重新构造所有目标”(或者按下图红圈中的按钮),汇编、连接、创建Hex文件一气呵成;在工程文件的目录下就会生成与工程名相同的一些文件,其中大部分文件我们并不必关心,而生成的 Hex 文件是我们需要的!它是要烧写到单片机中的最终代码,也就是单片机可以执行的程序。   这里生成的是 Test.HEX ,稍后就写入。   若在下面的状态窗中有错误提示,就需要再次编辑、修改源程序(如语法、字符有错等)、保存、构造所有。直至没有错误。   8. 模拟调试:在没有语法错误的情况下,按下图红圈中的按钮就可以进行模拟调试:   下面是调试窗。由于我们的程序是让 P0 口8个脚隔一个输出0,隔一个输出1,所以要从菜单的“外围设备”中打开“Prot 0” P0口窗:   单击“单步运行”,在P0窗中就可以看到我们原先设想的效果:  (二)、系统仿真软件的设置 1. target (1) 晶振选12MHZ, (2) 不选生成.HEX文件 (3) 输出 start debugging (4) Debug 点右边 (5) 波特率选38400 二、烧录芯片 1.EA/VPP接+5V电源 2.SF1(VCC)打开(单片机最小系统) 3.自动打开,选.HEX文件 4.拔掉下载线 5.相应模块连接线 实验二 MCS-51单片机指令学习(2学时) 一. 实验目的 1. 在Keil软件平台下学习常用指令的特点; 2. 写出下面二实例各条指令的含义; 3. 写出各实例实现的功能; 二. 实验设备 1. Keil Keil uVision2 开发系统 一台; 2. +5V电源 一台; 3. 仿真器 一条; 4. 单片机实验系统 一台。 三. 实验内容及步骤 实例一 指令的含义 机器操作代码 MOV PSW,#08H MOV 30H,#25 MOV R0,#30H MOV A,@R0 MOV DPTR,#0006H MOV A,#35H MOVX @DPTR,A MOV A,R0 MOVX @DPTR,A MOVC A,@A+DPTR SJMP$ 功能: 1、将程序输入Keil编辑器,保存文件名为MOV.ASM 2、对源程序进行编译,修改语法错误 3、打开窗口写出每条指令的机器操作代码。 4、写出R0在数据存储单元中的地址,执行到SJMP 时R0.、DPTR、 A的内容 实例二 指令的含义 机器操作代码 A P0 ORG 0000H MOV A,#34H MOV P0,#56H MOV B,#12H LCALL PP SJMP $ PP: push a push p0 mov a,#78h mov p0,a pop p0 pop a RET END 1、将程序输入编辑器,保存文件名为STACK.ASM 2、对源程序进行编译,修改语法错误 3、打开窗口写出每条指令的机器操作代码。 4、打开CPU窗口、单步执行写出每条指令A.P0的值。 四、实验要求 1、 写出上述两试验程序各条指令的含义(与预习时相比是否一致),整理试验一试验二的结果。 2、 区分实例一个条传输指令的不同。 3、 写出指令在执行调用时堆栈SP的变化过程和堆栈在堆栈区所保存内容。 实验三 I/O口简单实验(2学时) 一. 实验目的 学习89S52单片机的32根I/O口的基本输出功能,以P1口为例,P0,P1,P3口道理均相同。学习延时子程序的编程和应用。 二. 实验设备 1. Keil C 开发系统 一台; 2. +5V电源 一台; 3. 仿真电缆 一条; 4. 单片机实验系统 一台。 三. 实验内容 1.使8个 LED发光二极管循环闪亮,时间间隔为0.5秒; 2. 使8个LED发光二极管同时亮、灭,时间间隔为1秒。 四. 实验步骤 1.将短路子组DZ2的8个短路子短接,其余路子不短接。 2.给TMD-1加电,运行程序。 五.程序 1.8个发光二极管循环闪亮,时间间隔为1秒 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV A,#01H LOOP: MOV P1,A LCALL DELAY RL A SJMP LOOP DELAY: MOV R0,#10 DELY0: MOV R7,#100 DELY1: MOV R6,#250 DJNZ R6,$ DJNZ R7,DELY1 DJNZ R0,DELY0 RET END 2. 使8个LED发光二极管同时亮、灭,时间间隔为1秒。 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H MOV A,#0FFH LOOP: MOV P1,A LCALL DELAY CPL A SJMP LOOP DELAY: MOV R0,#10 DELY0: MOV R7,#100 DELY1: MOV R6,#250 DJNZ R6,$ DJNZ R7,DELY1 DJNZ R0,DELY0 RET END 三、实验报告要求 1、写出上述实验程序各条指令的含义(与预习时相比是否一致),整理实验的结果。 2、试分析改变A的值将影响什么? 3、试分析改变R7、R6的值将影响什么? 实验四 单片机内部定时器实验(2学时) 一. 实验目的 1.通过实验了解MCS-51单片机中定时/计数器的基本结构、工作原理和工作方式,掌握工作在定时器和计数器两种不同方式下的编程方法。 2.学习蜂鸣器的使用。 二. 实验设备 1. Keil C 开发系统 一台; 2. +5V电源 一台; 3. 仿真电缆 一条; 4. 单片机实验系统 一台。 三. 实验内容及步骤 1. 定时器实验1:编写定时16秒的程序,1秒、2秒、3秒……的变化由数码管体现,到16秒时间到时,停止计数,蜂鸣器报警。 2. 定时器实验2:使用晶振12MHZ的条件下,用定时器0产生100ms定时,由P1口作为输出口,将累加器A的内容送到发光二极管上显示出来。 四.程序调试 五.调试结果分析 在实验报告上写出来。 实验五 数码管显示实验(2学时) 一. 实验目的 1. 掌握数码管显示数据的原理; 2. 掌握查表指令的用法; 3. 熟悉7段数码管的共阳极连接和共阴极连接方法。 二. 实验设备 1. Keil C 开发系统 一台; 2. +5V电源 一台; 3. 仿真电缆 一条; 4. 单片机实验系统 一台。 三. 实验内容及步骤 1. 学习共阴极数码管的用法,将十六进制的数0到F送给数码管循环显示,时间间隔是1秒,延时要求用两种方法(估算法和精确法); 2. 调试课本例题6.1(P159)的程序,并且在试验箱上演示结果。 四. 参考程序 例6.1源程序  ORG 0000H    ALMP MAIN    ORG 0030H   MAIN:MOV TMOD,#10H  ;定时器T1工作在方式1    MOV TH1,#3CH  ;T1置50 ms计数初值    MOV TL1,#0B0H   SATRT:MOV R1,#00H  ;计数显示初始化    MOV DPTR,#TAB   DISP:MOV A,R1    MOVC A,@A+DPTR  ;查表得显示的字型码    MOV P1,A  ;数码管显示0    ACALL DELAY1S  ;延时1 s    INC R1  ;计数值加1 CJNE R1,#10,DISP     ;秒值不到10,继续                       ;显示;否则清0   MOV R1,#00H     ;计数值清0   SJMP DISP   TAB: DB     0C0H,0F9H,0A4H ;0,1,2   DB 0B0H,99H,92H ;3,4,5   DB 82H,0F8H,80H ;6,7,8   DB 90H ;9 ;———————————1 s延时子程序————————   DEALY1S:   MOV R3,#14H ;置50 ms计数循环初值   SETB TR1  ;启动T1   LP1: JBC TF1,LP2  ;查询计数溢出    SJMP LP1  ;未到50 ms继续计数 LP2: MOV TH1,#3CH ;重新置定时器初值 MOV TL1,#0B0H DJNZ R3,LP1 ;未到1 s继续循环 RET     ;返回主程序     END PAGE 8
/
本文档为【Keil_uVision2软件的实验计划】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索