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

下载本文档

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

文档简介

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

2、#06H MOV R3,#00H MOV R4,#00H MOV R0,#50HL1: MOV A,R4 ADD A,R0 MOV R4 , A INC R0CLR AADDC A,R3MOV R3,ADJNZ R2,L1L2: SJMP L2运行MCS-51仿真软件,在编辑窗口编辑好文件SUM。ASM后,按F10键进入主菜单选择Assemble项进行汇编,若无误后按F8键执行。C、 注意:在程序执行前,按F10键进入主菜单选择WINDOWS窗口,按Tab键将光标移到DATA项,修改50H55H单元的内容。重新编译后,按F8单步运行,观察内部RAM区03H、04H单元的内容,做好记录。练习:(

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

4、 DATA 40HMAX DATA 42HSTART: MOV MAX,#00H MOV R0,#BLOCKLOOP:MOV A,R0 CJNE A,MAX,NEXT1NEXT1:JC NEXTMOV MAX,ANEXT: INC R0 DJNZ LEN,LOOP SJMP $ END4、 实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件MAX.ASM 。B、 在程序执行前,选择WINDOWS窗口,将光标移到DATA项,将10个数据装入内部RAM 20H29H单元,并将40H的内容修改为10。C、 选择Assemble项进行汇编,若无误后按F8执行。观察40H、42H单元的内容,并记

5、录结果。实验三 MCS-51汇编程序编程练习二1、实验目的熟悉MCS-51的指令系统,了解编程方法。2、实验设备计算机一台,MCS-51仿真调试软件SUPER ICES-G16一套。 3、实验内容在外部RAM的BLOCK单元开始有一数据块,数据块长度存入内部RAM的LEN单元。试编程统计其中的正数、负数和零的个数分别存入内部RAM的PCOUNT、MCOUNT和ZCOUNT单元。参考程序PMZ.ASM: ORG 0000H AJMP START ORG 0300HBLOCK XDATA 1000HLEN DATA 20HPCOUNT DATA 21HMCOUNT DATA 22HZCOUNT D

6、ATA 23HSTART : MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV DPTR,#BLOCKLOOP:MOVX A,DPTR INC DPTR JB ACC.7,FU CJNE A,#00H,NEXT1 INC R0 SJMP NEXTNEXT1:INC R2SJMP NEXT FU: INC R1NEXT: DJNZ LEN,LOOP MOV ZCOUNT, R0MOV MCOUNT, R1MOV PCOUNT, R2 SJMP $ END4、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件PMZ.ASM 。B、 在程序执行前,选择WINDO

7、WS窗口,将光标移到XDATA项,将10个数据装入外部RAM 1000H1009H单元,并将20H的内容修改为10。C、 选择Assemble项进行汇编,若无误后按F8执行。观察21H、22H和23H单元的内容,并记录结果。实验四 MCS-51汇编程序编程练习三1、实验目的熟悉MCS-51的指令系统,了解编程方法。2、实验设备计算机一台,MCS-51仿真调试软件SUPER ICES-G16一套。 3、实验内容将外部RAM的40H单元中的一个字节拆成2个ASCII码,分别存入内部RAM41H和42H单元中。参考程序ASCII.ASM: ORG 0000H LJMP START ORG 1000H

8、START : MOV DPTR,#40H MOV R0,#41H MOVX A,DPTR PUSH A ANL A,#0FH LCALL CHANGE MOV R0,A INC R0 POP A SWAP AANL A,#0FHLCALL CHANGE MOV R0,A SJMP $CHANGE:CJNE A,#0AH,NEXTNEXT: JNC NEXT1 ADD A,#30H RETNEXT1:ADD A,#37H RET END4、实验步骤A、运行MCS-51仿真软件,在编辑窗口编辑好文件ASCII.ASM 。B、在程序执行前,选择WINDOWS窗口,将光标移到DATA项,将12H数据

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

10、通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。下图为该芯片的引脚图。各引脚功能如下:IN0IN7:八路模拟信号输入端。ADD-A、ADD-B、ADD-C:三位地址码输入端。八路模拟信号转换选择由这三个端口控制。CLOCK:外部时钟输入端。D0D7:数字量输出端。OE:A/D转换结果输出允许控制端。当OE为高电平时,允许A/D转换结果从D0D7端输出。ALE:地址锁存允许信号输入端。八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。START:启动A/D转换信号

11、输入端。当START端输入一个正脉冲时,将进行A/D转换。EOC:A/D转换结束信号输出端。当 A/D转换结束后,EOC输出高电平。ref(+)、ref(-):正负基准电压输入端。基准正电压的典型值为+5V。VCC和GND:芯片的电源端和地端。三、实验步骤1、使用ADC0809与单片机接口模块,用十线扁平插头将P1口与8位发光二极管模块相连,用导线将RXD、TXD与串行静态显示模块的DIN、CLK相连,将+5V电源和地分别接口到模拟信号输入的“+”“-”两端,将实验台左右两块面板上,正负5V电源之间的地相连。2、安装好仿真器,用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,

12、打开模块电源,插上仿真器电源插头。3、启动计算机,打开伟福仿真软件,进入仿真环境。选择仿真器型号、仿真头型号、CPU类型;选择通信端口,测试串行口。4、输入源程序,编译无误后,全速运行程序,5LED静态显示“AD XX”,“XX”为AD转换后的值,8位发光二极管显示“XX”的二进制值,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0FFH。5、可把源程序编译成OBJ文件,烧录到89C51芯片中。四、流程图及源程序1.源程序 DBUF0 EQU 30H TEMP EQU 40H DIN BIT 0B0H CLK BIT 0B1H ORG 0000HSTART

13、: MOV R0,#DBUF0 ;显示缓冲器存放0AH,0DH,-,0XH,0XH MOV R0,#0AH ;串行静态显示“AD XX”XX表示0F INC R0 MOV R0,#0DH INC R0 MOV R0,#11H INC R0 MOV DPTR,#0FEF3H ;A/D地址 MOV A,#0 ;清零 MOVX DPTR,A ;启动A/DWAIT: JNB P3.3,WAIT ;等待转换结束 MOVX A,DPTR ;读入结果 MOV P1,A ;转换结果送入发光二极管显示 MOV B,A ;累加器内容存入B中 SWAP A ;A的内容高四位与低四位交换 ANL A,#0FH ;A的

14、内容高四位清零 XCH A,R0 ;A/D转换结果高位送入DBUF3中 INC R0 MOV A,B ;取出A/D转换后的结果 ANL A,#0FH ;A的内容高四位清零XCH A,R0 ;结果低位送入DBF4中 ACALL DISP1 ;串行静态显示“AD XX” ACALL DELAY ;延时 AJMP STARTDISP1: ;静态显示子程序 MOV R0,#DBUF0 MOV R1,#TEMP MOV R2,#5DP10: MOV DPTR,#SEGTAB ;表头地址 MOV A,R0 MOVC A,A+DPTR ;取段码 MOV R1,A ;到TEMP中 INC R0 INC R1

15、DJNZ R2,DP10 MOV R0,#TEMP ;段码地址指针 MOV R1,#5 ;段码字节数DP12: MOV R2,#8 ;移位次数 MOV A,R0 ;取段码DP13:RLC A ;段码左移 MOV DIN,C ;输出一位段码 CLR CLK ;发送一个位移脉冲 SETB CLK DJNZ R2,DP13 INC R0 DJNZ R1,DP12 RETSEGTAB:DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,79H,71H,0,40H ;C,D,E,F,

16、(空格),-DELAY: MOV R4,#08H ;延时AA1: MOV R5,#0FFHAA: NOP NOPDJNZ R5,AA DJNZ R4,AA1 RET END2.流程图开始初始化启动A/D转换A/D转换完 成?数据输出延时结束图9 程序流程图五、思考题1、A/D转换程序有三种编制方式:中断方式、查询方式、延时方式,实验中使用了查询方式,请用另两种方式编制程序。2、P0口是数据/地址复用的端口,请说明实验中ADC0809的模拟通道选择开关在利用P0口的数据口或地址地位口时,程序指令和硬件连线的关系。 六、电路图图10 实验电路原理图实验六 DAC0832数模转换实验一、实验目的1、

17、 掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法2、 掌握用仿真器调试硬件电路的方法3、 掌握D/A转换程序的编程方法和调试方法二、实验说明DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如图所示,DAC0832各引脚功能说明:DI0DI7:转换数据输入端。CS:片选信号输入端,低电平有效。ILE:数据锁存允许信号输入端,高电平有效。WR1:第一写信号输入端,低电平有效,Xfer:数据传送控制信号输入端,低电平有效。WR2:第二写信号输入端,低电平有效。Iout1:电流输出1端,当数据全为1时,输出电流最大;当数据全为0时,输出电流最

18、小。Iout2:电流输出2端。DAC0832具有:Iout1+Iout2=常数的特性。Rfb:反馈电阻端。Vref:基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:-10V+10V。VCC和GND:芯片的电源端和地端。DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:直通方式、单缓冲方式、双缓冲方式。直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输入就立即进入D/A转换。单缓冲方式使DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可以将WR2和Xfer相连在接到地上,并把WR1接到89C51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路模拟量要求同时输出的情况下。三种工作方式区别是:直通方式不需要选通,直接D/A转换;单缓冲方式一次选通;双缓冲方式二次选通。三、实验步骤1、使用DAC0832与单片机接口电路模块,将-5V电源接到参考电压输入端,模拟信号输出V0的正负两端接示波器探头。2、安装好仿真器,用串行数据通信线连接计算机

温馨提示

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

评论

0/150

提交评论