《单片机系统设计技术》实验指导
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机系统设计技术》
实验指导书
适用专业: 电气、自动化、信息等
编写单位: 电气信息学院
编写人: 曹 林
审核人:
审批人:
批准时间:年月日
目 录
实验1 IO控制LED流水灯实验 (3)
实验2 IO控制数码管动态扫描实验 (5)
实验3 外部中断实验 (8)
实验4 定时器应用控制实验 (10)
实验5 UART实验 (12)
实验6 键盘扫描输入编程 (14)
实验7 UART与PC对话实验 (17)
实验8 ADC数据采集实验 (19)
实验1 IO控制LED流水灯实验
1.实验目的
1)、熟悉KEIL编程环境和调试环境。
2)、掌握单片机汇编语言和指令的用法。
3)、理解简单的IO控制程序,延迟子程序,并对其修改,使其功能改变。
2.实验设备
硬件: PC 机,单片机教学实验开发平台;
软件: KEIL集成开发环境、STC ISP程序下载软件。
3.实验内容
使用P0口控制8个LED 进行流水灯显示。
4.实验预习要求和实验准备要求
预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。
预习汇编程序编写、MCS-51指令表。
带上教科书、U盘、具备二进制和十六进制转换的科学计算器。
5.实验原理和步骤
1)实验原理
(1)实验原理图
图1 P0口连接的8盏LED灯
从图1中可以看出:如果需要把LED点亮有两个条件,其一是需要用短接帽把J1的2脚和3脚短接,在PCB上就是将电路板左上角LED和VCC短接起来;其二是P0.X口给出低电平,让电流从VCC开始流经限流电阻、LED后进入单片机的P0.X口,最后到单片机内部的地线上。因此,简单地说就是在短接帽接好的前提下,向P0.X口写0则LED将点亮,写1则LED将熄灭。图中网络标识PORT0_0、PORT0_1……PORT0_7和单片机P0.0、P0.1……P0.7连接,可观察原理图上单片机P0口的网络标识也是PORT0_0、
PORT0_1……PORT0_7。
2)实验步骤
(1)启动KEIL集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。
(2)参考提供的源程序,仔细检查编写好的汇编语言源程序,参考《KEIL使用方法》完成编译和调试工作。
(3)参考《STC单片机程序下载方法》下载编译完毕的HEX文件
6.实验参考程序
见文件夹 “test\ 01 LED流水灯”内Uv2工程文件和相关汇编文件
7.思考和日积月累
(1) 描述一种新的流水灯花样,记录下花样特点,并编写出实现这种流水灯花样的程序。
(2) ORG 0000H在程序中起到了什么作用?
(3) MOV P0,#0FH对应的机器码是多少?
(4) P0、P1、P2、P3口分别对应的特殊寄存器字节地址是多少?位地址是多少?
(5) 如何计算循环延迟程序的准确延迟时间?如何对延迟程序进行仿真?写出6MHz 下1秒的延迟子程序。
(6)在互联网上搜索INTEL HEX文件的格式信息,结合KEIL编译提示信息中CODE=XXX 的信息,思考为什么XXX表示的大小和HEX文件大小不一样。
8.实验报告书写要求
(1)统一采用黑色墨水填写实验报告。
(2)采用理工类实验报告,每个同学一份报告。
(3)填写实验过程中完成的源程序并做好相关代码的注释。
(4)完成本指导书第7点“思考和日积月累”的内容要求。
实验2 IO控制数码管动态扫描实验
1.实验目的
1)、熟悉KEIL编程环境和调试环境。
2)、掌握单片机汇编语言和指令的用法。
3)、理解简单的IO控制程序,延迟子程序,LED数码管动态扫描程序,并对其修改,使其功能改变。
2.实验设备
硬件: PC 机,单片机教学实验开发平台;
软件: KEIL集成开发环境、STC ISP程序下载软件。
3.实验内容
使用P0口和P2口控制4个LED 数码管进行流水灯显示。
4.实验预习要求和实验准备要求
预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。
预习汇编程序编写、MCS-51指令表。
带上教科书、U盘、具备二进制和十六进制转换的科学计算器。
5.实验原理和步骤
1)实验原理
(1)实验原理图
图1 P0口和P2口连接的4个LED数码管
图2 5461BS内部接线原理图
从图1中可以看出:如果需要把LED数码管点亮有三个条件,其一是需要用短接帽把J5的1脚和2脚短接,在PCB上就是将电路板左上角DIG和VCC短接起来;其二是数码管采用共阳方式连接,P0口给出低电平,让PNP三极管9015导通,同时P2口给出低电平让电流通过9015后,流入数码管内部的LED灯,然后从负端流出进入单片机。因此,简单地说就是在短接帽接好的前提下,向P0低4位口写0,且P2口输出0,则数码管内部对应LED将被点亮。
2)实验步骤
(1)启动KEIL集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。
(2)参考提供的源程序,仔细检查编写好的汇编语言源程序,参考《KEIL使用方法》完成编译和调试工作。
(3)参考《STC单片机程序下载方法》下载编译完毕的HEX文件
6.实验参考程序
见文件夹 “test\ 02 LED数码管”内Uv2工程文件和相关汇编文件
7.思考和日积月累
(1)修改循环延迟程序,观察LED数码管扫描的变化过程。
(2)如果让LED数码管显示其他字符,写出这些你觉得可以显示的字符,并且写出它们的7段码编码信息。
(3)在互联网上搜索人眼视觉暂留时间。根据实际观察,你觉得让眼睛感觉不到LED 数码管闪烁,这个时间应该调节到多少比较合适?
8.实验报告书写要求
(1)统一采用黑色墨水填写实验报告。
(2)采用理工类实验报告,每个同学一份报告。