单片机原理实验与实践实验指导书.doc

上传人:精*** 文档编号:837329 上传时间:2023-09-07 格式:DOC 页数:25 大小:439.28KB
下载 相关 举报
单片机原理实验与实践实验指导书.doc_第1页
第1页 / 共25页
单片机原理实验与实践实验指导书.doc_第2页
第2页 / 共25页
单片机原理实验与实践实验指导书.doc_第3页
第3页 / 共25页
单片机原理实验与实践实验指导书.doc_第4页
第4页 / 共25页
单片机原理实验与实践实验指导书.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、 电工电子实验中心目 录第一部分 KEIL命令说明一. 主要菜单说明1文件菜单和命令(File)2编辑菜单和编辑器命令(Edit)3选择文本命令4视图菜单(View)5工程菜单和工程命令(Project)6调试菜单和调试命令(Debug)7外围设备菜单(Peripherals)8工具菜单(Tool)9软件版本控制系统菜单(SVCS)10视窗菜单(Window)11帮助菜单(Help)二.简单程序的调试第二部分 实验指导实验一 Keil 软件开发环境的认识实验二 软件编程(排序)附:仿真调试的准备实验三 单片机简单I/O口控制实验四 单片机的蜂鸣器控制实验五 串并口转换和译码实验实验六 LED

2、扫描输出实验实验七 使用8155 扩展I/O、RAM 及定时器实验实验八 并行的模数转换实验实验九 并行的数模转换实验实验十 键控数字时钟设计实验第一部分 KEIL命令说明一. 主要菜单说明1文件菜单和命令(File)菜单 快捷键 描述New Ctrl+N 创建新文件Open Ctrl+O 打开已经存在的文件Close 关闭当前文件Save Ctrl+S 保存当前文件Save as 另取名保存文件Save all 保存所有文件Device Database 管理器件库Print Setup 打印机设置Print Ctrl+P 打印当前文件Print Preview 打印预览1-9 打开最近用过

3、的文件Exit 退出uVision2 提示是否保存文件2编辑菜单和编辑器命令(Edit) 菜单 快捷键 描述Home 移动光标到本行的开始End 移动光标到本行的末尾Ctrl+Home 移动光标到文件的开始Ctrl+End 移动光标到文件的结束Ctrl+ 移动光标到词的右边Ctrl+A 选择当前文件的所有文本内容Undo Ctrl+Z 取消上次操作Redo Ctrl+Shift+Z 重复上次操作Cut Ctrl+X 剪切选取文本Ctrl+Y 剪切当前行的所有文本Copy Ctrl+C 复制选取文本Paste Ctrl+V 粘贴Indent Selected Text 选取文本右移一个制表符距离

4、Unindent Selected Text 将选取文本左移一个制表符距离Toggle Bookmark Ctrl+F2 设置/取消当前行的标签Goto Next Bookmark F2 移动光标到下一个标签处Goto Previous Bookmark Shift+F2 移动光标到上一个标签处Clear All Bookmarks 清除当前文件的所有标签Find Ctrl+F 在当前文件中查找文本F3 向前重复查找Shift+F3 向后重复查找Ctrl+F3 查找光标处的单词Replace Ctrl+H 替换特定的字符Find in Files 在多个文件中查找Goto Matching B

5、race 寻找匹配大括号圆括号方括号3选择文本命令在uVision2 中,你可以通过按住Shift 键和相应的光标操作键来选择文本。如 Ctrl + 是移动光标到下一个词,那么,Ctrl + Shift + 就是选择当前光标位置到下一个词的开始位置间的文本.当然,你也可以用鼠标来选择文本,操作如下:要选择 鼠标操作任意数量的文本 在你要选择的文本上拖动鼠标一个词 双击此词一行文本 移动鼠标到此行左边,直到鼠标变成右指向的箭头,然后单击多行文本 移动鼠标到此行最左边直到鼠标变成右指向的箭头然后相应拖动一个距形框中的文本 按住Alt 键然后相应拖动鼠标4视图菜单(View)菜单 快捷键 描述Sta

6、tus Bar 显示/隐藏状态条File Toolbar 显示/隐藏文件菜单条Build Toolbar 显示/隐藏编译菜单条Debug Toolbar 显示/隐藏调试菜单条Project Window 显示/隐藏工程窗口Output Window 显示/隐藏输出窗口Source Browser 打开资源浏览器Disassembly Window 显示/隐藏反汇编窗口Watch & Call Stack Win 显示/隐藏观察和堆栈窗口Memory Window 显示/隐藏存储器窗口Code Coverage Window 显示/隐藏代码报告窗口PerformanceAnalyzer Wind

7、ow 显示/隐藏性能分析窗口Symbol Window 显示/隐藏字符变量窗口Serial Window #1 显示/隐藏串口1 的观察窗口Serial Window #2 显示/隐藏串口2 的观察窗口Toolbox 显示/隐藏自定义工具条Periodic Window Update 程序运行时刷新调试窗口Workbook Mode 工作本框架模式Options 设置颜色.字体.快捷键和编辑器的选项5工程菜单和工程命令(Project) 菜单 快捷键 描述New Project 创建新工程Import uVision1 Project 转化uVision1 的工程Open Project 打开

8、一个已经存在的工程Close Project 关闭当前的工程Target Environment 定义工具包含文件和库的路径Targets, Groups,Files 维护工程的对象文件组和文件File Extensions 选择不同文件类型的扩展名Select Device for Target 选择对象的CPURemove 从工程中移走一个组或文件.Options Alt+F7 设置对象组或文件的工具选项Clear Group and File 清除文件组和文件属性Build Target F7 编译修改过的文件并生成应用Rebuild Target 重新编译所有的文件并生成应用Trans

9、late Ctrl+F7 编译当前文件Stop Build 停止生成应用的过程1-10 打开最近打开过的工程6调试菜单和调试命令(Debug)菜单 快捷键 描述Start/Stop Debugging Ctrl+F5 开始/停止调试模式Go F5 运行程序直到遇到一个中断Step F11 单步执行程序遇到子程序则进入Step over F10 单步执行程序跳过子程序Step out of Ctrl+F11 执行到当前函数的结束Current functionRun to Cursor line 运行到光标行Stop Running ESC 停止程序运行Breakpoints 打开断点对话框In

10、sert/Remove Breakpoint 设置/取消当前行的断点Enable/Disable Breakpoint 使能/禁止当前行的断点Disable All Breakpoints 禁止所有的断点Kill All Breakpoints 取消所有的断点Show Next Statement 显示下一条指令Enable/Disable Trace Recording 使能/禁止程序运行轨迹的标识View Trace Records 显示程序运行过的指令Memory Map 打开存储器空间配置对话框Performance Analyzer 打开设置性能分析的窗口Inline Assembl

11、y 对某一个行重新汇编可以修改汇编代码Function Editor 编辑调试函数和调试配置文件7外围设备菜单(Peripherals) 菜单 快捷键 描述Reset CPU 复位CPUInterrupt 打开片上外围器件的设置对话框I/O-Ports 对话框的种类及内容依赖于你选择的CPUSerial 串口观察Timer 定时器观察8工具菜单(Tool)利用工具菜单,你可以配置,运行Gimpel PC-Lint,Siemens Easy-Case 和用户程序。通过Customize Tools Menu 菜单,你可以添加你想要添加的程序。菜单 快捷键 描述Setup PC-Lint 配置Gi

12、mpel Software 的PC-Lint 程序Lint 用PC-Lint 处理当前编辑的文件Lint all C Source Files 用PC-Lint 处理工程中所有的C 源代码文件Setup Easy-Case 配置Siemens 的Easy-Case 程序Start/Stop Easy-Case 运行/停止Siemens 的Easy-Case 程序Show File (Line) 用Easy-Case 处理当前编辑的文件Customize Tools Menu 添加用户程序到工具菜单中9软件版本控制系统菜单(SVCS) 用此菜单来配置和添加软件版本控制系统的命令菜单 快捷键 描述

13、Configure Version Control 配置软件版本控制系统的命令10视窗菜单(Window)菜单 快捷键 描述Cascade 以互相重叠的形式排列文件窗口Tile Horizontally 以不互相重叠的形式水平排列文件窗口Tile Vertically 以不互相重叠的形式垂直排列文件窗口Arrange Icons 排列主框架底部的图标Split 把当前的文件窗口分割为几个1-9 激活指定的窗口对象11帮助菜单(Help) 菜单 快捷键 描述Vision Help 打开在线帮助About Vision 显示版本信息和许可证信息二.简单程序的调试学习程序设计语言、学习某种程序软件,

14、最好的方法是直接操作实践。下面通过简单的编程、调试,引导大家学习Keil C51软件的基本使用方法和基本的调试技巧。 1).建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项。2).然后选择你要保存的路径,输入工程文件的名字,比如保存到51-exam目录里,工程文件的名字为exam5-1。然后点击保存.3).这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然

15、后点击确定.4).完成上一步骤后,到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。5).在菜单中,单击“File”菜单,再在下拉菜单中单击“New”选项。此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。 6).回到编辑界面后,单击“Target 1”前面的

16、“”号,然后在“Source Group 1”上单击右键,弹出菜单 。然后单击“Add File to Group Source Group 1” 选中你的源文件(*.asm),然后单击“Add”进行添加。 注意到“Source Group 1”文件夹中多了一个子项“*.asm”了吗?子项的多少与所增加的源程序的多少相同 。7).现在,请输入如下的asm语言源程序: ;*;* P1口实验一EXAM5.ASM *;* 用P1口驱动8只LED发光管移位显示 *;* ORG 0000H JMP START ORG 0030HSTART: MOV A,#01H ; 先让第一个发光二极管点亮LOOP:

17、MOV P1,A ; 从P1口输出到发光二极管 MOV R1,#5 ; 延时0.5秒DEL1: MOV R2,#200DEL2: MOV R3,#123DEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RL A ; 左移一位,点亮下一个发光二极管 JMP LOOPEND在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。 8).单击“Project”菜单,再在下拉菜单中单击“Options for Target Target 1,单击

18、“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供仿真器使用。然后,单击“Debug”中,选中“Use Simulator”为软件仿真;选中 “TKStudy Emulator”选择硬件仿真,接着单击“Settings”设置串口波特率。波特率为115200 bps .到此我们完成了在线仿真器使用设置。最后,点击“确定”加以确认。回到主菜单,点击Project 菜单中 Rebuild all target files进行编辑及连接,如有错误同时进行修改,直到没有错误为止(显示为 0 Error(s),0 Warning(s);回到IDE界面点单击deb

19、ug 菜单中 Start/Stop Debug Session(Ctrl+F5) 代码下载至仿真器后,您可以根据需要进行单步、断点、全速运行,可参考变量、RAM变得观察。9).单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键Ctrl+F5). 10).点击RUN键(全速运行)运行监控程序,然后监控程序执行后,执行用户程序.11).调试程序:可对汇编程序进行单步、宏单步、断点和全速运行调试.第二部分 实验指导实验一 K

20、eil 软件开发环境的认识一. 实验目的:熟悉Keil 软件开发环境:包括新工程的建立,器件的选择,新文件的建立与保存,源文件的编译,调试等。1) 调试例程软件,写出运行后的制定单元的内容。实验例程:已知在内部RAM的30H34H单元中连续存放5字节的二进制无符号数,编程将其转换成为ASCII码并顺序存放在40H起始的内部RAM中。参考程序如下:ORG0000HLJMPMAINORG0100HMAIN:MOVR0,#30HMOVR1,#40HMOVDPTR,#ASCIMOVR7,#5LLL:MOVA,R0SWAPAANLA,#0FHMOVCA,A+DPTRMOVR1,AINCR1MOVA,R0

21、ANLA,#0FHMOVCA,A+DPTRMOVR1,AINCR1INCR0DJNZR7,LLLSJMP$ASCI:DB0,1,2,3,4,5DB6,7,8,9,DBA,B,C,D,E,F二.实验要求:1. 新建工程文件,选择器件后建立新文件,文件内容见例程进行编译、调试、运行等2. 八位无符号数存放在30H开始的5个单元中,运行结果存放在40H单元开始的单元中。3. 要求写出30H单元开始的原始数据,40H 单元开始的运行结果。实验二 软件编程(排序)一. 实验目的:1. 熟悉Keil 软件开发环境2 . 熟悉汇编指令,以及CPU 的结构、内部资源(数据存储单元等)实验内容:编程:设单片机内

22、部RAM从30H起始存放着10个无符号二进制数,试编程将这些数据从大到小排序。二. 实验要求:1).编写源程序,并进行编译调试。2).30H 单元开始存放10个无符号无顺序二进制数,编写程序,3).运行程序后,按从大到小的顺序排列存回从30H开始的单元中,并在实验报告中记录运行后的结果。4).认真完成实验报告:源程序及运行前后的数据有兴趣的同学编写附加程序:按从小到大的排列顺序调整程序,并运行程序,写出运行结果,在实验报告中写出相应程序。附:仿真调试的准备按照实验指导书第四页建立新工程文件开始,建立新文件,编辑新文件,加载文件,直到文件的编译,都与软件仿真相同。下面要进行硬件仿真调试的准备了。

23、1).点击菜单栏上的project项,会弹出下拉菜单,再选择option for target target 1选项,将出现调试环境设置界面。2).第2项target属性的设置,对于在dp-(我们使用的设备型号)单片机仿真器、编程器、实验仪三合一综合开发平台上利用tkstudy ice进行仿真调试,具体选择如下:xtal(mhz): 33.0memory model: small:variables in datacode rom size: large:64k programoperating: none其他选项不选。3).C51选项设置如下:evel: 2 dta overlayingwa

24、rnings: warningglevel 2imphasis: favor speedbits to round for float: 3选中interrupt vectors at a (0x0000) 和enable ansi integer promotion rul两项。4).debug 环境的设置:首先选中debug项进入设置界面:选中use项进行硬件仿真。Use: tkstudy emulator选中load application at sta 和go till main, breakpoints, toolbox, wetchpoints, memery displa五个选项

25、。后进行setting 的设置com port com1baudrate: 15200internal osc 20lhz50khz: 11.059200use xbus only ,cache code 两项选中后设置完毕。进入仿真工作。5).进入和退出仿真状态只有在用户程序编绎和连接成功后才能进行调试工作。点击菜单Debug-Start/StopDebug Session IDE 将进入/退出硬件仿真状态。6)如何运行程序在Keil 的IDE 中有以下几种运行方式:A) Run 全速运行遇到断点停下或用户按动Stop按钮或RST CPU按钮停止。B) Step info 单步跟踪运行一条指

26、令,如果该语句为C 中的调用子程序语句或汇编中的CALL指令,Step info 指令将跟踪进入子程序内部。C) Step over 单步运行完一条指令,如果该语句为C 中的调用子程序语句或汇编中的CALL指令,Step over 指令将全速完成该子程序的运行,停在下一指令处。D) Run till Cursor Line 从当前位置运行到光标处。7).如何设置和删除断点设置断点/删除断点最简单的方法是用鼠标双击待设置断点的源程序行或反汇编程序行,或用断点设置命令 “bs ”。8).如何查看和修改寄存器的内容仿真时主寄存器的内容显示在主寄存器窗口,用户除了可以观察以外还可自行修改,用鼠标点击选

27、中一个单元,例如单元DPTR, 然后再单击DPTR 的数值位置,出现文字框后输入相应数值按回车键即可;另外的输入方法是使用命令行窗口,例如输入A=0X34将把A 的数值设置为34H。9).如何观察和修改变量点击“View-Watch & Call stack Window”出现相应窗口选择Watch 1-3 中的任一个窗口,按动F2, 在Name 栏填入用户变量名如Temp1 Counter 等,但必须是存在的变量。如果想修改数值可单击Value 栏出现文本框后输入相应数值。用户可以连续修改多个不同的变量。10)如何观察存储器区域在Keil 中可以区域性的观察和修改所有的存储器数据,这些数据的

28、获取从Ky51中获取。Keil IDE 把MCS-51内核的存储器资源分成4个部分:A).内部可直接寻址RAM data ,IDE表示为D:xx。B).间接寻址RAM区idata ,IDE表示为I:xx。C).RAM区xdata ,IDE表示为X:xxxx。D).代码区code ,IDE表示为C:xxxx。这四个区域都可以在Keil 的Memory Windows 中观察和修改。IDE 集成环境中点击菜单View-Memory Windows,便会打开Memory 窗口, Memory 窗口,可以同时显示4 个不同的存储器区域,点击窗口下部分的编号可以相互切换显示。在地址输入栏内输入待显示的存

29、储器区起始地址。如D:45h 表示从内部可直接寻址RAM 的45H 地址处开始显示;x:3f00H 显示外部RAM, 从3f00H 地址开始;c:0X1234显示代码区域,从1234H 地址开始。I:32H 显示内部间接寻址空间,从32H 地址开始。在Memory 窗口中显示的数据可以修改,修改方法如下:在鼠标对准要修改的存储器单元,按动鼠标右键在弹出的菜单中选择“Modify Memory at 0x”,在弹出对话框的文本输入栏内输入相应数值后按回车键,修改完成。注:代码区数据不能更改。实验三 单片机简单I/O口控制一. 实验目的:1) 熟悉CPU的P1口准双向口的性质,使学生学会利用P1口

30、作为输入输出口;2) 了解LED共阳极电路的实现;3) 仿真器,编程器实验仪综合开发装置的使用。二. 实验要求:P1.7与一个开关键相连,P1.0-P1.5与六个LED灯相连;当P1.7 键被按下时P1.0-P1.2控制的三个灯点亮,P1.7不被按下时P1.3-P1.5控制的三个灯点亮。三. 实验内容:4) 按要求编写实验程序;5) 按所给的电路连接硬件图;6) 运行调试程序,达到实验要求;7) 认真书写实验报告。四. 实验设备及器件IBM PC 机 一台DP-51PRO.NET 单片机仿真器、编程器、实验仪三合一综合开发平台 一台实验四 单片机的蜂鸣器控制一 实验目的利用单片机的P1 口作I

31、O 口,学会定时器的使用,及蜂鸣器的驱动。二 实验设备及器件IBM PC 机 一台DP-51PRO.NET 单片机仿真器、编程器、实验仪三合一综合开发平台 一台三 实验内容1). 编写一段程序,用P1.3 口控制(输出3K 到4K 频率的方波),使D4 区的蜂鸣器发出嘹亮的响声。2). 有兴趣的同学用P1.3 口控制,使D4 区的蜂鸣器发出“生日快乐”的音乐。数字乐谱见下。音阶由不同频率的方波产生,音阶与频率的关系如下表所示。方波的频率由定时器控制。定时器计数溢出后,产生中断,将P1.0口取反即得周期方波。每个音阶相应的定时器初值可按如下方法计算。晶振为6MHZ时,音阶“1”相应的定时器初值为

32、X,则:1(2622)=(65536-X)12(61000000)可得 X=64581=0FC45H,其它的可同样求得。 TABLE:DB 82H,01H,81H,94H,84H,0B4H,0A4H,04HDB 82H,01H,81H,94H,84H,0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB 82H,01H,81H,94H,84H,0B4H,0A4H,04HDB 82H,01H,81H,94H,84H,0C4H,0B4H,04HDB 82H,01H,

33、81H,0F4H,0D4H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00HTABLE1:DW 64260,64400,64524,64580,64684,64777,64820,64898DW 64968,65030,65058,65110,65157,65178,65217定时时间常数计算方法为:定时器1工作于方式1,晶振频率为6.0MHz,故预置值Tx为:(65536-Tx)2=100000s Tx=15536 =3CB0H,故TH1=3CH,TL1=0B0H图. 蜂鸣器原理图四 实验步骤1). 使用导线把A2 区的J61

34、 接口的P13 与D4 区的 J8 接口的其中一脚相连。2). 先编写一个延时程序(120200us)。3). 再编写一个循环程序,改变P1.3 脚的电平,然后延时。这样,这个循环就使P1.3口输出一个频率为2.5KHz4KHz 的方波。在DP-51PRO.NET 上运行该程序时,D4 区的蜂鸣器将发出嘹亮的响声。实验五 串并口转换和译码实验1. 串并口转换实验一 实验目的熟悉并掌握串转并的I/O口扩展方法。二 实验设备及器件IBM PC 机 一台示波器 一台DP-51PRO.NET 单片机仿真器、编程器、实验仪三合一综合开发平台 一台三 实验内容1. 写一段程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换。2. 验证传并转换数据的正确性。四 实验要求熟悉传并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源。表:74HC164真值表五 实验步骤1)短接C5区JO10接口,将C5区J43接口与A2区J61接口的P10P13对应相连(CLK对P10等等)如图所示。2) 运行编写好的软件程序,完成一次串并转换。3) 使用D1区的J52接口(LED指示灯)测试并行输出数据Q0Q7数据的正确性。2. 74HC138 译码器实验一 实验目的熟悉译码器的使用方法,灵活应用74HC138 进行电

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实验数据

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922