单片机原理与应用实验讲义_第1页
单片机原理与应用实验讲义_第2页
单片机原理与应用实验讲义_第3页
单片机原理与应用实验讲义_第4页
单片机原理与应用实验讲义_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理与应用实验讲义第一部分 DVCC52JH+单片机仿真系统仿真器是一种计算机(单片机)应用系统的开发工具,也称为开发机,用户设计的系统(硬件和软件),在仿真器的控制下进行逐步调试以期达到设计要求。仿真系统提供编辑、汇编、反汇编、监控命令和高级语言编辑等工具帮助用户设计、调试和修改用户系统的硬件和软件。因此,熟悉仿真系统的使用与掌握微机或单片机原理具有同等重要性。DVCC52JH+单片机仿真系统主要用于MCS51系列单片机的仿真开发。由于随机器附带的操作手册内容繁琐,特别是接口地址分配的不透明,给用户使用带来不便,为了使初学者能在较短时间内高效率地掌握开发系统主要功能及基本使用方法,第一部分有针对性地介绍DVC52JH+的操作使用,这是完成第二部分实验必须先修的内容。第一节 键盘监控命令简介一、键盘布局!()? Ilin%/ =PRTPS &QuitBackDlinT * ;COMP V ,-KWG+*EPMOVLHMOVE ,Z¥QU: 、DAR UIMON 每个键中央标注的文字是单片机仿真系统的控制命令表示,大部分键有两个功能或作用,如键表示寄存器R7或数字7。整个键盘分为两大部分,左边的16个键是数字0F键或寄存器代码键;右边的16个键是功能键,功能键通常与数字键互相配合进行程序调试。二、数据的显示单片机仿真系统采用LED(发光二极管)七段显示器作数据显示,共有6个LED,如图1所示,其中“”用来显示小数点。左边的4个LED一般用于显示程序存储器和数字存储器的地址,右边的2个LED用来显示对应地址单位的内容。图1:LED显示器1、程序存储器和片外数据存储器用4位十六进数表示地址,占满了左边4个LED。例如,输入102F,左边4个LED显示该数102F,若再按MEM键(表示程序存储器),右边2个LED则显示程序存储器102FH单元的内容;若输入102F后再按ODRW(表示片外数据存储器),左边2个LED显示片外数存102FH单元的内容。2、片内数据存储器有两种显示方式。(1)R0R7、DPL、DPH、A、B、PSW、PCH、PCL和SP这16个寄存器键盘上已有,只需按该键一次,左边4个LED显示一位对应的代码,右边2个LED就能显示相应单元的内容。例如:按R7键,左边4个LED的最高位显示7(表示R7),再按REG(表示片内数存),右边2个LED显示R7单元的内容。(2)片内其余的数据存储器用2个LED显示地址。例如,输入24,再按REG键,左边4个LED只有2个LED亮,右边2个LED表示片内24H单元内容。(3)、右边2个LED在显示时,总有一个LED是闪动的,它表示该数值是可以修改的。三、单片机仿真系统的单板状态,仿真1态和仿真2态单板状态、仿真1态和仿真2态仿真系统虽然提供了64KB片外程序存储器和64KB片外数据存储器,但并不是全部分配给用户(使用者)的。也就是说,用户能否使用这些存储器,取决于单片机的状态(对片内数据存储器,三种状态时用户都可用)。如图2所示,框图给出了仿真系统在平板状态、仿真1态和仿真2态时用户可用已有存储器的分配情况。仿真系统通过指令发出控制命令,使FPGA器件输出a0、a1和a2控制信号。a0有效则选择单板状态,用户可用系统已配置的片外数存和程存地址空间分别为0000HFEFFH。a1有效选择仿真1态,用户可用系统已配置的片外程存地址空间为0000HFEFFH,但用户不能用系统已配置的片外数存,此时必须外接片外数存。a2有效选择仿真2态,系统已配置的片外数存和程存用户均不能用,必须全部外接。8051(8031)CPUFPGA器件控制线仿真1态单板状态a0a1仿真2态无片外程存和数存a2图2:三种状态的选择控制线1、单板状态上电或按RST键,仿真系统输出a0有效,单片机处于单板状态,LED显示P。单板状态时,系统已配置了片外程存和数存,用户(使用者)可使用这些资源,它们的地址分配如下:片外程序存储器:0000HFEFFH范围用户可用。片外数据存储器:0000HFEFFH范围用户可用。2、仿真1态LED显示P后再按F2键仿真系统输出a1有效,单片机处于仿真1态,LED显示P。仿真1态时,用户只能使用系统已配置的片外程序存储器,地址范围0000HFEFFH;已配置的片外数据存储品用户不能用,因此,在仿真1态,用户要用片外数据存储器必须另外外接,外接的数据存储器和其它接口可用38译码器y0y7的8个译码输出作片送信号,它们对应的地址为:Y0=8000H8FFFH,Y1=9000H9FFFH,Y2=A000HAFFFHY3=B000HBFFFH,Y4=C000HCFFFH,Y5=D000HDFFFHY6=E000HEFFFH,Y7=F000HFFFFH。3、仿真2态LED显示P后再按F1键,仿真系统输出a2有效,单片机处于仿真2态,LED显示H,仿真2态时,系统配置的片外数据存储器和程序存储器,用户均不能用。因此,仿真2态需用的程存和数据,全部由用户外接(0000HFEFFH)。仿真2态主要用于用户设计的硬件仿真,第二部分的实验不用仿真2态。4、单板状态和仿真1态的主要作用单板状态系统已配置的片外程存和数存(包括8155、8255)已占用了全部64KB地址空间,已无地址分配给外部接口芯片。因此,需要分配地址的外部接口电路不能在单板状态下应用。仿真1态用户只能用系统已配置的0000HFEFFH片外程序存储器,不能用已配置的片外数据存储器。如果用户需要用片外数据存储器就必须外接。仿真1态时,系统已提供了部分接口芯片或插座,并通过38译码器给出了Y0Y7共8个片送选信号,用户使用这些接口芯片时,用线连接相应的引脚即可。例如,用户要扩展片外数据存储器,先在V28插座上6264芯片(见图3),细线表示系统已连接了,粗线表示需要用户连接的线,A0A12和D0D7用2块排线连接,XRD、XWR、+5V和Y0用单根线连接。由于Y0=8000H8FFFH,只能提供4KB地址空间,所以只能得到8000H8FFFH的4KB片外数存(尽管6264有8KB,但也只能用4KB)。图35、8155键盘显示接口的使用仿真系统的三种状态所用程序存储器地址范围都只能是0000HFEFFH,FF00HFFFFH单元是系统自用的。所用片外数据存储器地址也只能是0000HFEFFH单元,FF00HFFFFH单元供8155键盘显示和8255接口用,它们的接口地址分配如下:8155键盘显示接口地址8155控制口=FF20H,8155A口字位=FF21H,8155B口(字形)=FF22H,8155C口(键盘扫描)=FF23H。8255并行接口地址8255控制口=FF2BH,8255A口=FF28H,8255B口=FF29H,8255C口=FF2AH。8155是键盘扫描和显示(LED)的接口芯片,它与键盘及LED显示器的连接如图4所示。使用8155时(本系统只用8155作键盘扫描和LED显示),第一条指令为SETB 0D4H,即设置RS1RS0=10,选用第2组工作寄存器R0R7。图48155使用方法:(1)SETB 0D4H后,向控制口(即命令状态寄存器)FF20H写入控制字MOV A,#00000011B;A、B口为输出,C口为输入方式。(2)由图4可知,A口既作为LED字位的输出控制,又作为键盘扫描的输出控制。 A口作字位输出控制时,PA5=1控制最左边位LED,PA0=1控制最右边位LED。A口作键扫输出时,PA7PA0每次有一位输出0,其余7位输1,PC0PC5作输出,当有键按下时(如B键按下),则PA0=0时,PC0=0,从而确定为B键按下。(3)B口作LED字形输出控制,B口的PB7PB0与LED引脚的对应关系如表1所示,图5是LED管脚示意图,由图5和表1可知,B口(PB7PB0)输出数据与LED显示字符的对应关系如表2所示。表1PB口PB7PB6PB5PB4PB3PB2PB1PB0PB12LED引脚510912467LED 表2B口输出0C0H0F9H0A4H0B0H99H92H82H0F8H80H90HLED显示0123456789B口输出88H83H0C6H0A1H86H8EH0FFH0CH89H0DEH7FHLED显示AbcdEF全熄PH 图5. LED管脚(5)C口作键扫输入,只用PC0PC5。四、各键功能与用法下面以单板状态为例说明各键功能与用法。如果是仿真1态,按RST键后再按F2,LED显示P后各键操作即与单板状态相同。1、复位键RST:黄色小键(不在键盘区)。任何情况下按RST键,单片机均处于单板状态,单板状态的标志是LED显示P0字符。2、返回待命状态键MON:大部分情况下,按MON键将返回待命状态(等待按键执行命令的状态),LED显示P。如果按MON键LED不显示P,则需按RST键。3、程序存储器读写命令MEM键:MEM键作用是显示和修改指定程序存储器单元的内容。用法举例:将下面程序的操作码装入起始地址为1000H单地的程序存储器。程存地址 操作码 程序 ORG 1000H1000H: 7401 MOV A,#01H1002H: 2403 MOV A,#03H操作方法:先按RST键(显示P;如果已显示P,则不必按RST键)连续按4位数字键1000(左边4个LED显示1000)按MEM键(后边2个LED有一位会闪动,按任意数字键会将该数字填入闪动的这一位)按数字74按NEXT键(左边4个LED显示下一个单元地址1001)按数字键01按NEXT键按数字键24按NEXT按数字键03。注:每按一次NEXT键,存储器地址自动加1;每按一次LAST键,存储器地址减1。输入完后按RST键结束本次操作。4、片内数据存储器读写REG键:显示和修改片内数存指定单元的内容。操作方法:按RST键(显示P0后)连续按2位数字键(片内数存只有2位十六进制编址)(与MEM类同)。片内特殊功能寄存器对应地址如下表:SFR地址SFR地址SFR地址SFR地址SFR地址SFR地址P080DPH83TMOD89TH08CSCON98IEA8SP81PCON87TL08ATH18DSBUF99P3B0DDL82TCON88TL18BP190P2A0IPB8PSWD0AE0BF0如果特殊功能寄存器在键盘上已存在,则只需按该键即可代表它的地址。如R7,按R7再按REG就能显示R7的内容。5、片外数据存储器读写命令ODRW键:显示和修改指令片外数存单元的内容。使用方法与MEM键相同。6、断点运行键FVBP键断点运行:程序运行到设置断点的这条指令时自动停止。设置断点操作:按RST键输入某条指令所在地址按F1键。设置断点后,再输入程序首地址按FVBP则执行断点运行。断点运行给调试某一段程序提供了方便。7、连续运行EXEC键操作方法:按RST输入程序首地址按EXEC键,程序连续运行直至结束。8、单步运行STEP键单步运行:按RST键,输入程序首地址,每按一次STEP键,程序就执行一条指令(语句)。如果是调用子程序语句,则按一次STEP键将子程序全部执行完。如果按STEP键达1秒钟以上,则以每分钟500条指令的速度执行程序,左边4个LED显示执行地址,右边2个LED显示A的内容,松开STEP则停止执行程序。9、偏移量计算键OFST键用法举例:计算下面程序偏移量rel。程存地址 操作码 程序1051H: 7401 ST:A,#01H1053H: 80rel SJMP ST偏移量rel存在程序存储器1054H单元中,求rel操作方法:RST1054MEM输入ST低8位即51按OFST(右边2个LED显示的数就是rel值)。10、删除键DEL和插入键INS。DEL操作方法:按RST输入要删除指令所在地址按MEM键按DEL,该字节被删除,若连续删除下一个字节,再按DEL键即可。INS键操作方法:按RST输入要插入指令所在地址按MEN键按INS,该字节被插入。若连续插入下一个字节,再按INS键即可。11、联机键PCDBG键:将单片机与PC机联机调试程序时,先将联机线接好,再按PCDBG键,单片机准备与PC机建立联机关系。12、程序块移动比较等操作方法如下表。操作功能状态操 作 顺 序123456程序/数据移动(机内)P源首址F1源末址F2目首址MOVE程序/数据移动(内部外部)P源首址仿真RAM区F1源末址仿真RAM区F2目首址用户目标板MOVE程序/数据移动(外部内部)H源首址用户目标版F1源末址用户目标版F2目首址仿真RAM区MOVE程序块比较P源首址F1源末址F2目首址COMP机内程序或用户数据区与固化区比较P源首址F1源末址F2目首址(EPROM)EPCOMEPROM高速固化P源首址F1源末址F2目首址(机器内存)EPMOV固化区内容传向机内存P源首址F1源末址F2目首址(机器内存)EPMOV固化区内容向用户数据区P源首址F1源末址F2目首址(用户机)EPMOV反汇编(机内)P源首址F1源末址F2浮动地址DAR反汇编(用户机)H源首址F1源末址F2浮动地址DAR全 速 断 点P源首址F1执行首址FVBPP源首址F1执行首址FVBP第二节 联机软件使用简介 单片机仿真系统提供的联软件是在WINDOWS9X/NT界面上运行的综合调试软件,主要功能是将汇编程序翻译成操作码并装入单片机的程序存储器,运行程序可以单机运行,也可以联机运行。单机运行:PC机将翻译完的操作码装入单片机指定程序存储器单元后,按RST键断开联机,再按照第一节方法运行程序。联机运行:PC机装入操作码到单片机后,由PC机监控程序的运行。一、 联机软件菜单及功能文件菜单载入或创建源程序文件,打开历史文档以及退出DVCC实验系统等编辑菜单对源程序窗口的有关内容进行编辑。并对编译、链接成功的51/96源程序进行源程序窗口调试。查找菜单对编辑窗口的源程序进行查找、替换、定位等操作。编译菜单对编辑的源程序进行编译、连接、传送等。选项菜单控制工具栏的显示状态(打开或关闭),设置编译、连接、系统等选项。动态调试菜单对源程序进行单步、宏单步、连续执行、端口操作、系统联机、文件(EXE)传送等操作。实验指南菜单提供所选实验项目的目的、内容、原理图、源程序、相关芯片查询等。窗口菜单列出当前屏幕出现的所有窗口名及指出当前活动窗口名。并可调整活窗口帮助菜单获得在线帮助。注释:宏单步(TaceOut)单步执行一条语句,遇子程序调用到跳过子程序。单步(TaceIn)单步执行一条语句,遇子程调用则步入子程序。二、主要菜单功能简介 1、单片机与PC机联机DVCC系统的菜单功能一部分需将单片机与PC机联机后才能实现。联机操作:先按单片机上“PCDBG键”,PC机上则点击“动态调试”菜单,再点击“联接DVCC系统”。2、文件菜单实现汇编程序的编辑和修改,存盘后文件扩展名asm。3、编译菜单将汇编程序翻译为操作码,编译菜单有3种选择:编译:只生成扩展名为OBJ的中间文件,不能装载到单片机程序存储器。程序编译后同时生成LST列表文件(操作码与程序指令同时列出)。编译连接:编译并连接当前文件,生成ABS文件和HEX文件,可装入单片机。编译连接传送:生成ABS文件或HEX文件并装载到单片机程序存储器。4、动态调试菜单运行“编译连接传送”后的程序。5、窗口菜单窗口菜单的反汇编命令能将操作码翻译为汇编程序。第二部分 单片机实验实验一 单机程序调试一、实验目的熟悉和掌握DVCC52JH/JH+单片机仿真系统的使用及程序调试方法。二、实验仪器DVCC52JH/JH+实验箱三、实验原理单机情况下,单片机仿真系统的监控管理程序监控各键的动作,因此,通过各功能键能实现程序操作码装入程序存储器(MEM键),显示和修改片内数据存储器(REG键),显示和修改片外数据存储器(ORW键),单步和连续运行及调试程序等。四、实验内容以下实验仿真系统处于单板状态。(一)、将下面程序装入程序存储器。程存地址操作码 序号 程序1000H 1 ORG 1000H2 SETB RS13 SETB RS0 4 MOV A,#05H 5 ADD A,#04H6 MOV 50H,A7 MOV R0,A 8 ADD A,#01H9 MOV R7,A10 RL A 11 MOV DPTR,#1000H12 MOVX DPTR,A13 CLR RS114 CLR RS0 15 RET1、查表给出每条指令的操作码和对应的存储器单元地址;2、装入操作码,给出主要操作步骤:3、单步运行程序,写出操作步骤:4、连续运行程序,写出操作步骤:5、检查运行结果A=,操作步骤:(1000H)=,操作步骤:R7=,操作步骤:(50H)=,操作步骤:R0=,操作步骤:C=,操作步骤:6、在第6条语句处设置断点,然后运行程序操作步骤:7、删除第8条语句,操作步骤:8、插入第8条语句,操作步骤:(二)、将下面程序操作码装入程序存储器程存地址操作码序号 程序 1 ORG 1050H 1050H 2 MOV R4,#04H 3 MOV A,#03H 4LOOP:RL A 5 DEC R4 6 CJNE R4,#OOH,LOOP 7 RET装入操作码,写出求偏移量rel步骤,rel=。五、思考题什么是单步运行?有什么作用?实验二 联机程序调试一、实验目的掌握联机软件使用,进一步熟悉仿真系统程序调试方法。二、实验仪器DVCC52JH+仿真实验箱,PC机和DVCC软件。三、实验原理利用DVCC软件功能实现汇编程序的编辑,编译连接传送和运行调试。四、实验内容下面程序中,源RAM区首址在(R2、R3)中,目的RAM首址在(R4、R5)中,字节个数存在(R6、R7)中,将源RAM区数据送到目的RAM区。1 ORG 0090H2 MOV R2,#10H3 MOV R3,#00H4 MOV R4,#40H5 MOV R5,#00H6 MOV R6,#10H7 MOV R7,#00H8DMVE:MOV SP,#70H; 设栈指针9 MOV DPL,R311 MOV DPH,R212 MOVX A,DPTR; 取源操作数13 MOV DPL,R514 MOV DPH,R415 MOVX DPTR,A; 存入目的地址中16 CJNE R3,#0FFH,DMVE117 INC R218 DMVE1:INC R3; 源地址加119 CJNE R5,#OFFH,DMVE220 INC R421DMVE2:INC R5; 目的地址加122 CJNE R7,#00H,DMVE523 CJNE R6,#00H,DMVE6; 未传送完成字节数减124 MOV R0,7EH25 MOV A,#0FFH; 关显示器的1-5位26 MOV R4,#06H27DMVE3:MOV R0,A28 DEC R029 DJNZ R4,DMVE330 MOV 7EH,#8CH; 最后一位显示P31DMVE4:LCALL DISPD32 SJMP DMVE4; 循环调显示子程序33DMVE5:DEC R734 SJMP DMVE35DMVE6:DEC R736 DEC R637 SJMP DMVE; 未完继续38 DISPD:SETB 0D4H; 显示子程序39 MOV R1,#7EH40 MOV R2,#20H41 MOV R3,#00H42DISPD1:MOV DPTR,#0FF21H; 从右至左第一位点亮43 MOV A,R244 MOVX DPTR,A; 显示位码送字位口45 MOV A,R146 MOV DPTR,#0FF22H47 MOVX DPTR,A; 显示段码送字形口48 MOV R0,#99H49DISPD2:DJNZ R3,DISPD2; 延时50 DEC R051 CJNE R0,#00H,DISPD252 MOV A,#0FFH53 MOVX DPTR,A54 CLR C55 MOV A,R2; 未到最后一位继续56 RRC A57 MOV R2,A58 DJNZ DISPD159 MOV A,#0FFH; 关显示60 MOV DPTR,#0FF22H61 MOVX DPTR,A62 CLR 0D4H; 返回63 RET64 END五、实验步骤1、调试运行该程序2、运行该程序时显示器(LED)显示的内容是什么?3、修改程序,使其显示循环右移的8字符。六、思考题单步和宏单步有何不同?实验三 I/O接口实验3.1 P1口应用实验一、实验目的掌握P1口接口方法,进一步熟悉程序调试方法。二、 实验仪器DVCC52JH+仿真实验箱,PC机。三、实验原理1、实验接线图2、实验原理以P3.3为输入信号端,当K1每拨动一次(输入脉冲),L1L8发光二极管按二进制方式点亮。74LS240是反相驱动器,JR1是电阻网络,+VCC已接+5V电源。四、实验内容调试运行如下程序,并通过灯的亮灭规律检测程序调试的正确性。1 ORG 0540H2HAIS:MOV A,#00H3HAIS1:JB P3.3,HAIS1; 判P3.3为低电平否4 MOV R2,#10H5 LCALL DELAY; 调延时子程序6 JB P3.3,HAIS1; 再判P3.3为低电平否7HAIS2:JNB P3.3,HAIS28 MOV R2,#10H9 LCALL DELAY10 JNB P3.3,HAIS2; 判P3.3为高电平否11 INC A; 加112 PUSH ACC13 CPL A; 取反后送P1显示14 MOV P1,A15 POP ACC16 AJMP HAIS1; 循环17DELAY:PUSH 02H; 延时子程序18DELAY1:PUSH 02H19DELAY2:PUSH 02H20DELAY3:DJNZ R2,DELAY321 POP 02H22 DJNZ R2,DEL AY223 POP 02H24 DJNZ R2,DEL AY125 POP 02H26 DJNZ R2,DEL AY27 RET 28 END五、实验步骤1、将接线图中粗线标注段用导线连接;2、调试并装入程序运行;3、拨动开关K,观察L1L8的变化规律;六、思考题本程序将P3.3作输入,是用位判断指令(JB、JNB)检测P3.3电平。能否用MOV A,P1指令判断P1口输出的状态?为什么?实验四 汇编程序设计实验4.1 数据排序程序设计一、实验目的进一步熟悉8051指令系统,掌握程序设计和调试方法。二、实验仪器DVCC52JH+仿真系统,PC机。三、设计内容将片外数据存储器4000H4009单元中的10个字节随机数进行排序,数据大者存入高地址单元。排序后的结果用LED显示,左边4个LED显示单元地址,右边2个LED显示对应单元内容,每个单元显示2S时间。四、给出流程图和汇编程序五、调试并运行程序,检查结果的正确性。六、思考题你所使用的方法,数据需比较多少次?4.2 BCD数乘法程序设计一、实验目的熟悉8051指令系统,掌握程序设计和调试方法。二、实验仪器DVCC52JH+仿真机,PC机。三、设计内容编程实现二个2位无符号BCD数相乘,并将结果用BCD数显示。设BCD乘数和被乘数存在60H和61H单元。四、给出流程图和汇编程序五、调试运行程序,检查程序的正确性六、思考题DA调整指令能否用在乘法指令后?4.3 实时时钟程序设计一、实验目的熟悉8051指令系统,掌握程序设计和调试方法。二、实验仪器DVCC52JH+仿真机,PC机。三、设计内容设计一个能显示时、分、秒的时钟程序。要求以T0为定时器,工作于模式2,以中断方式从P1.7输出计数脉冲给T1计数端,T1工作于模式1,产生1秒信号。已知fosc=6MHg。四、给出流程图和汇编程序五、调试运行程序,检测程序的正确性六、思考题定时器T1以中断方式和查询方式工作时有何不同?实验五 接口设计实验5.1 扩展片外数据存储器接口设计一、实验目的掌握扩展数存接口方法,熟悉编程检测接口正确性原理。二、实验器材DVCC52JH+仿真系统,6264RAM一片,导

温馨提示

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

评论

0/150

提交评论