MCS51单片机软件实验题
MCS-51单片机实验5-1外部中断实验1

【实验流程图】
主程序
外部中断0初 始化
点亮P1.0口 LED灯
等待中断
主程序结束
中断程序
P1.0取反
中断程序返 回
【实验O程RG序代码】
0LJ0M00PH M ORAGIN 0003H
INTER0:CPL P1.7
RETI MAIN:SETB EA
SETB EX0
SETB IT0 CLR P1.7 SJMP $
END
实验一、外部中断实验1
【实验步骤】
将程序补充完整,并添加注释 运行程序观察实验现象。
ORG
0LJ0M00PH
;主程序入口
;转置主程序
330
M ORAGIN 0003H;外中0断入口
INTER0:CPL P1.7 ;;LLDDEE灯灯灭亮
74ls0
RETI
为避免占;用返其回他等中断待的入
实验一、外部中断实验1
【实验目的】
掌握外部中断的初始化方法 熟悉中断的触发过程
【接线方式】
P1.0接1个LED灯 P3.2接一个单脉冲发生器。
实验一、外部中断实验1
【实验内容及要求】
编写程序,实现以下功能 上电LED灯亮,中断一次,小灯变灭,再次中断, 小灯再次点亮,如此反复,即每发生一次中断, 灯的亮灭状态改变一次。
ORG 0013H入口地址初始化
SETB EA SETB EX1 SETB IT1
允许总中断
允许外部中断0 设置外部中断1的触发方式 为边沿触发方式
口地址,我们通常将中断
7 P1.7
MAIN:SETB入E口A处;放允一许条总跳中转断指令,单脉
SETB
可EX以0把;程允序许修外改中如断下。0
1实验一:MCS-51单片机指令分析

实验一:MCS-51单片机指令分析第一部分:位操作指令练习1、实验目的:学习并掌握MCS-51单片机程序开发系统操作方法,学习掌握Medwin仿真环境及其使用方法。
2、实验内容:万利仿真器开发环境Medwin使用练习。
3、实验仪器: PC机一台,万利仿真器Medwin开发环境。
4、实验步骤:第1步:实验准备:(1) 安装Medwin开发环境,并设置其相应的驱动。
(2) 打开Medwin开发环境,连接状态标志为绿色,说明开发环境与仿真器连接成功。
如未成功,检查连接、驱动程序设置等是否正确。
第2步:程序输入:首先在Medwin下新建一个项目,并新建一后缀名为.ASM的文件(.ASM表示汇编源文件),并添加入之前建立的项目中,在此文件中按照汇编语言语句规定的格式输入程序(只输源程序部分,具体程序参考下面的程序)。
第3步:程序运行和调试:(1) 程序编译输入源程序完毕后,可在“项目管理”窗口中点击“编译/汇编”选项,如果程序没有输入错误、语法错误等,则编译能够正确完成,在下面的消息窗口中,产生编译成功信息。
如果程序有输入错误,语法错误等,则消息窗口中会指出错误所在行及错误类型,此时必须返回源程序的错误行重新修改程序,修改完毕后,重新执行“编译/汇编”,直到程序没有输入错误、语法错误为止。
(2)产生代码并装入编译成功后,在“项目管理”窗口中点击“产生代码并装入”选项,对编译无误后产生的.OBJ文件进行连接,并把代码装入仿真器,代码装入仿真器后,才可以对程序实行仿真。
此时,可以在反汇编窗口中查看编译产生的机器码。
(3)程序的全速、单步执行在“调试”窗口中点击“全速”或者“单步”选项,完成程序的仿真运行,“全速”运行表示程序从头至尾一次运行结束,只能看到程序运行后所有寄存器的最终状态结果;“单步”运行表示程序按照指令逐行运行,此时可以查看每行指令运行后的寄存器的状态结果。
(4)查看单片机各种资源状态及内容在“察看”窗口中可以查看单片机内部及程序变量等各种资源,在单步或程序断点运行中可以实时观察单片机内部特殊功能寄存器、内部外部RAM、程序变量等内容,可以很方便的观测程序的运行状况。
MCS-51单片机第五章试题

A=(80H)SP=(40H)(41H)=(0H)(42H)=(80H)PC=(8050H)
2.下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什 么? (1000H )= „M‟(1001H )=„A ‟ ORG 1000H (1002H )= „I‟(1003H )=„N ‟ TAB1 EQU 1234H TAB2 EQU 3000H (1004H )=34H(1005H )=12H DB “MAIN” (1006H )=00H(1007H )=30H DW TAB1,TAB2,70H (1008H )=70H(1009H )=00H 3.试编写一个程序,将内部RAM中45H单元的高4位清0,低4位置1。 MOV A,45H ANL A,#0FH ORL A,#0FH 4.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令后,A的内容为 (0CBH)。 ANL A,#17H ORL 17H,A XRL A,@R0 CPL A
5.计算下面子程序中程序执行的时间(晶振频率为12MHz)。 7B0F MOV R3,#15 ; 1个机器周期 7CFF DL1: MOV R4,#255 ; 1个机器周期 8B90 DL2: MOV P1,R3 ; 2个机器周期 DC DJNZ R4,DL2 ; 2个机器周期 DB DJNZ R3,DL1 ; 2个机器周期 22 RET ; 2个机器周期 ((2+2)*255+1+2)*15+1+2=15.348ms 6.试编写程序,查找在内部 RAM的30H~50H 单元中是否有0AAH 这一 数据。若有,则将51H 单元置为“01H ”;若未找到,则将51H 单元置 ORG 0000H 为 MOV R0,#30H “00H ”。 MOV R2,#21H LOOP: MOV A,@R0 CJNE A,#0AAH,NOT MOV 51H,#01H SJMP DEND NOT: INC R0 DJNZ R2,LOOP MOV 51H,#00H DEND: SJMP DEND
MCS-51单片机实验

MCS-51单片机实验第一部分软件实验 (2)软件实验一求一组数据的最大(小)值 (2)软件实验二二进制数转换为BCD数 (3)软件实验三二进制数转换为ASCII码 (3)第二部分硬件实验 (5)硬件实验一并行口输入、输出实验 (5)硬件实验二外部中断实验 (6)硬件实验三定时计数器实验 (9)硬件实验四串行通信实验 (11)第三部分综合实验 (13)综合实验一电子时钟 (13)第一部分软件实验软件实验一求一组数据的最大(小)值一、实验目的1.熟悉Keil μVision3软件,掌握C51语言程序的调试方法。
2.理解并掌握数组的定义及初始化。
3.熟悉并学会分支程序、循环程序的安排与设计。
二、实验设备装有Keil μVision3的计算机 1台三、实验内容••••1.用数组定义一组数据(如10个带符号数,每个占2字节),并赋初值;••••2.编程找出这组数的最大值、最小值,分别存在max、min变量中;••••3.编译后单步调试,打开Watches窗口和Memory窗口,观察变量值的变化以及它们在单片机存储器中的实际位置。
四、实验步骤1、建立项目文件:用鼠标单击【Project—New Project…】菜单命令,在弹出的“Creat New Project”窗口中选择项目保存的位置,在“文件名”后的框中输入项目文件名(可以与源程序文件名相同),单击“保存”。
并在弹出的窗口中选择器件型号。
2、建立源程序文件并添加到项目中:用鼠标单击【File—New…】菜单命令(或Create a new file),进入编辑窗口,在该窗口中输入源程序,单击【File—Save】菜单命令(或保存文件快捷按钮)保存文件(必须带扩展名)。
注意:用汇编语言写的程序,文件的扩展名为.ASM(必须写);如用C语言则扩展名为.C。
然后将该文件添加到项目中。
必要时对单片机的晶振频率、编译输出文件(.hex)进行设置。
3、编译程序:用鼠标单击【Project—Build target或Rebuild all target files】菜单命令(或相应的快捷按钮),对源文件进行编译。
51单片机试题及答案

51单片机试题及答案【篇一:51单片机习题及答案】t>第一章1-1选择1.计算机中最常用的字符信息编码是( a )aasciib bcd码c 余3码 d 循环码a 1.5b 3c 1d 0.53.mcs-51的时钟最高频率是 ( a ).a 12mhzb 6 mhzc 8 mhzd 10 mhz4.以下不是构成的控制器部件(d):a 程序计数器、 b指令寄存器、 c指令译码器、 d存储器5.以下不是构成单片机的部件( d)a 微处理器(cpu)、b存储器c接口适配器(i\o接口电路) d 打印机6.下列不是单片机总线是( d)a 地址总线b 控制总线c 数据总线d 输出总线7.-49d的二进制补码为.( b)a 11101111b 11101101c 0001000d 111011008.十进制29的二进制表示为原码( c )a 11100010b 10101111c 00011101d 000011119. 十进制0.625转换成二进制数是( a )a 0.101b 0.111c 0.110d 0.10010 选出不是计算机中常作的码制是( d )a 原码b 反码 c补码 d ascii1-2填空1.2.十进制29的二进制表示为3.十进制数-29的8位补码表示为4.单片微型机.5.若不使用mcs-51片内存器引脚必须接地.6..7.十进制数-47用8位二进制补码表示为8.-49d的二进制补码为9.计算机中最常用的字符信息编码是10.计算机中的数称为机器数,它的实际值叫真值。
1-3判断1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。
(√ )3.使用可编程接口必须处始化。
(√ )。
4.8155的复位引脚可与89c51的复位引脚直接相连。
(√ )8.计算机中常作的码制有原码、反码和补码(√ )9.若不使用mcs-51片内存器引脚ea必须接地. (√ )1-4简答1.何谓单片机?单片机与一般微型计算机相比,具有哪些特点?答:单片机是在一块集成电路上把cpu、存储器、定时器/计数器及多种形式的i/o接口集成在一起而构成的微型计算机。
MCS-51单片机练习题

(二)单项选择题:1.在中断服务程序中,至少应有-条()(A) 传送指令 (B) 转移指令 (C ) 加法指令 ( D ) 中断返回指令2.当MCS-51复位时,下面说法正确的是()(A) PC=0000H (B) SP=00H (C) SBUF=00H (D) (30H)=00H3.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是()。
(A) MOV (B) MOVX (C) MOVC (D)以上都行4.下面哪-种传送方式适用于电路简单且时序已知的外设()。
(A)条件传送 (B)无条件传送 (C) DMA (D)中断5 .ORG 2000HLCALL 3000H : 注:本指令为3字节指令ORG 3000HRET 左边程序执行完RET指令后,PC= ()。
(A) 2000H (B) 3000H (C) 2003H (D) 3003H·6.要使MCS - 51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是()。
(A) 98H (B) 84H (C) 42.H (D) 22H8.MCS-51在响应中断时,下列哪种操作不会发生()。
(A) 保护现场 (B) 保护PC(C)找到中断人口(D)保护PC转人中断人口10. JNZ e指令的寻址方式是()。
(A)立即寻址 (B)寄存器寻址 (C)相对寻址 (D)位寻址11.执行LCALL 4000H指令时,MCS-51所完成的操作是()。
(A)保护PC、 (B) 4000H→PC(C)保护现场 (D) PC+3入栈,4000 H→PC12.下面哪条指令产生/WR信号()。
‘(A) MOVX A,@DPTR (B) MOVC A,@A+PC(C) MOVC A,@A+DPTR (D) MOVX @DPTR,A13.若某存储器芯片地址线为12根,那么它的存储容量为()。
(A) 1 KB (B) 2 KB (C) 4 KB (D) 8 KB15. PSW=18 H时,则当前工作寄存器是()。
mcs-51单片机考试试题及答案

mcs-51单片机考试试题及答案一、选择题(每题2分,共20分)1. MCS-51单片机的内部结构中,CPU可以访问的存储器是()。
A. ROMB. RAMC. EPROMD. A和B答案:D2. 下列哪个寄存器是MCS-51单片机中用于堆栈指针的寄存器?()A. PCB. SPC. PSWD. DPTR答案:B3. MCS-51单片机的定时器/计数器中,定时器0和定时器1都是()。
A. 8位定时器B. 16位定时器C. 8位计数器D. 16位计数器答案:B4. 下列哪个指令是MCS-51单片机中用于将累加器A的内容与寄存器R0的内容相加的指令?()A. ADD A, #dataB. ADD A, R0C. MOV A, R0D. INC A答案:B5. 在MCS-51单片机中,下列哪个中断源的优先级最高?()A. INT0B. TF0C. TF1D. IE0答案:B6. MCS-51单片机的I/O口具有()功能。
A. 推挽输出B. 开漏输出C. 推挽输出和开漏输出D. 仅推挽输出答案:B7. MCS-51单片机的定时器/计数器工作在定时模式时,定时时间的计算公式是()。
A. 定时时间 = (65536 - THx)×12 / foscB. 定时时间 = (256 - THx)×12 / foscC. 定时时间 = (65536 - THx)×1 / foscD. 定时时间 = (256 - THx)×1 / fosc答案:B8. 在MCS-51单片机的中断系统中,下列哪个寄存器用于存储中断向量地址?()A. IPB. IEC. TCOND. SCON答案:A9. MCS-51单片机的外部中断INT0和INT1的触发方式是()。
A. 电平触发B. 边沿触发C. 定时触发D. 计数触发答案:B10. 在MCS-51单片机中,下列哪个指令用于将内部RAM的20H地址的内容传送到累加器A?()A. MOV A, #20HB. MOV A, 20HC. MOV A, @20HD. MOV A, R2答案:B二、填空题(每题2分,共20分)1. MCS-51单片机的内部RAM分为______区和______区。
mcs51单片机试题及答案

mcs51单片机试题及答案### 单片机试题一、选择题1. 单片机MCS-51系列中,以下哪个寄存器是用于存储累加器的?- A. R0- B. A- C. B- D. PSW2. 以下哪个指令是将累加器A的内容传送到外部数据存储器的?- A. MOV A, @R0- B. MOV A, @R1- C. MOVX A, @R0- D. MOVX A, @R13. 在MCS-51单片机中,哪个特殊功能寄存器用于控制中断?- A. IE- B. IP- C. TCON- D. PCON二、填空题1. 单片机MCS-51的程序存储器地址空间为 ______ 到 ______。
2. 单片机MCS-51的外部数据存储器地址空间为 ______ 到______。
3. 单片机MCS-51的内部数据存储器地址空间为 ______ 到______。
三、简答题1. 简述MCS-51单片机的中断系统。
2. 解释MCS-51单片机中的定时器/计数器的作用及其工作模式。
四、编程题编写一段程序,实现MCS-51单片机的定时器0以模式1工作,每1秒产生一次中断。
```cORG 0000HSTART: MOV TMOD, #01H ; 设置定时器0为模式1MOV TH0, #3CH ; 装载定时器0的初值MOV TL0, #0B0HSETB TR0 ; 启动定时器0SETB ET0 ; 允许定时器0中断SETB EA ; 允许全局中断JMP $ ; 无限循环ORG 001BH ; 定时器0中断入口TIMER0_ISR: CLR C ; 清除进位标志位MOV TH0, #3CH ; 重新装载定时器0的初值MOV TL0, #0B0HCPL P1.0 ; 改变P1.0引脚的电平RETI ; 中断返回```答案一、选择题1. B2. C3. A二、填空题1. 0000H 到 FFFFH2. 8000H 到 FFH3. 20H 到 2FH三、简答题1. MCS-51单片机的中断系统包括两个外部中断(INT0和INT1)和两个定时器中断(Timer0和Timer1)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MCS51单片机软件实验
一、数据传送
1.实验目的
(1)熟悉51单片机的开发环境Keil C51
(2)掌握8051单片机内部数据存储器、外部数据存储器的数据传送特点和应用(3)掌握MOV, MOVX和MOVC类指令的用法及区别
2.实验内容
(1)将内部数据存储器20H为首地址的十六个字节传送到30H为首地址的数据区,即:20H~2FH送30H~3FH。
(2)将外部数据存储器2000H~200FH单元的十六个数传送至内部数据存储器的30H~3FH。
(3)建立一个数字0~9的ASCII码表,表格放在程序存贮器区首址为1000H 的十个单元内,编程根据R0中的内容来查表,所得结果存放在寄存器B 中,注意R0中的内容不在0~9范围时的处理。
二、加减法运算
1.实验目的
(1)正确使用单片机的加减运算指令
(2)掌握不同指令对于程序状态字的影响及程序状态字的意义、用处
(3)掌握ADD,ADDC,SUBB和DA A等指令的用法
(4)学习模块化程序设计方案
2.实验内容
(1)编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来检测该子程序的正确性。
需考虑有进位和无进位情况。
程序入口为:加数:22H,21H,20H三字节,22H为最高位
被加数:32H,31H,30H三字节,32H为最高位程序出口为:23H,22H,21H,20H四字节,23H为最高位
(2)编写3字节二进制减法子程序,用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。
入口:被减数:52H,51H,50H,50H为最低位
减数:42H,41H,40H,40H为最低位
出口:差:外部数据存贮器2003H~2000H(2003H为最高位)
(3)编写10位十进制加法子程序(十进制数采用压缩BCD码存放)入口:加数:24H-20H,低地址放低字节
被加数: 29H-25H,低地址放低字节
要求调用多组数据调试,注意观察PSW的变化,理解DA A指令的含义。
三、乘法运算
1.实验目的
(1)掌握MUL指令的用法
(2)掌握无符号整数的乘法设计思路
2.实验内容
(1)无符号二进制双字节乘法
入口:R1(高位)R0(低位),内放被乘数
R3(高位)R2(低位),内放乘数
出口:33H~30H内放乘积,33H为最高位
设置多组程序来验证程序的正确性
四、代码转换
1.实验目的
(1)掌握代码转换的方法
(2)进一步熟悉51单片机指令系统
2.实验内容
(1)将内部RAM中30H~37H单元的16个拼装4位二进制数0~F转换成ASCⅡ码,并存入内部数据RAM以40H为首地址的区域中。
例如:转换前:地址:30H 31H 32H 33H 34H 35H 36H 37H
数据:01H 23H 45H 67H 89H 0ABH 0CDH 0EFH 转换后:
地址:40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH 数据:30H 31H 32H 33H 34H 35H 36H 37H 38H 39H 41H 42H 43H 44H 45H 46H
(2)将R0中的8位二进制数转换成3位BCD码,结果存入外部RAM的1002H~1000H(从高位到低位)单元中
例如:地址:R0 执行后:1002H 1001H 1000H
数据:81H 01 02 09
五、逻辑运算和位操作
1.实验目的
(1)掌握位操作指令
(2)掌握字节逻辑运算和位逻辑运算的区别
2.实验内容
(1)有布尔表达式为Y=A(B+/C)+D(E+/F)
•设A为累加器ACC,B为寄存器B,C为R0,D为R1,E为R2,F为R3,Y 为R7。
编程实现并调试。
•设A为P1.0,B为P1.4,C为TF1,D、E、F分别为20H.0、20H.3和20H.5,Y为P1.5。
编程实现并调试。
(2)读程序:先自己人工读程序,看看程序执行完成后,各单元的变化,再通过编程调试来验证。
MOV R0,20H
MOV A,#21H
MOV @R0,A
POP 30H
PUSH 22H
CPL C
MOV 20H,C
注:第一、二大题为必做题。