文档详情

(精品)Keil_uVision2等软件使用

公****
实名认证
店铺
DOC
1.65MB
约17页
文档ID:438314125
(精品)Keil_uVision2等软件使用_第1页
1/17

实验一 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,#08HMOV 30H,#25MOV R0,#30HMOV A,@R0MOV DPTR,#0006HMOV A,#35HMOVX @DPTR,AMOV A,R0MOVX @DPTR,AMOVC A,@A+DPTRSJMP$功能:1、将程序输入Keil编辑器,保存文件名为MOV.ASM2、对源程序进行编译,修改语法错误3、打开窗口写出每条指令的机器操作代码4、写出R0在数据存储单元中的地址,执行到SJMP 时R0.、DPTR、 A的内容实例二 指令的含义 机器操作代码 A P0ORG 0000HMOV A,#34HMOV P0,#56HMOV B,#12HLCALL PPSJMP $PP:push apush p0mov a,#78hmov p0,apop p0pop aRET END1、将程序输入编辑器,保存文件名为STACK.ASM2、对源程序进行编译,修改语法错误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 0100HMAIN: 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 0100HMAIN: MOV SP,#60H MOV A,#0FFH LOOP: MOV P1,A LCALL DELAY CPL A SJMP LOOPDELAY: 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  ;计数值加1CJNE 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。

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