ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:648.36KB ,
资源ID:25588023      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25588023.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机原理实验指导书.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机原理实验指导书.docx

1、单片机原理实验指导书单 片 机 原 理实 验 指 导 书丁易新 编安徽工业大学电气信息学院2012年4月实验01 Keil Vision编程平台与汇编指令练习一、实验器材1 微型计算机2 单片机硬件开发实验装置3 实验装置下载线二、实验目的1. 熟悉uVision3集成调试环境2. 熟悉MCS-51寻址方式及传送类指令三、实验要求与任务传送类指令练习。单步逐条向下执行指令。每执行一条指令,都要分析一下指令源操作数、目的操作数在存储空间的哪个单元,看一看你所理解的指令执行结果与实际运行结果是否符合,并且把每条指令执行后目的操作数的值记录下来。MCS-51单片机的存储空间如表所示:数据空间程序空间

2、片内/片外片内片外片内片外寻址方式RAM直接间接SFR直接寻址RAM间接寻址RAM间接寻址ROM间接寻址ROM间接寻址ROM间接寻址空间范围00-7FH80-FFH80H-FFH0000-FFFFH0000-0FFFH0000-0FFFH1000H-0FFFFH表示方法DATASFRIDATAXDATACODECODECODE1 直接寻址只能在DATA 区和SFR 中进行,如下例ORG 0000HLJMP STARTORG 0100HSTART: ; 此处加入RAM的初始化程序(见下文) MOV A, 03H ; 把地址03H 中的数移入累加器 MOV 43H, 22H ; 把地址22H 中的

3、数移入地址43H 中 MOV 02H, C ; 把Cy中的数移入位地址02H 中 MOV 42H, #18H ; 把立即数18 移入地址42H 中 MOV 09H, P1 ; 把端口1中的数移入地址09H 中 SJMP $END2间接寻址要使用DPTR,PC ,R0, R1 寄存器作为指针访问各存储器。可访问的空间为CODE、IDATA、XDATA存储区,对DATA 存储区也可进行间接寻址。只能用直接寻址方式对位地址进行寻址。XDATA 区寻址: ORG 0000H LJMP START ORG 0100HSTART: ; 此处加入RAM的初始化程序(见下文) MOV DPTR, #3048H

4、 ; DPTR 指向外部存储区 MOVX A, DPTR ; 读入外部存储区地址3048H 中的数 INC DPTR ; 指针加一 MOV A, #26H ; 立即数26H 写入A 中 MOVX DPTR, A ; 将26H 写入外部存储区地址3049H 中 MOV R0, #87H ; R0 指向外部存储区地址87H MOVX A, R0 ; 将外部存储区地址87H 中的数读入累加器中 SJMP $ENDCODE区寻址:查CODE区的平方表: ORG 0000H LJMP START ORG 0100HSTART: MOV DPTR, #TABLE_BASE ; DPTR 指向表首地址 MO

5、V A, #5 ; 把偏移量(立即数5)装入累加器中 MOVC A, A+DPTR ; 从表中读出数据到累加器中(5的平方) SJMP $TABLE_BASE: DB 0,1,4,9,16,25,36 ; 平方表END四、实验步骤: 创建项目 第一次使用,首先为我们编写的实验程序在D盘上新建一个文件夹D:单片机实验; 启动keil uVision3,新建一个项目文件并从器件库中选择一个器件,操作步骤如下:启动keil uVision3;新建一个项目文件:从菜单Project中选择New Project。选择保存路径(至D:单片机实验)输入项目文件名 (例:shiyan)点击保存选择CPU:弹出

6、对话框Select Device for Target,为项目选择CPU。我们选择Generic下的8051。弹出对话框,询问是否添加标准的启动代码到你的项目,不理会,点击NO。新建一个源文件 从菜单File选择New来新建一个源文件。在text1编辑窗口中输入程序。把程序保存在D:单片机实验。由于是汇编程序,输入文件名时一定输入扩展名“.asm”。例:shiyan.asm。 将你的源文件加入到你的项目中 在你的Project Workspace窗口中点击Target 1前“+”,展开Suorce Group 1; 右击Suorce Group 1,出现菜单,选择Add files to Gr

7、oup “Suorce Group 1”选项; 弹出对话框。选择你刚刚生成的文件。例:shiyan.asm。文件类型选择 asm source file点击Add后关闭对话框。 编译(或汇编)你的源程序 点击菜单Project下Options for Target弹出对话框Options for Target target1。 Xtal:定义CPU时钟,12MHz。 下面依次是编译的存储模式、程序空间大小等设置,均使用默认值即可。 若要生成下载文件(.hex文件),点击Output选项,选中Create Hex Files。 点击菜单Project下Build Target即可编译(或汇编)你

8、的源程序(留意一下,在工具栏上可找到相应快捷按钮)。在下面的输出窗口Output Window可看到编译(汇编)的结果,应该没有错误才可继续下面实验。否则修改你的源程序,直到没有错误为止。 调试你的程序点击菜单Debug下Start/Stop Debug Session进入调试模式。你现在就可以采用连续运行、停止、指令单步、函数单步、运行到光标处行等命令调试你的程序(这些命令在Debug下Run、Stop Running、Step、Step over,Run to Cursor line。也可利用快捷按钮)。你也可以设置断点后,连续执行程序进行调试。如程序运行到中间想从头再来,只要按RST按钮

9、即可。常用调试快捷按钮符号说明RstRunStop RunningStep intoStep overRun to Cursor lineStart/Stop Debug Session复位连续运行停止指令单步函数单步运行到光标处行调试模式/编辑模式 切换 存储器、寄存器的查看、修改在调试程序时,经常需要查看存储器内容,你可以查看8051内的4个存储器逻辑空间的任一个。在调试模式下,依次点击View,Memory Window,你可以看到包含4个存储器空间的窗口,你在第一个存储器空间的Address栏内输入C:0,即可看到从0000H开始的一段程序存储内容;你也可以在其它Address栏内分别

10、填入X:0、D:0、I:0就可以查看外部数据存储器空间、直接寻址的片内存储空间(包括片内00-7FH的RAM,及80H-0FFH的SFR)、间接寻址的片内存储空间(包括片内00-7FH的RAM,及8032的80H-0FFH的数据RAM)。如要修改Memory Window内存储单元内容,可用鼠标右键点击选定存储单元,根据提示即可修改。在Project Workspace窗口,你还可以看到8051的所有寄存器。如要查看单片机的外围部件,像端口P0-P3,定时器T0、T1等,可点击Peripherals。实验02 二进制数转换成十进制数实验一、实验器材1 微型计算机2 单片机硬件开发实验装置3 实

11、验装置下载线二、实验目的1. 熟悉uVision3集成调试环境2学习掌握51单片机的汇编语言程序设计。三、实验要求与任务 将RAM地址30H的16进制数(例如:在调试送入0ffH,或64H等数据),转换成十进制数,结果送到31H、32H、33H(地位在31H,最高位33H)。四、实验步骤:实验步骤同实验01五、实验程序参考框图:实验03 流水灯实验一、实验器材1 微型计算机2 单片机硬件开发实验装置3 实验装置下载线二、实验目的1. 熟悉uVision3集成调试环境2学习掌握51单片机的I/O端口及编程。三、实验电路:图1-3 8位流水灯显示电路四、实验要求与任务1. 设计节日流水灯。8051

12、单片机P0口驱动流水灯:输出“1”时灯亮,“0”时灯灭。流水灯效果如下图2-1所示。图中 表示灯亮, 表示灯灭,流水灯效果在1-8状态中循环。 LD0 LD7 LD0 LD71 12 23 34 45 56 67 78 89 910图2-1 流水灯 1 1112131415161718图2-2 流水灯 22. 设计节日流水灯。8051单片机P0口驱动流水灯:输出“1”时灯亮,“0”时灯灭。流水灯效果如上图2-2所示。图中 表示灯亮, 表示灯灭,流水灯效果在1-16状态中循环。五、实验步骤:1. 系统各跳线器处在初始设置状态(参见附录)(J1的1,2处8只短路帽打在左边,3,4的5只短路帽打在右

13、边),MCU的JD13连接到八位逻辑电平显示模块的JD30。2. 程序输入、编译等实验步骤同实验01。3程序下载编程。系统各跳线器处在初始设置状态(参见附录)(JT40打在左边,JD18打在右边),J2的P3.0,P3.1打在右边。打开STC-ISP V397软件。 步骤一:选择单片机芯片型号STC89C52RC 步骤二:打开hex文件 步骤三:选择COM口,与设备管理器(我的电脑,点击鼠标右键,选择设备管理器)中端口一致。 步骤四:设置为12T/单倍速 步骤五:Download/下载。 关学习机电源握手接线打开学习机电源4程序验证。 实验04 数码管动态扫描显示实验一、实验器材1 微型计算机

14、2 单片机硬件开发实验装置3 实验装置下载线二、实验目的1. 掌握8段数码管硬件线路原理;2掌握用HD7279A芯片实现数码管显示的编程方法。三、实验电路 HD7279A是一片具有串行接口,可同时驱动8位共阴数码管(或64只独立LED)的智能显示驱动芯片,该芯片还可同时连接多达64键的键盘矩阵。HD7279A内部含译码器,可直接接受16进制码。 HD7279A芯片介绍请见附录一。四、实验要求与任务 根据电路使用HD7279A驱动共阴数码管,显示“123”。 程序可参考附录一。五、实验步骤:1. 系统各跳线器处在初始设置状态(参见附录)(J1的1,2处8只短路帽打在左边,3,4的5只短路帽打在右

15、边),J3打在7279处。2. 程序输入、编译等实验步骤同实验01。3程序下载编程。系统各跳线器处在初始设置状态(参见附录)(JT40打在左边,JD18打在右边),J2的P3.0,P3.1打在右边。打开STC-ISP V397软件,下载程序(同实验03)。附录一:HD7279A芯片介绍 HD7279A是一片具串行接口的,可同时驱动8位共阴式数码管的智能显示驱动芯片,该芯片同时还可以连接多达64键的键盘矩阵,单片即可完成LED显示,键盘接口的全部功能。1.主要特性 (1).串行接口,无需外围元件可直接驱动LED。 (2).各位独立控制译码/不译码及消隐和闪烁属性。 (3).(循环)左移/(循环)

16、右移指令。 (4).具有段寻址指令,方便控制独立LED。 (5).64键键盘控制器,内含去抖动电路。2.引脚说明: VDD: 正电源 VSS: 地 CS: 片选 CLK: 时钟输入端 DATA: 串行数据输入/输出端 CLK0: 振荡输出端 KEY: 按键有效输出端 RES: 复位端 SG-SA: 段g段a驱动输出 DP: 小数点驱动输出 DIG0-7: 数位0-7驱动输出 RC: RC振荡器连接端3. HD7279A硬件电路:注意:(1).HD7279A应连接共阴式数码管。 (2).应用中,无需用到的键盘和数码管可以不连接。 (3).应用中,串入DP及SASG连接的8只电阻为200欧。(4)

17、.应用中, 8只下拉电阻和8只键盘连接位选线DIG0DIG7的电阻,应遵从一定的比例关系,典型值为10倍,下拉电阻的取值范围是10K100K,位选电阻的取值围是1K10K。 (5).HD7279A需要一外接的RC振荡电路以供系统工作,其典型值分别为R1.5K,C15pF。(6).HD7279A的RESET复位端在一般应用情况下,可以直接与正电源连接,在需要较高可靠性的情况下,可以连接一外部的复位电路,或直接由MCU(单片机)控制。在上电或RESET端由低电平变为高电平后,HD7279A大约需要经过18-25MS的时间才会进入正常工作状态。4. 控制指令 HD7279A的控制指令分为二大类纯指令

18、和带有数据的指令。 主要控制指令如下:A. 纯指令(1). 复位(清除)指令A4HD7D6D5D4D3D2D1D010100100当HD7279A收到该指令后,将所有的显示清除,所有设置的字符消隐、闪烁等属性也被一起清除。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。(2). 左移指令A1HD7D6D5D4D3D2D1D010100001例如,原显示为: 4252LP39其中第2位3和第4位L为闪烁显示。执行了左移指令后,显示变为:252LP39第2位9和第4位P为闪烁显示。(3)右移指令A0H D7D6D5D4D3D2D1D010100000与左移指令类似,但所做移动为自左向右移动

19、,移动后,最左边一位为空B带有数据的指令(1). 下载数据且按方式0译码 D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010000a2a1a0DPXXXd3d2d1d0命令由二字节组成,前半部分为指令,其中a2,a1,a0为位地址。d0d3为数据,收到此指令时,按以下规则进行译码。 小数点的显示由DP位控制:DP=1时,小数点显示, DP=0时,小数点不显示。 (2)下载数据且按方式1译码D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D011001a2a1a0DPXXXd3d2d1d0此指令与上一条指令其本相同,所不同的是译码方式。(3)下载数据但不译码 D7D

20、6D5D4D3D2D1D0D7D6D5D4D3D2D1D010010a2a1a0DPABCDEFG其中,a2,a1,a0为位地址,AG和DP为显示数据,分别对应7段LED数码管的各段。当相应的数据位为1时,该段点亮,否则不亮。此指令灵活,通过造字形表,可以显示用户所需的字符。(4)闪烁控制88H D7D6D5D4D3D2D1D0D7D6D5D4D3D2D1D010001000d8d7d6d5d4d3d2d1此命令控制各个数码管的闪烁属性,d1d8分别对应数码管1-8。0=闪烁,1=不闪烁。开机后,缺省的状态为各位均不闪烁。 (5). 读键盘数据指令15H D7D6D5D4D3D2D1D0D7D

21、6D5D4D3D2D1D000010101d7d6d5d4d3d2d1d0该指令从HD7279A读出当前的按键代码。前一个字节015H为指令代码,而后一个字节d0-d7则为HD7279A返回的按键代码,其范围是00H-3FH(无键按下时为FFH)。 当HD7279A检测到有效的按键时,KEY引脚从高电平变为低电平,并一直保持到按键结束。在此期间,如果HD7279A接收到读键盘数据指令,则输出当前按键的键盘代码;如果在收到读键盘指令时没有有效按键,HD7279A将输出FFH。5串行接口的时序图。A、HD7279A的指令结构类型:(1)、不带数据的纯指令,指令的宽度为8个BIT。即微处理器需发送8

22、个CLK脉冲。(2)、带有数据的指令,宽度为16个BIT,即微处理器需发送16个CLK脉冲。(3)、读取键盘数据指令,宽度为16个BIT,前8个为微处理器发送到HD7279A的指令,后8个BIT为HD7279A返回的键盘代码。执行此指令时,HD7279A的DATA端在第9个CLK脉冲的上升沿变为输出状态,并与第16个 脉冲的下降沿恢复为输入状态,等待接收下一个指令。B、串行接口的时序图:(1). 纯指令T1=50us; T2=8us; T3=8us (2). 带数据指令T4=25us(3). 读键盘指令T5=25us; T6=8us; T7=8us6. 软件编程 发送一字节子程序:(发送数存于

23、A中)KEY BIT P1.3CLK BIT P1.6DAT BIT P1.7CS BIT P2.7SEND: MOV R0,#8 CLR CS CALL LONG_DELAYSEND_LOOP: MOV C,ACC.7 MOV DAT,C SETB CLK RL A CALL SHORT_DELAY CLR CLK CALL SHORT_DELAY DJNZ R0,SEND_LOOP CLR DAT RETLONG_DELAY: MOV R7,#80DELAY_LOOP: DJNZ R7,DELAY_LOOP RETSHORT_DELAY:MOV R7,#6SHORT_LP: DJNZ R7,SHORT_LP RET附录二:系统各跳线器的初始设置状态表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1