单片机实验指导
更新时间:2024-03-09 19:22:01 阅读量: 综合文库 文档下载
实验一 跑马灯实验 一、实验目的与要求 熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。 熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。 二、实验设备 STAR系列实验仪一套、PC机一台 三、实验内容 1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。 2、照接线图编写程序:使用P1口控制F5区的8个指示灯,循环点亮,瞬间只有一个灯亮。 2、观察实验结果,验证程序是否正确。 四、实验原理图 U421234567891011121314151617181920P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST(RXD)P3.0(TXD)P3.1(INT0)P3.2(INT1)P3.3(T0)P3.4(T1)P3.5(WR)P3.6(RD)P3.7XTAL2XTAL1GND89C52VccP0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VppALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)P2.2(A10)P2.1(A9)P2.0(A8)4039383736353433323130292827262524232221510510510510510510510510DS42DS41DS40DS39DS38DS37DS36DS3587654321VCC五、实验步骤 1、连线说明: A3区:JP51 —— F5区:JP65 2、编写程序或运行参考程序。 3、实验结果:通过F5区的LED指示灯(8个指示灯轮流点亮),观察实验的输出结果是否正确。 六、演示程序 ORG 0000H LJMP START ORG 0100H START: MOV SP,#60H MOV A,#0FFH CLR C R118R117R116R115R114R113R112R111
START1: RLC A MOV P1,A
ACALL Delay
SJMP START1 Delay: MOV R5,#2 ;延时 Delay1: MOV R6,#0 Delay2: MOV R7,#0 DJNZ R7,$ DJNZ R6,Delay2 DJNZ R5,Delay1 RET END
如果读者使用星研集成环境软件,请考虑以下问题? 1、运行程序前,打开变量窗;
2、使用单步进入命令,运行到第六行后,运行过程中变量窗有何变化?将鼠标停留在A、SP上一秒后,出现什么?,它与变量窗使用场合的区别?
3、第九行是调用延时子程序,如何进入延时子程序(使用单步进入命令)?如何将延时子程序一下子运行完毕(使用单步命令;也可以将光标移到下一行,使用运行到光标处命令;)?单步进入命令与单步命令有何区别?
4、运行几次后,在第十行设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区别?
5、Delay是一个延时子程序,改变延时常数,使用全速运行命令,显示发生了什么变化?
6、观察寄存器,有哪几种方法?
1)在工作区窗的通用寄存器标签视中; 2)变量窗
3)鼠标停留在寄存器上 4)观察窗 5)寄存器窗
实验二 数据传送(RAM–>XRAM)
一、实验目的
熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。 熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。
二、实验内容
1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。 2、编写程序,实现内外部数据段的传送、校验。 三、程序框图
开始 堆栈指针初始化计数器、地址初始化内部RAM数据传送外部RAM一次地址指针+1 计数器-1=0?Y计数器、地址指针复位传送错误结束数据传送程序框图N取内部RAM和对应的外部RAMN比较是否相等Y地址指针+1 计数器-1=0?Y传送正确N
四、实验步骤
在内部RAM 30H ~3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM的1000H ~100FH中的内容。熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
五、程序清单 ;将内部RAM Address1 开始的16个字节送到外部RAM从Address2开始的单元里,再作比较。 Address1 DATA 30H Address2 XDATA 1000H ORG 0000H LJMP STAR ORG 0100H STAR: MOV SP,#60H MOV R0,#Address1
MOV DPTR,#Address2 MOV R7,#10H STAR1: MOV A,@R0 ;传送 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,STAR1 MOV R0,#Address1 MOV DPTR,#Address2 MOV R7,#10H STAR2: MOV B,@R0 ;比较 MOVX A,@DPTR CJNE A,B,STAR3 INC R0 INC DPTR DJNZ R7,STAR2 SJMP $ ;传送正确 STAR3: SJMP $ ;传送错误 END
如果读者使用星研集成环境软件,请考虑以下问题:
1、运行程序前,打开变量窗、二个存贮器窗(一个选择片内数据;一个选择片外数据,起始地址选择1000H),每个存贮器窗有四个标签,有何好处?;
2、使用单步进入命令,运行到第十四行后,运行过程中变量窗有何变化?将鼠标停留在A、SP、@R0、@DPTR上一秒后,出现什么?,它与变量窗使用场合的区别?
3、将光标移到第十四行上,使用运行到光标处命令,观察运行结果,体会它与单步进入命令的不同处。
4、在二十行上,设置一个断点,使用全速断点命令运行几次,观察运行结果,它与运行到光标处命令有何区别?
5、使用全速运行命令,稍后,点击工具条上停止运行命令按钮,当前执行箭头停在哪一行?运行结果是否正确?它与全速断点运行命令有何区别? 6、观察寄存器,有哪几种方法?
1)在工作区窗的通用寄存器标签视中; 2)变量窗
3)鼠标停留在寄存器上
4)观察窗 5)寄存器窗
7、查看CPU内部数据RAM、CPU片外数据RAM: 1)存贮器窗 2)变量窗
3)鼠标停留在CPU内部数据RAM、CPU片外数据RAM的地址、@R0、@DPTR上 六、思考题
编写一个程序,将外部数据RAM中的数据传送到内部数据RAM中。
实验三 双字节BCD码(十进制数)加法
一、实验目的
熟悉51汇编指令,学会使用星研集成环境软件,能自己编写简单的程序,熟悉BCD码,了解如何调用系统提供的子程序。
二、实验内容
从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数码管上;熟悉使用断点、单步进入、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
三、实验框图
开始初始化堆栈设定\键输入\通过键盘获得4位被加数(压缩BCD码)置位\后才清除LED\通过键盘获得4位加数(压缩BCD码)被加数与加数的低位字节不带进位加法十进制调整被加数与加数的高位字节带进位加法十进制调整压缩BCD码(结果)转换为非压缩BCD码高位0消隐显示结果双字节BCD加法程序框图
四、实验步骤
1、连线说明:
D3区 :CLK D3区 :CS D3区 :A0 —— B2区:2M —— A3区:CS5 —— A3区:A0 2、在F4区的键盘上输入4位被加数、加数
3、结果显示在F4区的数码管上
五、程序清单 EXTRN
Buffer F1
CODE(Display8, GetBCDKey) DATA 30H BIT 0D1H
;8字节显示缓冲区 ;PSW.1
ORG 0000H LJMP START ORG 0100H START: MOV SP,#60H CLR F1 ;先清除显示,再接收键输入 START1: MOV R0,#buffer MOV A,#4 ;按键次数 LCALL GetBCDKey ;得到双字节十进制数(被加数) SETB F1 ;接收到第一个键,才清除显示 MOV R0,#buffer+4 MOV A,#4 ;按键次数 LCALL GetBCDKey ;得到双字节十进制数(加数) MOV A,buffer+1 ADD A,buffer+5 DA A MOV buffer+5,A MOV A,buffer ADDC A,buffer+4 DA A MOV buffer+4,A CLR A RLC A Display: PUSH ACC ;显示结果 MOV R0,#buffer MOV A,buffer+5 ;低位 ACALL B1toB2 ;压缩BCD码转换成非压缩BCD码 MOV A,buffer+4 ;高位 ACALL B1toB2 POP ACC ;进位 ACALL B1toB2 MOV @R0,#10H ;最高二位消隐 INC R0 MOV @R0,#10H MOV R0,#buffer+5 MOV R7,#5 ACALL BlackDisplay ;将高位0消隐 MOV R0,#buffer LCALL Display8 SJMP START1 ;将一个字节压缩BCD码转换成二个字节非压缩BCD码 B1toB2: PUSH ACC ANL A,#0FH MOV @R0,A
INC POP ANL SWAP MOV INC
RET BlackDisplay: MOV JNZ MOV MOV DEC
DJNZ Exit: RET END
R0 ACC A,#0F0H A @R0,A R0
A,@R0 ;将高位0消隐 Exit A,#10H @R0,A R0
R7,BlackDisplay
实验四 8255控制交通灯实验 一、实验目的与要求 1、 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。 2、 熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。 3、 认真预习本节实验内容,尝试自行编写程序,填写实验报告。 二、实验设备 STAR系列实验仪一套、PC机一台 三、实验内容 1、编写程序:使用8255的PA0..2、PA5..7控制LED指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。 四、实验原理图 VCC510U36D0D1D2D3D4D5D6D7RDWR343332313029282753698356D0D1D2D3D4D5D6D7RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7825543214039383718192021222324251415161713121110PC0PC1PC2PC3PC4PC5PC6PC7510R111R11212345678DS35DS36DS37DS38DS39DS40DS41DS42510R113510R114510R115510R116510R117510R118A0A0A1A1CS1(0F000H)CSRST 五、实验步骤 1、连线说明: B4区:CS、A0、A1 —— A3区:CS1、A0、A1 F5区:JP65 B4区:JP56(PA口) —— 2、观察实验结果,是否能看到模拟的交通灯控制过程。
六、演示程序
COM_ADD PA_ADD PB_ADD PC_ADD
STAR:
START1:
START2:
START3:
XDATA 0F003H XDATA 0F000H XDATA 0F001H XDATA 0F002H ORG 0000H LJMP STAR ORG 0100H MOV SP,#60H
MOV DPTR,#COM_ADD MOV A,#80H MOVX @DPTR,A
MOV DPTR,#PA_ADD MOV A,#0FFH MOVX @DPTR,A MOV A,#37H MOVC A,@A+PC MOVX @DPTR,A ACALL DL5S MOV R4,#6 MOV A,#30H MOVC A,@A+PC MOVX @DPTR,A ACALL DL500ms MOV A,#29H MOVC A,@A+PC MOVX @DPTR,A ACALL DL500ms DJNZ R4,START2 MOV A,#23H MOVC A,@A+PC MOVX @DPTR,A ACALL DL3S MOV A,#1EH MOVC A,@A+PC MOVX @DPTR,A ACALL DL5S MOV R4,#6 MOV A,#17H MOVC A,@A+PC MOVX @DPTR,A ACALL DL500ms MOV A,#10H
;PA、PB、PC为基本输出模式
;灯全熄灭
;东西绿灯,南北红灯
;东西绿灯闪烁,南北红灯
;东西黄灯亮,南北红灯
;东西红灯,南北绿灯
;东西红灯,南北绿灯闪烁
MOVC A,@A+PC MOVX @DPTR,A ACALL DL500ms DJNZ
R4,START3 MOV A,#0AH MOVC A,@A+PC MOVX @DPTR,A ACALL DL3S SJMP START1 DB 01111110B DB 11111110B DB 10111110B DB 11011011B DB 11011111B
DB 11011101B DL500ms: MOV R5,#25 DL500ms1: MOV R6,#100 DL500ms2: MOV R7,#100 DJNZ R7,$
DJNZ R6,DL500ms2 DJNZ R5,DL500ms1
RET
DL3S: MOV R4,#6 DL3S1: LCALL DL500ms DJNZ
R4,DL5S1
RET
DL5S: MOV R4,#10 DL5S1: LCALL DL500ms DJNZ
R4,DL5S1 RET
END
七、实验扩展及思考
1、如何对8255的PC口进行位操作?
;东西红灯,南北黄灯亮
;东西绿灯,南北红灯 ;东西绿灯闪烁,南北红灯 ;东西黄灯亮,南北红灯 ;东西红灯,南北绿灯 ;东西红灯,南北绿灯闪烁 ;东西红灯,南北黄灯亮
正在阅读:
单片机实验指导03-09
二副面试问题及答案02-28
指数方程与对数方程12-17
针织品设计12-06
环境监测 第四章 - 室内空气污染监测 - 习题参考答案10-04
学习委员工作总结汇编15篇03-26
凌云县突发公共事件总体应急预案04-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 指导
- 实验
- 基本技能测试题库
- 称重传感器四角标定五柱式液压驱动加载机设计
- 1-汽车修理工职业培训包模拟仿真试题册
- 在秘书长办公室主任会议上的讲话稿
- 我的家乡哈尔滨小学生作文-推荐word版(2页)
- 标志中色彩的运用 - 图文
- 2019届广东省东莞市高二(下)期末物理试卷(A卷) Word版含解析
- 跨国公司的成功之道课程论文
- 心理学统考章节练习及答案 - 第六章-记忆
- 材科试卷及答案
- 数字图书馆
- 上海市中小学特殊学生随班就读个别化教学计划一
- 中央电大《数控机床电气控制》期末复习指导2011.1
- 奶茶行业市场分析
- 最新2018刘少奇故居导游词-范文模板(5页)
- 最新人教版新人教版小学数学二年级上册第6单
- 人教版第十三章轴对称练习题
- 城市门户形象的景观塑造
- RCS985发变组保护装置常规调试方法及投运注意事项
- 炉温曲线制作规范 - 图文