单片机流水灯课程设计
51单片机流水灯程序
51单片机流水灯程序
51单片机是一种广泛使用的微控制器,具有丰富的IO端口和定时器资源。流水灯程序是51单片机入门的基础示例之一,通过多个LED灯按照一定顺序逐个亮起或熄灭,形成流水灯的效果。下面详细介绍51单片机流水灯程序的编写。
一、硬件连接
要实现流水灯效果,需要将多个LED灯连接到51单片机的IO端口上。一般使用P1端口作为输出端口控制LED灯的亮灭,P2端口作为输出口控制LED灯亮起的顺序。具体连接方式如下:
•将LED灯的阳极通过限流电阻连接到VCC。
•将每个LED灯的阴极通过限流电阻连接到P1端口。
•将P2端口的每个引脚依次连接到每个LED灯的阴极。
二、程序实现
#include //包含51单片机头文件
#define LED P1 //定义LED为P1端口
#define ORDER P2 //定义顺序控制为P2端口
void delay(unsigned int t); //延时函数声明
void main()
{
unsigned char i;
while(1) //循环控制流水灯效果
{
for(i=0; i<8; i++) //控制8个LED灯
{
LED = 0x01<
delay(10000); //延时一段时间,使LED灯亮起后延时熄灭
LED = 0x01>>(i+1); //将第i个LED灯置灭
}
}
}
void delay(unsigned int t) //延时函数定义
{
unsigned int i, j;
for(i=0; i
{
for(j=0; j<1275; j++);
}
}
单片机跑马灯(流水灯)控制实验报告
单片机跑马灯(流水灯)控制实验报告
实验目的:
本实验旨在通过使用单片机对LED灯进行控制,实现跑马灯(流水灯)的效果,同时熟悉单片机编程和IO口的使用。
实验器材:
1)STC89C52单片机
2)最基本的LED灯
3)面包板
4)若干跳线
实验过程:
1.硬件连接:将单片机的P2口与面包板上的相应位置连接,再将LED灯接入面包板中。
2.编写程序:按照题目要求编写所需程序。
3.单片机烧录:将程序烧录进单片机中,即可实现跑马灯效果。
程序详解:
1. 由于LED灯是呈现亮灭效果,我们要编写程序来控制LED的亮灭状态。
2. 在程序中,我们通过P2口控制LED灯的亮灭状态。例如,若要让LED1亮,我们就将P2口的第一个引脚设置为低电平(0),此时LED1就会发光。同样地,若要LED2,LED3等依次点亮,则需要将P2口的第二个、第三个引脚设置为低电平,依此类推即可。
3. 接下来,我们要实现每个LED灯的亮灭时间间隔,并实现跑马灯的效果。
4. 在本实验中,我们采用了计时器中断的方式来实现灯光的控制,即在定时器中断函数中对P2口进行控制,这样可以方便地控制灯亮灭时间和亮度。通过改变定时器中断的时间,可以改变LED灯的亮灭时间;通过改变P2口的控制顺序,可以实现跑马灯效果。
5. 整个程序比较简单,具体的代码实现可以参考以下程序:
#include <REG52.H>
#include <intrins.h>
#define uint unsigned int #define uchar unsigned char void Delay1ms(uchar _ms); void InitTimer0();
毕业设计---基于单片机的流水灯设计
软件编程
单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成
上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写
程序控制单片机管脚电平的上下变化,来实现发光二极管的一亮一灭
。软件编程是单片机应用系统中的一个重要的组成局部。以最简单的
流水灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控
4
流水灯硬件原理图
从原理图中可以看出,如果要 让接在P1.0口的LED1亮起来,那 么只要把P1.0口的电平变为低电平 就可以了;相反,如果要接在P1.0 口的LED1熄灭,就要把P1.0口的 电平变为高电平;同理,接在P1.1 ~P1.7口的其他7个LED的点亮和 熄灭的方法同LED1。因此,要实 现流水灯功能,我们只要将发光二 极管LED1~LED8依次点亮、熄灭 ,8只LED灯便会一亮一暗的做流 水灯了。在此我们还应注意一点, 由于人眼的视觉暂留效应以及单片 机执行每条指令的时间很短,我们 在控制二极管亮灭的时候应该延时 一段时间,否那么我们就看不到“ 流水〞效果了。
AJMP START
;移动完7次后跳到开始重来,以到达循环流动效果
;----- 延时子程序 ----DELAY: MOV R0,#255 ;延时一段时间
D1: MOV R1,#255
DJNZ R1,$
DJNZ RET
R0,D1
课程设计-- 基于单片机的双向流水灯
课程设计说明书
题目:基于单片机的双向流水灯
院(部):机械工程学院
专业班级:机设10-10
学 号:2010302529
学生姓名:周素博
指导教师:张双双
2014年1月16日
安徽理工大学课程设计(论文)任务书
机械工程院(部)测控教研室
学号
2010302529
学生姓名
周素博
本次设计了一个AT89CT51单片机控制的双向流水灯,流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即由单片机电路(含晶振电路、复位电路等)、串口电路、发光二极管电路和必要的软件组成的单片机应用系统。包括protues软件仿真的硬件电路及keil软件C语言编程方法,最后将程序写入电路板中,体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。
[3]宋庆环,才卫国,高志.89C51单片机在直流电动机调速系统中的应用[M].唐山学院,2008.4
[4]杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2008.3
[6]曹巧媛.单片机原理及应用[M].北京,电子工业出版社,1997.9
指导教师签字
教研室主任签字
2013年12月23日
(1)主要特性:
《单片机C语言程序设计及仿真》教学设计项目三流水灯的制作与实现
《单片机C语言程序设计及仿真》教学设计项目三流水
灯的制作与实现
一、设计目的
本项目旨在通过制作流水灯,让学生掌握单片机C语言编程及仿真的
基本知识,熟悉I/O口的控制操作,培养学生的创新思维和动手实践能力。
二、教学目标
1.掌握单片机C语言编程的基本语法和常用函数;
2.熟悉Keil uVision4软件的使用及仿真调试功能;
3.理解流水灯原理,能够进行流水灯的设计与实现;
4.培养学生的团队合作能力和解决问题的能力。
三、教学重点
单片机C语言编程基础及流水灯原理的理解。
四、教学方法
讲授与实践相结合的方式,学生分组进行实验设计与仿真。
五、教学准备
1.单片机开发板
2.Keil uVision4软件
3.流水灯电路连接线
4.学生分组工具箱
5.实验手册及教材资料
六、教学过程
第一步:讲解流水灯原理及电路连接方式(10分钟)
1.讲解流水灯的原理:通过多个LED灯按照顺序依次亮起和熄灭,形
成流水灯效果。
2.说明流水灯的电路连接方式:将多个LED灯连接到单片机的I/O口上,通过控制相应的I/O口输出高电平或低电平来控制LED灯的亮灭。
第二步:讲解流水灯的编程思路(15分钟)
1.通过循环控制LED灯的亮灭顺序,实现流水灯的效果。
2.使用循环语句和位操作函数,逐个控制LED灯的亮灭。
第三步:学生实验设计及仿真(40分钟)
1.将学生分组,每组准备一份电路连接图,明确各个LED灯连接到单
片机的I/O口。
2.学生根据流水灯的编程思路,使用Keil uVision4软件进行C语言
编程,并进行仿真调试。
3.学生在仿真过程中,调整LED灯的亮灭速度、亮灭顺序、亮度等参数,观察流水灯效果。
基于单片机的流水灯系统设计
基于单片机的花样流水灯及其数码显示技术
姓名;姚玉柱
班级;电信一班
学号;************
学院;电子信息工程学院
1. 设计思路 (3)
1.1电源模块 (4)
1.2显示模块 (4)
1.3花样灯模块 (4)
2 单片机花样灯与数码显示系统总体设计........................................................... 错误!未定义书签。
2.1三个模块的阐述
2.2单片机花样灯与数码显示控制系统的通行方案设计................................. 错误!未定义书签。
2.3单片机花样灯与数码显示控制系统的功能要求........................................ 错误!未定义书签。
2.4单片机花样灯与数码显示控制系统的基本构成及原理............................ 错误!未定义书签。3花样灯与数码显示系统的硬件设计 (8)
3.1AT89C51单片机简介 (9)
3.1.1 AT89C51单片机的主要特性 (9)
3.1.2 主要引脚功能 (10)
3.2系统硬件总电路构成及原理 (12)
3.2.1系统硬件电路构成 (12)
3.2.2系统工作原理 (12)
4系统软件程序的设计 (12)
4.1程序主体设计流程 (12)
4.2理论基础知识 (13)
4.2.1数组及while、switch等语句................................................................. 错误!未定义书签。
单片机流水灯课程设计
目录
1 设计任务与要求 (1)
1.1设计任务 (1)
1.2设计要求 (1)
2 设计方案 (1)
2.1 设计思路 (1)
2.2 器件介绍与作用 (1)
2.2.1 STC89C52RC简介 (1)
2.2.2 STC89C52RC参数 (3)
2.2.3 STC89C52RC特性 (3)
2.2.4 STC89C52RC单片机的P2口介绍 (4)
2.2.5 LED灯介绍 (5)
3 硬件电路设计 (6)
3.1 原理图 (6)
3.2 LED被点亮的原理 (7)
4 软件设计 (8)
4.1设计流程 (8)
4.2 源程序 (15)
5 调试过程 (16)
5.1实物连接图 (16)
5.2调试 (17)
5.3出现的问题 (17)
6 总结 (18)
7 附录 MSC-51系列单片机指令表 (19)
参考文献 (24)
1 设计任务与要求
1.1设计任务
设计一个通过单片机P2口控制流水灯的系统
1.2设计要求
(1)至少8个灯;
(2)可实现不同的亮灯(如左循环,右循环,间隔闪等)。
2 设计方案
2.1 设计思路
整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,进入用户设定模式状态。于STC89C52单片机的彩灯控制方案,实现对LED红灯的控制。本方案以STC89C52单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和8个LED灯,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。
2.2 器件介绍与作用
2.2.1 STC89C52RC简介
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
单片机流水灯实验报告
单片机流水灯实验报告
引言
单片机是一种集成电路,可以通过编程来控制不同的功能。其中,流水灯是一个最简单的单片机实验项目,也是学习单片机的第一步。本篇实验报告将详细介绍如何通过使用 AVR 单片机来实现一个流水灯的控制器。
实验原理
流水灯的原理很简单,就是通过一个方向控制信号,以及一定的时间延时控制来逐步点亮和熄灭多个 LED 灯。在本次实验中,我们将使用 AVR ATmega328P 单片机,它可以通过编程来实现流水灯的控制功能。
实验步骤
1. 硬件准备
将 ATmega328P 单片机插入到开发板中,并使用杜邦线将单片
机的引脚连接到各个 LED 灯。我们需要将一个引脚连接到方向控
制信号,用于控制灯的点亮方向。同时,我们还需要连接一个电
位器,用于调节流水灯的速度。
2. 程序设计
使用 Arduino 开发环境来编写 AVR 单片机的程序。首先需要
包含头文件 avr/io.h 和 util/delay.h,并定义输入输出引脚。然后,
我们需要定义一个名为“led” 的一个数组,来存储各个 LED 灯的
输出状态。同时,还需要定义一个变量“dir”,来表示流水灯的方向。
在程序主循环中,我们使用 for 循环来遍历各个 LED 灯。同时,根据“dir”变量的不同,我们可以实现流水灯的正向和反向控制。
另外,我们还需要使用“_delay_ms()”函数来延时一定的时间,实
现流水灯的闪烁效果。
3. 程序烧录
使用 AVR ISP 编程器将编写好的程序烧录到单片机中。在烧录过程中需要设置正确的程序和芯片类型,并选择正确的口线连接方式。
基于单片机的流水灯设计讲解
****
课程设计报告书
系别:机械与电子工程学院
专业:
学生姓名:学号:
课程设计题目:基于单片机的流水灯设计
起迄日期:
课程设计地点:
指导教师:
下达任务书日期: 2013 年12月16日
目录
第一章设计背景 (3)
第二章硬件设计 (4)
2.1硬件组成 (4)
2.2 AT89C51引脚功能 (4)
2.3晶振 (6)
2.4 复位状态 (7)
2.5流水灯硬件原理图 (8)
2.6 MCS-51系列单片机内部采用模块式结构 (9)
2.7元件清单 (9)
2.8程序流程图 (10)
第三章软件编程 (11)
3.1位控法 (11)
3.2 C语言编程 (12)
3.2.1 C语言程序 (12)
3.2.2编程注意事项 (13)
3.3仿真结果 (15)
实验总结 (16)
参考文献: (17)
第一章设计背景
单片机的应用已经广泛的渗透到国民经济的各个领域,随着在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未有的速度被单片机智能控制系统所取代,它已经成为工科大学生的必修课程之一。单片机技术含有硬﹑软两个方面的技术。硬件是以单片机为核心,再加以其他各元器件组成的电子电路的一个实体。它既有单片机的技术,又有电子类专业所必须的模拟﹑数字﹑高频电子电路的综合运用。单片机的种类繁多,目前单片机应用系统开发工具也有不少,但同一系列单片机的开发工具或实验系列基本相同。51系列单片机时目前应用最广泛的一种8为单片机之一,它具有体积小﹑功能强﹑成本低﹑应用面广等优点。经过20多年的推广与发展,51系列单片机形成了一个规模庞大,功能齐全,资源丰富的产品群。当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。随着电子技术的迅速发展,单片机得到了越来越多的运用。本设计用单片机8951结合LED制作了一种新型的LED流水灯控制系统的设计,以AT89C51作为主控核心,利用软件实现对LED流水灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。
单片机流水灯课程设计
基于AT89C51单片机的流水灯
1 引言
1.1 课题简介
单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
单片机原理流水灯设计
原理:
MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;P0、P1、P2和P3接口均具有普通I/0口的功能,P0、P2口还可以作系统地址和数据总线、P3口有第二功能,P3口的第二功能大多与其内部功能部件有关,RD、WR是外部数据存储器的写、读控制信号,它与MCS-51的内部功能器件配合使用。
图1 P1口的位结构
本实验用到的P1口内部结构如图1所示。作输出时:输出0即(P1.x=0)时,将0输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出1,下面的场效应管导通,输出引脚成低电平。输出1时,下面的场效应管截止,上面的上拉电阻使输出为1。作输入时:P1端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。为了能读到真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是1。为了能正确读取引脚信号,锁存器必须先写1。通过C51程序的编写,可以使I/O口的每根引脚在不同的时间输出不同的0、1信号,从而控制外部的设备。
归纳四个并行口使用的注意事项如下:
1、如果单片机内部有程序存贮器,不需要扩展外部存贮器和I/O接口,单片机的四个口均可作I/O口使用。
2、四个口在作输入口使用时,均应先对其写“1”,以避免误读。
3、P0口作I/O口使用时应外接10K的上拉电阻,其它口则可不必。
用单片机设计流水灯的方法和程序编写
S51增强型单片机实验板上有8个高亮度发光二极管(见图1所示),可以用来做单片机流水灯、跑马灯。。。等实验,电路原理图见下图3。
图3单片机流水灯设计方法
从原理图可以看出,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P 1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。
从上面中文表示看来实现单片机流水灯很简单,但是我们不能说P1.0你变低,它就变低了。因为单片机听不懂我们的汉语的,只能接受二进制的“1、0......”机器代码。我们又怎样来使单片机按
我们的意思去工作呢?为了让单片机工作,只能将程序写为二进制代码交给其执行;早期单片机开发人员就是使用人工编写的二进制代码交给单片机去工作的。今天,我们不必用烦人的二进制去编写程序,完全可以将我们容易理解的“程序语言”通过“翻译”软件“翻译”成单片机所需的二进制代码,然后交给单片机去执行。这里的“程序语言”目前主要有汇编语言和C语言两种;在这里我们所说的“翻译”软件,同行们都叫它为“编译器”,将“程序语言”通过编译器产生单片机的二进制代码的过程叫编译。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序。
基于单片机的流水灯设计
基于单片机的流水灯设计
单片机是一种集成电路,它包含了处理器、内存和输入/输出接口等
组件。它为嵌入式系统提供了良好的硬件和软件支持。流水灯是一种常见
的电子实验项目,它可以通过多个LED灯的顺序闪烁,形成一种流动的效果。在本文中,我们将介绍基于单片机的流水灯设计。
首先,我们需要选择适合的单片机。常见的单片机包括51系列、AVR
系列和ARM系列等。在这里,我们选择使用51系列单片机,因为它具有
广泛的应用和丰富的开发资源。
接下来,我们需要准备硬件组件。除了单片机之外,我们还需要LED 灯、电阻、电源和连接线等。LED灯是流水灯的核心组件,我们可以选择
不同颜色和尺寸的LED灯,以满足不同的设计需求。电阻用于限制LED灯
的电流,这样可以保护LED灯和单片机。电源可以是直流电压,可以使用
电池或者外部电源适配器。连接线用于将LED灯与单片机连接起来。
在硬件准备好之后,我们开始进行软件设计。软件设计包括两个方面:硬件配置和程序编写。首先,我们需要将单片机的引脚与LED灯进行连接。通过单片机的GPIO引脚,我们可以控制LED灯的亮灭。根据具体的硬件
连接方式,我们需要在程序中设置相应的引脚为输出模式。
程序编写是流水灯设计的核心。我们使用C语言进行程序编写。首先,我们需要定义相应的宏定义和全局变量,以便在程序中使用。接下来,我
们可以使用循环控制语句和延时函数,实现LED灯的流动效果。具体的程
序设计可以根据实际需求进行调整和修改。
在实际操作中,我们可能会遇到一些问题。例如,LED灯不亮、流动
效果不理想等。这些问题可能是由于硬件连接错误、程序错误或者供电不
单片机课程设计流水灯设计
单片机原理与接口技术课程设计报告
目录
一.题目 (3)
二.设计要求 (3)
三.器件选型 (3)
四.设计理念 (3)
五.电路硬件图 (4)
六.程序流程图 (5)
七.实验源程序 (6)
八.实验总结 (8)
九.参考文献 (11)
一.题目:
流水灯2
二.设计要求:
设计一个流水灯控制器,在按钮A=0时,8个流水灯的里亮灭顺序是 1.,2,3,4,5,6,7,8;当A=1时,8个灯得亮灭顺序是8,7,6,5,4,3,2,1。按钮B可以随时启动或停止流水灯的运行。
三.器件选型:
MCS-8051单片机,8个LED灯,按钮A,B等。
四.设计理念:
将按钮A设在P3.6,按钮B设在P3.7。在按钮A=0时,若B=0,则灯不亮;若B=1,则8个灯按照1,2,3,4,5,6,7,8的顺序亮灭,反复循环,B随时按下都可以启动或停止流水灯的运行。在按钮A=1时,若B=0,则灯不亮;若B=1,则8个流水灯按照8,7,6,5,4,3,2,1的顺亮灭,反复循环,B随时按下都可以启动或停止流水的运行。满足设计要求。
五.电路硬件图
六.程序流程图
七.实验源程序
#include<AT89X51>
SBIT A=P3^6;
SBIT B=P3^7;
unsigned char i,j,k;
void delays(void) //定义延时程序
{
for(i=50;i>0;i--)
for(j=100;j>0;j--)
for(k=248;k>0;k--);
}
void mian()
{
const unsigned char S1[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; const unsgned char S2[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char c;
龙芯单片机课程设计
龙芯单片机课程设计
龙芯单片机是国产自主可控的一种微控制器芯片,使用汇编语言进行编程。下面是一个基于龙芯单片机的课程设计建议:
设计题目:LED流水灯控制器
设计内容:
1. 设计一个基于龙芯单片机的LED流水灯控制器,实现多个LED灯在不停顿地流动亮起的效果。
2. 控制器需要具备以下功能:能够控制LED流水灯顺序正反转换、调节LED流水速度、选择单色或多色LED灯等。
3. 控制器需要通过数码管或LCD显示器来显示当前的运行状态、流水灯速度、LED灯颜色等信息,并通过按键来进行设置和操作。
设计步骤:
1. 确定设计控制器所使用的硬件及软件平台:选择适合的龙芯单片机型号(如Loongson-3A),确定控制器的输入输出(如按键、数码管等)以及编程界面(如DragonEbook仿真器),选择汇编语言作为编程语言进行编程。
2. 编写LED流水灯逻辑程序及相关子程序:实现LED流水灯的顺序正反转换、调节LED流水速度以及选择 LED灯颜色等功能。
3. 编写控制逻辑程序及相关子程序:实现控制器对LED流水灯的控制,包括按键输入、数码管或LCD显示输出、状态查询等功能。
4. 在编程界面上进行调试:验证程序的正确性,调整流水速度、LED灯颜色、按键功能等参数。
5. 将程序烧写到龙芯单片机上,进行实际控制效果测试。
设计评估:
评估设计成果是否符合预期要求,包括以下几个方面:
1. LED流水灯的控制:是否能够控制流水灯顺序正反转换、调节LED流水速度、选择单色或多色LED灯等。
2. 控制器的功能:是否具备控制器需求的所有功能。
单片机应用技术课程报告~流水灯的设计
单片机应用技术课程报告
实验名称流水灯的设计实验时间2020年 7月 9 日学生姓名实验地点钉钉群线上
同组人员专业班级
1、实验目的
(1)掌握C51程序循环结构及循环语句的使用,掌握C51程序结构的形式,掌握延时子程序设计的基本方法;
(2)学会二进制转换为十六进制方法;学会单片机控制LED显示器的电路设计及控制方法。
2、任务设计要求
组装一个简易流水灯显示器,单片机外接8个发光二极管,要求系统上电后,8个发光二极管依次循环点亮。
3、总体设计方案
根据实验任务要求,通过功能分析,设计的系统总体方案如图所示。
AT89C51单片机电源
时钟电路复位电路
LED显示
(2)程序清单
#include<reg51.h>//包含头文件reg51.h voiddelay(unsignedcharj);//延时函数声明voidmain()
{
while(1){
P1=0Xfe;
delay(100);
P1=0Xfd;
delay(100);
P1=0Xfb;
delay(100);
P1=0Xf7;
delay(100);
(3)性能指标测试及结果分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机流水灯课程
设计
基于AT89C51单片机的流水灯
1 引言
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 总体设计思路
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所示。
图1 系统结构框图2.3 系统程序流程图
系统程序总流程图如图2所示。
图2 系统框图