单片机交通灯综合实验报告(大全5篇)

时间:2020-11-05 12:21:38下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《单片机交通灯综合实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《单片机交通灯综合实验报告》。

第一篇:单片机交通灯综合实验报告

河 北 工 业 大 学

院:

业:

级:

名:

号:

实验课程:单片机应用系统设计开发入门 指导教师:

实验名称:

交通信号灯控制实验

实验时间:

2019 年

月 23 日

2019 年 5 月 23 日

实验要求

实验目的及实验内容要求 实验目的:1.熟悉外部中断源的扩展方法。

2.初步掌握单片机综合应用系统设计。

3.掌握用 Proteus 调试汇编源程序的方法。

实验内容要求:

用发光二极管模拟交通信号灯,用逻辑电平开关模拟控制开关,设计一个交通信号灯控制系统。设计要求如下:

(1)A 车道与 B 车道交叉组成十字路口,A 是主道,B 是支道;正常情况下,A、B 两车道轮流放行。具体放行时间和要求如下:

(2)A 车道放行 50s,其中绿灯常亮 44s,绿灯闪烁 3s(用于警告),黄灯常亮 3s(用于警告)。

(3)B 车道放行 30s,其中绿灯常亮 24s,绿灯闪烁 3s(用于警告),黄灯常亮 3s(用于警告)。

在交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。控制要求如下:

(1)在 B 车道放行期间,若 A 车道有车而 B 车道无车,按下开关使 A 车道放行 15s。

(2)在 A 车道放行期间,若 B 车道有车而 A 车道无车,按下开关使 B 车道放行 15s。

(3)有紧急车辆通过时,按下开关使 A、B 车道均为红灯,禁行 15s。

实验设备或运行软件平台 完成本实验需要使用到单片机仿真软件 Proteus8,该软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件,是目前比较好的仿真单片机及外围器件的工具。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台。在编译方面,它也支持 IAR、Keil、MATLAB 等多种编译器。其具有的基本功能特点为:1.原理布图。2.PCB 自动或人工布线。3.SPICE 电路仿真。革命性的特点是 1.互动的电路仿真。

2.仿真处理器及其外围电路。

实验内容及过程

实验设计及分析(或者实验程序)

实验原理图如下所示:

交通信号灯模拟控制系统程序流程图如下图所示:

主程序

一道有车另一道无车时

紧急车辆通过时 的中断服务程序的中断服务程序

A

绿灯闪、B

红灯延时

s

A

红灯、B

绿灯闪动延

s

A

红灯、B

绿灯延时

s

A

绿灯、B

红灯延时

s

A

红灯、B

黄灯延时

s

A

黄灯、B

红灯延时

s

初始化

开中断

保护现场

关中断

A

道有车

B

道有车

A

红灯、B

绿灯延时

s

A

绿灯、B

红灯延时

s

关中断

恢复现场

开中断

返回

中断响应

保护现场

A

红灯、B

红灯延时

s

恢复现场

返回

N

N

Y

Y

中断响应

开始

实验程序及程序分析如下:

ORG

0000H LJMP

MAIN ;LJMP,转向主程序 ORG

0003H LJMP

INT00 ;转向紧急车辆中断服务程序 ORG

0013H LJMP

INT11 ;转向有车车道放行中断服务 ORG

0030H MAIN : SETB

PX0

;置外部中断 0 为高优先级中断 MOV

TCON,#00H ;置外部中断 0、1 为电平触发 MOV

IE,#85H ;开 CPU 中断、外部中断 0、1 中断 LOOP:

;A 道绿灯亮;B 红灯亮 MOV

P1,#0F3H MOV

R1,#88 ;44s 延时循环次数 AP1:

;调用 0.5s 延时子程序 DELAY LCALL

DELAY DJNZ

R1,AP1 ;44s 不到,继续循环(DJNZ RN,REL 是一条件转移指令,先将工作寄存器Rn 中的数减“1”,判断结果是否为“0”,不为“0”程序就跳转到行标为REL 的地方执行,否则,为“0”就不转移,继续执行下一条指令。)

MOV

R1,#6 ;3s 延时的循环次数(循环一次延时 0.5 秒。)

AP2:

;A 道绿灯闪烁 CPL

P1.2 LCALL

DELAY ;参考程序中缺少此句,若缺失会导致无法延时。

DJNZ

R1,AP2 ;3s 未到,继续循环 MOV

P1,#0F5H ;A 道黄灯亮,B 道红灯亮 MOV

R1,#6

AP3: LCALL

DELAY DJNZ

R1,AP3

;3s 未到,继续循环 MOV

P1,#0DEH ;A 道红灯亮,B 道绿灯亮 MOV

R1,#48

;延时循环 48 次

BP1: LCALL

DELAY

DJNZ

R1,BP1 ;24s 未到继续循环 MOV

R1,#6 BP2: CPL

P1.5 ;B 道绿灯闪烁 LCALL

DELAY DJNZ

R1,BP2 ;3s 未到,继续循环 MOV

P1,#0EEH;A 道红灯亮,B 道黄灯亮 MOV

R1,#6 BP3: LCALL

DELAY DJNZ

R1,BP3 ;3s 未到,继续循环 SJMP

LOOP ORG

0200H INT00:

保护 P1 口数据 PUSH

P1

;PUSH 入栈指令 MOV

P1,#0F6H

;A 道红灯亮;B 道红灯亮 MOV

R2,#30

;15 秒延时的循环次数 DELAY0: LCALL

DELAY DJNZ

R2,DELAY0

POP

P1

;恢复 P1 口数据 POP 是出栈指令 RETI

;返回主程序 ORG

0300H INT11: CLR

EA

;关中断 EA 为总中断 PUSH

P1

;保护现场 PUSH

04H PUSH

05H PUSH

06H SETB

EA

;开中断 JNB

P3.0,AP0 ;A 道无车,转向判断 B 道(JNB 比较转移指令。当 P3.0 是 0 时就转移执行 AP0,否则就顺序执行。)

MOV

P1,#0F3H;A 道绿灯亮,B 道红灯亮 SJMP

DEL1

;转向 15 秒延时程序 AP0: JNB

P3.1,EXIT ;B 道无车,退出中断

MOV

P1,#0DEH;A 道红灯亮,B 道绿灯亮 DEL1 : MOV

R3,#30 ;15s 延时的循环次数 NEXT : LCALL

DELAY DJNZ

R3,NEXT ;15 秒未到循环继续 EXIT : CLR

EA POP

06H

;恢复现场 POP

05H POP

04H POP

P1 SETB

EA RETI

;返回原程序 ORG

0350H DELAY : MOV

R4,#20;0.5 秒延时子程序参考程序中为#10,经实验发现只能延时 0.25s 故改为#20,以达到实验目的。

LP1 : MOV

R5,#50 LP2 : MOV

R6,#248 NOP LP3: DJNZ

R6,LP3 DJNZ

R5,LP2 DJNZ

R4,LP1 RET END

交通信号灯与控制管脚的对应关系如下:

控制状态

P1 口控制码

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

未用

未用

B 道

绿灯

B 道

黄灯

B 道

红灯

A 道

绿灯

A 道

黄灯

A 道

红灯

A 绿灯亮、B 红灯亮

F3H

0

0

A 黄灯亮、B 红灯亮

F5H

0

0

A 红灯亮、B 绿灯亮

DEH

0

0

A 红灯亮、B 黄灯亮

EEH

0

0

A 红灯亮、B 红灯亮

F6H

0

0

实验步骤及实验数据记 录 1.先接线按下表所示的管脚与 LED 或逻辑开关的对应关系接线。在 Proteus8 中原理图绘制界面中将接线接好。

管脚

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P3.0

P3.1

P3.3

P3.2

LED 或逻辑开关

L3

L1

L2

L7

L5

L6

K1

K2

K3

K8

控制对象

A 红灯

A 黄灯

A 绿灯

B 红灯

B 黄灯

B 绿灯

A 道

B 道

使有车车道放行低电平有效

紧急车辆放行低电平有效

高电平表示有车低电平表示无车

接线完成后如图所示:

2.输入程序,在 Proteus8 中 SourceCode 界面将程序输入完成后试运行保证程序正确。

出现编译成功后进行下一步。运行程序。

4.观察六只发光二极管的亮灭规律。

实验中六只发光二极管亮灭规律:(0 代表灭,1 代表亮,2 代表闪)

运行时间(s)

A 绿 A 黄 A 红 B 绿 B 黄 B 红 0 1 0 0 0 0 1 44 2 0 0 0 0 1 47 0 1 0 0 0 1 50 0 0 1 1 0 0 74 0 0 1 2 0 0 77 0 0 1 0 1 0 80 1 0 0 0 0 1 八十秒后开始重复 0-80 秒内的亮灭规律。

5.

部分连接图如图所示。

1)

在 A 红灯、B 绿灯亮时,先将 K1 拨至高电平(表示 A 道有车)、K2 拨至低电平(表示 B 道无车),再将 K3 拨至低电平使有车车道(A 道)放行,A 绿灯、B 红灯同时亮 5s 后返回原先状态。

对逻辑开关 K1、K2、K3 的操作对应于 SW2 开关,闭合 SW2 后,A 红灯灭,绿灯亮,B 绿灯灭,红灯亮。15s 后恢复回闭合开关前的的亮灯状态。

2)

在 A 绿灯、B 红灯亮时,先将 K1 拨至低电平(表示 A 道无车)、K2 拨至高电平(表示 B 道有车),再将 K3 拨至低电平使有车车道(B 道)放行,A 红灯、B 绿灯同时亮 5s 后返

回原先状态。

对逻辑开关 K1、K2、K3 的操作对应于 SW1 开关,闭合 SW1 后,A 绿灯灭,红灯亮,B 红灯灭,绿灯亮。15s 后恢复回闭合开关前的的亮灯状态。

(提示:K3 拨至低电平后,应在 5s 内改为高电平,否则,单片机可能将再一次响应中断。)

6.不论 A 道、B 道的信号灯处于什么状态,将 K8 拨至低电平后,A 红灯、B 红灯同时亮 20s后返回原先状态。(提示:K8 拨至低电平后,应在 20s 内改为高电平,否则,单片机可能将再一次响应中断。)

对逻辑开关 K8 的操作对应于 JINJI 开关,闭合 JINJI 后,A 只有红灯亮,B也只有红灯亮。20s 后恢复回闭合开关前的的亮灯状态。

实验数据分析 1.一道有车而另一道无车时,K3 拨至低电平即向单片机发出中断请求(低优先级别);若此时单片机正在执行主程序,会响应中断转入到相应的中断服务程序,先依次查询 A、B 车道的空闲状态,再去控制 A、B 车道的信号灯;若此时单片机正在执行紧急车辆通过时中断服务程序,单片机不会响应中断。

2.紧急车辆通过时,K8 拨至低电平即向单片机发出中断请求(高优先级别),不论单片机正在执行主程序还是一道有车而另一道无车时的中断服务程序,会响应中断转入到相应的中断服务程序。

3.在进行步骤 5 1)或 2)操作时,若在闭合开关后没有在 5s 内断开开关,则在 15 秒时无法按时恢复回闭合开关时的亮灯状态。

4.操作过程中发现,若操作 SW1 开关后亮灯状态已经发生改变,则在 15 秒内再操作 SW2开关则无法继续使亮灯状态改变。

总结与体会

实验任务完成情况 本实验完成情况良好。通过老师的精心指导、本人的不懈努力和同学的热心帮助,能够基本上完成所有实验内容,且在实验过程中对单片机的了解更加深入了。但也无法避免地遇到一些问题,比如对实验程序代码的理解不够深入,只停留在表面,且对 51 单片机的 111 条指令仍比较陌生,只能记住一些特别常用的。对于此我的做法是,在分析实验程序的过程中,一遇到不熟悉的指令就百度搜索一下加深印象。在反复的搜索过程中我也记住了不少指令。通过课程的学习,目前达到的水平是能够基本看懂实验程序,能够绘制简单原理图,但仍无法做到独立编写实验程序。

实验体会、收获、建议回答问题

通过对该实验的学习,本人也有了许多不小的收获。对于一位非电技专业的学生来说,我在学习单片机的过程中确实存在许多问题。老师讲的东西很多在课堂上都无法及时弄明白,必须要靠课余时间的学习。所以起初在做该实验的时候也是感觉苦难重重,觉得自己肯定是无法完成的,但我不想轻易放弃,将老师上用的课件反复查看,发现很多上课没有注意到的重要知识点,这让我的实验变得更加容易完成了许多。我觉得通过本次实验我的最大收获是学会了如何解决难题。首先要做的就是对自己有信心,相信自己一定能够完成。其次才是去认真解决问题。

第二篇:单片机综合实验报告格式

(在所做过的实验内容里挑选一个自己最有收获,最有感想的实验内容)

综合实验报告标题(可与实验名称不同)

一、实验目的和要求。

二、实验仪器设备。

三、实验设计及调试:

(一)实验内容。

(二)实验电路:画出与实验内容有关的简单实验电路。

(三)实验设计及调试步骤:

(1)对实验内容和实验电路进行分析,理出完成实验的设计思路。(2)列出程序设计所需的特殊标志位、堆栈sp、内部ram、工作寄存器等资源的分配列表,分配列表时注意考虑资源在程序执行过程可能会出现冲突的问题。

(3)画出程序设计流程图,包括主程序和各子程序流程图。

(4)根据(2)、(3)的内容写出实验程序。

(5)调试程序(可以使用模拟仿真器)。

a、根据程序确定调试目的,即调试时所需观察的内容结果。

b、根据各调试目的分别选择调试所需的方法,如单步、断点等命令,分别列出各调试方法中所需要关注记录的内容。

c、调试程序,按各种调试方法记录相应的内容。

d、分析调试记录的内容和结果,找出程序中可能出错的地方,然后修改程序,继续调试、记录、分析,直到调试成功。

(四)实验调试过程中所遇到的问题、解决问题的思路和解决的方法。

四、实验后的经验教训总结。

第三篇:交通灯单片机课程设计

《单片机原理与接口技术课程设计报告》

课题:以交通灯为主的多功能任务设计

班级 学号 学生姓名

指导教师

淮阴工学院 电子与电气工程学院

2015-6 1

目录

一、课程设计目的......................................................................................................3

二、设计要求..............................................................................................................3 1. 总体要求........................................................................................................3 2. 具体要求........................................................................................................3 3. 系统硬件总框图............................................................................................4 1)AT89C52单片机.......................................................................................5 3)数码管显示电路........................................................................................6 4)LED灯显示...............................................................................................7 5)键盘扫描模块............................................................................................7 6)蜂鸣器电路................................................................................................8

三、硬件电路的设计及描述......................................................................................8 1. 硬件总框图及原理图....................................................................................8 2. 主程序流程图..............................................................................................10 3. 各模块流程图..............................................................................................11 1)时间显示程序流程图..............................................................................12 2)流水灯程序流程图..................................................................................12 3)利用蜂鸣器的音乐流程图......................................................................13 4)交通灯控制..............................................................................................13

四、源程序代码........................................................................................................14

六、调试情况

六、设计心得............................................................................................................20

七、参考文献............................................................................................................20

一、设计目的

《单片机原理及应用》课程设计是一项重要的实践性教育环节,是学生在校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,应用工程的方法,通过一个简单课题的设计练习,可使学生初步体验单片机应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。

通过课程设计,应该能加强学生如下能力的培养:(1)独立工作能力和创造力;

(2)综合运用专业及基础知识,解决实际工程技术问题的能力;(3)查阅图书资料、产品手册和各种工具书的能力;(4)工程绘图的能力;

(5)编写技术报告和编写技术资料的能力。

二、设计要求

1.总体要求

(1)独立完成设计任务(2)绘制系统硬件总框图(3)绘制系统原理电路图

(4)制定编写设计方案,编制软件框图,完成详细完整的程序清单和注释(5)制定编写调试方案,编写用户操作使用说明书

(6)写出设计工作小结。对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定、参数计算、元器件选择、原理分析等作出说明,并对所完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研究方向。

2.具体要求

本次工程实践的校内部分主要以单片机为基础,进行单片机软件编程,目的 3 是为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生只需要掌握其原理和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路还需要进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生的硬件电子电路的分析、判断能力。

软件编程是本次课程设计的重要环节。在为期两周的工程实践中,将占据主要时间,完成的软件编程任务主要包括以下几点:

1)、熟悉Keil C51编程平台及相关编程软件

2)、编写、调试蜂鸣器、继电器动作、方波程序并进行软硬件联调 3)、编写、调试LED流水灯(循环显示)程序并进行软硬件联调 4)、编写、调试键盘扫描子程序并进行软硬件联调 5)、编写、调试数码管动态扫描程序并进行软硬件联调 6)、基于交通灯的多功能控制设计

其中前五个内容是后两个内容的基础,主要是编制一些子程序,为后继的整个系统设计打下基础。交通灯控制是在五个课题中选做的一个设计,是一个简单的单片机编程设计,来实现智能交通灯的多功能作用。

3.系统硬件总框图

图1 系统设计总框图

此次课程设计,AT89C52是一种带2K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。1)AT89C52单片机

设计中所用的单片机型号为AT89C52,其主要功能为:

AT89C52是低功耗、高性能的CMOS 8位单片机。片内带有8KB的Flash存储器,且允许在系统内改写或用编程器编程。另外,AT89C52的指令系统和引脚与80C52完全兼容,所以,近几年AT89C52单片机应用极为广泛。

AT89C52单片机除了含有8KB的Flash存储器外,片内还有256 B的RAM,32条I/O口线,3个16位定时/计算器、6个中断源、1个全双工串行口等。同时,与80C52一样,有空闲和掉电两种节电运行方式。

AT89C52引脚如下图所示:

图2 AT89C52引脚

AT89C52单片机为40脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。

2)DS1302模块

DS1302的RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

其管脚图如下:

图3 DS1302管脚图

各引脚功能:Vcc1为后备电源,VCC2为主电源,X1和X2是振荡源,SCLK为输入端

RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

3)数码管显示电路

图4 数码管显示电路

设计中采用六位共阴极数码管,通过单片机STC89C52的P0口控制其位选和段选,以达到动态显示相应数值的效果。在其位选控制部分,采用了一个9012型三极管,要求当P0口输出低电平时,位选成功。

所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,6 使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

4)LED灯显示

图5 LED显示模块

本次课程设计中,“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,单片机可工作。要用外加电源和分压电阻来控制低电平驱动点亮,因为单片机不能直接高电平驱动LED灯。如图D1-D8和R1、R2以及R6-R11连接到单片机IO口,当P1口某脚变低时相应LED发光。实现LED灯的闪烁,只需利用编程方法依次从低位到高位逐个变为低电平,等待少许时刻再变高即可。

5)键盘扫描模块

图6 按键输入电路

本模块四个开关分别用于控制流水灯控制电路,时间显示电路,音乐蜂鸣器电路,交通灯四部分功能。当按下其中一个开关时,该部分电路导通,给单片机 发出地址信号,实现其中一项功能的运做,如图4所示。

KEYA键:其功能是当该键按下时,蜂鸣器程序工作; KEYB键:其功能是当该键按下时,流水灯程序工作;

KEYC键:其功能是当该键按下时,数码管动态扫描程序工作; KEYD键:其功能是当该键按下时,交通灯程序工作。

6)蜂鸣器电

图7 蜂鸣器电路

蜂鸣器单元电路是通过一个PNP三极管来放大驱动蜂鸣器,蜂鸣器的正极接到+5V电源上面,蜂鸣器的负极接到三极管的发射极,三极管的基极经过限流电阻后由单片机的P3.4控制。

当输出高电平时,三极管截止,蜂鸣器的两引脚间的直流电压接近于0V,没有电流流过线圈,蜂鸣器不发声;当输出低电平时,三极管导通,使蜂鸣器的两个引脚间获得将接近+5V的直流电压,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制IO口输出的电平来控制蜂鸣器是否发出声音,实现各种可能音响的产生。

三、硬件电路的设计及描述

1.硬件总框图及原理图

图8 硬件总框图

图9 硬件总原理图

2.主程序流程图

3.各模块流程图 1)时间显示程序流程图

2)流水灯程序流程图

3)利用蜂鸣器的音乐流程图

4)智能交通灯

四、源程序代码

/******************************************************************** * 文件名

: 4个功能由按键控制.c * 描

: 按下A键,实现蜂鸣器动作。

按下B键,实现LED流水灯循环显示。

按下C键,实现数码管动态扫描显示。

按下D键,实现交通灯功能。* 创建人

***********************************************************************/ #include #include

#define uint unsigned int

// 无符号整形习惯的定义

#define uchar unsigned char

//无符号字符型习惯的定义 void buzz_key(void);

//子函数声明 void led_key(void);void tube_key(void);void traffic(void);unsigned char code duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 0 1 2 3 4 5 6 7 8 9

unsigned char code weima[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

// 选择哪个数码管

unsigned char temp[6];uchar i=35;uchar k=30;uchar l=5;uchar j;uchar b;

//定义变量

sbit duan=P2^6;//定义管脚 sbit wei=P2^7;sbit key_A=P3^4;sbit key_B=P3^5;sbit key_C=P3^6;sbit key_D=P3^7;sbit buzz=P2^3;sbit DIOLA=P2^5;sbit csda=P3^2;sbit red=P1^0;//交通灯管脚定义 sbit green=P1^1;sbit yellow=P1^2;/******************************************************************** * 名称 : Delay_1ms()* 功能 : 延时子程序,延时时间为 1ms * x * 输入 : x(延时一毫秒的个数)* 输出 : 无

***********************************************************************/

void Delay_1ms(unsigned int t){ unsigned char x,y;for(x=t;x>0;x--)for(y=110;y>0;y--);

}

/******************************************************************** * 名称 : Main()* 功能 : 实现蜂鸣器,流水灯,数码管,交通灯

***********************************************************************/ void main(){

DIOLA=0;//流水灯锁存器关 流水灯未选通

wei=0;//位选关

duan=1;

P0=0;

duan=0;

csda=0;

while(1){

if(key_A==0 || key_B==0 || key_C==0|| key_D==0)

{

if(key_A==0)

//A键按下

{

buzz_key();

//调用蜂鸣器子程序

}

else if(key_B==0)//B键按下

{

led_key();

//调用流水灯子程序

}

else if(key_C==0)//C键按下时

{

tube_key();//调用数码管显示子程序

}

else

//D键按下时

{

traffic();

//调用交通灯子程序

i=35;

k=30;

l=5;

return;

}

}

} }

/******************************************************************** * 名称 : buzz_key(void)* 功能 : 蜂鸣器子程序

***********************************************************************/

void buzz_key(void)

{

DIOLA=0;wei=0;

buzz=0;

//蜂鸣器响

while(key_B&&key_C&&key_D&&!key_A);

buzz=1;

//关蜂鸣器

}

/********************************************************************* * 名称 : led_key(void)* 功能 : 流水灯子程序

***********************************************************************/ void led_key(void){

DIOLA=1;b=0xfe;

P1=b;//11111110 while(key_B==0){

b=_crol_(b,1);

//左移11111101

Delay_1ms(500);

P1=b;

//111111011

Delay_1ms(500);

}

while(key_A&&key_B&&key_C&&key_D);

P1=0xff;

}

/******************************************************************** * 名称 : tube_key(void)* 功能 : 数码管子程序

***********************************************************************/

void tube_key(void){

DIOLA=0;

//流水灯使能端置0 while(key_C==0)

{ unsigned int i;

for(i=0;i<6;i++)

{

wei=1;

P0=weima[i];

//位选信号

wei=0;

duan=1;

P0=duanma[i];//段选信号

duan=0;

Delay_1ms(500);

}

duan=1;

P0=0;

duan=0;

//清零

}

}

/******************************************************************** * 名称 : traffic_key(void)* 功能 : 交通灯子程序

***********************************************************************/

void traffic(void)

{

DIOLA=0;

while(key_D==0)

{

if(i>0)

{

DIOLA=1;

b=0xfe;

P1=b;//11111110

for(j=0;j<40;j++)

{

P0 = 0;

wei=1;

//消隐

P0 = weima[0];

wei=0;

duan=1;

//第1位数码管显示

P0 = duanma[(i / 10)%10];//在这里取 i 的个位数

Delay_1ms(40);

//延时40毫秒后显示下一个数

P0 = 0;

wei=1;

//消隐

P0 = weima[1];

wei=0;

duan=1;

//第2位数码管显示

P0 = duanma[i % 10];

//在这里取 i 的个位数

Delay_1ms(40);

//延时40毫秒后显示下一个数

}

i--;

}

else if(k>0)

{

DIOLA=1;

b=0xfd;

P1=b;//11111110

for(j=0;j<40;j++)

{

P0 = 0;

wei=1;

//消隐

P0 = weima[0];

wei=0;

duan=1;

//第1位数码管显示

P0 = duanma[(k / 10)%10];//在这里取 i 的个位数

Delay_1ms(40);

//延时3毫秒后显示下一个数

P0 = 0;

wei=1;

//消隐

P0 = weima[1];

wei=0;

duan=1;

//第2位数码管显示

P0 = duanma[k % 10];

//在这里取 i 的个位数

Delay_1ms(40);

//延时3毫秒后显示下一个数

}

k--;

}

else if(l>0)

{

DIOLA=1;

b=0xfb;

P1=b;//11111110

for(j=0;j<40;j++)

{

P0 = 0;

wei=1;

//消隐

P0 = weima[0];

wei=0;

duan=1;

//第1位数码管显示

P0 = duanma[(l / 10)%10];//在这里取 i 的个位数

Delay_1ms(40);

//延时3毫秒后显示下一个数

P0 = 0;

wei=1;

//消隐

P0 = weima[1];

wei=0;

duan=1;

//第2位数码管显示

P0 = duanma[l % 10];

//在这里取 i 的个位数

Delay_1ms(40);

//延时3毫秒后显示下一个数

}

l--;

}

}

}

五、设计心得

通过两个星期的实验,我的设计虽然有一些毛病,但总体上还是成功的。两周的时间虽然短暂,但我从中受益匪浅,毕竟在课堂学习到的东西真真正正的用到实际中还是有很大困难的,要把理论运用于实践确实并非一件易事。我从最初的设想设计一个什么样的数字电路到绘制电路图,然后打印排版,最后矫正设计中的漏洞与不足,整个过程我翻阅了大量的资料。

这次交通灯的课程设计,也使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。使我在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更深层次的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。

还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下基础。

六、参考文献

1.《单片机原理及接口技术》 李朝青 北京航空航天大学出版社,2004 2.《单片机原理及应用》 李全力 高等教育出版社,2001 3.《电子系统设计与实践》 杨刚,周群 电子工业出出版社,1997 4.《单片机微型计算机技术》 刘国荣 机械工业出版社,1997 5.《数字电子技术》 杨志忠 高等教育出版社,2003 6.《电子技术》 胡宴如 高等教育出版社,2001 7.《电子线路CAD》 王延才 机械工业出版社,2001 8.《单片机应用技术选编》 何利民 北京航空航天大学出版社,1996 9.《单片机应用技术》 吴国经 中国电力出版社,2004 10.《单片机及接口技术实践教程》 胡健 北京机械工业出版社,2002 11.《使用接口技术》 李广军 成都电子科技大学出版社,1998

第四篇:单片机交通灯控制程序

#include #define uchar unsigned char #define uint unsigned int uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40 };//*************digit display port******* sbit led_w1=P1^1;sbit led_w2=P1^0;sbit led_w3=P1^3;sbit led_w4=P1^2;

//*****define led port ********** sbit R1=P2^4;//east and west red led sbit Y1=P2^3;//east and west yellow led sbit G1=P2^2;//east and west green led sbit R2=P2^5;//south and north red led sbit Y2=P2^6;//south and north yellow led sbit G2=P2^7;//south and north green led

//*********define key************** sbit k0=P3^0;//emergency sbit k1=P3^1;//east and west pass sbit k2=P3^2;//south and north pass sbit k3=P3^3;//start and subtract 1 sbit k4=P3^4;//pause and add 1 sbit k5=P3^5;//set time

//*********define variable********* bit flag,flag_t;uchar dx_time,nb_time;uchar cnt,pass_time,cnt1,y_time;uchar k0num,k1num,k2num,k3num,k4num,k5num;

//*********define key******** void delay(uint i){ uint x,y;for(x=i;x>0;x--)

for(y=110;y>0;y--);} void timer0_init(){ TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;}

void led_display(uchar dx,nb){ uchar dx1,dx2,nb1,nb2;dx2=dx/10;dx1=dx%10;nb2=nb/10;nb1=nb%10;if(dx>99){

led_w1=1;

led_w2=1;} else {

led_w1=0;

P0=table[dx1];

delay(5);

led_w1=1;

if(dx<10&&dx>0)led_w2=1;

else

{

led_w2=0;

P0=table[dx2];

delay(5);

led_w2=1;

} } if(nb>99){

led_w3=1;

led_w4=1;} else {

led_w3=0;

P0=table[nb1];

delay(5);

led_w3=3;

if(nb<10&&nb>0)led_w4=1;

else

{

led_w4=0;

P0=table[nb2];

delay(5);

led_w4=4;

} } } //*************light work********** void circle_led(){ if(!flag){

if(pass_time>5)

{

led_display(pass_time-5,pass_time);

R1=1;Y1=1;G1=0;

//east and west pass

R2=0;Y2=1;G2=1;

//south and north stop

}

if(pass_time<=5&&pass_time>0)

{

if(cnt>=10)led_display(pass_time,pass_time);

else led_display(100,pass_time);

R1=1;G1=1;

//east and west yellow led flash

if(cnt>=10)Y1=0;

else Y1=1;

R2=0;Y2=1;G2=1;

}

if(pass_time==0)

{

pass_time=nb_time;

flag=1;

} } else {

if(pass_time>5)

{

led_display(pass_time,pass_time-5);

R1=0;Y1=1;G1=1;

//east and west stop

R2=1;Y2=1;G2=0;

//south and north pass

}

if(pass_time<=5&&pass_time>0)

{

if(cnt>=10)led_display(pass_time,pass_time);

else led_display(pass_time,100);

R1=0;Y1=1;G1=1;

R2=1;G2=1;

//south and north yellow led flash

if(cnt>=10)Y2=0;

else Y2=1;

}

if(pass_time==0)

{

pass_time=dx_time;

flag=0;

} } }

void emergency()

//east and west,south and north stop { led_display(0,0);R1=0;Y1=1;G1=1;R2=0;Y2=1;G2=1;} void dx_pass()

//east and west pass,south and north stop { led_display(100,100);if(y_time<=5&&y_time>0){

TR1=1;

R1=0;Y1=1;G1=1;

R2=1;G2=1;

//south and north yellow led flash

if(cnt1>=10)Y2=0;

else Y2=1;} if(y_time==0){

TR1=0;

R1=1;Y1=1;G1=0;

R2=0;Y2=1;G2=1;} } void nb_pass()

//south and north pass,east and west stop { led_display(100,100);if(y_time<=5&&y_time>0){

TR1=1;

R1=1;G1=1;

if(cnt1>=10)Y1=0;//east and west yellow led flash

else Y1=1;

R2=0;Y2=1;G2=1;

} if(y_time==0){

TR1=0;

R1=0;Y1=1;G1=1;

R2=1;Y2=1;G2=0;} }

//***********keyboard scan************ void keyscan(){

if(!k5num)

{

if(k0==0)//*******emergency*******

{

delay(10);

if(k0==0)

{

while(!k0);

TR0=0;

k0num=1;

}

}

if(!k1num&&!k0num)

{

if(k1==0)

{

delay(10);

if(k1==0)

{

while(!k1);

k1num=1;

k2num=0;

y_time=5;//单方向通行时,黄灯闪烁时间

TR0=0;

TR1=1;

}

}

}

if(!k2num&&!k0num)

{

if(k2==0)

{

delay(10);

if(k2==0)

{

while(!k2);

k1num=0;

k2num=1;

y_time=5;//单方向通行时,黄灯闪烁时间

TR0=0;

TR1=1;

}

}

}

if(k3==0)

{

delay(10);

if(k3==0)

{

while(!k3);

if(k1num||k2num)pass_time=dx_time;//由东西或南北通行返回时,重新开始执行。

k0num=0;

k1num=0;

k2num=0;

k4num=0;

k5num=0;

TR0=1;

TR1=0;

flag_t=0;

}

} {

} if(!k4&&!k0num)

//pause { delay(10);if(k4==0){

while(!k4);

TR0=0;

k4num=1;} }

if(k4num==1)

//暂停键按下时,才可以调整两个方向通行时间 if(k5==0){ delay(10);if(k5==0){

k5num++;

while(!k5);

switch(k5num)

{

case 1:

TR0=1;

flag_t=1;//调整时间时,pass_time值不变。

k5num=1;

break;

case 2:

k5num=2;

break;

case 3:

TR0=0;

k5num=0;

pass_time=dx_time;//重新赋值

break;

} } } if(k5num!=0){ if(k3==0){

delay(10);

if(k3==0)

{

while(!k3);

switch(k5num)

{

case 1:

dx_time--;

if(dx_time<10)

break;

case 2:

nb_time--;

if(nb_time<10)

break;

}

}

}

if(k4==0)

{

delay(10);

if(k4==0)

{

while(!k4);

switch(k5num)

{

case 1:

dx_time++;

if(dx_time>=100)

break;

case 2:

nb_time++;

if(nb_time>=100)

break;

}

}

}

} } } void main(){ timer0_init();dx_time=45;nb_time=30;

dx_time=99;nb_time=99;dx_time=10;nb_time=10;

pass_time=dx_time;while(1){ keyscan();if(k0num)emergency();else { switch(k4num){

case 0:

if(!k1num&&!k2num)

circle_led();

else

{

if(k1num)dx_pass();

if(k2num)nb_pass();

}

break;

case 1:

switch(k5num)

{

case 0:

if(!k1num&&!k2num)

circle_led();

else

{

if(k1num)dx_pass();

if(k2num)nb_pass();

}

break;

case 1:

R1=1;Y1=1;G1=1;//调整时间时,关闭所有灯

R2=1;Y2=1;G2=1;

if(cnt<=10)

led_display(100,nb_time);

else

led_display(dx_time,nb_time);

break;

case 2:

R1=1;Y1=1;G1=1;//调整时间时,关闭所有灯

R2=1;Y2=1;G2=1;

if(cnt<=10)

led_display(dx_time,100);

else

led_display(dx_time,nb_time);

break;

}

break;

}

}

} } void timer0()interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;if(cnt==20){

cnt=0;

if(flag_t==0)pass_time--;//调整时间时,不执行此操作

} } void timer1()interrupt 3 { TH1=(65536-50000)/256;TL1=(65536-50000)%256;cnt1++;if(cnt1==20){

cnt1=0;

y_time--;//单方向通行时,黄灯闪烁时间。

} }

第五篇:FPGA交通灯实验报告

交通灯实验报告

一,实验目的

实现两路信号灯交替亮起,并利用两组数码管分别对两路信号进行倒计时。

两路信号时间分别为:

V:绿灯(30S)

H:红灯(35S)

黄灯(5s)

绿灯(30S)

红灯(35S)

黄灯(5S)

二,实验步骤 建立工程

可在欢迎界面点击“Creat a New Project”进入工程建立界面,亦可关闭欢迎界面,点击菜单栏的“File”,点击“New Project Wizard”进入建立工程界面。右侧为建立工程界面,点击next。

在此界面选定工程路径,取好工程名,点击“Next”。注意:路径中不能有中文,工程名也不能有中文。

一直点击“Next”进入器件设置界面,DE2-70开发工具采用的Cyclone II系列的EP2C70F896C6N。点击“Finish”,完成工程建立

1、点击“File”,点击“New” 选择“Verilog HDL” 2,点击主界面工具栏中的 选择“Verilog HDL”

3、写入verilog代码。

代码如下:

module traffic(Clk_50M,Rst,LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V,Seg7_VH,Seg7_VL,Seg7_HH,Seg7_HL,led15);

parameter S1=2'b00;parameter S2=2'b01;parameter S3=2'b10;parameter S4=2'b11;

input Clk_50M,Rst;output LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V;output[6:0] Seg7_VH,Seg7_VL,Seg7_HH,Seg7_HL;output led15;

//-------------div for 1Hz-------start----reg Clk_1Hz;reg [31:0] Cnt_1Hz;always@(posedge Clk_50M or negedge Rst)begin

if(!Rst)

begin

Cnt_1Hz<=1;

Clk_1Hz<=1;

end

else

begin

if(Cnt_1Hz>=25000000)

end

//-----------div for 1Hz------end-----reg[7:0] Cnt30,CntH,CntV,CntHH,CntVV;reg[7:0] CntDis,CntDiss;//-----------30 counter and seg7---start---reg LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V;always@(posedge Clk_1Hz)begin

end

begin

Cnt_1Hz<=1;

Clk_1Hz<=~Clk_1Hz;

end

else

Cnt_1Hz<=Cnt_1Hz + 1;

case(state)

S1:

end

always@(posedge Clk_1Hz)begin

case(stateV)

S1:

begin

if(CntV>=30)

CntV<=1;

begin

if(Cnt30>=30)

Cnt30<=1;

else

Cnt30<=Cnt30 + 1;S2:

begin

if(Cnt30>=5)

Cnt30<=1;end

else

Cnt30<=Cnt30 + 1;S3:

begin

if(Cnt30>=30)

Cnt30<=1;end

else

Cnt30<=Cnt30 + 1;S4:

begin

if(Cnt30>=5)

Cnt30<=1;end

else

Cnt30<=Cnt30 + 1;end endcase

else

CntV<=CntV + 1;

S2: begin

end

end if(CntV>=5)

CntV<=1;

else

CntV<=CntV + 1;end

S3:

begin

if(CntV>=35)

CntV<=1;

else

CntV<=CntV + 1;end endcase always@(posedge Clk_1Hz)begin

case(stateH)

S1:

end

always@(negedge Clk_50M or negedge Rst)begin

begin

if(CntH>=35)

CntH<=1;

else

CntH<=CntH + 1;

S2:

begin

if(CntH>=30)

CntH<=1;end

else

CntH<=CntH + 1;end

S3:

begin

if(CntH>=5)

CntH<=1;

else

CntH<=CntH + 1;end endcase

case(state)

S1:

end always@(negedge Clk_50M or negedge Rst)begin

case(state)

S1:

end

//16进制计数器转换为用于显示的10进制计数器 always@(posedge Clk_50M)begin

if(CntVV>29)

begin

CntDis[7:4]<=3;

CntDis[3:0]<=CntVV20;end else if(CntVV>9)begin

CntDis[7:4]<=1;

CntDis[3:0]<=CntVV30;end else if(CntHH>19)begin

CntDiss[7:4]<=2;

CntDiss[3:0]<=CntHH10;end else

CntDiss<=CntHH;

end

if(Cnt30>=5)

end

end S3:

begin

state<=S4;

end S4:

begin

state<=S1;

end default:

begin

state<=S1;

end endcase

if(Cnt30>=30)

if(Cnt30>=5)always@(posedge Clk_1Hz)begin

case(state)

S1:

end

always@(posedge Clk_50M or negedge Rst)

begin

stateH<=S1;

stateV<=S1;

end S2:

begin

stateH<=S1;

stateV<=S2;

end S3:

begin

stateH<=S2;

stateV<=S3;

end S4:

begin

stateH<=S3;

stateV<=S3;

end endcase begin

if(!Rst)

begin

LedR_H<=0;

else

LedG_H<=0;LedY_H<=0;

LedR_V<=0;

LedG_V<=0;end LedY_V<=0;

begin

case(state)

S1:

begin

LedR_H<=1;LedG_H<=0;LedY_H<=0;LedR_V<=0;LedG_V<=1;LedY_V<=0;end

S2:

begin

LedR_H<=1;LedG_H<=0;LedY_H<=0;LedR_V<=0;LedG_V<=0;LedY_V<=1;end

S3:

begin

LedR_H<=0;LedG_H<=1;LedY_H<=0;LedR_V<=1;LedG_V<=0;LedY_V<=0;end

S4:

begin LedR_H<=0;LedG_H<=0;

end

LedY_H<=1;LedR_V<=1;LedG_V<=0;LedY_V<=0;end

default:

begin

end LedR_H<=0;LedG_H<=0;LedY_H<=0;LedR_V<=0;LedG_V<=0;LedY_V<=0;end

endcase assign led15=state;

endmodule

module SEG7_LUT input [3:0] iDIG;output reg

always @(iDIG)begin

case(iDIG)4'h1: oSEG = 7'b1111001;

//---t----4'h2: oSEG = 7'b0100100;// |

| 4'h3: oSEG = 7'b0110000;// lt rt

4'h4: oSEG = 7'b0011001;// |

| 4'h5: oSEG = 7'b0010010;//---m----4'h6: oSEG = 7'b0000010;// |

| 4'h7: oSEG = 7'b1111000;// lb rb 4'h8: oSEG = 7'b0000000;// |

| 4'h9: oSEG = 7'b0011000;//---b----4'ha: oSEG = 7'b0001000;4'hb: oSEG = 7'b0000011;4'hc: oSEG = 7'b1000110;4'hd: oSEG = 7'b0100001;4'he: oSEG = 7'b0000110;[6:0] oSEG;[6:0] oSEG;(oSEG,iDIG);

end

4'hf: oSEG = 7'b0001110;4'h0: oSEG = 7'b1000000;endcase endmodule 编译工程

保存文件,将文件放在所建工程所在路径下 点击主界面工具栏中的图标

也可点击菜单栏中“Processing”,点击“Start Compilation”

分配关键如下:

Clk_50M Input PIN_AD15 LedG_H Output PIN_AD9 LedG_V Output PIN_AJ6 LedR_H Output PIN_AJ7)LedR_V Output PIN_AJ5)LedY_H Output PIN_AD8 LedY_V Output PIN_AK5 Rst Input PIN_AA23 Seg7_HH[6] Output PIN_G1 Seg7_HH[5] Output PIN_H3 Seg7_HH[4] Output PIN_H2 Seg7_HH[3] Output PIN_H1 Seg7_HH[2] Output PIN_J2 Seg7_HH[1] Output PIN_J1 Seg7_HH[0] Output PIN_K3

Seg7_HL[6] Seg7_HL[5] Seg7_HL[4] Seg7_HL[3] Seg7_HL[2] Seg7_HL[1] Seg7_HL[0] Seg7_VH[6] Seg7_VH[5] Seg7_VH[4] Seg7_VH[3] Seg7_VH[2] Seg7_VH[1] Seg7_VH[0] Seg7_VL[6] Seg7_VL[5] Seg7_VL[4] Seg7_VL[3] Seg7_VL[2] Seg7_VL[1] Seg7_VL[0] Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output PIN_E4 PIN_F4 PIN_G4 PIN_H8 PIN_H7 PIN_H4 PIN_H6 PIN_AD17 PIN_AF17 7 PIN_AE17 7 PIN_AG16 PIN_AF16 7 PIN_AE16 7 PIN_AG13 PIN_AD12 PIN_AD11 PIN_AF10 8 PIN_AD10 PIN_AH9 8 PIN_AF9 8 PIN_AE8 8

烧写代码

在管脚配置完成后,还需将工程再编译一次,成功后,点击主界面工具栏中的亦可点击主界面菜单栏中“Tools”,点击“Programmer”

进入代码烧写界面后,点击“Start”,当“Progress”为100%时,表示烧写完成,这是可观察DE2-70板现象

获得预期的效果,两组的信号红黄绿灯交替切换,计数器记为零时信号灯切换状态,红灯35s,黄灯5s,绿灯30s。三,心得体会

通过本次实验初步了解了EDA技术,熟悉了FPGA开发板的开发流程,锻炼了动手能力。

下载单片机交通灯综合实验报告(大全5篇)word格式文档
下载单片机交通灯综合实验报告(大全5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    单片机实验报告

    目录 第一章单片机简介.................................................... 2 第二章实验要求.................................................. 3 第三章实验设备.........

    单片机实验报告

    单片机实验报告 一、实验目的 1.熟练使用Keil、Protues两款软件 2.通过上机操作,增强个人动手实践能力 3.加深对理论知识的理解 4.培养运用汇编语言进行初步编写程序的能力......

    单片机实验报告

    实验四、中断交通灯实验 林立强1000850116 一、实验目的 1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。 2、掌握中断响应及处理的编程方法。 二......

    单片机实验报告

    单片机实验一 实验报告 课程名称: 姓名: 系别: 专业: 年级: 学号: 指导教师: 单片机原理及应用实验 陈璐 信息系 电气工程及其自动化 2012级 120712041 李莉 2015 年6 月 25 日......

    单片机实验报告

    51单片机控制流水灯 目录 (1)51精简开发板简介 (2)实验目的 (3)实验内容 (4)元件 (5)原理图 (6)实验步骤 (7)主要功能介绍(8)实验错误及分析 (9)调试及程序 (10)系统测试 (11)实验心得 一、51精简......

    单片机实验报告

    实验一 uVision2 集成开发环境的使用 一、 实验目的和要求二、实验设备与仪器三、实验内容四、实验原理、方法与步骤 五、实验小结:1.简述生成应用程序的过程。2.记录程序调试......

    单片机实验报告

    《单片机原理及应用》 实 验 报 告 2017—2018学年第一学期 班级: 152 专业: 电子科学与技术 姓名: 子路 学号: 教师: 实验一:Keil C51 一、实验目的 1、熟悉Keil C51单片机应用......

    交通灯控制器设计实验报告

    设计性实验项目名称交通灯控制器设计 实验项目学时:3学时 实验要求:■ 必修□ 选修 一、实验目的 1、 学习与日常生活相关且较复杂数字系统设计; 2、 进一步熟悉EDA实验装置......