文档库 最新最全的文档下载
当前位置:文档库 › 闪烁LED小灯的设计

闪烁LED小灯的设计

闪烁LED小灯的设计
闪烁LED小灯的设计

单片机开发与设计工程

师考试文档

学校:湖南人文科技学院

设计题目:闪烁LED小灯

学生姓名: 刘杰

起止日期: 2010年6月17日~ 2010年6月27日

摘要

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。以单片机为基础的LED流水灯广泛应用于城市景观、风景名胜、道路桥梁、建筑轮廓、娱乐场所、户外广告、室内装饰等美化、亮化工程。本设计以STC89C52单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。能够通过按键控制8个LED小灯轮流点亮、逐点点亮、间隔点亮。

关键词:单片机;LED流水灯;芯片STC89C52;芯片8255

目录

设计要求 (1)

1、方案论证与对比 (1)

1.1方案一 (1)

1.2方案二 (2)

1.3方案对比与选择 (2)

2、各模块电路的设计 (2)

2.1复位电路设计 (2)

2.2晶振电路设计 (3)

2.3键盘扫描电路设计 (3)

2.4 STC89C52芯片介绍 (4)

2.5 8255芯片介绍 (4)

2.6 闪烁LED小灯原理图 (5)

3、系统设计的流程图 (6)

4、系统软件初始化设计 (6)

4.1 8255芯片初始化 (6)

4.2定时器T0的初始化 (7)

4.3中断程序的初始化 (7)

5、系统功能测试与调试 (8)

6、详细仪器清单 (8)

参考文献 (9)

附录: (10)

附录1:键盘扫描函数程序 (10)

附录2:闪烁LED小灯总程序 (12)

闪烁LED小灯的设计

设计要求

功能:本设计的闪烁小灯控制器,可使小灯轮流点亮、逐点点亮、间隔点亮。通过按键来进行切换。

主要额外器件:无

1、方案论证与对比

1.1方案一

所设计的流水灯的方案是利用STC89C52单片机的P1口、PC口等的功能来完成的功能来完成信号的输入和转换,是最终的显示结果通过发光LED显示出来,另外加了三个开关来控制输出LED变换的类型。

图1 方案一方框图

硬件方面利用STC89C52的P1口直接驱动发光二极管,用PC口作为开关控制。流水灯的变换通过软件编写延时以及变换不同的类型,用20ms作为开关转换过渡。采用的主、子程序方式,循环结构,另外加了开关扫描程序。

1.2方案二

利用STC89C52单片机的P1口、PC口等的功能来完成的功能来完成信号的输入和转换,通过发光二极管显示出来,另外加了三个开关来控制输出的转换。

图2 方案二方框图

利用STC89C52的P1口直接驱动发光二极管,用PC口作为开关控制。流水灯的转换通过软件编写和使用定时器变换不同的类型,添加了开关扫描程序用20ms作为开关转换过渡。采用的主、子程序方式循环结构。

1.3方案对比与选择

两种方案实施都比较简单,而且都容易操作。通过两种方案可以看出,方案二比方案一多了一个定时器,利用中断来实现该功能更加精准,效果也会更加明显。因此,选择方案二相对更加合理。

2、各模块电路的设计

2.1复位电路设计

RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR上的DISRT0位可以使此功能无效。DISRT0默认状态下,复位高电平有效。

复位电路图如图所示:

图3 复位电路图

2.2晶振电路设计

本系统采用的是12MHZ的晶振XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。

晶振电路图如图所示:

图4 晶振电路图

2.3键盘扫描电路设计

在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式。而在本设计中为了通过键盘来转换LED灯的点亮模式,按下键盘分别实现LED灯的轮流点亮、逐个点亮、间隔点亮。

判断键盘中有无键盘按下的方法:先将PA0拉高,然后扫描PC各行的电平状态,若哪一行出现高电平,即可知道该行的按键被按下。从而很容易地实现了LED灯的点亮模式转换。

图5 键盘电路图

2.4STC89C52芯片介绍

STC89C52是低功耗、高性能的CMOS8位微控制器。8字节的flash,256字节的RAM,32位的I/O口线,看门狗定时器,2个数据指针,3个16位定时器/计数器。全双工串行口,片内晶振及时钟电路,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,内容被保存,振荡器被冻结。

图6 STC89C52芯片图

2.58255芯片介绍

8255芯片是一种典型的课编程通用并行接口芯片,用来扩展单片机的端口,它具有3个8位的并行口,有三位工作方式,可作为单片与各种外部设备连接的接口电路。

CS:片选信号线,当该引脚为低电平时,8255被选中,允许8255与CPU通讯。

RESET:复位输入线,当该引脚为高电平时,内部寄存器被清除,所有I/O口均被置成输入方式。

A0、A1:地址输入线。

当A0A1=00时,PA口被选中;

当A0A1=01时,PB口被选中;

当A0A1=10时,PC口被选中;

当A0A1=11时,控制寄存器被选中。

图7 8255芯片图

2.6 闪烁LED小灯原理图

图8 闪烁LED小灯的原理图

3、系统设计的流程图

图9 系统流程图

4、系统软件初始化设计

4.1 8255芯片初始化

随着大规模集成电路的发展,接口电路也被集成在单一的芯片上,许多芯片可以通过编程方法设定工作方式,这种接口芯片被称为可编程I/O接口芯片,8255芯片是最常用的一种。使用8255芯片前,必须对其各个端口地址进行设置,不然无法进行与CPU 进行通信。由于本设计中需要通过8255的PA、PB、PC口分别来控制数码管的位选信

号、段选信号、键盘的输入,同时还需要对其方式控制字进行设置。具体如下:#define a8255_PA XBYTE[0xD1FF] /*PA口地址*/

#define a8255_PB XBYTE[0xD2FF] /*PB口地址*/

#define a8255_PC XBYTE[0xD5FF] /*PC口地址*/

#define a8255_CON XBYTE[0xD7FF] /*控制字地址*/

4.2定时器T0的初始化

源于该设计的时间显示要非常精确,可以使系统的时序是用定时单位来描述的,在此选用定时器0,而单片机内部的时钟频率为12MHZ,那么它的一个时钟周期为1/12us,而一个机器周期是一个时钟周期的12倍,即一个机器周期的时间为1us.

根据设计要求,我们选用定时器T0,对其的初始化过程如下:

⑴ 选择工作方式1:16位定时器/计数器方式,最多可以计到2的16次方,即65536.

⑵ 工作方式寄存器TMOD的设置:TMOD=0X01.

⑶ 50ms的精确定时:TH0=(65536-50000)/256,TL0=(65536-50000)%256.

定时器0初始化子函数程序如下:

void init()

{

TMOD=0X01;

CON=0x89;

TR0=1;

ET0=1;

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

EA=1;

}

4.3中断程序的初始化

根据设计的要求,要求实现LED小灯点亮模式的转换,为此我们将按键是否有效地判断放在外部中断0内,当外部中断0响应时,扫描按键,通过按键去改变点亮模式,中断返回后,按照设定的点亮模式进行点亮。

定时器0的中断服务程序如下:

void ISR_timer() interrupt 1

{

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

n++;

if(n==20)

{

n=0;

flag=1;

}

}

5、系统功能测试与调试

整体调试的程序见附录2,下载后系统按初始化的程序在执行,一旦有中断响应,通过扫描键盘上按键的按下来调整LED小灯点亮模式,使得LED小灯按预设的三种点亮模式进行转换。

当按下键1时,程序执行功能程序0即轮流点亮模式,LED小灯会轮流被点亮。

当按下键2时,程序执行功能程序1即逐个点亮模式,LED小灯会逐个被点亮。

当按下键3时,程序执行功能程序2即间隔点亮模式,LED小灯会间隔被点亮。

若复位键按下,则系统按初始化的程序运行。

6、详细仪器清单

参考文献

[1] 朱定华,戴汝平.单片微机原理与应用.(M) 北京:清华大学出版社,2003

[2] 楼然苗,李光飞编著. 单片机课程设计指导. 北京航空航天大学出版社,2007

[2] 张鑫主编. 单片机原理及应用 . 电子工业出版社,2005

[3] 蔡明文,冯先成单片机课程设计华中科技大学出版社,2007

[4] 于凤鸣主编.单片机原理及接口技术.北京:中国轻工业出版社.1998

[5] 何立民编著.单片机应用技术选编.北京:北京航空航天大学出版社.1998

附录:

附录1:键盘扫描函数程序void scan_keyboard()

{

uchar kdata;

PA=0x01;

kdata=PC;

if(kdata==0x01)

{

delay(5);

kdata=PC;

if(kdata==0x01)

{

while(PC);

temp=0xfe;

flag2=0;

flag3=0;

flag1=1;

}

}

if(kdata==0x02)

{

delay(5);

kdata=PC;

if(kdata==0x02)

{

while(PC);

temp=0xfe;

flag1=0;

flag3=0;

flag2=1;

}

}

if(kdata==0x04) {

delay(5);

kdata=PC;

if(kdata==0x04)

{

while(PC);

temp=0xfe;

flag1=0;

flag2=0;

flag3=1;

}

}

}

附录2:闪烁LED小灯总程序

#include

#include

#include

#define uint unsigned int

#define uchar unsigned char

#define PA XBYTE[0xD1FF] /*PA口地址*/

#define PB XBYTE[0xD3FF] /*PB口地址*/ #define PC XBYTE[0xD5FF] /*PC口地址*/ #define CON XBYTE[0xD7FF] /*控制字地址*/ void delay(uchar z);

void scan_keyboard();

void init();

void FUN0();

void FUN1();

void FUN2();

uchar n,i,temp,flag,flag1,flag2,flag3;

void main()

{

init(); //初始化

temp=0xfe;

while(1)

{

PB=0xFF;

if(flag1==1&&flag==1)

{

flag=0;

FUN0();

}

if(flag2==1&&flag==1)

{

flag=0;

FUN1();

}

if(flag3==1&&flag==1)

{

flag=0;

FUN2();

}

scan_keyboard();

}

}

void FUN0() //轮流点亮子函数{

P1=temp;

temp=temp<<1;

i++;

if(i==8)

{

i=0;

temp=0xfe;

}

}

void FUN1() //逐个点亮子函数{

P1=temp;

temp=_crol_(temp,1);

}

void FUN2() //间隔点亮子函数

{

P1=temp;

temp=_crol_(temp,2);

}

void init() //定时器0初始化子函数

{

TMOD=0X01;

CON=0x89;

TR0=1;

ET0=1;

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

EA=1;

}

void delay(uchar z) //延时子函数

{

uchar x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void ISR_timer() interrupt 1 //定时器0的中断服务程序

{

TH0=(65535-50000)/256;

TL0=(65535-50000)%256;

n++;

if(n==20)

{

n=0;

flag=1;

}

}

void scan_keyboard() //键盘子函数{

uchar kdata;

PA=0x01;

kdata=PC;

if(kdata==0x01)

{

delay(5);

kdata=PC;

if(kdata==0x01)

{

while(PC);

temp=0xfe;

flag2=0;

flag3=0;

flag1=1;

}

}

f(kdata==0x02) {

delay(5);

kdata=PC;

if(kdata==0x02)

{

while(PC);

temp=0xfe;

flag1=0;

flag3=0;

flag2=1;

}

}

if(kdata==0x04) {

delay(5);

kdata=PC;

if(kdata==0x04)

{

while(PC);

temp=0xfe;

flag1=0;

flag2=0;

flag3=1;

}

}

}

闪烁灯控制系统

闪 烁 灯 控 制 系 统 河南工院 院系:电气工程系 班级:电气1001 指导教师:赵阳

第1章概述 (3) 1.1设计的目的及意义 (3) 1.2单片机的概述与应用 (3) 第2章设计原理 (4) 2.1设计要求与基本思路 (4) 2.2设计方案选择 (5) 2.3设计框图 (5) 第3章硬件电路设计 (7) 3.1时钟电路 (7) 3.2扩展电路 (8) 第4章程序设计 (9) 4.1 程序设计思路与流程图 (9) 4.2程序清单与代码 (11) 4.3程序调试 (12) 第5章原件明细表 (13) 总结 (14) 参考文献 (15)

第1章概论 ? 1.1设计的目的与意义 随着单片机的问世和飞速发展,掀起了计算机工程应用的一场新革命,使计算机控制技术广泛的应用于工业控制系统、自动测试系统、数据采集系统、智能仪表、智能家电以及各类功能模块等广泛领域,它已经成为实现许多控制系统的常规性工具。本次的课程设计使我们把所学的知识和实践结合起来,是对平时学习成果的检验,使我们对所学的单片机知识有了系统全面的理解和认识,锻炼了我们查阅资料和设计开发的初步能力,为以后的学习和工作奠定了基础。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。 (4)商用产品:如自动售货机、电子收款机、电子秤。

单灯闪烁程序

实验一单灯闪烁实验 一、实验要求 发光二极管按照设定的时间间隔闪烁。 二、实验目的 1、了解单片机内部结构和最小系统。 2、掌握单片机与LED的硬件连接。 3、掌握单片机C51语言的程序框架。 4、了解Keil软件和Proteus软件的使用。 5、参考电路图一般最小系统 包括单片机、电源、时钟 电路、复位电路四部分。 根据编写的程序P1.0 口 接发光二极管。

三、实验说明 Proteus仿真时注意与LED连接的电阻阻值,若阻值过大LED 将没有反应。编写程序时,注意for语句于简单延时语句的运用。 四、实验框图 五、实验程序 ORG 0 START: CLR P1.0 LCALL DELAY

SETB P1.0 LCALL DELAY LJMP START DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END

实验二LED流水灯实验 一、实验要求 编写一段流水灯控制程序,用P1 口作为输出控制端,实现八只发光二极管从左至右循环亮灭。 二、实验目的 1、进一步熟悉keil仿真软件、proteus仿真软件的使用。 2、了解并熟悉单片机I/O口和LED灯的电路结构,学会构建简单的流水灯电路。 3、掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。。

三、参考电路图复位电路、时钟电路的基础连线。P1端口分 别连接八只发光二极管。 四、实验说明编写程序时注意对延时子程序的使用,以及了解 _crol函数的使用。 unsigned char _crol_(unsigned char c,unsigned char b); 描述: 将字符c循环左移b位。_crol_函数有返回值,返回的是将c循环左移之后 的值。这是c51库自带函数,包含在intrins.h文件中。五、实验框图

点亮P1口的多个LED灯闪烁

点亮P1口的多个LED灯闪烁 功能:点亮P1口的多个LED灯闪烁 该程序是单片机学习中最简单最基础的, 通过程序了解如何控制端口的高低电平 ------------------------------------------------*/ #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit LED0=P1^0;// 用sbit 关键字定义LED到P1.0端口,LED是自己任意定义且容易记忆的符号 sbit LED1=P1^1; sbit LED2=P1^2; sbit LED3=P1^3; sbit LED4=P1^4; sbit LED5=P1^5; sbit LED6=P1^6; sbit LED7=P1^7; void Delay(unsigned int t); //函数声明 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { //此方法使用bit位对单个端口赋值 unsigned char i; //定义一个无符号字符型局部变量i 取值范围0~255 while (1) //主循环 { for(i=0;i<10;i++) //加入for循环,表明for循环大括号中 //的程序循环执行10次 { LED0=0; //将P1.0口赋值0,对外输出低电平 LED2=1; LED4=0; Delay(5000); //调用延时程序;更改延时数字可以更改延时长度; //用于改变闪烁频率 LED0=1; //将P1.0口赋值1,对外输出高电平 LED2=0; LED4=1; Delay(5000); } for(i=0;i<10;i++)

用C语言编写程序实现通过按键使LED灯周期闪烁

用C语言编写程序实现通过按键使LED灯周期闪烁(2010-02-24 21:12:44)标签: 循环闪烁周期led灯按键杂谈 一、设计题目 二、程序功能: 开机复位后,LED0到LED7全部点亮,所有LEDPort持续2S后熄灭,然后等待按键,按0键LED7以 0.8S周期闪烁,按1键LEDPort以1S周期闪烁。 三、总体设计思想 用中断方式实现定时器的定时,然后通过键盘中断程序实现通过对按键的操作来实现相应的周期闪烁。 在我编写的实验程序中我用到了定时器中断和外部中断。程序共分为两个模块,一个为定时器模块,一个为键盘中断程序模块,在主函数中,首先实现所有LEDPort点亮,然后通过中断方式实现定时2S,在定时器num==20时,设定全局变量为标志位flag=1,然后再主函数中设定条件,通过标志位的变化实现所有LEDPort持续2S后熄灭。然后进入循环,等待按键,在按键中断服务程序中使用switch语句实现通过改变num1的值来实现LED7的闪烁周期。设定标志位b=0,在主函数中使用if语句通过判断b的值来改变LED7的亮灭情况,同时相应的b值会取反。 四、程序具体实现 实验要求开机复位后,LED0到LED7全部点亮2S后熄灭。在主函数中使用LEDPort=0x00;这条语句实现所有灯都亮,使用中断方式实现定时器定时2S,因为实验要求20ms溢出,所以设定num=100,在定时器中断服务程序中使用if语句判断条件,当num加到100,也就是说2S时间到时,执行flag=1;语句(先设定全局变量flag=0)。然后在主函数中使用while语句规定只有在flag=0时才执行所有LEDPort点亮的操作。2S时间到后,所有灯熄灭。然后进入while循环,

闪烁警示灯电路的设计

东北石油大学课程设计 2015年3月13日

东北石油大学课程设计任务书 课程光电检测技术 题目闪烁警示灯电路的设计 专业电子科学与技术姓名学号 主要内容: 应用Y976报警专用集成电路,光敏电阻等电子原器件,设计一当夜幕来临时,它能驱动红色警示灯闪闪发光,以起到告警指示作用。 基本要求: 1)研究Y976报警专用集成电路,光敏电阻的功能特性。 2)设计闪烁警示灯电路的功能框图。 3)设计光电检测电路、音频电路、信号控制电路 4)设计5伏直流电源电路。 5)调试安装。 6)完成课程设计总结报告。 主要参考资料: 1)陈有卿编著. 新颖集成电路制作精选[M].人民邮电出版社, 2005.4. 2) 陈振官,陈宏威等编著.光电子电路制作实例[M]. 2006.4. 3) 黄继昌等编著.检测专用集成电路及应用[M]. 2006.10. 完成期限 2015.3.9~2015.3.13 指导教师 专业负责人 2015年3月6日

第1章概述 随着改革开放的发展,电子电器也得到了飞速的发展。人们生活水平有很大提高。各种电器生活用品如:电动自行车、摩托车、汽车等贵重东西也为许多家庭所拥有。警示灯在我们日常生活中用处非常广泛,例如:警示灯一般用在维护道路安全,通常是用在警车﹑工程车、消防车﹑急救车﹑防范管理车﹑道路维修车﹑牵引车﹑紧急A/S车、机械设备等开发。然而,这时候,一些不法分子也越来越多。人们的安全意识还依然很淡薄,导致了许多严重的事故。因此,为了减少这样的事情发生,人们便发明了示警闪光灯,提示人们道路上注意安全,因此减少了许多不该发生的事故。随着科技的进步闪烁警示灯也将更加广泛的应用与推广。 1.1 闪烁警示灯的介绍、意义和作用 在我们日常生活中和工农业生产中,有好多情况下需要安装警示灯或标志灯以提醒人们注意。例如道路施工时,需在施工现场挂上红色安全警示灯以确保行人和行车的安全。高层建筑物的顶端按有关的规定必须设置红色警示灯以确保飞机安全飞行。为引起大家注意,在一般情况下,多采用红色的警示灯且最好能发出闪烁光。但有时后在某些情况下又不需要其工作比如某些大型的器物,白天很明显,只需在夜间提醒人们注意。 光源采用φ10mm四元素超高亮度发光二极管(LED),使用寿命≥10万小时;发光二极管角度在25-30°时光源饱满,使可视角度范围扩大;太阳能黄闪灯均采用单晶硅太阳能供电,蓄电池功率15W,电池充满电,可连续工作170个小时;所含LED的管粒为120粒,增加使用寿命和发光亮度,有较强的视觉冲击感,提醒司机、行人注意前方有危险;透光镜片的外表面采用倾斜面设计,能防止透光镜片积累灰尘; 外观为LED光源所设计,结构为超薄化,灯具厚度(φ400mm透光面的灯具为150mm);外壳采用聚碳酸酯(PC)材料一次注塑成型,密封采用硅橡胶密封件,防尘、防水、阻燃、抗老化,灯具外壳使用寿命≥10年。 一般情况下,警示灯是按车种和用处可以提供多样的长度的产品的,有灯罩组合的构造,需要时一边方向的灯罩可以组合复合颜色。此外,还可以根据光源形式的不同,分为:1灯泡转灯;2 LED闪光;3 氙气灯管频闪,其中LED闪光形式的是灯泡转灯形式的升级版,使用寿命更长,更节能,更低热! 由于人们越来越重视警示灯的作用,对它工作原理的掌握也变的越来越重要,所以本文主要介绍闪烁警示灯的主要原理,它的主要组成的部件的原理。

单片机闪烁灯跑马灯控制课程设计

闪烁灯跑马灯控制系统 河南工院

第1 章概述 1.1设计的目的及意义?????????????????????..3 1.2单片机的概述与应用????????????????????..3 第2 章设计原理??????????.. ??????????????4 2.1设计要求与基本思路??????.??????????????4 2.2设计方案选择?????.??????????????????5 2.3设计框图??????????. ?????????????5 第3 章硬件电路设计???????.. ??????????????7 3.1时钟电路???????????????????????.?.7 3.2扩展电路????????????????????????..8 第4 章程序设计???????????????????????9 4.1程序设计思路与流程图??..???????????????? (9) 4.2程序清单与代码???????????????????.?..?11 4.3程序调试??????????????????????.?.?12 第 5 章原件明细表????????????????????13 总结???????????????????????????????14 参考文献15

第1 章概论 1.1设计的目的与意义 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是利用8051单片机的P1控制的8 个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1 秒,如此循环,紧急情况下,控制P3.1 进行报警2S停止。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O 接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70 年代推出单片机以来,作为微型计算机的一个分支,单片机经过30 多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等 (1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。

8个LED灯循环闪烁课程设计

摘要 “微机原理与接口技术”是高等学校电子信息工程、通信工程、自动化、电气工程及其自动化等工科电气与电子信息类各专业的核心课程。该课程以INTER 8086微处理器和IBM PC系列微机为主要对象,系统。深入地介绍了微型计算机的基本组成、工作原理、接口技术及应用,把微机系统开发过程中用到的硬件技术和软件技术有机地结合起来。 本文详述了8个LED灯循环闪烁的课程设计。设置8个LED灯,首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。然后是2、4、6、8号LED 依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。 本课程设计,由于自身能力和学习水平有限,可能存在一定的错误和不当之处,敬请批评和指正。 一、设计目的 1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件; 2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力; 3.进一步了解8255A各引脚的功能, 8255A和系统总线之间的连接, 8255A和CPU 之间的数据交换,以及8255A的内部逻辑结构。深入掌握8255A显示电路的基本功能及编程方法,8255等芯片的工作方式、作用。 4.培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、设计内容 根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器和8255A可编程并行接口芯片和8个LED等连成硬件电路。设计8个LED灯,实现如下要求:首先是1、3、5、7号LED依次亮1秒钟,当7号LED亮后,这四个灯同时闪烁5下。然后是2、4、6、8号LED依次亮1秒钟,当8号LED亮后,这四个灯同时闪烁5下。 三、设计要求 使用8255A可编程接口芯片实现8个LED灯以十种不同的方式显示。画出硬件电路图,能在PROTEUS中模拟实现。

单片机8个闪烁灯控制

河南工业职业技术学院Henan Polytechnic Institute 单片机应用技术 课程设计说明书 题目:闪烁灯控制系统(6) 班级:电气1001班 姓名:张志海 学号:0401100136 指导教师:赵阳

第1章概述 1.1 设计的目的与意义 1)了解系统的工作原理。 2)掌握8051单片机的工作原理和应用。 3)通过课程设计培养学生自学能力和分析问题、解决问题的能力。 4)闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,增强制图能力以及查阅手册的能力和一定的文字表达能力。 5)通过设计使学生具有一定增强自我的动手、动脑能力,以及发现问题,解决问题。 1.2 单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统等。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。 (4)商用产品:如自动售货机、电子收款机、电子秤。 (5)通信方面。用于调制解调器、程控交换技术以及各种通信设备。 (6)多机分布式系统。可用单片机构成分布式测控系统,它使单片机进入 了一个新的水平。

闪烁LED小灯的设计毕业设计论文 精品

学生姓名指导老师职称课题名称闪烁LED小灯的设计 课题工作内容 交通灯的硬件电路主要由单片机控制电路、数码管显示电路、时钟电路、LED显示电路、按键控制电路组成。主要实现: 1、交通灯指挥通行的实现:通过时钟电路、LED显示电路与数码管显示电路,实现通行灯的亮、灭与时间的显示。 2、特殊情况的处理实现:通过按键控制电路,实现发生交通事故与有救护车要紧急通行时的交通灯状况。 指标要求1、自动控制 2、显示时间 进程安排第一天:下达任务、了解课题要求、查阅资料;第二天:方案论证与确定,采购元器件; 第三天、第四天:硬件制作与调试; 第五天~第八天:软件设计与调试; 第九天:撰写报告; 第十天:作品掩饰与答辩考核。 主要参考文献《单片机原理及应用技术》范力旻电子工业出版社 《51系列单片机设计实例》楼然苗李光飞北航出版社 《单片机的C语言应用程序设计》马忠梅籍顺心北京航空航天大学出版社《51单片机应用开发案例精选》王为青邱文勋人民邮电出版社 《51系列单片机设计实例》楼然苗李广飞北京航空航天大学出版社《单片机原理与接口技术》胡汉才清华大学出版社 《单片机原理与应用》丁元杰机械工业出版社 地点起止日期2012.6.10~6.23

目录 第一章、设计目的 (1) 第二章、硬件设计 (1) 2.1单片机最小系统 (1) 2.1.1单片机 (1) 2.1.2震荡电路 (2) 2.1.3复位电路 (2) 2.2外接电路 (2) 2.2.1串行口扩展 (3) 2.2.2显示电路 (3) 2.2.3十字路口交通灯显示电路 (4) 第三章、软件设计及调试 (4) 3.1 流程图 (5) 3.2程序 (6) 3.2.1子程序 (9) 3.2.2延时子程序 (9) 3.2.3显示子程序 (10) 3.3软件调试结果与说明 (13) 第四章、实物调试 (13) 第五章、课程设计小结 (14) 附录A仿真 (16) 附录B系统程序 (21) 元件清单 (28)

单片机控制LED灯闪烁原理

一、电路图 二、原理 对于较长时间的定时,应采用复合定时的方法。这里使T/C0工作在定时器方式1,定时100ms,定时时间到后P1.0反相,即P1.0端输出周期200ms的方波脉冲。另设T/C1共作的计数器方式2,对T1输出的脉冲计数,当计数满5次时,定时1时间到,将P1.7端反相,改变灯的状态! 三、源程序 #include /*头文件的定义*/ sbit P1_0=P1^0; /* 定义p1.0端口*/ sbit P1_7=P1^7; timer0() interrupt 1 using 1 { /* 定时器0的中断服务程序*/ P1_0=!P1_0; /* P1.0取反*/ TH0=(65536-50000)/256; /* 赋高八位初值*/ TL0=(65536-50000)%256; /* 赋低八位初值*/ } timer1() interrupt 3 using 2 { /*定时器1中断服务程序*/ P1_7=!P1_7; /*p1.7取反*/ } main() { /*主函数*/ P1_7=0; /* 置灯初始灭*/ P1_0=1; /* 保证第一次反相便开始计数*/ TMOD=0x61; /* 定时器定时和计数*/ TH0=(65536-50000)/256; /* 赋初值*/ TL0=(65536-50000)%256; /* */ TH1=256-5; TL1=256-5; IP=0x08; /* 设置寄存器优先级*/ EA=1; /* CPU开中断*/ ET0=1; /* 开T/C0中断*/ ET1=1; /* 开T/C1中断*/ TR0=1; /* 启动T/C0 */ TR1=1; /* 启动T/C1 */ for(;;)/* */ { } } 四、Keil调试程序过程与结果: 1.新建一个项目

闪烁灯设计

1 引言 1. 1 课题简介 随着人们生活环境的不断改善和美化,在许多场合可以看到闪烁的彩灯。LED 彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。但目前市场上各式样的 LED 彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有单片机1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC 机和其他计算的总和,甚至比人类的数量还要多。 1. 2 设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要环节。通过课程设计,熟悉和掌握单片机系统的硬件设计的方法、原理、设计步骤。熟练掌握单片机系统与接口扩展电路的设计方法,熟练应用汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤。不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 通过本次工程实践,运用单片机原理与接口技术所学知识及查阅相关资料,完成闪烁灯系统的设计,达到理论知识与实践更好结合、提高综合运用所学知识和设计能力的目的。

实验一LED灯闪烁

单片机小系统设计与制作实验报告 姓名:李文浩 学号:1423102 班级:14级电仪维 指导教师:陈雪莲

实验一八个LED灯闪烁 一、实验要求 仿照图1-1在Proteus中绘制一个基于AT89C51单片机控制八个LED灯进行闪烁。 现象: 八个LED灯闪烁,为黄灯; 图1-1 八个LED灯闪烁电路图 二、实验目的 (1)学会使用Proteus ISIS绘制硬件电路图,掌握加载程序和仿真运行等基本操作。 (2)掌握c语言里调用延时子程序的方法。 (3)掌握proteus的工程建立,仿真,调试。 (4)学会如何在Proteus ISIS上放置元件和连线。 (5)学会如何在Proteus ISIS加载目标代码。 三、实验步骤 1、在Proteus ISIS中设计硬件电路 (1)创建文件名“123”保存在对应的文件夹“E:\123"下。 (2)利用关键字或分类检索的方法将电路原理图中需要的元器件挑选至对象选择列表,主要元件可参照表1-1,然后依次选中在设计区单击,放入电路图。

(3)从模型选择工具栏的终端(Terminal)模型中将地线端子(Ground)和电源端子(Power)放置到电路中。 (4)连接电路原理图,可参考图1-1。 表1-1 (1)启动Keil uVision2软件,创建新工程:123,CPU选择Atmel 89C51。 (2)创建文件,以c为扩展名保存。 (3)执行“Source”菜单下的“Add”命令添加程序“123.c”。 (4)对工程的属性进行设置:目标属性中选择“生成HEX文件” (5)编写源程序,进行汇编/编译、调试。 3、仿真运行 启动Proteus ISIS,打开电路图“123.DSN”,单片机属性中选择目标文件123.HEX,然后进行仿真运行,操作电路中的开关,观察运行结果。 4、程序 #include void delay(unsigned char x); void main() { while(1) { P1=0; delay(1000); P1=0xff; delay(1000); } } void delay(unsigned char x) { unsigned char t;while(x--) for(t=0;t<255;t++); }

led闪烁小灯(汇编)

摘要 介绍一种LED小灯控制系统的设计方法,以AT-89C52单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。能够通过按键控制8个led小灯轮流点亮、逐点点亮、间隔点亮、来回点亮、两边向中间同时点亮。广泛应用于城市景观、风景名胜、道路桥梁、建筑轮廓、娱乐场所、户外广告、室内装饰等美化、亮化工程。 关键词:LED流水灯,AT89C52单片机,led流水灯,模块设计,流程图

目录 设计要求 (1) 1 方案论证与对比 (1) 1.1 方案一 (2) 1.2 方案二 (2) 1.3 方案三 (3) 1.4 方案对比与选择 (5) 2 单元电路设计与计算 (5) 2.1 放大电路的设计 (6) 2.2 整形电路的设计 ........................................................................ 错误!未定义书签。 2.3 分频电路的设计 ........................................................................ 错误!未定义书签。 2.4 分频控制电路设计 (6) 3 系统软件工作流程图 (8) 3.1 多周期同步测量原理及误差分析 (8) 3.2 系统工作流程 ............................................................................ 错误!未定义书签。 4 系统功能测试与整体指标 .................................................................. 错误!未定义书签。 5 详细仪器清单 (10) 6 总结与思考及致谢 (12) 参考文献 (13) 附录一:放大整形分频控制电路PCB板 (14) 附录二:74HC390分频电路PCB板图 (15) 附录三:程序 (16)

LED灯闪烁控制

太原理工大学 单片机原理与应用技术课程实验报告 专业班级 学号 姓名 指导教师

LED 灯闪烁控制 一、实验目的 (1)掌握C语言、汇编语言编写单片机控制程序的方法; (2)掌握使用Keil C软件编写、编译、调试程序的方法; (3)掌握使用Proteus软件绘制电路原理图、硬件仿真和程序调试; (4)理解LED灯控制电路原理和延时程序的编写。 二、实验硬件和软件 计算机1台,并安装Proteus软件和Keil C51软件。 三、实验任务 在单片机I/O口上外接一个发光二极管LED,通过程序实现LED闪烁显示,即不停地一亮一灭,亮、灭持续时间均为0.2秒。 四、实验电路及分析 实验电路如图所示,在P1.7口(也可选择其它端口)外接一个发光二极管D1,分析可知P1.7输出“0”时,D1点亮,P1.7输出“1”时D1熄灭。 LED 灯闪烁控制电路图

五、实验程序编写 1.程序编写 (1)C语言程序 #include sbit D1=P1^7; void Delayms(unsigned int n) { unsigned int i, j; for(j=n; j>0;j--) for(i=112; i>0; i--); } int main( ) { while(1) { D1=0; Delayms(200); D1=1; Delayms(200); } } (2)程序流程图

六、实验步骤 1.利用Proteus软件绘制仿真电路图 (1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验1.pdsprj”。 (2)创建原理图(schematic),默认模板为default,可根据电路规模选择合适的图纸大小。 (3)选择“Do not create a PCB layout”,即不绘制PCB图。 (4)选择第一项“No Firmware Project”,即不在Proteus平台下创建源程序。需要在Keil C环境下编写源程序并成功编译生成hex文件,然后加载到Proteus 仿真电路的单片机上。 (5)工程创建向导结束,配置情况确认。 (6)点击“P”按钮在器件库中搜索并添加电路中所需要的器件。 (7)根据电路图将器件放置到绘图区并合理布局,右键单击器件弹出快捷菜单,可以进行旋转、镜像、修改参数(如电容、电阻大小、晶振频率)等操作,双击器件也可以打开参数设置对话框,例如电容C1的设置对话框,将电容参数设置为30pF。

节日小彩灯控制电路设计

课程设计报告题目:节日小彩灯控制电路设计 课程名称:电子技术课程设计 学生姓名: 学生学号: 年级:2014 专业:通信工程 班级: 指导教师: 电子工程学院制 2016年3月

节日小彩灯控制电路设计 前言 在现代日常生活中,美丽、可爱的小彩灯越来越多的成为人们生活中的装饰品,被用于很多情况中,比如娱乐场所或是用于各式各样的电子玩具等等,不仅能美化环境、渲染气氛,还可以供人们娱乐,下面就开始彩灯控制器电路的设计。 1课程设计的任务与要求 1.1 课程设计的任务 采用555、74HC163和74LS154作为控制器,LED作为彩灯制作十六路循环彩灯。 1.2 课程设计的要求 综合运用已学习过模拟电路和数字电路等知识,阅读相关集成电路芯片资料和相关文献,了解电子电路设计的有关知识,方法和特点,掌握基本的电子电路设计和芯片使用方法。 2节日小彩灯控制电路方案制定 2.1 方案原理 本课程设计由555构成多谐振荡器来产生方波脉冲,让74LS191加减计数器计数,74LS154来进行译码,使得LED灯的亮灭。 2.2 节日小彩灯控制电路设计设计的技术方案

图1 控制电路设计流程图 3 节日小彩灯控制电路设计方案实施 3.1 单元模块功能及电路设计 (1)555时序电路 在这次课程设计中,555定时器用来产生脉冲信号。因此把555定时器接成多谐震荡器。R2、R3、C1.C2为定时元件。 图2 555多谐振荡器 (2)74LS191计数部分

因为在试验中需要一个16进制的计数器,因此采用74LS191加减计数器。我们可以改变计数器的加减来控制LED亮灭的方向。置数端A、B、C、D分别置0。4脚接地11脚为异步置数控制端,高电平有效,接高电平。14脚接脉冲信号,同555定时器的OUT脚向接。通过单刀双掷开关来控制74LS191计数器的加减。 图3 74LS191计数器 (3)74LS154译码电路与LED显示部分 74LS154为1—16线译码器,有16个输出端,实验中需要的就是十六输出的译码器。四个输入端分别同74LS191计数器的QA、QB、QC、QD相接。通过改变QA、QB、QC、QD与四个输入端的连接方式来控制LED,因为74LS154译码器输出端低电平有效,所以LED显示部分采用共阳极接法,负极分别接在74LS154的输出端上。 4LS154译码电路与LED显示部分的电路图如下:

51单片机:LED灯亮灯灭程序设计

1.功能说明:控制单片机P1端口输出,使位所接的LED点亮,其他7只灯熄灭。程序: 01: MOV A , #B ; 存入欲显示灯的位置数据 02: MOV P1, A ; 点亮第一只灯 03: JMP $ ; 保持当前的输出状态 04: END ; 程序结束 2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。 程序: 01:START: MOV A , #00010010B ; 存入欲显示灯的位置数据 02: MOV P1, A ; 点亮灯 03: JMP START ; 重新设定显示值 04: END ; 程序结束 3.功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。 程序: 01: START: MOV R0, #8 ;设左移8次 02: MOV A, #B ;存入开始点亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: RL A ;左移一位 05: DJNZ R0, LOOP ;判断移动次数 06: JMP START ;重新设定显示值 07: END ;程序结束 4.功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环。 程序: 01: START: MOV R0, #8 ;设右移8次 02: MOV A, #01111111B ;存入开始点亮灯位置

03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序 05: RR A ;右移一位 06: DJNZ R0, LOOP ;判断移动次数 07: JMP START ;重新设定显示值 08: DELAY: MOV R5,#50 ; 09: DLY1: MOV R6,#100 ; 10: DLY2: MOV R7,#100 ; 11: DJNZ R7,$ ; 12: DJNZ R6,DLY2 ; 13: DJNZ R5,DLY1 ; 14: RET ;子程序返回 15: END ;程序结束 5.功能说明:单片机P1端口接8只LED,每次点亮一只,先把右边的第一只点亮,秒后点亮右数的第二只灯,第一只熄灭,再过秒点亮右数的第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。当亮灯移到左侧后,开始与上述反方向移动,即亮灯由左向右移动,重复循环。 程序: 01: START: MOV R0, #8 ;设左移8次 02: MOV A,#0FEH ;存入开始亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序 05: RL A ;左移一位 06: DJNZ R0, LOOP ;判断移动次数 07: MOV R1, #8 ;设右移8次 08; LOOP1: RR A ;右移一位 09: MOV P1, A ;传送到P1并输出

单片机闪烁灯跑马灯控制课程设计

闪 烁 灯 跑 马 灯 控 制 系 统 河南工院

第1章概述 (3) 1.1设计的目的及意义 (3) 1.2单片机的概述与应用 (3) 第2章设计原理 (4) 2.1设计要求与基本思路 (4) 2.2设计方案选择 (5) 2.3设计框图 (5) 第3章硬件电路设计 (7) 3.1时钟电路 (7) 3.2扩展电路 (8) 第4章程序设计 (9) 4.1 程序设计思路与流程图 (9) 4.2程序清单与代码 (11) 4.3程序调试 (12) 第5章原件明细表 (13) 总结 (14) 参考文献 (15)

第1章概论 1.1设计的目的与意义 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 竞争日益剧烈的今天,当代大学生不仅需要扎实的理论知识,还需要过硬的动手能力。作为自动化专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。 闪烁灯控制系统是利用8051单片机的P1控制的8个发光二极管。可实现从右到左闪烁一次,再从左到右闪烁一次,每次亮灭1秒,如此循环,紧急情况下,控制P3.1进行报警2S停止。 闪烁灯控制系统是简易的单片机控制系统,作为课程设计课题,通过实际程序设计和调试,逐步掌握块化程序设计方法和调试技术,通过课程设计,掌握一单片机核心的电路设计的基本方法和技术,了解有关电路参数的计算方法,通过完成一个包括电路设计和程序设计开发的完整过程,了解开发单片机应用系统的全过程,通过本次设计对单片机应用上有一个初步的了解,增强自我的动手、动脑能力,以及发现问题,解决问题,总计经验教训的能力,为以后走向工作岗位,以及更高更远的发展打下坚实的基础 1.2单片机概述与应用 单片机是将CPU、存储器、定时/计数器以及I/O接口等主要部件集成在一块芯片上的微型计算机。单片机是单片微机(Single Chip Microcomputer)的简称,但准确反映单片机本质的名称应是微控制器。目前国外已经普遍称之为微控制器。鉴于他完全作嵌入式应用,故又称为嵌入式微控制器 单片微机从体系结构到指令系统都是按照嵌入式应用特点专门设计的,它能最好地满足面对控制对象,应用系统的嵌入、现场的可靠运行以及非凡的控制品质等要求。 自从20世纪70年代推出单片机以来,作为微型计算机的一个分支,单片机经过30多年的发展,已经在各行各业得到了广泛的应用,由于单片机具有可靠性高、体积小、干扰能力强、能在恶劣的环境下工作等特点,具有较高的性价比,因此广泛应用于工业控制、仪器仪表智能化,机电一体化、家用电器等(1)工业控制:工业设备如机床、锅炉、供水系统、生产自动化、自动报警系统。 (2)智能设备:用单片机改造普通仪器如:仪表、读卡器、医疗器械。 (3)家用电器:如高档洗衣机、电冰箱、微波炉、电视、音响、手机、空调器。 (4)商用产品:如自动售货机、电子收款机、电子秤。

Arduino入门教程(2)—LED灯闪烁

Arduino 入门教程(2)—LED 灯闪烁 回顾一下 Lesson 1 的内容,我简单分了以下几点: 了解 Arduino 软件编辑环境-- Arduino IDE 如何通过 Arduino IDE 下载一个 Blink 程序 "//" 和"/*...*/"的含义 setup()和 loop()函数的重要性及作用 pinMode(pin,mode)函数 digitalWrite(pin,value)函数 delay(ms)函数 开始新的一课! 这次我们还是同样要用 Blink 程序,有所不同的是,这里我们需要外接一个 LED 到数字引脚,而不是使用焊在 Arduino 板上的 LED 13(也就是“L”灯)。便于我们能清晰的认识 LED 的工作原理及一些硬件电路的搭建。 STEP 1:需要准备的东西: 1 ×DFduino UNO R3(以及配套 USB 数据线)

STEP 2:硬件连接 首先,从我们的套件中取出 Prototype shield 扩展板和面包板,将面包板背面的双面胶歇下,粘贴到 Prototype shield 扩展板上。再取出 UNO,把贴有面包板 Prototype shield 扩展板插到 UNO 上。取出所有元件,按照下图连接。

图中的蓝色与红色的线用彩色面包线连接,使用面包板上其他孔也没关系,只要元件和线的连接顺序与上图保持一致即可。 确保 LED 连接是否正确的,LED 长脚为+,短脚为-,完成连接后,给 Arduino 接上 USB 数据线,供电,准备下载程序。 STEP 3:输入代码 打开 Arduino IDE,在编辑框中输入样例代码 1-1 所示代码。(输入代码也是一种学习编程的过程,虽然提供代码的压缩包,但还是建议初学者自己输入代码,亲身体验一下。) 样例代码1-1: 1. 3. 描述:LED 每隔一秒交替亮灭一次 5. int ledPin = 10; 6. void setup() { 8. } 9. void loop() { 14. } 15. 输入完毕后,点击 IDE 的“校验(Verify)”,查看输入代码是否通过编译。如果显示没有错误,单击“下载(UpLoad)”,给 Arduino 下载代码。以上每一步都完成了的话,你应该可以看到面包板上的红色 LED 每隔一秒交替亮灭一次。

相关文档
相关文档 最新文档