单片机原理及应1.docx
- 文档编号:17012953
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:15
- 大小:121.81KB
单片机原理及应1.docx
《单片机原理及应1.docx》由会员分享,可在线阅读,更多相关《单片机原理及应1.docx(15页珍藏版)》请在冰点文库上搜索。
单片机原理及应1
《单片机原理及应用》实验指导
控制技术实验室
实验一熟悉Keilc51集成开发环境及常用指令实验
(2课时,验证型)
一、实验目的
1)了解8051典型应用系统的开发过程,熟悉KeilC51集成开发环境。
2) 掌握单步执行程序,查看专用寄存器和单片机RAM的执行结果。
3) 掌握8051的寻址方式及常用指令的使用方法。
二、实验内容
1) 基本指令练习。
2) 数据传送(循环方式)。
3) 位操作指令。
4) 8051内部RAM的40H~4FH置初值A0H~AFH,然后将40H~4FH的内容传送到外部RAM中的C000H~C00FH单元,再把外部数据RAM中的C000H~C00FH单元的内容传送到8051内部RAM中的50H~5FH单元。
5) 调试下列程序,熟悉程序调试手段,观测程序运行结果。
ORG0000H
SJMP MAIN
ORG0030H
MAIN:
MOV SP,#6FH
MOVR0,#40H
MOV R1,#30H
MOV 30H,#40H
MOV A,#40H
MOV @R0,A;哪一个存储单元的内容与A中内容相等
INC A
MOV A,@R1;A中的内容?
哪一个存储单元的内容传给A
PUSH ACC
POP 32H ;SP指针的变化?
32H中的内容
MOV A,#5FH
SWAP A ;A中的内容
;上面程序为顺序执行的程序
XUNHUAN1:
MOV R0,#30H
MOV R7,#10H
CLR A ;这3条指令的作用
LOOP1:
MOV @R0,A
INC A
INC R0
DJNZ R7,LOOP1 ;R7的作用
;循环程序执行完之后,指出32H,37H,3BH,3FH存储单元中的值,为什么?
XUNHUAN2:
MOV R0,#30H
MOV R1,#40H
MOV R2,#10H
LOOP2:
MOVA,@R0
MOV @R1,A
DJNZ R2,LOOP2;说明这段程序的功能
;上面程序为2个循环程序
;下面为2个数比较程序,最大值存放在30H,最小值存放在31H中
PANDUAN1:
MOV 30H,#10H
MOV 31H,#4BH
MOV R0,#30H
MOV R1,#31H
PAN0:
MOV A,@R0
CLR C
SUBB A,@R1
JNC PAN1
MOV A,@R0
MOV 40H,@R1
MOV @R0,40H
MOV @R1,A
PAN1:
NOP ;注意能不能继续往下运行,为什么
END
三、实验步骤
1) 启动计算机。
2) 进入KeilC51集成开发环境。
3) 建立工程项目文件,选择单片机型号:
PHILIPS公司的P80/P87C52X2。
4) 在KeilC51集成开发环境中,编辑源程序;将源文件添加至工程项目的源文件组中。
5) 对源文件进行编译,生成目标代码。
6) 运行、调试程序和查看执行结果。
7) 分别采用单步、宏单步、执行到光标处等调试手段,调试用户程序,观察有关存储器单元中的内容。
8) 修改有关单元中的内容,再观察有关单元中的内容。
四、思考题
1) 说明每段程序分别完成哪些任务。
2) 若比较程序为3个数比较,数据从大到小排列,最大值放在30H,最小值放在32H。
如果是16个数排序,如何排序,提出编程思路。
五、预习要求
1) 阅读教科书中8051的指令系统,重点掌握的指令有数据传送、判断跳转指令的使用方法。
2) 阅读KeilC51集成开发软件说明书,掌握集成开发软件的进入、退出、源文件的编辑和编译等方法。
熟悉各种调试手段。
六、实验报告
1) 将程序加上注释语句,写出程序执行的结果。
2) 回答思考题(第2题的第2个问题选作)。
实验二8051程序设计实验
(3课时,设计型)
一、实验目的
1)掌握8051汇编语言程序设计基本方法。
2) 掌握8051汇编语言程序的调试方法。
二、实验内容
1) 完成二字节加法程序的设计与调试。
要求:
加数首地址由R0指出,被加数和结果的存贮单元首地址由R1指出,字节数由R2指出,地址可以任意指定。
2) 完成2个存储单元中的四位BCD码十进制数拆分为4个存储单元的四位BCD码十进制数,如下图所示:
要求:
将30H、31H中四位BCD码十进制数拆分为4个存储单元的四位BCD码十进制数,分别存放在40H(个位),41H(十位),42H(百位),43H(千位)中。
或者由R0指出四位BCD码十进制数存放个位和十位的首地址,R1指出拆分后4个存储单元的四位BCD码十进制数的个位首地址。
三、实验步骤
1) 针对2个实验内容提出的要求设计相应的程序。
2) 写出实验步骤及调试方法。
四、预习要求
1) 阅读教科书中8051的指令系统及程序的设计方法,重点掌握算术运算,转移等指令。
2) 熟悉KeilC51开发环境,重点掌握连续运行程序的方法和设置断点运行程序的方法。
3) 写出预习报告。
五、思考题
如何将8位二进制数转换为BCD码十进制数以及双字节二进制数转换成BCD码?
六、实验报告
1) 写出实验步骤及调试方法。
2) 整理好执行正确的程序和数据。
3) 对思考题提出自己的基本思路。
实验三中断、定时器与I/O口控制实验
(3课时,设计型)
一、实验目的
1) 掌握定时/计数器计数初值的计算和中断初始化程序的设计。
2) 掌握定时/计数器的工作于各种方式的编程方法。
3) 掌握定时/计数器中断的编程方法。
4) 掌握KeilC51集成开发环境在硬件仿真条件下各参数的设置。
二、实验电路
可以应用P1口控制8个LED的显示。
三、实验内容
控制连接在P1口上的八个发光二极管循环闪亮(“走马灯”显示)。
各发光二极管的闪亮的时间间隔为1秒钟。
要求:
1) 选择定时器T0工作方式为方式1,且工作于定时方式;采用定时器中断方式产生50ms定时,使连接在P1口的八个发光二极管循环闪亮。
2) 使用定时/计数器串联的方式产生1秒钟的定时时间。
a) 使T0工作于定时方式(产生50ms定时),在T0中断服务程序中,控制单片机引脚P3.2产生100ms的方波,并将此方波信号作为T1的计数脉冲。
b) 使T1工作于计数方式(计数10次,正好1秒);并在T1计数溢出后控制P1口的八个发光二极管循环闪亮。
四、实验准备
1)根据要求连接实验电路,分析二极管闪亮的条件。
2)根据实验任务设计出相应的程序。
3)写出实验步骤和方法。
五、实验设备
1) DP-51RPO型单片机综合仿真实验仪。
2) 计算机。
六、预习要求
1) 熟悉定时器/计数器的基本结构和工作过程;熟悉有关定时器/计数器的工作方式和定时/计数器中断服务程序的设计方法。
2) 熟悉KeilC51集成开发环境中硬件仿真的要求和特点,掌握连续运行程序的方法。
3) 计算定时器/计数器时间常数。
4) 写出预习报告。
七、思考题
1) 修改T0定时时间参数,T1计数初始参数,观看二极管闪亮的速度变化。
2) 定时器工作于方式1,方式2时其最大定时时间是多少(设单片机的晶振为11.0592MHZ)。
八、实验报告
1) 写出设计思路。
2) 整理好执行正确的程序和数据。
3) 回答思考题。
实验四扩展并行接口8155实验
(3课时,设计型)
一、实验目的
1) 掌握8051单片机与8155的接口方法。
2) 掌握Keilc51集成开发环境在硬件仿真条件下各参数的设置。
3) 掌握软件延时和定时器中断的编程方法。
4) 熟悉软件延时和定时器中断的编程方法。
二、实验设备
1) DP-51RPO型单片机综合仿真实验仪。
2) 联想奔月2000计算机。
三、实验内容
根据实验电路图接线,计算相应电路中并行接口8155的端口地址;编写相应的汇编程序,控制连接在8155芯片PA口上的发光二极管循环闪亮(及“走马灯”显示),循环闪亮的时间间隔为50ms和1s。
四、实验参考电路
五、实验步骤
1) 根据实验电路原理图连接实验电路。
2) 计算8155的端口地址,根据要求计算8155的控制字。
3) 选择定时/计数器和它的工作方式,计算定时/计数器的计数初值。
4) 根据要求编写实验程序,并调试。
六、预习要求
1) 认真阅读8155的数据手册。
2) 计算8155的端口地址,根据要求计算8155的控制字。
3) 当定时时间超过一个定时/计数器所能定时的范围时,采取什么方式?
程序如何编制?
七、思考题
当改变8155的片选端和IO/M端与8051的连接时,程序该如何设计?
实验五并行A/D转换实验
(3课时,综合型)
一、实验目的
1)掌握并行A/D芯片ADC0809与单片机的接口方法。
2) 了解ADC0809芯片性能。
3) 通过实验了解单片机实现数据采集的方法。
二、实验设备
1) P-51RPO型单片机综合仿真实验仪。
2) 联想奔月2000计算机。
三、实验内容
利用实验系统上的ADC0809做A/D转换器,实验系统上的电位器提供模拟量的输入,编写程序,将模拟量转换成数字量,并通过连接在单片机P1口上的8个发光二极管显示相应的数字量。
四、实验参考电路
五、实验步骤
1) 使用导线将CLK与B2区的1/32分频相连。
2) 根据本实验的要求编写汇编语言程序和C语言程序。
3) 记录并分析实验现象。
六、实验预习
理解本实验的硬件结构,编写实验程序,并在KeilC51环境下进行硬件仿真。
七、思考题
A/D转换器将模拟量转换成数字量后,通过连接8155的PA口上的8各发光二极管显示相应数字量时,硬件该怎样设计,程序怎样编写?
实验六并行D/A转换实验
(3课时,设计型)
一、实验目的
掌握并行D/A芯片DAC0832与单片机的接口方法及DAC0832芯片的性能,了解单片机系统中扩展D/A芯片的基本方法。
二、实验设备
1) P-51RPO型单片机综合仿真实验仪。
2) 联想奔月2000计算机。
三、实验内容
利用实验系统上的DAC0832做D/A转换器,编写程序,使用查表的方法使单片机控制DAC0832产生一个电压值在0~5V之间的正弦波。
四、实验参考电路
五、实验步骤
编程实验程序,使用查表法,使单片机控制DAC0832产生一个正弦波,并用示波器观察波形。
六、预习要求
理解本实验的硬件结构,将汇编语言程序和C语言程序先编好,并在KeilC51环境下进行软件仿真。
七、思考题
如果要产生方波,三角波,锯齿波时,程序该如何编写。
实验七图形液晶的显示实验
(3课时,设计型)
一、实验目的
了解图形液晶模块的控制方法,实现汉字和数字显示。
二、实验设备
1) P-51RPO型单片机综合仿真实验仪。
2) 联想奔月2000计算机。
三、实验内容
将学生的系别、班级、姓名等在液晶模块上显示出来。
四、实验参考连接图
五、实验步骤
1) 计算显示地址,及显示的位置。
2) 建立需显示内容的数据表,用查表方法将显示内容在LCD上显示出来。
六、实验预习
1) 建立汉字字库表。
2) 计算显示地址。
七、思考题
如何将显示的内容平行移位?
实验八点阵LED的显示实验
(3课时,综合型)
一、实验目的
了解点阵LED的控制方法,实现图形和数字显示。
二、实验设备
1)P-51RPO型单片机综合仿真实验仪。
2) 联想奔月2000计算机。
三、实验内容
将简单图形和数字在点阵LED上显示出来。
一、实验参考连接图
二、实验步骤
建立需要显示内容的数据表,运用查表法将需显示的内容在8×8LED上显示出来。
三、预习要求
1) 建立图形和数字的数据表。
2) 计算显示端口地址。
四、思考题
如何将显示的内容平行、垂直移位。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理