MCS 51单片机实验集合(9个实验)课件.ppt
《MCS 51单片机实验集合(9个实验)课件.ppt》由会员分享,可在线阅读,更多相关《MCS 51单片机实验集合(9个实验)课件.ppt(94页珍藏版)》请在三一办公上搜索。
1、附录A 实 验,实验一 MCS-51单片机及其开发系统 (仿真器)的认识实验二 MCS-51指令系统实验三 MCS-51指令系统综合练习实验四 中断实验实验五 显示器与定时中断实验六 串行通信实验七 键盘扫描实验八 A/D转换 实验九 D/A转换,实验一 MCS-51单片机及其开发系统(仿真器)的认识,一、实验目的 (1) 了解MCS-51单片机开发常用工具。 (2) 了解仿真器构成、功能及连接。 (3) 掌握MCS-51开发软件(汇编器)安装、功能及基本操作。 (4) 掌握源程序的编辑、汇编、运行(包括连续执行、单步执行和跟踪执行)。 (5) 掌握汇编语言指令与机器语言指令之间的对应关系。
2、(6) 掌握ORG、DATA、BIT等伪指令的作用。 (7) 掌握在特定仿真开发系统下浏览、修改特殊功能寄存器、内部RAM、外部RAM单元的方法。 (8) 理解MCS-51单片机在复位期间及复位后有关引脚的状态、特殊功能寄存器的初值。,二、实验器材 仿真器及附件(电源、仿真头、联机通讯电缆)、直流稳压电源(最好是单片机专用电源)、逻辑笔、数字万用表各一套。,三、实验电路,图 附A-1,表 附A-1,该实验电路具有如下一些特点。 1. 结构简单 该电路所需元器件少,费用低,它几乎能完成“单片机原理与应用”课程所必须的基本实验项目,如:(1) 复位期间、复位后各引脚状态测试。(2) I/O端口及禁
3、止ALE引脚脉冲输出实验。(3) 中断、定时/计数实验。(4) 定时器T2可编程时钟输出实验。(5) LED显示及驱动实验。(6) 键盘接口实验。(7) 串行通讯实验。,2. 可扩充性强 例如,增加RS232与TTL电平转换器件(如MAX232芯片)后,即具备RS232电平转换功能,使该电路串行口能与其他串行设备(如PC机)进行串行通讯。 增加8155并行口扩展芯片后即具备并行口扩展功能和256字节外部RAM,即可进行外部RAM存取实验。 增加I2C总线EEPROM存储器(如24WC02、24WC32)或日历时钟芯片PCF8563后,即可进行I2C总线设备存取实验。 增加SPI总线接口器件,如
4、EEPROM存储器或IDS4000系列语音芯片后即可进行SPI总线存取实验。,3. 安装焊接方便 实验前,先在万能板上焊好两个40引脚、三个14引脚IC插座、LED数码管、晶振和复位电路,并用导线段按原理图连接关系将电阻、电容、复位按钮、LED和IC引脚连接好。LED电源引脚、IC电源引脚连一起,作为实验电路板(目标板)的电源输入端VCC,接+5 V;所有地线引脚连在一起,作为实验电路板的地线GND,并用导线将实验电路板电源输入端VCC、地线GND分别接到直流稳压源+5 V和地线上。 仿真时,仿真头插入目标板上40引脚的CPU(即U1)插座内。 当然也可以将该实验电路(包括可选芯片、必要插座、
5、接线头如电源插座、串行通信插座)做成印制板。,四、实验内容 1. PC机仿真器目标板(用户板)的连接,(1) 联机通讯口。目前多数仿真器不带键盘、LED显示器,需与PC机配套使用。单片机仿真开发设备一般以串行方式与PC机通讯,通过联机通讯电缆将仿真器联机通讯口与PC机串行口(COM1或COM2)相连。 (2) 仿真插座。通过仿真电缆将仿真器与仿真头连在一起(有些仿真器、仿真头的插座没有采用防反插技术,连接时务必注意插座、插头方向)。作为特例,图2给出了E6000、E2000、E51系列仿真器与POP8X5X仿真头之间的连接方式,即仿真电缆一端与仿真器相连,另一端与仿真头相连。 仿真头直接插入用
6、户板上的CPU插座内。,图 附A-2,(3) 电源插座。通过仿真器上的电源插座给仿真器提供工作电源,与仿真器电源(作为仿真器附件之一)相连。 由于目标板上功耗不确定,因此多数仿真机(头)不给用户板提供电源,必须给用户板外接工作电源(一般为+5 V,具体数值与目标板上元器件工作电压有关,但外接电源电压不得超过5V+5%,否则可能损坏单片机应用系统中74系列逻辑电路芯片)。,2. 仿真软件安装及操作 仿真软件也称为汇编器。仿真器只有在仿真软件的支持下才能完成源程序的编辑(目前多数仿真软件均具有源程序编辑功能)、汇编(编译)、运行及调试。仿真软件功能强弱直接关系到单片机应用系统的开发效率,一套功能齐
7、全、性能良好、符合用户操作习惯的单片机开发系统,会使单片机开发项目由难变易、由繁变简、由不可能变可能,收到事半功倍的效果。不同仿真开发软件的功能、操作方式不尽相同,用户只能依据开发商提供的使用说明书或用户指南来安装、操作仿真开发软件。,3. 汇编语言源程序编辑、运行及调试 输入、编辑、汇编、运行(连续、单步执行)如下程序段: ; 变量定义区 XVARDATA 30H YVARDATA 38H P10BIT P1.0 ORG 0000H LJMP MAIN ORG 0100H MAIN:,MOV SP, #9FHMOV A, #55HMOV XVAR, AMOV R0, #XVARMOV R0,
8、 #01HINC R0MOV R0, #02HMOV R1, #YVARMOV A, R0MOV R1, APUSH Acc; 在此处设置断点PUSH PSWMOV A, #0AAHSETB RS0CLR RS1MOV R0, #5AHMOV R1, #0A5HPOP PSW,POP ACCINC R1DEC R0MOV A, R0MOV R1, ACLR P10SETB P1.0CLR P10MOV 90H, #00HMOV 90H, #55HMOV 90H, #0FFMOV P1, #00HMOV P1, #55HMOV P1, #0FFHSJMP $END,(1) 找出每条指令的机器码,
9、并与第3章指令码表对照,指出每一指令的功能、寻址方式、操作数书写形式。 (2) 在单步执行过程中,每执行一条命令后,观察并记录有关寄存器、内存单元的变化情况。设置断点后,再连续执行,记录30H、31H、38H单元内容,与复位后的内容进行比较,由此得出什么结论? (3) 修改ORG 100H指令后的地址,重新汇编,观察程序代码在程序存储器中存放位置的变化情况。,4. 复位期间及复位后有关引脚状态、寄存器初值 按下复位按钮不放,用逻辑笔测出并记录各I/O引脚的电平;复位后,再用逻辑笔测出I/O口引脚电平;读出复位后,各特殊功能寄存器的初值,并与表2-4进行比较。 修改特殊功能寄存器、内部RAM及外
10、部RAM单元内容,观察复位后相应单元内容有无变化,即可了解复位对特殊功能寄存器、内部RAM、外部RAM的影响。 注:由于8XC5X CPU P1P3口引脚输出级电路采用准双向结构,上拉电阻大,电流小,对地线短路电流小,即I/O引脚具有“线与”功能,而P0漏极开路,也具有“线与”功能。因此,在测量I/O引脚电平、电压操作过程中,即使逻辑笔、表笔将两根I/O引脚短路也不会损坏I/O口(但不允许将I/O引脚与电源VCC短路)。,实验二 MCS-51指令系统,一、实验目的(1) 理解MCS-51指令系统中常用指令功能和使用方法。(2) 掌握汇编语言程序的输入、编辑、运行、调试方法。,二、实验器材 仿真
11、器及附件、图附A-1所示实验电路板、直流稳压电源各一套。 注:对于具备“软件模拟”运行方式的仿真开发系统,如WAVE系列的仿真开发软件。本实验可以不用仿真器、实验电路板等硬件设备,在“软件模拟”状态下运行调试即可。,三、实验内容 1. 寻址方式代码源程序指令源操作数寻址方式MOV R0,#4FH立即数寻址MOV A,#55H立即数寻址MOV R0,A寄存器寻址MOV R1, 4FH直接寻址MOV A,R1寄存器间接寻址MOVC A,A+DPTR变址寻址 SETB P1.1位寻址,2. 高128字节内部RAM与低128字节内部RAM之间的数据传送 (执行前,先将高128字节内部RAM中的80H单
12、元置为特定数值,如55H,以便验证)代码源程序指令 说明MOV R0,#80H;将高128字节内部RAM地址80H传到R0中MOV A,R0;将高128字节内部RAM 80单元内容传到A中 MOV 30H,A;把存放在A中数据传到内部RAM30H单元中,3. 外部RAM与内部RAM之间的数据传送 (执行前,先将内部RAM 30H单元置为特定数值,如0AAH,以便验证)代码源程序指令 说明;将内部RAM数据传送到外部RAM中MOV A,30H;将内部RAM 30单元内部传送到A中MOV DPTR,#1000HMOVX DPTR,A;把存放在A中数据传到外部RAM 1000H单元;将外部RAM数据
13、传送到内部RAM中MOV DPTR,#1000HMOVX A,DPTR;把外部RAM 1000H单元内容传到A中 MOV 31H,A;把数据传送到内部RAM 31H单元中,4. 把存放在程序存储器中的数表读到内部RAM中 执行下列程序段后,验证数表中的数码是否已传送到内部RAM 30H39H单元中。,代码源程序指令 说明MOV DPTR,#TAB;将表头地址传送到DPTR中MOV R0,#30HMOV R1,#00H;计数器初值00传送到R1中,LOOP:MOV A,R1MOVC A,A+DPTRMOV R0,A;把数表内容逐一传送到30H开始的内部RAM中INC R1INC R0CJNE R
14、1,#0AH, LOOP;R1不等于0AH时,循环;数表ORG 1000HTAB:DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H,5. 算术运行指令 假设16位(双字节)被加数、加数分别存放在内部RAM的30H33H中,和存放在内部RAM的40H42H单元中(数据存放规则是低字节存放在低地址、高字节存放在高地址中)。,代码源程序指令 说明MOV A,30H;把被加数低8位传送到A中ADD A,32H;与加数低8位相加,结果存放在A中MOV 40H,A;把低8位相加结果存放在40H单元中MOV A,31H;把被加数高8位传送到A中
15、ADDC A,33H;与加数高8位、进位Cy相加,结果存放在A中JC Next;有进位跳转MOV 42H,#00H;高8位相加没有进位,将42H单元清零SJMP ProendNext:MOV 42H,#01H;高8位相加有进位,将42H单元置1Proend:MOV 41H,A;把高8位相加结果存放在41H单元中,实验三 MCS-51指令系统综合练习,一、实验目的 (1) 进一步理解MCS-51指令系统中常用指令功能、使用方法。 (2) 理解以I/O口作为源操作数时,哪些指令读锁存器,哪些指令读引脚。,二、实验器材 仿真器及附件、直流稳压电源、万用表各一套,导线数条。 图附A-1所示实验电路板一
16、块,但需将U2、U3芯片从IC插座上拔出,使P1口引脚悬空。,三、实验内容 在仿真机上输入并单步执行如下程序段,判定哪些指令读锁存器,哪些指令读引脚。 1. 验证“MOV C, P1.0”读操作对象 SETB P1.0; P1.0引脚悬空,执行该指令后,观察P1.0锁存器的状态,并用万用表; 测量P1.0引脚的电平状态MOV C, P1.0; 执行后观察进位标志Cy的状态MOV C, P1.0; 先用导线将P1.0引脚接地,再执行该指令,观察P1.0锁存器、进位; 标志Cy的状态 尽管P1.0锁存器为1,但P1.0引脚接地,即P1.0引脚为低电平,因此指令执行后Cy标志为0,说明“MOV C,
17、 P1.x”指令读引脚,而不是读锁存器。,2. 验证“MOV A, P1”指令读操作是锁存器还是I/O口引脚MOV P1, #55H; 将P1.0、P1.2、P1.4、P1.6锁存器位置1。执行该指令后,观察P1口; 锁存器的状态,并用万用表测量P1口各引脚的电平状态MOV A, P1; P1口引脚悬空,执行该指令后观察累加器Acc内容MOV A, P1; 先用导线将P1.0、P1.2、P1.4、P1.6引脚接地,然后执行该指令,观; 察累加器Acc的内容 尽管P1口锁存器内容为55H,对应的P1.0、P1.2、P1.4、P1.6锁存器为1,处于输入状态,因此将P1.0、P1.2、P1.4、P
18、1.6引脚接地后,执行“MOV A, P1”指令后,累加器Acc内容为00H,说明该指令也是读P1口引脚的。,3. 验证“AND A, P1”指令源操作数是P1口锁存器还是P1口引脚MOV P1, #0FH; 将P1.0、P1.1、P1.2、P1.3锁存器位置1。执行该指令后,观察; P1口锁存器的状态,用万用表测量P1口各引脚的电平MOV A, #0FFH; 把立即数FFH送累加器AccAND A, P1; P1口引脚悬空,执行该指令后观察累加器Acc内容MOV A, #0FFH; 再把立即数FFH送累加器AccAND A, P1 ; 用导线将P1.0、P1.1、P1.2、P1.3引脚之一或
19、全部接地,然后执行; 该指令,观察累加器Acc的内容,4. 验证“JB P1.0,LOOP”指令测试对象是P1.0锁存器还是P1.0引脚 P1.0引脚悬空(由于P1口具有上拉电阻,因此悬空的输入引脚相当于接高电平),执行如下程序段,观察指令跳转过程及执行后累加器Acc的内容。SETB P1.0MOV A, #0AAHJB P1.0, NEXTMOV A, #55HNEXT:NOP 然后,用导线将P1.0引脚接地,再执行上面程序段,观察指令跳转过程及执行后累加器Acc的内容。,5. 验证“INC P1”指令操作对象 MOV P1, #0FFH; 将立即数FFH送P1口锁存器 INC P1 用导线
20、将P1.0引脚通过一个2 k电阻接+5 V电源(I/O引脚不能直接与+5 V电源相连,否则当I/O引脚对应的锁存器位为0时,下拉MOS管会因过流而损坏),然后执行该指令,观察锁存器P1内容,并用万用表测量P1.0引脚的电平。,实验四 中 断 实 验,一、实验目的 (1) 理解MCS-51中断控制系统。 (2) 理解MCS-51中断识别、控制及优先级排队。 (3) 理解中断响应过程及条件。 (4) 理解中断入口地址,掌握中断初始化、中断服务程序结构及编写方法。,二、实验器材 仿真器及附件、直流稳压电源、万用表各一套,导线数条。 图附A-1所示实验电路板一块,但需将U2、U3芯片从IC插座上拔出,
21、使P1口引脚悬空。,三、实验内容及电路 1. 理解外中断 初始化、中断标志有效时间、中断响应条件 用导线将 (即P3.2)引脚与P1.0引脚相连,即用P1.0引脚输出信号模拟外中断信号。 实验程序如下:,X_TIME DATA 2AH ; 延迟时间参数XY_TIME DATA 2BH ; 延迟时间参数Y;这两个单元确定的延迟时间为tTIME DATA 2CH ; 延迟时间计数器,总的延迟时间为Timet,ORG 0000HLJMP MAINORG 0003H; 外中断入口地址LJMP INTO ORG 0100HPROC MAINMAIN: MOV SP, #4FH; 初始化堆栈指针SP; 初
22、始化外中断SETB IT0 ; 边沿触发 CLR EX0 ; 禁止 中断 SETB EA ; 开中断SETB P1.0; P1.0引脚为高电平CLR P1.0; P1.0引脚为低电平,使P3.2引脚出现下降沿 SETB P1.0; 使P1.0引脚恢复高电平(断点1),MOV TIME, #50MOV X_TIME, #198MOV Y_TIME, #250LCALL DELAYSETB EX0; 允许 中断,断点2NOP; 断点3NOP; 断点4NOPSJMP $END; *通用延迟子程序*; 延迟时间参数在2AH(y)、2BH(x)单元中,总的延迟时间为t; t=(4y+2xy+10)T,其
23、中T是机器周期。当晶振频率为12 MHz时,T=1 s; 典型参数I:x=198,y=250时,延迟时间t=100 010 s,即近似100 ms; 典型参数II:x=7,y=5时,延迟时间t=100 s; 子程序名称:Delay,PROC DelayDelay: PUSH PSW SETB RS0 CLR RS1 ; 使用1区 MOV R7,Y_TIME ; 取延迟时间参数yLOOP1: MOV R6,X_TIME ; 取延迟时间参数xLOOP2: DJNZ R6,LOOP2 DJNZ R7,LOOP1 POP PSW RET END,ORG 1000HPROC INTOINTO: PUSH
24、 PSW; 断点5 PUSH Acc ; 不用切换工作寄存器区,因为中断服务程序中没有改写寄存器R7R0 MOV A, #55H NOP POP PSW RETI END,实验步骤: (1) 复位后,观察并记录与中断有关各寄存器,如IE、TCON、IP的值。 (2) 在“断点1”设置断点,然后全速执行,并检查TCON寄存器内容。 (3) 取消断点1,设置断点2,复位后,再全速执行,并检查TCON寄存器内容。 (4) 取消断点1、2,设置断点3,复位后,再全速执行,并检查TCON寄存器内容。 (5) 取消断点1、2、3,设置断点4和5,复位后,全速执行并检测TCON寄存器内容。 (6) 将 触发
25、方式改为电平触发,重复以上操作即可发现,CPU不会自动清除电平触发外中断请求标志IE0。,2. 验证中断优先级 用导线将 (即P3.2)引脚与P1.0引脚、 (P3.3)引脚与P1.1引脚相连,即可用P1.0、P1.1引脚输出信号模拟外中断信号 和 。 实验程序如下:,ORG 0000HLJMP MAINORG 0003H; 外中断入口地址LJMP INTOORG 0013H; 外中断入口地址 LJMP INT1,ORG 0100HPROC MAINMAIN:MOV SP, #4FH; 初始化堆栈指针SP; 初始化外中断SETB IT0 ; 边沿触发 ; 初始化外中断SETB IT1 ; 边沿
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 51单片机实验集合9个实验课件 51 单片机 实验 集合 课件
链接地址:https://www.31ppt.com/p-1869299.html