- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南昌大学实验报告
学生姓名: 学号: 专业班级:
实验类型:? 验证 ? 综合 ?设计 ? 创新 实验日期: 2019.4.16 实验成绩:
实验二 单片机I/O口实验
(一)实验目的
掌握单片机最小系统的构成,学习如何控制I/O口来驱动发光二极管,掌握移位和软件延时程序的编写。
熟练掌握STC型开发板的使用方法和注意事项。
掌握应用STC_ISP烧录过程;
(二)设计要求
利用51单片机及4个LED发光二极管,设计一个单片机流水灯程序,P4.7 /P4.6/ P1.6/ P1.7 来演示跑马灯。其中流水灯的变化形式多样。
(三)实验原理
STC实验箱单片机型号为IAP15W4K32S4-Student,其在线编程与在线仿真可由Keil uVision4集成开发环境和STC系列单片机在线可编程(ISP)电路实现:
设置STC仿真器:运行STC-ISP在线编程软件,选择“keil 仿真设置”选项,如图1所示,单击“添加型号和头文件到keil中/ 添加STC仿真器驱动到keil中”,弹出“浏览文件夹”对话框,在浏览文件夹中选择keil的安装目录,单击“确定”按钮即完成添加。根据所用芯片,单击“将IAP15W4K32S4-Student设置为仿真芯片”。
图1
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
STC15单击串口TTL电平通信模块结构如图4所示,P1.6、P1.7、P4.6、P4.7所连接的LED灯为共阳极LED,控制对应I/O口为低电平即可点亮LED。
图4
延时程序:本实验中通过利用DJNZ减1非零转移指令来实现循环结构,利用NOP空操作指令实现延时。
(四)实验设备
STC实验箱,PC机,Keil uVision4,STC-ISP软件
(五)实验结果
四个LED灯循环依次点亮后熄灭,闪烁时间为1 S,呈现流水形式的灯。
(六)结果讨论与心得体会
程序的编辑、编译与下载是单片机应用系统开发过程中不可或缺的工作流程。Keil C集成开发环境除程序编辑、编译功能外,还具备程序调试功能,可对单片机内部资源(包括存储器、并行I/O端口、定时\计数器、中断系统与串行口等)进行仿真,可采用全速运行、单步、跟踪、执行到光标或断点等程序运行模式来调试用户程序,与STC单片机ISP下载软件。
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
文档评论(0)