ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:303.54KB ,
资源ID:7361699      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7361699.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MCS51单片机实验及课程设计指导书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MCS51单片机实验及课程设计指导书.docx

1、MCS51单片机实验及课程设计指导书 MCS51单片机实验及课程设计指导书杨打生 王忠远 康瑞芳内蒙古电子信息职业技术学院20063实验实验一:WAVE软件使用实验二:常用指令的使用练习实验三:循环程序实验四:查表程序实验五:数制转换程序实验六 实用子程序:(编程器的使用)实验七:输入检测与输出显示程序实验八:中断/定时程序课设一、课程设计目的和意义二、实验电路系统的结构和使用方法 三、设计参考题目介绍和设计提示性思考题四、设计任务书及要求五、课程设计报告格式及要求六、考核办法七、课程设计内容及学时安排 实验一:WAVE软件使用一、预习内容1、试验目的:学习WAVE软件安装和基本使用。2、WA

2、VE软件的安装 选择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见面,新建一个文件

3、后输入实例一程序内容,并保存在我的文档名为A1.ASM ,执行编译按钮或项目菜单中的编译2、编译后,如正确扫描过去,不正确提示出错信息修改后再编译直到不提示错误为止。3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。4、打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口就并排在整个屏幕。5、点击单步按钮或F8键进行单步操作。6、观测CPU窗口的A、P0和数据存储器窗口R0的状态并列表1记录每循环一次下列寄存器的值。表一123456789起始R0AP0结束R08、新建一个文件后输入实例二程序内容,并保存在我的文档名为A2.ASM ,执行编译按钮或项目

4、菜单中的编译9、重复上述2-6步填写下表二123456789起始R0起始AP2结束A结束R0三、实验报告要求1、 写出上述两试验程序各条指令的含义(与预习时相比是否一致)。2、 整理表一和表二的数据,分析他们各自实现的功能。3、 写出CPU窗口20个特殊功能寄存器及其功能。实验二:常用指令的使用练习一、预习内容1、在WAVE软件平台下学习常用指令的特点。2、写出下面二实例各条指令的含义3、写出各实例实现的功能二、试验内容实例一 指令的含义 机器操作代码MOV PSW,#08HMOV 30H,#25MOV R0,#30HMOV A,R0MOV DPTR,#0006HMOV A,#35HMOVX

5、DPTR,AMOV A,R0MOVX DPTR,AMOVC A,A+DPTRSJMP$功能:1、将程序输入编辑器,保存文件名为MOV.ASM2、对源程序进行编译,修改语法错误3、打开窗口中的CPU窗口和数据窗口的CODE和DADE写出每条指令的机器操作代码。4、 打开窗口中的平排窗口,这样程序窗口、CPU窗口、数据存储器窗口和程序存储器窗口就并排在整个屏幕。5、 写出R0在数据存储单元中的地址,执行到SJMP 时R0.、DPTR、 A的内容实例二 指令的含义 机器操作代码 A. P0ORG 0000Hmov a,#34hmov p0,#56hMOV B,#12HLCALL PPSJMP $PP

6、: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的变化过程和堆栈在

7、堆栈区所保存内容。实验三:循环程序一、预习内容1、实验目的:1)掌握循环程序的结构。(循环变量初值、循环变量的修改、循环体执行的条件)。2)循环程序的执行过程3)了解循环的嵌套。2、写出下面二实例各条指令的含义。3、试写出各实例实现的功能。二、实验内容实例一:试验内容实验题目:流水灯程序清单: 指令的含义。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

8、:NOPDJNZR5,LL1DJNZR6,LL2RET END实验步骤:1、将程序输入编辑器,保存文件名为LSD.ASM2、对源程序进行编译,修改语法错误。3、运行程序使程序窗口和CPU窗口并排,观察CPU窗口P0口的变化状态现。现象: 4、将指令RRA改为RLA再编译运行,观察P0口现象。现象: 5、将DELAY中MOV R6,#100中100分别改为10和200后编译运行,观察P0口现象。现象:结论:实例二 冒泡排序法数据排序常用的方法是冒泡排序法。原则:执行时从前向后进行相邻数的比较,如数据的大小次序与要求的顺序不符就将这两个数互换,否则不互换。对于升序排序,通过这种相邻数的互换,使小数

9、向前移动,大数向后移动。从前向后进行一次冒泡(相邻数的互换),就会把最大的数换到最后。再进行一次冒泡,就会把次大的数排在倒数第二的位置。无符号数排序程序。设在片内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

10、 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、 试分析在实例一如何实现霓虹灯的控制。

11、实验四:查表程序一、预习内容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,

12、4,9,16 ,25,36,49,64,81 1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开窗口中数据窗口的DATA,并使程序窗口与数据窗口DATA的并排。2、在数据窗口DATA中30H-32H填入8个两位十六进制数将执行后的结果填入下表。30H31H32H执行前03H06H00H执行后3、写出DB数据表格在程序存储器的指令地址数据0149162536496481实例二一、七段显示器的原理共阴 共阳二、按键输入与代码转换显示(共阴) 指令的含义 ORG 0000H LJMP START ORG 0030HSTART: CLR P0 MOV R3,#00H MOV P1,#

13、0FFH PD: MOV A,P1 CJNE A,#0FFH,SB SJMP PD SB: RRC A INC R3 JNC SB MOV A,R3 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A SJMP $TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开CPU窗口和数据窗口的DATA,并使程序窗口、数据窗口DATA和CODE 、CPU窗口并排。2、在CPU窗口P1、0填入“0”。3、用单步执行到SJMP$观测P0口的数据并记录。4

14、、修改P1的内容重新编译在执行第二、三步填写下表。P102H04H08H10H20H40HP0三、实验报告要求1、 写出上述两试验程序各条指令的含义(与预习时相比是否一致),整理实例一、实例二的结果。2、 试分析在实例一如何采用MOVC A,A+PC指令也可以实现查表功能,(且不破坏DPTR的内容,从而可以减少保护DPTR的内容所需的开销。但表格只能存放在MOVC A,A+PC指令后的256字节内,即表格存放的地点和空间有一定限制)。3、 在实例二如采用共阳数码管数据表DB应为什么?实验五:数制转换程序一、预习内容1、写出下面二实例各条指令的含义2、各实例实现的功能.3、试写出各实例实现的功能

15、二、试验内容实例一单字节十六进制整数转换成单字节码整数入口条件:待转换的单字节十六进制整数在累加器A中。出口信息:转换后的码整数(十位和个位)仍在累加器A中,百位在R3中。影响资源:PSW、A、B、R3 堆栈需求: 字节HBCD: 指令的含义MOV B,#100 ;DIV ABMOV R3,AMOV A,#10 ;XCH A,BDIV ABSWAP AORL A,B ;SJMP $RET1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开CPU窗口和数据窗口的DATA,并使程序窗口、数据窗口DATA、CPU窗口并排。2、在CPU窗口A单元写入55H或填入“01010101”。3

16、、用单步执行到SJMP$观测A的数据和R3单元内容并记录。4、修改A的内容重新编译在执行第二、三步填写下表。执行前A65HFEH98H76H83H69H85H执行后AR3实例二、双字节二进制数转换成BCD码。 设(R2R3)为双字节二进制数,(R4R5R6)为转换完的压缩型BCD码。十进制数B与一个8位的二进制数的关系可以表示为: 只要依十进制运算法则,将 bi(i7,6, ,1,0)按权相加,就可以得到对应的十进制数B。(逐次得到:b720;b721b620;b722b621b520 ;)。DCDTH: 指令的含义CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7

17、,#16 LOOP:CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,LOOP SJMP $1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开CPU窗口和数据窗口的DATA,并使程序窗口、数据窗口DATA、CPU窗口并排。2、用单步执行到SJMP$观测R3、R4、R5单元的内容并记录填写下表。R210H01H

18、FFH84H76HR300H00H00H65H4BHR4R5R6R256H54H79H30HFFHR378H65H54H54HE0HR4R5R6三、实验报告要求1、写出上述两试验程序各条指令的含义(与预习时相比是否一致),整理实例一、实例二的结果。2、 试分析在实例一采用实例二的算法来编写程序3、 试分析在实例二采用实例一的算法来编写程序 实验六 实用子程序:(编程器的使用)一、预习内容1、 学习单片机编程器的使用2、写出下面实例各条指令的含义3、各实例实现的功能LABTOOL-48编程器的使用编程器菜单和工具兰按钮如下图1所示操作步骤如下:1、选择(所要编程芯片的类型、厂家、设备)见图22、

19、擦除(擦除芯片的数据,读出出后程序存储单元全为FFH)3、调入(调入的程序扩展名为BIN将写入代编程的程序存储器)4、编辑(看到将写入程序存储器单元的机器代码)见图35、编程(机器代码写入程序存储器单元)6、读出、编辑后将看到写入程序存储器单元的机器代码图1图2图3二、试验内容 指令的含义实验题目:流水灯程序清单:ORG 0000HLJMP STARTCSEG AT 0100HSTART: MOV R7, #08H MOV R2,#01HMOV A, R2LOOP: MOV P1, A ACALL DELAY RR A DJNZ R7, LOOP SJMP START DELAY:MOVR6,

20、100LL2:MOVR5,255LL1:NOPDJNZR5,LL1DJNZR6,LL2RET END1、在WAVE软件中输入上述程序并保存为*.ASM文件,编译后,打开CPU窗口和数据窗口的DATA,并使程序窗口、数据窗口DATA、CPU窗口并排,进行调试。2、调试无误后,用编程器把程序写入单片机的程序存储器。3、试验电路板硬件连接,用排线将P1口经驱动器输出到LED显示。驱动器发光二极管显示AT89C51 P0三、实验报告要求1、写出上述实验程序各条指令的含义(与预习时相比是否一致),整理实验的结果。2、试分析改变R2的值将影响什么?3、试分析改变R5、R6的值将影响什么?实验七:输入检测与

21、输出显示一、预习内容1、学习单片机编程器的使用2、写出下面实例各条指令的含义和在DB后填入合适的数据3、写出下实例实现的功能二、试验内容实验题目:按键输入与代码转换显示实验板数码管的实际状态(e表示小数点)ORG 0000HSTART: 指令的含义 MOV R3,#00H MOV P1,#0FFH PD: MOV A,P1 CJNE A,#0FFH,SB SJMP PD SB: CLR CRRC AINC R3 JNC SB MOV A,R3 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A SJMP $TABLE: DB DB END1、在WAVE软件中输入上述程

22、序并保存为*.ASM文件,编译后,打开CPU窗口和数据窗口的DATA,并使程序窗口、数据窗口DATA、CPU窗口并排。2、模拟调试与实际功能是否一致并修改。3、调试无误后,用编程器把程序写入单片机的程序存储器。4、试验电路板硬件连接,用排线将8个微动开关接入P1口,P0口经驱动器输出到数码管显示。硬件连接框图八个微动开 关AT89C51驱动器数码管显示按动开关12345678显示三、实验报告要求1、写出上述两试验程序各条指令的含义(与预习时相比是否一致),整理实验结果。2、试分析改变R3的值将影响什么?3、试分析改变DB数据的值将影响什么?实验八:中断/定时程序一、预习内容1、写出下面二实例各

23、条指令的含义2、各实例实现的功能二、试验内容实验题目:产生方波实验目的:1掌握定时/计数器的工作原理。2掌握定时/计数器的初始化过程。3掌握中断申请、中断响应及中断返回的过程。实验要求:从P1.0输出周期为100ms 的方波。用T0工作在方式1。已知fosc=6MHz.实验步骤:1从P1.0引一根导线到1个发光二极管。2计算初值X2160.5ms/2s=40536=9e58H3将程序输入编辑器,保存文件名为FBO.ASM程序清单:ORG 0000H 指令的含义LJMP STARTCSEGAT 000BHLJMP ZHDUANCSEGAT 0100HSTART: MOV TMOD,#01H MO

24、V TH0,#9EH MOV TL0,#58HSETB EA SETB ET0 SETB TR0 SJMP $ZHDUAN: CPL P1.0 MOV TH0,#9EH MOV TL0,#58H RETI END4对源程序进行编译,修改语法错误。5运行程序以,观察现象。现象:,三、实验报告要求1、写出上述实验程序各条指令的含义(与预习时相比是否一致),整理实的结果。2、中断程序中MOV TH0,#9EH和MOV TL0,#58H指令可去掉吗?为什么?3、试分析改变TMOD数据的值将影响什么?课 设一、课程设计目的和意义 课程设计是一个综合应用课程知识的教学环节,要求学生能够将课程知识系统的联系

25、起来,根据任务要求,科学合理地选择相应理论知识,培养学生应用课程知识解决实际问题的能力,提高对课程内容的认识和理解,培养学生分析问题、解决问题的思维能力。提高学生全局考虑问题、综合应用专业知识的能力。要完成设计任务,学生必须全局考虑单片机的软件、硬件知识,学习相应功能的实现方法,掌握简单的外部电路功能,了解单片机和外部电路的接口电路,设计接口协议,合理分配硬件、软件资源,综合利用专业知识。单片机课程设计要求学生进一步了解单片机的硬件结构。根据设计任务和单片机的功能,分析用单片机的功能实现设计任务的方法,充分考虑单片机的各种功能,最大限度的利用单片机软件、硬件资源,考虑硬件、软件资源的分配,力求

26、以最低的成本实现设计任务要求的功能。通过单片机课程设计要求学生能够更好的理解单片机的组成,理解单片机各个组成部分的功能和应用,了解单片机的广泛应用,学习单片机的应用方法。通过单片机课程设计,可以提高学生的编程能力。课程设计的题目都是日常生活中经常见到的内容,学生容易接受和理解设计任务的要求,如何科学合理的应用单片机知识实现设计任务是单片机课程设计的主要目的。根据设计任务全面考虑课程知识,按照设计要求将任务分解,设计控制流程,体现了模块化设计的基本思想。组织学过的各种语句实现相应的功能控制,既可以学习程序编制方法,又可以进一步加深对每个语句的理解,巩固各条语句的使用语法,提高学生的编程水平。单片机课程设计可以提高学生的实际操作水平。电路板包含了单片机最小系统和课程设计各项目所需的主要元件,学生需要根据电路板上提供的元件进行硬件选择,分配硬件资源和软件资源,画出硬件原理图和连接图,根据硬件原理图和题目要求编写设计框图和相关程序,用仿真软件进行调试和连接,调试成功后用编程器将程序烧写到单片机的内部ROM中,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1