单片机流水灯课程设计

时间:2019-05-12 04:31:44下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《单片机流水灯课程设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《单片机流水灯课程设计》。

第一篇:单片机流水灯课程设计

单片机原理及系统课程设计报告

基于AT89C51单片机的流水灯 引言

1.1 课题简介

单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。

本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。本系统就是充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示,并实现循环的速度可调。

1.2 设计目的

(1)学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。

单片机原理及系统课程设计报告

(2)掌握汇编语言程序设计方法。

(3)培养实践技能,提高分析和解决实际问题的能力。

1.3 设计任务及要求

(1)彩灯用8个发光二极管代替。

(2)电路具有控制彩灯点亮右移、左移、全亮及全灭等功能。(3)彩灯两点移动时间间隔为0.5秒。总体设计思路

2.1设计思路

本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。同样的道理,可以让8个灯左移点亮,全亮、全灭。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

2.2 系统结构框图

系统机构框图如图1所示。

开关输入AT89C51单片机图1 系统结构框图

流水灯样式 2.3 系统程序流程图

系统程序总流程图如图2所示。

单片机原理及系统课程设计报告

开始读入四个开关的状态否判断开关状态灯左移点亮灯右移点亮灯全亮灯全灭灯流动运行或全亮全灭结束

图2 系统框图 设计步骤

3.1硬件设计

硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电

单片机原理及系统课程设计报告

路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以AT89S51单片机为主控单元。显示部分:8个LED灯循环亮灭。

3.2单片机时钟电路

时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。

在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。此电路采用12MHz的石英晶体。时钟电路如图3所示。

图3 时钟电路图

3.3复位电路

电阻的作用是用于上电复位的,VCC以上电,由于电容两端电压不能突变,所以RST上为高电平,然后电容放电,RST就为低电平了,还可以用手动复位,此电路应用自动复位。复位电路如图4所示。

图4 复位电路图

3.4控制电路

控制电路用于控制工作电路的工作情况,根据要求来控制电路,本电路的控制电路用来控制流水灯的工作情况,当按下1、2、3、4各个开关时,电路具有左移、右移、全亮、全没的功能,具体的控制电路如图5所示。

单片机原理及系统课程设计报告

图5 开关电路图

3.5工作电路

(1)工作电路就是根据总的电路的指令,来反应工作情况。本电路的流水灯电路具体的如图6所示。

图6 流水灯电路图

单片机原理及系统课程设计报告

(2)根据各个模块的功能及他们的信号传输,连接电路如图7所示。

图7 整体电路图 软件设计

4.1设计要求

本系统的功能就时实现流水灯的循环点亮,主要有四个功能,第一,按下第一个按钮,彩灯向上点亮循环,按下第二个,彩灯向下循环点亮,按下第三个,彩灯全灭,按下第四个,彩灯全亮。彩灯用8个发光二极管代替。电路具有的控制彩灯点亮右移、左移、全亮及全灭的功能用按键切换彩灯状态,彩灯两点移动时间间隔为0.5秒。

4.2源程序见附录Ⅰ

单片机原理及系统课程设计报告 软件调试

软件调试一般分为以下四个阶段:

1、编写程序并查错;

2、在汇编语言的编译系统中编译源程序

3、对程序进行编译连接,并及时发现程序中存在的错误;

4、改正错误。

在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。

此系统可以改进为可以通过对开关的调节来控制流水灯电路具有控制彩灯点亮右移、左移、全亮及全灭等功。心得体会

经过一段时间的努力,我们顺利的完成了这次单片机课设。这是一个磨练意志的过程。从课题的选择开始,计算器的设计、硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用Proteus软件画电路图时,然后再转换成一维的WORD中进行编辑,这个过程中让我掌握了计算机辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。

通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。

对于这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机汇编语言。

单片机原理及系统课程设计报告

参考文献

[1] 王思明,张金敏,苟军年等著.单片机原理及应用系统设计.北京:科学出版社,2012 [2] 谭浩强著.C程序设计(第四版).北京:清华大学出版社,2010 [3] 冯博琴,吴宁著.微型计算机原理与接口技术(第3版).北京:清华大学出版社,2011

单片机原理及系统课程设计报告

附 录Ⅰ

源程序:

START:

START1:

LOOP1:

CJNE:

SHOW1:

LOOP2:

SHOW2:

LOOP3:

LOOP4:

DELAY: D0: D1:

D2:

ORG 0000H

AJMP START

ORG 0030H

MOV SP,#60H

MOV DPTR,#TAB

JNB P0.0,LOOP1 JNB P0.1,LOOP2 JNB P0.2,LOOP3 JNB P0.3,LOOP4 AJMP START1

CLR A

MOVC A,@A+DPTR A,#11111111B,SHOW1 AJMP START

MOV P1,A

ACALL DELAY

INC DPTR

AJMP LOOP1

MOV A,#09H

MOVC A,@A+DPTR

CJNE A,#00000000B,SHOW2 AJMP START

MOV P1,A

ACALL DELAY

INC DPTR

AJMP LOOP2

MOV A,#08H

MOVC A,@A+DPTR MOV P1,A

AJMP START

MOV A,#11H

MOVC A,@A+DPTR MOV P1,A

AJMP START

MOV R0,#10

MOV R1,#200 MOV R2,#123 NOP DJNZ R2,D2 DJNZ R1,D1 DJNZ R0,D0

单片机原理及系统课程设计报告

RET TAB:

DB 11111110B DB 11111101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111B DB 11111111B DB 01111111B DB 10111111B DB 11011111B DB 11101111B DB 11110111B DB 11111011B DB 11111101B DB 11111110B DB 00000000B

END

第二篇:单片机课程设计led流水灯设计报告(精)

目 录

一、前 言 „„„„„„„„„„„„„„„„„„„„„„„(1 1.1课题简介 „„„„„„„„„„„„„„„„„„„„„„(1 1.2设计目的 „„„„„„„„„„„„„„„„„„„„„„„(1

二、总体设计 „„„„„„„„„„„„„„„„„„„„„„„(2 2.1设计思路 „„„„„„„„„„„„„„„„„„„„„„„(2 2.2原件清单 „„„„„„„„„„„„„„„„„„„„„„„(2

三、硬件设计 „„„„„„„„„„„„„„„„„„„„„„„(3 3.1AT89C51„„„„„„„„„„„„„„„„„„„„„„„(3 3.2系统框图 „„„„„„„„„„„„„„„„„„„„„„„(5 3.3程序框图 „„„„„„„„„„„„„„„„„„„„„„„(5

四、软件设计 „„„„„„„„„„„„„„„„„„„„„„„(5 4.1硬件设计 „„„„„„„„„„„„„„„„„„„„„„„(6 4.2单片机时钟电 „„„„„„„„„„„„„„„„„„„„„(6 4.3复位电路 „„„„„„„„„„„„„„„„„„„„„„„(6 4.4控制电路 „„„„„„„„„„„„„„„„„„„„„„„(7 4.5工作电路 „„„„„„„„„„„„„„„„„„„„„„„(7

五、软件调试 „„„„„„„„„„„„„„„„„„„„„„„(8 5.1设计要求 „„„„„„„„„„„„„„„„„„„„„„„(8 5.2软件的流程图 „„„„„„„„„„„„„„„„„„„„„(9 5.3程序设计 „„„„„„„„„„„„„„„„„„„„„„„(9

六、软件调试 „„„„„„„„„„„„„„„„„„„„„„„(11

七、心得体会 „„„„„„„„„„„„„„„„„„„„„„„(12

八、参考文献 „„„„„„„„„„„„„„„„„„„„„„„(13 第一章 前言 1.1 课题简介

单片机全称叫单片微型计算机(Single Chip Microcomputer , 是一种集成在电路芯 片, 是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O口和中断系统、定时器 /计时器等功能(可能还包括 显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路集成到一块硅 片上构成的一个小而完善的计算机系统。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置, 飞机上各种仪表的控制, 计算机的网络通讯与数据传输, 工业自动 化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的

安全保 障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这 些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种 智能机械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设 备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上 的应用 :, 例如精密的测量设备 2.在工业控制中的应用 :用单片机可以构成形式 多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可从手 机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工 作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备 领域中的应用 :例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫 系统等等。6.在各种大型电器中的模块化应用 :如音乐集成单片机, 看似简单的功 能,微缩在纯电子芯片中(有别于磁带机的原理 ,就需要复杂的类似于计算机的原 理。

本设计着重在于分析计算器软件和开发过程中的环节和步骤, 并从实践经验出发对计 算器设计做了详细的分析和研究。本系统就是充分利用了 8051芯片的 I/O引脚。系 统以采用 MCS-51系列单片机 Intel8051为中心器件来设计 LED 流水灯系统,实现 8个 LED 霓虹灯的左、右循环显示,并实现循环的速度可调。

1.2 设计目的

1.学习基本理论在实践中综合运用的初步经验, 掌握电路设计的基本方法、设计步骤, 培养综合设计与调试能力。

2.掌握汇编语言程序设计方法。

3.培养实践技能,提高分析和解决实际问题的能力。1.3 设计任务及要求

1.彩灯用 8个发光二极管代替。

2.电路具有控制彩灯点亮右移、左移、全亮及全灭等功能(用按键切换彩灯状态

3、彩灯两点移动时间间隔为 0.5秒。二、总体设计思路 2.1设计思路

本课题使用 AT89C51单片机时无须外扩存储器。因此, 本流水灯实际上就是一个 带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源 等电路和必要的软件组成的单个单片机。

如果要让接在 P1.0口的 LED1亮起来,那么只要把 P1.0口的电平变为低电平就 可以了;相反, 如果要接在 P1.0口的 LED1熄灭, 就要把 P1.0口的电平变为高电平;同理,接在 P1.1~P1.7口的其他 7个 LED 的点亮和熄灭的方法同 LED1。因此,要实 现流水灯功能,我们只要将发光二极管 LED1~LED8依次点亮、熄灭, 8只 LED 灯便 会一亮一暗的做流水灯了。同样的道理,可以让 8个灯左移点亮,全亮、全灭。在此我们还应注意一点, 由于人眼的视觉暂留效应以及单片机执行每条指令的时 间很短, 我们在控制二极管亮灭的时候应该延时一段时间, 否则我们就看不到 “流水” 效果了。

在此基础上, 增加外扩设备, 利用 74LS373和 8255扩展成 24个 LED 灯循环显示。2.2.原件清单

三、硬件设计 3.1AT89C51 1.芯片由 UNTITLED — ISISPROFESSIONAL 实验系统提供(AT89C51 1主要特性: 与 MCS-51兼容

4K字节可编程闪烁存储器 寿命:1000写 /擦循环 数据保留时间:10年 全静态工作:0Hz — 24Hz

三级程序存储器锁定 128*8位内部 RAM 32可编程 I/O线 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内震荡器和时钟电路 2管脚说明: ① 电 源 引 脚

Vcc(40脚 :典 型 值 +5V。Vss(20脚 :接 低 电平。② 外 部 晶 振

XTAL1、XTAL2分 别 与 晶 振 两 端 相 连 接。③ 输 入 输 出 口 引 脚 : P0口 :I/O双 向 口。作 输 入 口 时 , 应 先 软 件 置 “ 1”。P1口 :I/O双 向 口。作 输 入 口 时 , 应 先 软 件 置 “ 1”。P2口 :I/O双 向 口。作 输 入 口 时 , 应 先 软 件 置 “ 1”。P3口 :I/O双 向 口。作 输 入 口 时 , 应 先 软 件 置 “ 1”。④ 控 制 引 脚 : RST、ALE/-PROG、-PSEN、-EA/Vpp组 成 了 MSC-51的 控 制 总 线。

RST(9脚 :复 位 信 号 输 入 端(高 电平有 效。ALE/-PROG(30脚 :地 址 锁 存 信 号 输 出 端。

第 二 功 能 :编 程 脉 冲 输 入。

-PSEN(29脚 :外 部 程 序 存 储 器 读 选 通 信 号。-EA/Vpp(31脚 :外 部 程 序 存 储 器 使 能 端。第 二 功 能 :编 程 电 压 输 入 端(+21V。3 AT89C51单 片 机 的 P 口 特 点 : P0口 :是 一 个 8位 漏 极 开 路 输 出 型 双 向 I/O端 口。作 为 输 出 端 口 时 ,每 位 能 以 吸 收 电 流 的 方 式 驱 动 8 个 TTL 输 入 ,对 端 口 写 1时 , 又 可 作 高 阻 抗 输 入 端 用。在 访 问 外 部 程 序 或 数 据 存 储 器 时 , 它 是 时 分 多 路 转 换 的 地 址(低 8位 /数 据 总 线 , 在 访 问 期 间 将 激 活 内 部 的 上 拉 电 阻。

P1口 :P1口 是 一 个 带 有 内 部 上 拉 电 阻 的 8位 双 向 I/O端 口。P1口 的 输 出 缓 冲 器 可 驱 动(吸 收 或 输 出 电 流 方 式 4个 TTL 输 入。对 端 口 写 1时 , 通 过 内 部 的 上 拉 电 阻 把 端 口 拉 到 高 电 位 , 这 时 可 作 输 入 口。P2口 作 输 入 口 使 用 时 , 因 为 内 部 有 上 拉 电 阻 , 那 些 被 外 部 信 号 拉 低 的 引 脚 会 输 出 一 个 电 流(Iil。

P2口 :P2口 是 一 个 带 有 内 部 上 拉 电 阻 的 8位 双 向 I/O端 口。P2口 的 输 出 缓 冲 器 可 驱 动(吸 收 或 输 出 电 流 方 式 4个 TTL 输 入。对 端 口 写 1时 , 通 过 内 部 的 上 拉 电 阻 把 端 口 拉 到 高 电 位 , 这 时 可 作 输 入 口。P2口 作 输 入 口 使 用 时 , 因 为 内 部 有 上 拉 电 阻 , 那 些 被 外 部 信 号 拉 低 的 引 脚 会 输 出 一 个 电 流(Iil。在 访 问 外 部 程 序 存 储 器 时 和 16位 外 部 地 址 的 外 部 数 据 存 储 器(如 执 行 MOVX @DPTR 时 , P2口 送 出 高 8位 地 址。在 访 问 8位 地 址 的 外 部 数 据 存 储 器(如 执 行 MOVX @RI 时 , P2口 引 脚 上 的 内 容

(就 是 专 用 寄 存 器(SFR区 中 的 P2寄 存 器 的 内 容 , 在 整 个 访 问 期 间 不 会 改 变。

P3口 :P3口 是 一 个 带 有 内 部 上 拉 电 阻 的 8位 双 向 I/O端 口。P3口 的 输 出 缓 冲 器 可 驱 动(吸 收 或 输 出 电 流 方 式 4个 TTL 输 入。对 端 口 写 1时 , 通 过 内 部 的 上 拉 电 阻 把 端 口 拉 到 高 电 位 , 这 时 可 作 输 入 口。P3口 作 输 入 口 使 用 时 , 因 为 内 部 有 上 拉 电 阻 , 那 些 被 外 部 信 号 拉 低 的 引 脚 会 输 出 一 个 电 流(Iil。

(2 排 阻 的 作 用

所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起, 作为公共引脚。其余引脚正常引出。所以如果一个排阻是由 n 个电阻构成的, 那么它就有 n+1只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一 般用一个色点标出来。排阻一般应用在数字电路上,比如:作为某个并行口的 上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便。

3.2、系统框图

图 1 3.3、程序框图

四、设计步骤 4.1硬件设计

硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输

入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件 的芯片, 在实际应用中, 通常很难直接和被控对象进行电气连接, 必须外加各种扩展 接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用

系统。本设 计选用以 AT89S51单片机为主控单元。显示部分:8个 LED 灯循环亮灭。

4.2单片机时钟电路

时钟电路用于产生单片机工作所需要的时钟信号, 单片机本身就是一个复杂的同步 时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严 格地按时序进行工作。

在 MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚 X1,输出端为 引脚 X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了 一个稳定的自激振荡器。此电路采用 12MHz 的石英晶体。时钟电路如下图:

图 2 4.3复位电路

电阻的作用是用于上电复位的, VCC 以上电,由于电容两端电压不能突变,所 以 RST 上为高电平,然后电容放电, RST 就为低电平了,还可以用手动复位,此 电路应用自动复位。

图 3 4.4控制电路

控制电路用于控制工作电路的工作情况,根据要求来控制电路,本电路的控制电路 用来控制流水灯的工作情况,当按下1、2、3、4各个开关时,电路具有左移、右 移、全亮、全没的功能,具体的控制电路如下:

图 4 4.5工作电路 工作电路就是根据总的电路的指令, 来反应工作情况。本电路的流水灯电路具体 的如下:

图 5 2根据各个模块的功能及他们的信号传输,连接电路如下: 图 6

五、软件设计 5.1设计要求

本系统的功能就时实现流水灯的循环点亮,主要有四个功能,第一,按下第一个 按钮, 彩灯向上点亮循环, 按下第二个, 彩灯向下循环点亮, 按下第三个, 彩灯全亮, 按下第四个, 彩灯全灭。彩灯用 8个发光二极管代替。电路具有的控制彩灯点亮右移、左移、全亮及全灭的功能用按键切换彩灯状态,彩灯两点移动时间间隔为 0.5秒。

5.2、软件的流程图 : 图 7 5.3、程序设计

ORG 0000H;单片机上电后从 00000H 地址执行 AJMP START;跳转到主程序存放地指出

ORG 0030H;设置主程序开始地址

START: MOV SP,#60H;设置堆栈起始地址为 60H MOV DPTR,#TAB;把 TAB 表首地址送入 DPTR START1: JNB P0.0,LOOP1;判断 P0.0处开关是否闭合

JNB P0.1,LOOP2;判断 P0.1处开关是否闭合

JNB P0.2,LOOP3;判断 P0.2处开关是否闭合 JNB P0.3,LOOP4;判断 P0.3处开关是否闭合

AJMP START1;如果没有开关闭合重新检测 LOOP1: CLR A;累加器清零

河北建筑工程学院 单片机原理及应用课程设计 MOVC CJNE: A,@A+DPTR;取数值表中的数 A,#11111111B,SHOW1;检查左移结束标志 AJMP START;左移结束重新检测开关状态;将数据送到 P1 口;调用延时子程序;取数据表指针指向下一数据;继续查表取数据;设定累加器的初始值 SHOW1: MOV P1,A ACALL DELAY INC DPTR AJMP LOOP1 LOOP2: MOV A,#09H MOVC A,@A+DPTR;取数值表中的数 CJNE A,#00000000B,SHOW2;检查右移结束标志 AJMP START SHOW2: MOV P1,A ACALL DELAY INC DPTR AJMP LOOP2 LOOP3: MOV A,#08H;右移结束重新检查开关状态;将数据送到 P1 口;调用延时子程序;取数据表指针指向下一数据;继续查表取数据;设定累加器初始值 MOVC A,@A+DPTR;取数值表中的数 MOV P1,A AJMP START LOOP4: MOV A,#11H;将数据送到 P1 口;全灭结束重新检测开

关状态;设定累加器初始值 MOVC A,@A+DPTR;取数值表中的数 MOV P1,A AJMP START DELAY: MOV R0,#10 D0: D1: MOV R1,#200 MOV R2,#123 NOP D2: DJNZ R2,D2 DJNZ R1,D1 DJNZ R0,D0 10;将数据送到 P1 口;全灭结束重新检测开关状态;延时一段时间

河北建筑工程学院 单片机原理及应用课程设计 RET TAB: DB 11111110B DB 11111101B DB 11111011B DB 11110111B DB 11101111B DB 11011111B DB 10111111B DB 01111111B DB 11111111B DB 01111111B DB 10111111B DB 11011111B DB 11101111B DB 11110111B DB 11111011B DB 11111101B DB 11111110B DB 00000000B END;子程序返回;程序结束

六、软件调试 软件调试一般分为以下四个阶段:

1、编写程序并查错;

2、在汇编语言的编译系 统中编译源程序

3、对程序进行编译连接,并及时发现程序中存在的错误;

4、改正 错误。在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。此系统可以改进为可以通过对开关的调节来控制流水灯电路具有控制彩灯点亮右 11 河北建筑工程学院 单片机原理及应用课程设计 移、左移、全亮及全灭等功。

七、心得体会 经过一段时间的努力,我们顺利的完成了这次单片机课设。这是一个磨练意志的 过程。从课题的选择开始,计算器的设计、硬件和软件系统的设计、到最后的 Proteus 软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大 的锻炼。一方面通过 C51 单片机等一些器件的设计让我学习和掌握了单片机技术的基 础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用 Proteus 软 件画电路图时,然后再转换成一维的 WORD 中进行编辑,这个过程中让我掌握了计算机 辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后 完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工 作精神。使我受益匪浅,更加明确了自己专业的方向。通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我 感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利 用好图书馆和网络,是资源的到最好的利用。与他

人交流思想是取得成功的关键,在 交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思 考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。对于这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本 上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过 这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够 的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的 实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如 对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机 C 语言。这里我要感谢实验室的指导老师,没有老师的细致讲解和耐心的检查,也就没有 我的计算器出来,非常感谢!12 河北建筑工程学院 单片机原理及应用课程设计

八、参考文献 [1]徐爱钧.智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版 社,2004.9 [2]杨恢先 黄辉先著.单片机原理与应用.人民邮电出版,2009.7 [3]朱定华著.单片机原理与接口技术.电子工业出版社,2001.4 [4]王威著.HCS12 微控制器原理及应用.北京航空航天大学出版社,2007.10 [5]龚运新著.单片机 C 语言开发技术.北京清华大学出版社,2006.10 [6]胡洪波著.单片机原理与应用实验教程.湘潭大学出版社,2009.7 [7]《单片机原理及其接口技术》 胡汉才 编著 北京:清华大学出版社 [8]《MCS-51 单片机原理及应用》张毅刚 编著 哈尔滨:哈尔滨工业大学出版社 [9] 《51 单片机 C 语言应用程序设计 实例精讲》(第二版)戴佳 刘博文 编著 电 子工业出版社 13

第三篇:EDA课程设计流水灯设计

EDA课程实践报告

基于verilog的流水灯设计

学院:物理与电气工程学院 专业:11级电子信息工程

姓名:蒋美菊

学号:111102088

基于verilog的流水灯设计

一、摘要

随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。

流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。

课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。在此过程中培养从事设计工作的整体观念。

课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面: ·独立工作能力和创造力。

·综合运用专业及基础知识,解决实际工程技术问题的能力。·查阅图书资料、产品手册和各种工具书的能力。·写技术报告和编制技术资料的能力。·实际动手能力。

利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务和设计方法。

二、设计目的

1,学习使用EDA集成设计软件Quartus II,电路描述,综合,模拟过程。2,了解基于EDA应用系统的设计方法。

3,掌握使用EDA工具设计流水灯的设计思路和设计方法

4,熟练使用Quartus II对实验程序进行改错,调试以及演示现象。5,帮助学生养成良好的实验习惯。

三、设计流程

(1)此次实验要求我们通过学习的EDA课程,来编制Verilog程序,以及使用这些程序代码来显示我们所要求的结果。流水灯设计是由八只LED显示灯来实现的,通过程序代码来控制这八只灯的亮灭,在实验初期,我们首先得编程序,通过我们上课所学的基础知识,再结合近段时间去图书馆查阅的有关参考书籍,以及网上所搜索的相关知识,我们小组共同完成了程序的编制,程序代码在下面有详细介绍。

(2)其次,我们需要掌握Quartus II的用法,因为要求的现象是通过这个软件实现的,在EDA实验课程中老师有详细介绍Quartus II的使用方法,所以在这一阶段对我们来说也比较得心应手,安装,调试,然后将编好的程序输入,在此过程中我们遇到了点小困难,显示程序有错误,但是通过我们集体的努力,终于发现,是因为在操作时,我们应该先创建自己的文件夹,然后统一存放在一起,而我们存放的地方有误,所以显示不出我们所输入的代码。

(3)当所有的程序输入无误后,我们要为每个器件设置管脚,因为这些在实验课上老师有说过,而且管脚号也已告诉我们,只需查询便可,所以这一阶段应该说也挺简单的。

(4)当所有的这一切准备工作做完后就是该演示现象了,这是最关键的一步,因为实验教材有限,所以不能保证我们每位同学都来演示,我们一组人中只需一个代表将我们的程序整理一下,然后演示一遍,8只LED显示灯能被控制其亮灭,会显示像流水一样的灯光。那么我们便可以通过这次的课程设计了,在此过程中,我们每个人的任务不同,我虽然没有亲手去调试,但是我也了解它的运作。(5)设计报告也是我们课程设计的最后一步了,说白了就是将我们这一周所干的事情总结一下,从开始使用Verilog编程序,在Quartus II输入程序,及改正错误,调试,运行,显示现象。这所有的东西详细的说明。那么这次的课程设

计就圆满结束。

四、流水灯设计程序

module Verilog1(LED,CLK,reset);output[7:0] LED;input CLK,reset;reg [7:0] LED;reg [24:0] counter;initial LED=8'b11111111;always@(posedge CLK)begin counter<=counter+1;if(counter==25'b1_0111_1101_0111_1000_0100_0000)//25M // 1_0111_1101_0111_1000_0100_0000 begin LED<=LED<<1;counter<=0;if(LED==8'b0000000)LED<=8'b11111111;end end endmodule

五、流水灯设计管脚分配

六、设计注意事项

在编写程序时,注意格式以及拼写是否正确,因为Quartus II要求的程序代码也是很严格的,所以没有扎实的Verilog编程基础,也很难得到所要求的程序。其次在保存程序时,我们要建立自己的文件夹来存放所编的程序,以防止运行时和其他程序的混乱导致错误。

在管脚分配这块,我们要注意查找每个器件的标号,然后准确输入进去,可以使用文本编辑工具打开QuickSOPC管脚分配.txt文件,将# Pin & Location Assignments段拷贝并替代用户QuartusII工程文件夹下的*.qsf文件中的相同段。当然,用户也可以直接在该文件中修改管脚的配置,这比在Quartus II中逐一分配管脚效率要高。当只使用部分管脚时,可以只拷贝用到的管脚分配,当然,也可以全部拷贝,没有使用的管脚不会影响设计。

七、课程设计总结

两个月的电子设计技术(EDA)课程已经结束,在这验收学习成果的一星期内,通过对流水灯的制作,清楚地看到了自己在EDA方面知识的薄弱,各个知识点没有联会贯穿,EDA基础知识的掌握也不够牢固。

在做此课件的过程中,充分体会到了实际操作的重要性。如果没有同学的指点,可能自己会在一些地方打转弯,浪费掉很多时间。通过这次课程设计,可以很好的把各个章节的模块融合到一起,对以后的学习,设计很有帮助。经过这次的课程设计,让我感觉自己在动手操作方面有质上的飞跃。再加上前几次的课程设计所积淀下来的经验,以及老师悉心的指导,有力地指导了这次课程设计的进行,提高了这次课程设计任务的质量和速度,进一步地增强了自己完成任务的能力,巩固了所学的理论知识。完成课程设计的质量明显提高。几个人集体完成任务,必然存在弊端的,尤其体现在合作的分工不明确和对任务的消极怠工。这次课程设计要求五人一组,一个中心,但需要融入自己的思想在里面,这也在一定程度上摆脱了依赖和消极怠工的现象。使我们独立完成任务能力增强。

所有的专业课实验,以及这次的课程设计,无不有力地证明了基础知识的重要性,无不在提醒自己,要重视对基础知识的学习。通过这次的实验,理解了电子技术设计的设计方法和流程,夯实了QuartusII的操作流程。很显然,任何的实践活动,都不可能闭门造车,是必须去吸取前人的实践经验,这就要求在课程

设计的过程中,从网络上,从图书馆,借寻相关资料书籍等,有力地指导课程设计。进一步认清了毕业走向。增强了搜索资料的能力。通过这次的课程设计,就直接指明了一条出路,那就是学习如何通过EDA只是设计一些器件。这就要求在最后的大学时间里,要继续夯实相关的理论知识,继续多动手操作,提高具体的实践操作能力,为即将毕业的工作出路,做好充分的准备。对这次课程设计的建议。

整个的课程设计的过程中,老师的悉心指导对我们是大有裨益的,对老师表示感谢。还有同学之间的互相帮助,也进一步增进了我们的友谊,所以说这次的课程设计真的让我获益匪浅。

八、参考文献

《EDA技术实用教程》,潘松、黄继业,科学出版社,2001.7 《CPLD系统设计技术入门与应用》,黄正瑾等著,电子工业出版社 《电子设计自动化(EDA)手册》,王丹、童如松,电子工业出版社 《可编程逻辑器件与EDA技术》李景华,杜玉远.东北大学出版社,2000 《FPGA系统设计与实践》陈琼,潘礼. 电子工业出版社,2005

第四篇:流水灯实验报告

单片机流水灯实验

一、任务

让8个LED灯轮流亮起来,实现流水灯的功能。

二、思路

让接在P0.0口的LED灯亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED灯熄灭,就要把P0.0口的电平变为高电平就可以了。要实现流水灯功能,只要将8个LED灯依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。

我们应该注意一点,由于单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

三、步骤

1、用proteus画电路图。如下图:

2、用keil建工程。

1)运行keil C51软件,点击Project菜单新建项目,选择为AT89C52的单片机型号。然后单击File选择New新建程序文件,保存成.c 文件,右击Source Group1添加入程序文件。2)用C语言编写程序代码如下:

#include void delay(unsigned char tmp);code unsigned char tmpled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

void main(void){ unsigned char i;while(1){ for(i=0;i<8;i++){

P0=tmpled[i];

delay(50);} } }

void delay(unsigned char tmp){ unsigned char i,j;i=tmp;while(i){ i--;j=255;{

j--;} } } 3)右击Target 1打开设置,Output菜单下勾选上create hex file。

4)调试运行程序后,在proteus中双击单片机,添加hex文件,运行看到流水的的效果。

四、实验中遇到的问题。

1、用proteus仿真时候,发现错误:

error variable not found parsing property resistance of RN1-Rnvalue expected for RN1-R(n=1~8)而且led灯亮度十分微弱。可能是接入的电阻太大了。

检查电路图发现排阻的值为RX8,修改为220(自己选择)后。错误便没有了,同时,led灯的亮度也增强了。

2、关于延时函数。

延时的时间计算不太明白。

3、P0=0xfe;是对单片机P0口的8个I/O口同时进行操作,0x后的数使用十六进制表示,fe转换为二进制是1111 1110,则P0.0为低电平,对应的led灯亮,其他7个led灯灭。

第五篇:流水灯实验报告(范文)

单片机流水灯试验

一、实验目的:

1、进一步熟悉Keil C51集成开发环境调试功能的使用

2、学会自己编写程序,进行编译、仿真调试

3、学会使用单片机的P0口作为I/O口去控制外围电路,实现LED灯以固定的频率进行闪烁。

二、实验设备:

1、PC机

2、SW-51PROC单片机综合实验平台

三、实验内容:

1、编写一段程序,用单片机P0口的8个输出去控制8个LED灯,实现如下功能:

先使8个LED灯轮流点亮,从左向右移动,时间间隔0.5s。以上过程循环实现。

四、实验步骤:

1、实验原理:

单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。A寄存器的位经过rr a之后转换如下所示:

A0A1A2A3A4A5A6A7 然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

2、实验电路图 +5v1234123412340a1a2a3a4a1a2a3a4a1a2a3a4GND0Vcc1P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7b1b2b3b***C51

3通过仿真实验正确性

代码如下:ORG 0 MOV A,#00000001B LOOP:MOV P2,A RL A ACALL DELAY SJMP LOOP

DELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1

DJNZ R1,DEL2 RET End ORG 0000H LJMP MAIN

4、实验程序 :

ORG 0050H MAIN:MOV R0,#14

MOV DPTR,#TABLE L0:

MOV A,#0 L1:

MOVC A,@DPTR+A

MOV P0,A

ACALL DELAY1

INC A41 DJNZ R0,L1 SJMP L0 DELAY1:

MOV R1,#250 LOOP1:

MOV R2,#250 LOOP2:

NOP

NOP

NOP

NOP

NOP

DJNZ R0,LOOP2

DJNZ R1,LOOP1

RET TABLE: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH END

5、实验结果:

五、实验总结

这次试验我通过Proteus仿真实现对流水灯功能的实现。受益匪浅,对80c51的功能和结构有了深层次的了解,我深刻的明白,要想完全了解c51还有一定距离,但我会一如既往的同困难作斗争。在实验中,我遇到了不少困难,比如不知道怎么将程序写进单片机中,写好程序的却总出错,不知道什么原因,原来没有生成hex文件。这些错误令我明白以后在试验中要步步细心,避免出错。

下载单片机流水灯课程设计word格式文档
下载单片机流水灯课程设计.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    多功能流水灯实验报告

    课程设计报告设计课题:多功能流水灯专业班级:学生姓名:指导教师:设计时间:题目 多功能流水灯 一、课程设计目的 1、掌握数字系统的设计方法和测试方法。 二、课程设计题目(问题)描......

    微课教学设计--利用单片机控制流水灯

    微课教学设计--利用单片机控制流水灯 【教学背景】 单片机原理及应用是电子信息工程以及其他电类专业必修的一门重要专业课程。该课程以MCS-51系列单片机为例,讲述单片机的内......

    嵌入式实验1 流水灯实验

    河南机电高等专科学校《嵌入式系统开发》课程实验报告 系部: 电子通信工程系班级: 电信#### 姓名: ###### 学号: ## 实验一搭建实验环境 一.实验简介 搭建嵌入式系统开发环......

    流水灯实训总结

    流水灯实训总结 1. 实训目的: I. II. III. 掌握单片机的硬件结构; 理解一个完整的单片机系统是由硬件和软件组成的。 学习流水灯的基本原理。 2. 实训内容: I. II. III. IV. 在......

    单片机课程设计

    单片机课程设计 课题: 简易电子琴设计 学院:电气与信息工程学院 专业:电子信息工程 姓名:李琳琳 学号:093411106 指导老师:田巍 河南城建学院 2014年01 月01 日......

    单片机课程设计

    课 程 设 计 设计题目: 基于单片机的8*8点阵显示数字设计 学生姓名: 指导教师: 二级学院: 专业: 班级: 学号: 目 录 摘要„„„„„„„„„„„„„„„„„„„„„„„„„„......

    单片机课程设计

    基于单片机的火灾智能报警控制系统的设计前言在各种灾害中,火灾是最经常、最普通地威胁公众安全和社会发展的灾害之一。人类能够对火进行利用和控制,是文明进步的一个重要标志......

    单片机课程设计

    《单片机技术》课程设计说明书 音乐盒 院、部:电气与信息工程学院 学生姓名:刘亮 指导教师:凌云职称讲师 专业:电子信息工程 班级:电子1302班 学号:1330340220 完成时间: 2016年1......