《单片机原理及应用》实验指导(DOC)_第1页
《单片机原理及应用》实验指导(DOC)_第2页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、i单片机原理及应用实验指导书余锡存主编南京师范大学电气与自动化工程学院2007 年 2 月实验一 单片机开发系统的操作练习21、实验目的通过简单程序的编辑、 调试、执行,了解开发系统的操作过程。2、实验设备计算机一台, MCS-51 仿真调试软件 SUPER ICES-G16 一套。3、实验内容A、 熟悉 SUPER ICES-G16 软件的各项菜单功能。B、 计算 N 个数据的和:Y 艺 Xi。其中,Xi 分别放在片内 RAM 区50H55H 单元中,求和的结果放在片内 RAM 区 03H(高 位)、04H (低位)单元中。参考程序 SUM.ASM :ORG 0000HAJMPMAINORG

2、0100HMAIN : MOVR2, #06HMOVR3, #00HMOVR4, #00HMOVR0, #50HL1:MOVA, R4ADDA, R03运行 MCS-51 仿真软件,在编辑窗口编辑好文件 SUM ASM 后, 按F10 键进入主菜单选择 Assemble 项进行汇编,若无误后按 F8 键 执行。C、 注意:在程序执行前, 按 F10 键进入主菜单选择 WINDOWS 窗口, 按Tab 键将光标移到 DATA 项,修改 50H55H 单元的内容。重 新编译后, 按 F8 单步运行, 观察内部 RAM 区 03H、04H 单元的 内容,做好记录。练习:(1)32H+41H+01H+

3、56H+11H+03H= ?2) 95H+01H+02H+44H+48H+12H= ?3) 54H+F6H+1BH+20H+04H+C1H= ?实验二 MCS-51 汇编程序编程练习一1、实验目的熟悉 MCS-51 的指令系统,了解编程方法。2、实验设备MOVR4 , AINCR0CLRAADDCA, R3MOVR3, ADJNZR2, L1SJMPL2L2:4计算机一台, MCS-51 仿真调试软件 SUPER ICES-G16 一套3、实验内容在内部 RAM 的 BLOCK 开始的单元中有一无符号数据块, 数据块长度存入 LEN 单元。试编程求其中的最大数并存入MAX 单元中。参考程序MA

4、X.ASM:ORG 0000HAJMP STARTORG 0300HBLOCK DATA 20HLEN DATA 40HMAX DATA 42HSTART:MOV MAX,#00HMOV R0,#BLOCKLOOP:MOV A,R0CJNE A,MAX,NEXT15NEXT1:JC NEXTMOV MAX,ANEXT:INC R0DJNZ LEN,LOOPSJMP $ENDA、运行 MCS-51 仿真软件,在编辑窗口编辑好文件 MAX .ASM。B、 在程序执行前,选择 WINDOWS 窗口,将光标移到 DATA 项,将 1 0 个数据装入内部 RAM 20H29H 单元,并将 40H 的内容

5、修改为 10。C、选择 Assemble 项进行汇编,若无误后按 F8 执行。观察40H、 42H 单元的内容,并记录结果。实验三 MCS-51 汇编程序编程练习二1、实验目的熟悉 MCS-51 的指令系统,了解编程方法。2、实验设备计算机一台,MCS-51仿真调试软件SUPER ICES-G16一套。3、实验内容在外部 RAM 的 BLOCK 单元开始有一数据块,数据块长 度存入内部 RAM 的 LEN 单元。试编程统计其中的正数、 负数 和零4、实验步骤6的个数分别存入内部 RAM 的 PCOUNT 、MCOUNT 和 ZCOUNT单元 。参考程序PMZ.ASM:ORG0000HAJMPS

6、TARTORG0300HBLOCKXDATA1000HLENDATA20HPCOUNTDATA21HMCOUNTDATA22HZCOUNTDATA23HSTART :MOVR0,#00HMOV R1, #00H7MOV R2, #00HMOV DPTR , #BLOCKLOOP :MOVXA,DPTRINCDPTRJBACC.7 , FUCJNEA,#00H,NEXT1INCR0SJMP NEXTNEXT1 : INC R2SJMP NEXTFU: INCR1NEXT : DJNZ LEN ,LOOPMOVZCOUNT, R0MOVMCOUNT, R1MOVPCOUNT, R2SJMP $EN

7、D4、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件PMZ.ASM。B、 在程序执行前,选择WINDOWS窗口,将光标移到XDATA项,将10个数据装入外部RAM 1000H1009H单元,并将20H的内容修改 为10。C、 选择Assemble项进行汇编,若无误后按F8执行。观察21H、22H和23H单元的内容,并记录结果。8实验四 MCS-51 汇编程序编程练习三1、实验目的熟悉 MCS-51 的指令系统,了解编程方法。2、实验设备计算机一台,MCS-51仿真调试软件SUPER ICES-G16一套。3、实验内容将外部 RAM 的 40H 单元中的一个字节拆成 2 个 ASCI

8、I 码,分别存入内部 RAM41H 和 42H 单元中。参考程序ASCII.ASM:ORGLJMPORGSTART : MOVMOVMOVXPUSHANLLCALLMOVINCPOP0000HSTART1000HDPTR ,#40HR0,#41HA, DPTRAA,#0FHCHANGER0,AR0A9SWAP AANLA,#0FHLCALLCHANGEMOVR0,ASJMP$CHANGE : CJNEA,#0AH , NEXTNEXT : JNCNEXT1ADDA,#30HRETNEXT1 :ADDA,#37HRETEND4、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件ASCII

9、.ASM。B、在程序执行前,选择WINDOWS窗口,将光标移到DATA项,将12H数据装入外部RAM 40H单元。C、 选择Assemble项进行汇编, 若无误后按F8执行。 观察41H、42H单元的内容,并记录结果。D、选择WINDOWS窗口,将光标移到DATA项,把外部RAM 40H单元的内容修改为ABH。再选择Assemble项进行汇编,若无误后按F8执行。观察41H、42H单元的内容,并记录结果。10实验五ADC0809模数转换实验一、 实验目的1、 掌握 ADC0809 模 /数转换芯片与单片机的连接方法及ADC0809 的典型应用2、掌握用少量的指令调试硬件的方法3、 掌握用查询方

10、式、中断方式完成模/数转换程序的编写方法二、 实验说明本实验使用 ADC0809 模数转换器,ADC0809 是 8 通道 8 位 CMOS 逐次逼近式 A/D 转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D 转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。下图为该芯片的引脚图。各引脚功能如下:IN0IN7 :八路模拟信号输入端。ADD-A ADD-B ADD-C:三位地址码输入端。 八路模拟信号转换选择由这三个端口控制。CLOCK 外部时钟输入端。土D0D7:数字量输出端。=OE A/D 转换结果输出允许控制端。当0E 为高电平土91I允许 A/D 转换结

11、果从 D0D7 端输出。ALE:地址锁存允许信号输入端。八路模拟通道地址由 A、B、C 输入,在 ALE 信号有效时将该八路地址锁存。START 启动 A/D 转换信号输入端。当 START 端输入一个正脉冲时,将进行 A/D 转换。EOC A/D 转换结束信号输出端。当 A/D 转换结束后,EOC 俞出高电平。ref(+) 、ref(-):正负基准电压输入端。基准正电压的典型值为+5V。VCc 和 GND 芯片的电源端和地端。三、 实验步骤1、 使用 ADC0809 与单片机接口模块,用十线扁平插头将 P1 口与 8 位发光二极管模块 相连,用导线将 RXD TXD 与串行静态显示模块的 D

12、IN、CLK 相连,将+5V 电源和地分别接口 到模拟信号输入的“ +” “- ”两端,将实验台左右两块面板上,正负 5V 电源之间的地相连。2、 安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片 机IN盘Nd1N-5ADJAADH-nSTARTADIM?EOCALEDiD7OEDCCLOCKD5VCCCMrti|3GNDTCfb)DI时,11插座中,打开模块电源,插上仿真器电源插头。123、启动计算机,打开伟福仿真软件,进入仿真环境。选择仿真器型号、仿真头型号、CPU 类型;选择通信端口,测试串行口。转换后的值,8 位发光二极管显示“ XX”的二进制值,调节模拟信号输

13、入端的电位器旋钮,MOVDPTR,#0FEF3H;A/D地址MOVA,#0;清零MOVXDPTR,A;启动A/DWAIT:JNBP3.3,WAIT;等待转换结束MOVXA,DPTR;读入结果MOVP1,A;转换结果送入发光二极管显示MOVB,A;累加器内容存入B中SWAPA;A的内容咼四位与低四位交换ANLA,#0FH;A的内容咼四位清零XCHA,R0;A/D转换结果高位送入DBUF沖4、输入源程序,编译无误后,全速运行程序,5LED 静态显示“ AD XX ”,“ XX为 AD5、可把源程序编译成 OBJ 文件,烧录到 89C51 芯片中。流程图及源程序1.源程序DBUF0EQU30HTEM

14、PEQU40HDINBIT0B0HCLKBIT0B1HORG0000HSTART: MOVR0,#DBUF0;显示缓冲器存放MOVR0,#0AH;串行静态显示“INCR0MOVR0,#0DHINCR0MOVR0,#11H显示值随着变化,顺时针旋转值增大,AD 转换值的范围是 0FFHINC四、0AH,0DH,-,0XH,0XHAD XX”XX表示0F13R014MOVA,B;取出A/D转换后的结果ANLA,#0FH;A的内容高四位清零XCHA,R0;结果低位送入DBF4中ACALL DISP1;串行静态显示“AD XX”ACALLDELAY;延时AJMPSTARTDISP1:;静态显示子程序M

15、OVR0,#DBUF0MOVR1,#TEMPMOVR2,#5DP10: MOVDPTR,#SEGTAB;表头地址MOVA,R0MOVCA,A+DPTR;取段码MOVR1,A;至TEMF中INCR0INCR1DJNZ R2,DP10MOVR0,#TEMP;段码地址指针MOVR1,#5;段码字节数DP12: MOVR2,#8;移位次数MOVA,R0;取段码DP13: RLCA;段码左移MOVDIN,C;输出一位段码CLRCLK;发送一个位移脉冲SETB CLKDJNZ R2,DP13INCR0DJNZR1,DP12INCR0RET151、A/D转换程序有二种编制方式:中断方式、查询方式、延时方式,

16、实验中使用了查询方式,请用另两种方式编制程序。2、P0口是数据/地址复用的端口,请说明实验中ADC0809的模拟通道选择SEGTAB:DB 3FH,6,5BH,4FH,66H,6DHDB 7DH,7,7FH,6FH,77H,7CHDB 58H,5EH,79H,71H,0,40HDELAY: MOV R4,#08HAA1: MOV R5,#0FFHAA:NOPNOPDJNZ R5,AADJNZ R4,AA1RETEND2.流程图;0,1,2,3,4,5;6,7,8,9,A, B;C, D, E, F,(空格),-;延时思考题16开关在利用P0口的数据口或地址地位口时,程序指令和硬件连线的关系图

17、10 实验电路原理图六、电路图+5V0010uF上P10P0 0P11P01P12P0 2P13P0 3P14P04P15P0 5P16P0 6P17P0 7INT1P2 0INT0P21P2 2T1P2 3T0P24P2 5EA/VPP2 6P2 7X1X2RESETRXDTXDRDALE/PWRPSENOEQ0GQ1Q2D0Q3D1Q4D2Q5D3Q6D4Q7D5D6D7T4LS02D0IN-0D1D2IN-1D3D4IN-2D5D6IN-3D7IN-4EOCIN-5ADD-AADD-BIN-6ADD-CIN-7ALEO ESTARTCLOCKref(+)ADC08092610K6MHzJ

18、153119+5V1716IK21222325263.3K*874LS02B/1714212322GND3029(D27281234591612252461017实验六DAC0832数模转换实验一、 实验目的1、 掌握 DAC0832 直通方式,单缓冲器方式、双缓冲器方式的编程方法2、 掌握用仿真器调试硬件电路的方法3、 掌握 D/A 转换程序的编程方法和调试方法二、 实验说明DAC0832 是 8 位 D/A 转换器,它采用 CMOSC 艺制作,具有双缓冲器输入结构,其引 脚排列如图所示,DAC0832 各引脚功能说明:DI0DI7 :转换数据输入端。CS:片选信号输入端,低电平有效。ILE

19、 :数据锁存允许信号输入端,高电平有效。WR1 第一写信号输入端,低电平有效,Xfer :数据传送控制信号输入端,低电平有效。WR2 第二写信号输入端,低电平有效。loutl :电流输出 1 端,当数据全为 1 时,输出电流最大;当数据全为0 时,输出电流最小。Iout2 :电流输出 2 端。DAC0832 具有:Iout1 + lout2= 常数的特性。Rfb :反馈电阻端。Vref :基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:-10V+10V。VCC 和 GND 芯片的电源端和地端。DAC0832 内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存

20、器由 ILE、CS WR1 控制,DAC 寄存器由 WR2 Xref 控制,用软件指令控制这五个控制端可实现三种工 作方式:直通方式、单缓冲方式、双缓冲方式。直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数 字信号输入就立即进入 D/A 转换。单缓冲方式使 DAC0832 的两个输入寄存器中有一个处于直通方式,另一个处于受控CSWRLDI3VetILEWR2甌20丄I占:17耳X 16rir rIf7DIO VrfRFbC3NIJD16048U9IcuriJhurt12L0ID18方式,可以将 WR2 和 Xfer 相连在接到地上,并把 WR1 接到 89C51 的 W

21、F上,ILE 接高电平,CS 接高位地址或地址译码的输出端上。双缓冲方式把 DAC0832 的输入寄存器和 DAC 寄存器都接成受控方式,这种方式可用 于多路模拟量要求同时输出的情况下。三种工作方式区别是:直通方式不需要选通,直接D/A 转换;单缓冲方式一次选通;双缓冲方式二次选通。三、实验步骤1、使用 DAC0832 与单片机接口电路模块,将 -5V 电源接到参考电压输入端,模拟信号 输出乂的正负两端接示波器探头。2、 安装好仿真器, 用串行数据通信线连接计算机与仿真器, 把仿真头插到模块的单片 机插座中,打开模块电源,插上仿真器电源插头。3、 启动计算机,打开伟福仿真软件,进入仿真环境。选择仿真器型号、仿真头型号、CPU 类型;选择通信端口,测试串行口。4、输入源程序, 编译无误后, 全速运行程序, 观察示波器测量输出波形的周

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论