单片机实验报告二 单片机IO口实验

单片机实验报告二 单片机IO口实验

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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信