《单片机原理及应用》实验指导.

上传人:无*** 文档编号:47556999 上传时间:2021-12-22 格式:DOCX 页数:19 大小:145.74KB
收藏 版权申诉 举报 下载
《单片机原理及应用》实验指导._第1页
第1页 / 共19页
《单片机原理及应用》实验指导._第2页
第2页 / 共19页
《单片机原理及应用》实验指导._第3页
第3页 / 共19页
资源描述:

《《单片机原理及应用》实验指导.》由会员分享,可在线阅读,更多相关《《单片机原理及应用》实验指导.(19页珍藏版)》请在装配图网上搜索。

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

2、MOV R2, #06HMOV R3 , #00HMOV R4 , #00HMOV R0 , #50HL1 : MOV A, R4ADD A , R0MOV R4 , AINC R0CLR AADDC A , R3MOV R3, ADJNZ R2 , L1L2 : SJMP L2运行MCS-51仿真软件,在编辑窗口编辑好文件SUM oASM后, 按F10键进入主菜单选择 Assemble项进行汇编,若无误后按 F8键 执行。C 、 注意:在程序执行前,按F10键进入主菜单选择 WINDOWS窗口,按 Tab 键将光标移到 DATA 项,修改 50H55H 单元的内容。重新编译后, 按 F8 单

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

4、参考程序MAX.ASM :ORG 0000HAJMP STARTORG 0300HBLOCK DATA 20HLEN DATA 40HMAX DATA 42HSTART : MOV MAX , #00HMOV R0 , #BLOCKLOOP : MOV A , R0CJNE A , MAX , NEXT1#NEXT1 : JC NEXTMOVMAX , ANEXT : INCR0DJNZLEN , LOOPSJMPEND4 、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件 MAX.ASM 。8、 在程序执行前,选择 WINDOWS 窗口, 将光标移到 DATA项, 将 10个数据装

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

6、P STARTORG 0300HBLOCK XDATA 1000HLEN DATA 20HPCOUNT DATA 21HMCOUNT DATA 22HZCOUNT DATA 23HSTART : MOV R0 , #00HMOV R1, #00H7MOVMOVLOOP : MOVXINCJBCJNEINCSJMPNEXT1 : INCSJMPFU: INCNEXT : DJNZMOVMOVMOVSJMPENDR2, #00HDPTR , #BLOCKA , DPTRDPTRACC.7 , FUA , #00H , NEXT1R0NEXTR2NEXTR1LEN , LOOPZCOUNT, R0M

7、COUNT, R1PCOUNT, R2$4、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件 PMZ.ASM。B、 在程序执行前,选择 WINDOWS 窗口,将光标移到 XDATA 项,将10个数据装入外部RAM 1000H1009H 单元, 并将 20H 的内容修改为 10。C、选才? Assemble项进行汇编,若无误后按 F8执行。观察21H、22H 和 23H 单元的内容,并记录结果。实验四MCS-51 汇编程序编程练习三0000HSTART1000HDPTR , #40HR0, #41HA , DPTRAA , #0FHCHANGER0 , AR0A1 实验目的熟悉MCS-

8、51 的指令系统,了解编程方法。2 实验设备计算机一台, MCS-51 仿真调试软件SUPER ICES-G16 一套。3 实验内容将外部 RAM 的 40H 单元中的一个字节拆成2 个 ASCII码,分别存入内部 RAM41H 和 42H 单元中。参考程序 ASCII.ASM :ORGLJMPORGSTART : MOVMOVMOVXPUSHANLLCALLMOVINCPOP#SWAPANLLCALLMOVSJMPCHANGE : CJNENEXT : JNCADDRETNEXT1 : ADDRETENDAA , #0FHCHANGER0 , A$A , #0AH , NEXTNEXT1A

9、, #30HA , #37H4、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件 ASCII.ASM。8、 在程序执行前, 选择 WINDOWS 窗口, 将光标移到 DATA 项, 将 12H 数据装入外部 RAM 40H 单元。C、选才? Assemble项进行汇编,若无误后按 F8执行。观察41H、42H 单元的内容,并记录结果。D、选择 WINDOWS 窗口,将光标移到 DATA项,把外部 RAM 40H单 元的内容修改为 ABH。再选择Assemble项进行汇编,若无误后按 F8 执行。观察41H、 42H 单元的内容,并记录结果。19实验五ADC0809模数转换实验一、实验

10、目的1、掌握ADC0809英/数转换芯片与单片机的连接方法及ADC0809的典型应用2、掌握用少量的指令调试硬件的方法3、掌握用查询方式、中断方式完成模/数转换程序的编写方法二、实验说明本实验使用 ADC0809莫数转换器,ADC0809是8通道8位CMO隧次逼近式 A/D转换芯 片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。下图为该芯片的引脚图。各引脚功能如下:IN0IN7 :八路模拟信号输入端。ADD-A ADD-B ADD-C:三位地址码输入端。 八路模拟信号转换选择由这三个端口控制。fLiINklIN-5NJ

11、EN-0:!TiCADJA,Y.lINGADH-nr 1STARTAD“口EOCALE,J邛1DSOEDE时, |CLOCKD5I 41VCCCM r团11击GNDTen-)I4DID2CLOCK外部时钟输入端。D0D7:数字量输出端。OE A/D转换结果输出允许控制端。当 OE为高电平允许A/D转换结果从D0D7端输出。ALE:地址锁存允许信号输入端。八路模拟通道地址一,心.由A、B、C输入,在ALE信号有效时将该八路地址锁存。START启动A/D转换信号输入端。当 STAR础输入一个正脉冲时,将进行 A/D转换。EOC A/D转换结束信号输出端。当 A/D转换结束后,EOC俞出高电平。re

12、f(+) 、ref(-):正负基准电压输入端。基准正电压的典型值为+5V。VCc和GND芯片的电源端和地端。三、实验步骤1、使用ADC0809与单片机接口模块,用十线扁平插头将 P1 口与8位发光二极管模块 相连,用导线将 RXD TXD与串行静态显示模块的 DIN、CLK相连,将+5V电源和地分别接口 到模拟信号输入的“ +” “-”两端,将实验台左右两块面板上,正负 5V电源之间的地相连。2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头。3、启动计算机,打开伟福仿真软件,进入仿真环境。选择仿真器型号、仿真头型号、CPU型

13、;选择通信端口,测试串行口。4、输入源程序,编译无误后,全速运行程序,5LED静态显示“ AD XX,XX为AD转换后的值,8位发光二极管显示“ XX”的二进制值,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0FFU5、可把源程序编译成 OBJ文件,烧录到89C51芯片中。四、流程图及源程序1.源程序DBUF0EQU30HTEMPEQU40HDINBIT0B0HCLKBIT0B1HORG0000HSTART: MOVR0,#DBUF0;显示缓冲器存放0AH,0DH,-,0XH,0XHMOVR0,#0AH;串行静态显示“ AD XX” XX表示0FINCR

14、0MOVR0,#0DHINCR0MOVR0,#11HINCR0MOVDPTR,#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讣INCR0MOVA,B;取出 A/D 转换后的结果ANLA,#0FH; A 的内容高四位清零XCHA,R0;结果低位送入DBF4中ACALLDISP1

15、;串行静态显示“ AD XX”ACALLDELAY;延时AJMPSTARTDISP1:;静态显示子程序MOVR0,#DBUF0MOVR1,#TEMPMOVR2,#5DP10: MOVDPTR,#SEGTAB;表头地址MOVA,R0MOVCA,A+DPTR;取段码MOVR1,A;至U TEMPINCR0INCR1DJNZR2,DP10MOVR0,#TEMP;段码地址指针MOVR1,#5;段码字节数DP12: MOVR2,#8;移位次数MOVA,R0;取段码DP13: RLCA;段码左移MOVDIN,C;输出一位段码CLRCLK;发送一个位移脉冲SETB CLKDJNZ R2,DP13INC R0

16、DJNZ R1,DP12RETSEGTAB:DB 3FH,6,5BH,4FH,66H,6DH0,1,2,3,4, 5DB 7DH,7,7FH,6FH,77H,7CH6, 7,8,9,DB 58H,5EH,79H,71H,0,40HE,F,(空格),DELAY: MOV R4,#08H延时AA1: MOV R5,#0FFHAA: NOPNOPDJNZ R5,AADJNZR4,AA1RETEND2.流程图五、思考题1、A/D转换程序有三种编制方式:中断方式、查询方式、延时方式,实验中使用了查询方式,请用另两种方式编制程序。2、P0 口是数据/地址复用的端口,请说明实验中 ADC080勺模拟通道选择

17、开关在利用P0 口的数据口或地址地位口时,六、电路图程序指令和硬件连线的关系。3119P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRP0 0P01P0 2P0 3P04P0 5P0 6P0 7P2 0P21P2 2P2 3P24P2 5P2 6P2 73321-22-23-25-26GND工3GD0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q774LS3731714158181920D0D1D2D3D4D5D6IN-0IN-1IN-2IN-3262728 1RXDTXD ALE/PPSEND7IN-4 EOCIN-5

18、ADD-AADD-BIN-6ADD-CIN-7 ALEO Eref(-)STARTCLOCKref(+)ADC0809图10实验电路原理图实验六DAC0832数模转换实验一、实验目的1、掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法2、掌握用仿真器调试硬件电路的方法3、掌握D/A转换程序的编程方法和调试方法二、实验说明DAC0832是8位D/A转换器,它采用 CMOS:艺制作,具有双缓冲器输入结构,其引 脚排列如图所示,DAC0832各引脚功能说明::OSVkWRILEGNDWR2DI3XferD12P14DliD15DioD16VrfDPRfbIawt2C3NEJIdltL

19、20A L眸34:17耳下1668912L0IDJACWJ2DI0DI7:转换数据输入端。CS:片选信号输入端,低电平有效。ILE:数据锁存允许信号输入端,高电平有效。WR1第一写信号输入端,低电平有效,Xfer :数据传送控制信号输入端,低电平有效。WR2第二写信号输入端,低电平有效。loutl :电流输出1端,当数据全为1时,输出电流最大;当数据全为0时,输出电流最小。Iout2 :电流输出 2端。DAC0832具有:Iout1 + Iout2= 常数的特性。Rfb:反馈电阻端。Vref :基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电 压范围为:-10V+10V。VC

20、C GND芯片的电源端和地端。DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS WR舲制,DAC寄存器由 WR2 Xref控制,用软件指令控制这五个控制端可实现三种工 作方式:直通方式、单缓冲方式、双缓冲方式。直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输入就立即进入D/A转换。单缓冲方式使 DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可以将 WR2F口 Xfer相连在接到地上,并把 WR1接到89C51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。双缓冲方式把DAC0832的

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

22、行程序, 观察示波器测量输出波形的周期和幅度。5、可把源程序编译成OBJ文件,烧录到89C51芯片中。四、流程图及源程序1. 源程序ORG 0000HAJMP STARTORG 0100HSTART: MOVDPTR,#0FEFFH;置DAC0832勺地址LP: MOVA,#0FFH;设定高电平MOVX DPTR,A;启动D/A 转换,输出高电平LCALLDELAY;延时显示高电平MOVA,#00H;设定低电平MOVXDPTR,A;启动D/A 转换,输出低电平LCALLDELAY;延时显示低电平SJMPLP;连续输出方波DELAY: MOVR3,#11;延时子程序D1: NOPNOPNOPDJ

23、NZ R3,D1RETEND2.流程图图11程序流程图五、思考题1、计算输出方波的周期,并说明如何改变输出方波的周期。2、硬件电路不改动的情况下,请编程实现输出波形为锯齿波及三角波。3、请画出DAC0832ft双缓冲工作方式时的接口电路,并用两片DAC0832s现图形x轴和y轴偏转放大同步输出。六、电路图+5Vj10:-12V420pFTEOER6MHz:1 3TTP10P11P12P13P14P15P16P17INT 1INT 0T1T0EA/VPX1X2RESERDWR1KAT 8 9C5 1P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27393837363432212222426286541513lsb DI0DDDDDD123456m sbDI7CSXfe rDAC 0832RXDTXDAL E/PPSE N10图12Iout1Iout2RfbVre fIL E WR2 WR1实验电路原理图1+7HA741+ 12V

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!