资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MCS51单片机实验及课程设计指导书电子工程系单片机教研组 电子信息职业技术学院目 录实验实验一:WAVE软件使用实验二:常用指令的使用练习实验三:循环程序实验四:查表程序实验五:数制转换程序实验六 实用子程序:(编程器的使用)实验七:中断/定时程序实验八:输入检测与输出显示程序课设一、课程设计目的和意义二、实验电路系统的结构和使用方法 三、设计参考题目介绍和设计提示性思考题四、设计任务书及要求五、课程设计报告格式及要求六、考核办法七、课程设计内容及学时安排 实验一:WAVE软件使用一、预习内容1、试验目的:学习WAVE软件安装和基本使用。2、WAVE软件的安装 选择WAVE文件夹下的SETUP.EXE文件并双击接着下一步最后到完成。3、安装后写出软件窗口中工具栏中各按钮的名称。参考说明书1234567891011121314151617181920212223244、写出下面二实例各条指令的含义二、试验内容实例一 指令的含义ORG 0000H MOV R0,#01H L1: MOV A,R0 MOV P0,A INC R0 AJMP L1 END 实例二 ORG 0000H 指令的含义MOV R0,#01HL2: MOV A,R0 MOV P2,A RL A MOV R0,A LJMP L2 END 1、打开WAVE见面,新建一个文件后输入实例一程序内容,并保存在我的文档名为A1.ASM ,执行编译按钮或项目菜单中的编译2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。5、点击单步按钮或F8键进行单步操作。6、观测CPU窗口的A、P0和数据存储器窗口R0的状态并列表1记录每循环一次下列寄存器的值。表一循环次数123456789起始R0AP0结束R08、新建一个文件后输入实例二程序内容,并保存在我的文档名为A2.ASM ,执行编译按钮或项目菜单中的编译9、重复上述2-6步填写下表二循环次数123456789起始R0起始AP2结束A结束R0三、实验报告要求1、 写出上述两试验程序各条指令的含义(与预习时相比是否一致)。2、 整理表一和表二的数据,分析他们各自实现的功能。3、 写出CPU窗口20个特殊功能寄存器及其功能。实验二:常用指令的使用练习一、预习内容1、在WAVE软件平台下学习常用指令的特点。2、写出下面二实例各条指令的含义3、写出二实例实现的功能二、试验内容实例一ORG 0000H 指令的含义 机器操作代码MOV PSW,#08HMOV 30H,#25MOV R0,#30HMOV A,R0MOV DPTR,#0006HMOV A,#35HMOVX DPTR,AMOV A,R0MOVX DPTR,AMOVC A,A+DPTRSJMP$功能:1、将程序输入编辑器,保存文件名为MOV.ASM2、对源程序进行编译,修改语法错误3、打开窗口中的CPU窗口和数据窗口的CODE、DADE和XDATE写出每条指令的机器操作代码。4、 打开窗口中的平排窗口,这样程序窗口、CPU窗口、内外数据存储器窗口和程序存储器窗口就并排在整个屏幕。5、 单步执行写出R0在数据存储单元中的地址,执行到SJMP 时R0.、DPTR、 A的内容实例二 指令的含义 机器操作代码 A. P0ORG 0000Hmov a,#34hmov p0,#56hMOV B,#12HLCALL PPSJMP $PP:push apush p0mov a,#78hmov p0,apop p0pop aRET END1、将程序输入编辑器,保存文件名为stack.ASM2、对源程序进行编译,修改语法错误3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。5、单步执行根据CPU窗口信息、写出每条指令A.P0的值(在程序后)。三、实验报告要求1、 写出上述两试验程序各条指令的含义(与预习时相比是否一致),整理试验一试验二的结果。2、 区分实例一各条传输指令的不同。3、 写出指令在执行调用时堆栈SP的变化过程和堆栈在堆栈区所保存内容。实验三:循环程序一、预习内容1、实验目的:1)掌握循环程序的结构。(循环变量初值、循环变量的修改、循环体执行的条件)。2)循环程序的执行过程3)了解循环的嵌套。2、写出下面二实例各条指令的含义。3、试写出各实例实现的功能和实验一DELAY子程序的延时时间为多少。二、实验内容实例一:试验内容实验题目:流水灯程序清单: 指令的含义。ORG 0000HLJMP STARTORG 0100HSTART: MOV R7, #08HMOV A, #01H LOOP: MOV P1, A ACALL DELAY RR A DJNZ R7, LOOP SJMP LOOPDELAY:MOVR6,100LL2:MOVR5,255LL1:NOPDJNZR5,LL1DJNZR6,LL2RET END实验步骤:1、将程序输入编辑器,保存文件名为LSD.ASM2、对源程序进行编译,修改语法错误。3、运行程序使程序窗口和CPU窗口并排,观察CPU窗口P0口的变化状态现。现象: 4、将指令RRA改为RLA再编译运行,观察P0口现象。现象: 5、将DELAY中MOV R6,#100中100分别改为10和200后编译运行,观察P0口现象。现象:结论:实例二 冒泡排序法数据排序常用的方法是冒泡排序法。原则:执行时从前向后进行相邻数的比较,如数据的大小次序与要求的顺序不符就将这两个数互换,否则不互换。对于升序排序,通过这种相邻数的互换,使小数向前移动,大数向后移动。从前向后进行一次冒泡(相邻数的互换),就会把最大的数换到最后。再进行一次冒泡,就会把次大的数排在倒数第二的位置。无符号数排序程序。设在片内RAM中,起始地址为30H的8个单元中存放有8个无符号数。设R7为比较次数计数器,初始值为07H,位地址00H为数据互换标志位。对这些无符号数进行升序排序。程序清单:START:CLR 00H MOV R7,#07H MOV R0,#30H LOOP:MOV A,R0 MOV 2BH,A INC R0 MOV 2AH,R0 CLR C SUBB A,R0 JC NEXT MOV R0,2BH DEC R0 MOV R0,2AH INC R0 SETB 00H NEXT:DJNZ R7,LOOP JB 00H,START SJMP $ 1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开窗口中数据窗口的DATA,并使程序窗口与数据窗口DATA的并排。2、在数据窗口DATA中30H-37H填入8个两位十六进制数。存储单元30H31H32H33H34H35H36H37H排列前65H32H58H56H42H78H36H20H排列后3、 用单步执行观测30H-37H单元内容的变化。三、实验报告要求1、 出上述两试验程序各条指令的含义(与预习时相比是否一致),整理实例一、实例二的结果。2、 试分析在实例一如何实现霓虹灯(彩灯)的控制。实验四:查表程序一、预习内容1、试验目的:掌握顺序程序中查表程序的常用指令和其特点。2、写出下面二实例各条指令的含义。3、 试写出各实例实现的功能。二、试验内容实例一 平方表在程序存储器的一片存储单元中建立起该变量的平方表。用数据指针DPTR指向平方表的首址,则变量与数据指针之和的地址单元中的内容就是变量的平方值。程序段如下:START: 指令的含义MOV A,30H ACALL SQR MOV R1,A MOV A,31H ACALL SQR ADD A,R1 MOV 32H,A SJMP $SQR :MOV DPTR,#TAB MOVC A,A+DPTR ;RET TAB :DB 0,1,4,9,16 ,25,36,49,64,81 1、在WAVE软件中输入上述程序并保
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号