红绿灯控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

昆明理工大学信息工程与自动化学院学生实验报告

(20 16—2017学年第二学期)

课程名称:嵌入式系统在生医中的应用开课实验室:信自111

实验日期:2017.5.9

一、实验内容、原理

主体电路红绿灯自动控制模块。本电路利用单片机的P3.2,P3.3,P3.4作为输出口,分别控制红、黄、绿三个灯亮的顺序及时间,红灯亮4秒,黄灯亮1秒,绿灯亮5秒,重复执行。

二、相关知识

1、芯片STC8951

AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。主要特性:与MCS-51 兼容,4K字节可编程FLASH存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24MHz,三级程序存储器锁定128×8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。

2、单片机I/O端口

(1)特点

锁存器加引脚结构。I/O复用结构:P0口作并行扩展时为三态双向口;P3口为功能复用I/O口,由内部控制端控制。准双向结构:P0-P3口作普通I/O口使用时均为准双向口,典型结构如P1口。输入时读引脚,输出时为写锁存器。(2) I/O端口应用特性

端口的自动识别:P0、P2总线复用、P3功能复用,内部资源自动选择。端口锁

存器的读、改、写操作:都是一些逻辑运算、置位/清除、条件转移等指令。读引脚的操作指令:I/O端口被指定为源操作数即为读引脚操作。例如,执行“MOV A,P1”时,P1口的引脚状态传送到累加器中;而相对应的“MOV P0, A”指令则是将累加器的内容传送到P1口锁存器中。准双向口的使用:端口作输入时,读入时应先对端口置“1”,然后再读引脚。P0口作普通口使用;此时必须加上拉电阻。I/O驱动特性:P0口可驱动8个LSTTL输入端,P1-P3口可驱动4个LSTTL 输入端。

三、程序设计及说明

1、主程序

ORG 0000H ;以下程序从0单元开始

AJMP MAIN

ORG 0030H

MAIN:

clr p3.2 ;红灯亮4秒

setb p3.3 ;黄灯不亮

setb p3.4 ;绿灯不亮

lcall delay1s ;延时1秒

lcall delay1s ;延时1秒

lcall delay1s;延时1秒

lcall delay1s ;延时1秒

setb p3.2 ;红灯不亮

clr p3.3 ;黄灯亮1秒

setb p3.4 ;绿灯不亮

lcall Delay1s ;延时1秒

setb p3.2 ;红灯不亮

setb p3.3 ;黄灯不亮

clr p3.4 ;绿灯亮5秒

lcall Delay1s ;延时1秒

lcall Delay1s ;延时1秒

lcall Delay1s ;延时1秒

lcall Delay1s ;延时1秒

lcall Delay1s ;延时1秒

AJMP MAIN ;跳转到MAIN处

delay1s: ;1秒延时子程序

mov r5,#9

mov r7,#0

mov r6,#195

LOOP:

LOP:

djnz r7,$ ;延时256×2μs=512(μs)

djnz r6,lop ;延时(512+2)×R6(μs)

djnz r5,loop

RET

END

2、延时子程序时间计算:

如果延时1S=1000ms=1000000μs;则上段程序R6的取值为:

1000000

μs=1945.5253μs

R6只能取整数,取1946,则上段程序延时总时间为:

(512+2)×1946μs=1000244μs=1000.244ms=1.000244s

四、Keil 编译

1、运行Keil uVision5进入编辑界面,如图1-1所示。

图1-1 Keilc51编辑界面

2、首先进入菜单project/new project建立一个新工程,如图1-2所示。

图1-2 建立新工程

3、选择要保存的路径,输入工程文件的名字,如图1-3所示。

图1-3 保存路径

4、根据使用的单片机选择相应的型号,如图1-4所示。

图1-4 选择单片机型号

5、单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如图1-5所示界面加入源文件。如还没有源文件请先进入菜单File/New生成一个*.asm格式的文件。

图1-5 加入源文件界面

6、进行输出文件设置,进入菜单project/options for target选择OUTPUT选项卡,勾选Crest HEX File项,如图1-6所示。

图1-6 输出文件设置

7、程序编写完成后进入菜单Project/Build target编译工程,如图1-7所示。生成的*.HEX文件即可作为下载程序使用。

图1-7 生成文件

五、主要困难与解决办法:

1、在编译过程中,试了许多次都没有编译成功,最后发现是由于字母拼写错误,改正之后才正确了。

2、程序编译运行通过后,加载进入仿真原理图中运行,红黄绿三个灯没有亮,进行程序的编辑调试后再次加载入仿真原理图中,此次只有红灯亮。

解决办法:通过检查程序和询问同学,改变了main程序中的延时子程序,重新运行了程序之后,仿真通过,原理图运行正常。

3、焊接电路板时没有搞清楚原理,就直接开始焊接,导致元器件的位置摆放的

相关文档
最新文档