2023年7月14日发(作者:)
南昌大学实验报告
学生姓名: 学号: 专业班级:
实验类型:⃞ 验证
⃞
综合
⃞设计
⃞
创新 实验日期: 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、P4.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
DELAY1:
NOP
NOP
DJNZ
DJNZ
DJNZ
RET
END
R5,#100
R5,DELAY1
R3,DELAY
R4,DELAY //@12MHz
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689331829a231154.html
评论列表(0条)