单片机实验报告二 单片机IO口实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
学生姓名:学号:专业班级:
实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019.4.16 实验成绩:
实验二单片机I/O口实验
(一)实验目的
1.掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时
程序的编写。
2.熟练掌握STC型开发板的使用方法和注意事项。
3.掌握应用STC_ISP烧录过程;
(二)设计要求
利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。其中流水灯的变化形式多样。
(三)实验原理
STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现:
1.设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1
所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏
览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添
加。根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。
图1
2.Keil uVision4环境设置:选择菜单命令Project →Options for Target →Debug,选中
“STC Monitor-51 Driver”,勾选“Load Application at Startup”选项和“Run to main()”
选项,如图2所示。单击图2右上角的“settings”按钮,弹出硬件参数设置对话框,如
图2所示,根据仿真电路所使用的串口号(本机所用为串口5)选择串口端口,如图3
所示:
图2
图3
3.STC15单击串口TTL电平通信模块结构如图4所示,P1.6、P1.7、P
4.6、P4.7所连接的
LED灯为共阳极LED,控制对应I/O口为低电平即可点亮LED。
图4
4.延时程序:本实验中通过利用DJNZ减1非零转移指令来实现循环结构,利用NOP空
操作指令实现延时。
(四)实验设备
STC实验箱,PC机,Keil uVision4,STC-ISP软件
(五)实验结果
四个LED灯循环依次点亮后熄灭,闪烁时间为1 S,呈现流水形式的灯。
(六)结果讨论与心得体会
1.程序的编辑、编译与下载是单片机应用系统开发过程中不可或缺的工作流程。Keil C集
成开发环境除程序编辑、编译功能外,还具备程序调试功能,可对单片机内部资源(包
括存储器、并行I/O端口、定时\计数器、中断系统与串行口等)进行仿真,可采用全
速运行、单步、跟踪、执行到光标或断点等程序运行模式来调试用户程序,与STC单
片机ISP下载软件。
2.CPU循环执行一段程序,通过选择指令或安排循环次数以实现软件定时。软件定时完
全占用CPU,增加CPU开销,降低CPU的工作效率,因此软件定时的时间不宜太长。
仅适用于CPU较空闲的程序中使用。
(七)附录:实验源代码
P4 DATA 0C0H
P1M1 DATA 091H
P1M0 DATA 092H
P4M1 DATA 0b3H
P4M0 DATA 0b4H
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
LCALL GPIO
MOV R3, #200
MOV R4, #100
CLR P1.7
LCALL DELAY
SETB P1.7
CLR P1.6
LCALL DELAY
SETB P1.6
CLR P4.7
LCALL DELAY
SETB P4.7
CLR P4.6
LCALL DELAY
SETB P4.6
LJMP MAIN
GPIO:
MOV P1M0,#0
MOV P1M1,#0
MOV P4M0,#0
MOV P4M1,#0
RET
DELAY:
MOV R5,#100
DELAY1:
NOP
NOP
DJNZ R5,DELAY1
DJNZ R3,DELAY
DJNZ R4,DELAY //@12MHz
RET
END