文档库 最新最全的文档下载
当前位置:文档库 › cc2530PWM控制灯亮度

cc2530PWM控制灯亮度

cc2530PWM控制灯亮度
cc2530PWM控制灯亮度

/*********************头文件*************************************************/ #include

#include

/*********************宏定义*************************************************/ #define uint unsigned int

#define uchar unsigned char

//----------------LED控制端口------------------------------------------------//

#define GLED P1_0// 绿色LED定义

#define RLED P1_1// 红色LED定义

//----------------定义LED的状态----------------------------------------------//

#define GLED_ON P1_0=0

#define GLED_OFF P1_0=1

#define RLED_ON P1_1=0

#define RLED_OFF P1_1=1

//----------------按键输入端口-----------------------------------------------//

#define KEY1 P0_0

/*********************全局变量**********************************************/ unsigned int Cycle_Time=2000; // 定义周期

unsigned int Led_Time=0; // 定义LED亮的时间

/*********************函数声明***********************************************/ void Delay1(uint);

void Delay2(uint);

void Init_LED(void);

void Init_Sysclk(void);

void PWM_Control(void);

/****************************************************************************** *函数名称: void Delay1(unsigned int time)

*函数功能: 软件延时函数

*入口参数: unsigned int time: 0到65535

*出口参数:

*备注:

******************************************************************************/ void Delay1(unsigned int time)

{

while(--time);

}

/****************************************************************************** *函数名称: void Delay2(uint n)

*函数功能: 软件延时函数

*入口参数:

*出口参数:

*备注:

******************************************************************************/ void Delay2(uint n)

{

uint i;

for(i=0;i

for(i=0;i

for(i=0;i

for(i=0;i

for(i=0;i

}

/****************************************************************************** *函数名称: void Init_Sysclk()

*函数功能: 设置系统时钟

*入口参数:

*出口参数:

*备注:

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

void Init_Sysclk(void)

{

CLKCONCMD &= ~0x40; // 设置系统时钟源为32MHZ晶振

while(CLKCONSTA & 0x40); // 等待晶振稳定

CLKCONCMD &= ~0x47; // 设置系统主时32MHZ

}

/****************************************************************************** *函数名称: void Init_LED(void)

*函数功能: 初始化LED

*入口参数:

*出口参数:

*备注:

******************************************************************************/ void Init_LED(void)

{

P1DIR = 0x03; // P1.0 P1.1设置为输出

RLED_OFF; // 初始化LED状态

GLED_OFF;

}

/****************************************************************************** *函数名称: void PWM_Control(void)

*函数功能: PWM控制LED亮度

*入口参数:

*出口参数:

*备注:

******************************************************************************/ void PWM_Control(void)

{

/***********************LED逐渐变亮的过程*****************************************/

for(Led_Time=1;Led_Time

{

GLED_ON;

RLED_ON;

Delay1(Led_Time);// LED亮延时

GLED_OFF;

RLED_OFF;

Delay1(Cycle_Time-Led_Time);// LED灭延时

}

GLED_ON;

RLED_ON;

Delay2(50000); // 长延时

Delay2(50000);

/**************************LED逐渐变暗的过程******************************************/

for(Led_Time=Cycle_Time-1;Led_Time>0;Led_Time--)

{

GLED_ON;

RLED_ON;

Delay1(Led_Time); // LED亮延时

GLED_OFF;

RLED_OFF;

Delay1(Cycle_Time-Led_Time);// LED灭延时

}

GLED_OFF;

RLED_OFF;

Delay2(50000); // 长延时

Delay2(50000);

}

/****************************************************************************** *函数名称: void main(void)

*函数功能: 主函数

*入口参数:

*出口参数:

*备注:

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

{

Init_Sysclk(); // 初始化系统时钟

Init_LED(); // 初始化LED

while (1) //主循环

{

PWM_Control(); // PWM 控制LED亮度

}

}

/*********************结束*************************************************/

PWM控制LED亮度_单片机课程设计..

摘要 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用尤为重要。而51单片机是各类单片机中最为典型和最具代表性的一种。本实验是基于MCS-51系列单片机所设计的,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,实现PWM控制LED的亮度。 关键词:AT89C51、PWM、LED

目录 1 项目概述和要求 (1) 1.1 单片机基础知识 (1) 1.3 项目设计任务与设计思路 (2) 2 系统设计 (3) 2.2元件清单 (3) 2.2.1AT89C51芯片 (3) 2.2.2LED (4) 2.2.3其它元件 (6) 3软件设计 (9) 3.1 程序 (9) 4 系统的仿真与调试 (11) 4.1 硬件调试 (11) 4.2 软件调试 (12) 4.3 软硬件调试 (12) 5总结 (14) 参考文献 (15)

1 项目概述和要求 1.1 单片机基础知识 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。 单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。MCS-51系列单片机主要包括8031、8051和8751等通用产品。 增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

用单片机控制的LED流水灯设计(电路、程序全部给出)

1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATM EL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz 工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要

独立按键控制LED灯

项目五独立按键控制LED灯 1.掌握独立按键消抖原理 2.掌握独立按键接口电路设计 1.设计独立按键控制LED的硬件电路 2.编写程序分别实现按下按键1和按键2,LED灯闪烁方式不同 3.下载程序到单片机中,运行程序观察结果并进行软硬件的联合调试 键盘是常见的计算机输入设备,在单片机应用中,按键可以设置电子钟的时间;简易计算器中,按键可以输入数字;按键还可以实现单片机中两个不同功能程序切换。本项目要求两个按键分别实现LDE灯的不同闪烁方式,按键1按下时,8个LED灯从右向左依次点亮,按键2按下时,8个LED灯从左向右依次点亮。 本项目只需2个按键实现LED灯闪烁方式控制,因此按键接口电路设计成独立按键。独立按键即每个按键直接与单片机I/O端口连接,当按键按下和弹开时,单片机I/O端口呈现不同的电平。独立按键接口电路可以设计成当按键按下时,单片机I/O端口为高电平或者低电平,读者可以根据自己的需求自行设计。单片机应用中的独立按键多是机械弹性开关,在按键按下和弹开时,由于按键的机械特性,有抖动产生。消除抖动有硬件方式和软件方式,软件方式就是编程读取I/O端口电平时,产生一个5ms~10ms延时后,再次读取I/O端口电平,以确认按键是否按下或弹开。

1.独立按键与矩阵按键 键盘是实现人机交互的重要计算机输入设备,其中按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。按键按照接口原理可分为编码键盘和非编码键盘,编码键盘是用硬件来实现对键的识别,非编码键盘由软件来实现按键的识别。非编码键盘按连接方式可分为独立按键和矩阵按键。 独立按键特点是每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单,适合所需按键较少的场合。矩阵按键特点是电路连接复杂,软件编程较复杂,但I/O口利用率高,适合需要大量按键的场合。下图为常见独立按键和矩阵按键接口电路。 图独立按键接口电路与矩阵按键接口电路上图四个按键(常开触点开关)S1,S2,S3,S4分别与单片机的四个I/O端口连接。当按键没有按下时,四个I/O端口的电压为高电平;当按键按下

基于单片机控制LED灯亮度调节 邓宇锋

基于单片机控制LED灯智能亮度调节 系部:机电工程系 学生姓名:邓宇锋 专业班级:电气 11C3 班 学号: 6 指导教师:茅阳 2014年3月10日

声明 本人所呈交的基于单片机控制LED灯亮度调节,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 2014年3月10日

摘要 本文介绍LED灯智能亮度调节驱动电路设计,智能照明控制系统在确保灯具能够正常工作的条件下,给灯具输出一个最佳的照明功率,既可减少由于过压所造成的照明眩光,使灯光所发出的光线更加柔和,照明分布更加均匀,又可大幅度节省电能,智能照明控制系统节电率可达20%-40%。智能照明控制系统它可在照明及混合电路中使用,适应性强,能在各种恶劣的电网环境和复杂的负载情况下连续稳定地工作,同时还将有效地延长灯具寿命和减少维护成本。 【关键词】:智能控制;LED;智能光补

目录 引言 (1) 一、智能的概述 (2) (一)智能的定义 (2) (二)智能的分类 (2) 二、LED发光二极管的认识 (2) (一)LED的构造 (2) (二) LED的发光原理 (3) (三)LED的优势 (3) 三、LED亮度控制系统 (3) (一)脉冲宽度调制 (3) (二)调制LED的驱动电流 (3) (三)线性调光法 (3) 四、单片机及程序设计 (3) (一)概述 (4) (二)单片机STC89C51芯片简介 (4) (三)程序 (7) 此套控制分主程序与子程序,截取主程序代码在附件中。 (7) 五、控制系统电路设计 (7) (一)LED驱动电路 (7) (二)光电传感器的选择 (8) (三)电气原理图 (9) 六、实物调试 (9) 总结 (1) 参考文献 (2) 谢辞 (3) 附件 (4)

用单片机控制灯的亮度

/**********************BST-V51实验开发板************************ * 名称:PWM调光 * 内容:通过PWM(脉宽调制)调节LED的亮度 ******************************************************************/ #include //包含头文件,一般情况不需要改动, //头文件包含特殊功能寄存器的定义 /*-------------------------IO口定义----------------------------*/ sbit P20 = P2^0;//这是为了关闭开发板上的数码管实际应用去掉 sbit P21 = P2^1;//这是为了关闭开发板上的数码管实际应用去掉 sbit CS88 = P2^2;//这是为了关闭开发板上的点阵实际应用去掉 sbit LED0=P1^0;// 用sbit 关键字定义LED到P1.0端口,LED是自己任意定义且容易记忆的符号 void Delay(unsigned int t); //函数声明 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { unsigned int CYCLE=600,PWM_LOW=0;//定义周期并赋值 P1=0x00;//这是为了关闭开发板上的数码管实际应用去掉 P20=0; //这是为了关闭开发板上的数码管实际应用去掉 P21=0; //这是为了关闭开发板上的数码管实际应用去掉 CS88=0; //这是为了关闭开发板上的点阵实际应用去掉 P1=0xFF;//P1口置1 while (1) //主循环 { LED0=1; Delay(60000); //特意加延时,可以看到熄灭的过程 for(PWM_LOW=1;PWM_LOW

单片机C语言LED灯点亮程序完全版

单片机C语言L E D灯点亮 程序完全版 Prepared on 24 November 2020

1例子1第二个灯亮 #include<> voidmain() { P1=0xfd; } #include<> SbitD1=P1^0; Voidmain() { D1=0 } 注意:稍微改程序时需重新hex化 例子2第一个灯亮 #include<>include<>//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 voidmain() //主函数 { unsignedinti;//定义一个int型变量 while(1) { i=50000;//变量赋初值为50000 led1=0; //点亮灯 while(i--);//延时 i=50000; led1=1;//熄灭灯 while(i--); } } 3例子1357灯同时亮

#include<>//52单片机头文件 sbitled1=P1^0;//单片机管脚位声明 sbitled3=P1^2;//单片机管脚位声明 sbitled5=P1^4;//单片机管脚位声明 sbitled7=P1^6;//单片机管脚位声明 voidmain() //主函数 { led1=0; //将单片机口清零 led3=0; //将单片机口清零 led5=0; //将单片机口清零 led7=0; //将单片机口清零 while(1);//程序停止在这里,在后面会讲到为什么这样写。} 例子21357同时亮 #include<>//52单片机头文件 voidmain() //主函数 { P1=0xaa; while(1);//程序停止在这里,在后面会讲到为什么这样写。} 例子3流水灯一个一个接着亮不循环 #include<>//52单片机头文件 voidmain() //主函数 { unsignedinti;//定义一个int型变量

51单片机控制灯泡亮度的仿真

ADC0831模拟量转换为对应8位数字量时延时大小的调节电路及程序

CS BIT P2.2 CLK BIT P2.1 DO BIT P2.0 ADCD EQU 35H PWM BIT P3.0 TB BIT P3.2 ORG 0000H AJMP MAIN ORG 0003H AJMP ZD ORG 0100H MAIN: MOV SP,#30H SETB IT0 ;CLR IT0 SETB EA SETB EX0 LCALL ADC ;MOV ADCD,#51 WAIT: CLR PWM MOV A,ADCD LCALL DELAY SETB PWM MOV A,#0FFH SUBB A,ADCD LCALL DELAY SJMP W AIT ADC: SETB PWM SETB CS CLR CLK NOP NOP CLR CS NOP NOP SETB CLK NOP NOP CLR CLK NOP NOP SETB CLK NOP NOP CLR CLK NOP NOP SETB CLK NOP MOV R0,#08H ADCKS: CLR CLK MOV C,DO RLC A SETB CLK NOP NOP DJNZ R0,ADCKS SETB CS MOV ADCD,A RET DELAY: MOV R5,A D1: MOV R6,#18 DJNZ R6,$ DJNZ R5,D1 RET ORG 0200H ZD: PUSH ACC MOV A,#255 SUBB A,ADCD LCALL DELAY CLR PWM POP ACC RETI END

51单片机控制LED灯程序设计

51单片机:LED灯亮灯灭程序设计 1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。 程序: 01: MOV A , #11111110B ; 存入欲显示灯的位置数据 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, #11111110B ;存入开始点亮灯位置 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 ;重新设定显示值

灯光亮度调节单片机控制器

灯光亮度调节单片机控制调器 1.引言 1.1课题背景 随着经济的高度发展,人们对所处的生活环境的要求也越来越高。我国的申奥主题就有“绿色奥运”之说。本项目的研究就是基于人们生存的光环境的“绿色”所开展的。紧扣能源节约与健康的主题。 能源与健康是当代社会的几大热门话题之一。节约能源,已经迫在眉睫。环顾我们的周围,能源浪费现象十分严重。就拿我们十分熟悉的校园来说,大家肯定都留心到了这些现象:教室时常是不分白昼黑夜的亮着灯;宿舍断电时,我们常常忘了关掉电源。等到再次来电时,我们又常常不在宿舍,此时灯却依旧亮着,而当时的光线常常不需要开灯。这样不仅浪费电,而且也会缩短灯泡的寿命;另外,我们有时会因光线不好而开灯,可过了一会儿,当光线好起来时,我们又因手头的事不能停下而无法去关灯,这样也导致了能源的浪费。 不良的光源会在不知不觉中对眼睛造成伤害。太强或太弱的光对眼睛都是有害的。大量研究表明学生的近视和长期应用不科学照明光源有直接关系。所以一个好的光环境尤为重要。 鉴于以上的分析,我们设计了这个便携式的灯光控制调节系统,它与灯泡相连便构成光控电灯。它的意义在于:使用者可通过自己设置的光强通过本系统使室内达到恒定的光强。即达到了节能的目的,又有保护视力的效果。 1.2课题研究的意义 在家居、工作、学习的各个环境中,我们所使用的光源均为固定瓦数的,提供固定光强的电灯。我们计划研制的灯光调节器,能够为人们提供“绿色光源”。我们查阅了大量的资料,结果发现目前市面上还没有此种灯。有些人也研制了一些调节灯,如https://www.wendangku.net/doc/8a2128588.html,/vote1/htm/A13.asp(东南大学电工电子试验中心)网页上所介绍的调节灯仅能人为手动调节亮度,再附上几个比较器组成的光感报警系统,来提醒人们室内光强超出允许范围,我们研制的调节器能真正意义上的达到自动调节光强的目的。此灯通过传感器采集的光强来控制灯泡的亮度,使室内达到了稳定的光强,此恒定光强也可通过外设键盘自主设定,既减少了经常开关灯的不便,又解决了浪费电能与影响视力的问题。此灯成本不高,可在办公室图书馆等公共场合使用。使人们生活的光环境的质量有了大大的提高,使人们生

基于51单片机的调光控制器设计

基于51单片机的调光控制器设计 1 调光控制器设计 在日常生活中,我们常常需要对灯光的亮度进行调节。本调光控制器通过单片机控制双向可控硅的导通来实现白炽灯(纯阻负载)亮度的调整。双向可控硅的特点是导通后即使触发信号去掉,它仍将保持导通;当负载电流为零(交流电压过零点)时,它会自动关断。所以需要在交流电的每个半波期间都要送出触发信号,触发信号的送出时间就决定了灯泡的亮度。 调光的实现方式就是在过零点后一段时间才触发双向可控硅开关导通,这段时间越长,可控硅导通的时间越短,灯的亮度就越低;反之,灯就越亮。 这就要求要提取出交流电压的过零点,并以此为基础,确定触发信号的送出时间,达到调光的目的。 1.1 硬件部分 本调光控制器的框图如下: 控制部分:为了便于灵活设计,选择可多次写入的可编程器件,这里选用的是ATMEL的AT89C51单片机。 驱动部分:由于要驱动的是交流,所以可以用继电器或光耦+可控硅(晶闸管SCR)来驱动。继电器由于是机械动作,响应速度慢,不能满足其需要。可控硅在电路中能够实现交流电的无触点控制,以小电流控制大电流,并且不象继电器那样控制时有火花产生,而且动作快、寿命长、可靠性高。所以这里选用的是可控硅。 负载部分:本电路只能控制白炽灯(纯阻负载)的亮度。 1.2 软件部分 要控制的对象是50Hz的正弦交流电,通过光耦取出其过零点的信号(同步信号),将这个信号送至单片机的外中断,单片机每接收到这个同步信号后启动一个延时程序,延时的具体时间由按键来改变。当延时结束时,单片机产生触发信号,通过它让可控硅导通,电流经过可控硅流过白炽灯,使灯发光。延时越长,亮的时间就越短,灯的亮度越暗(并不会有闪烁的感觉,因为重复的频率为100Hz,且人的视觉有暂留效应)。由于延时的长短是由按键决定的,所以实际上就是按键控制了光的强弱。 理论上讲,延时时间应该可以是0~10ms内的任意值。在程序中,将一个周期均分成N 等份,每次按键只需要去改变其等份数,在这里,N越大越好,但由于受到单片机本身的限制和基于实际必要性的考虑,只需要分成大约100份左右即可,实际采用的值是95。 可控硅的触发脉冲宽度要根据具体的光耦结合示波器观察而定,在本设计中取20 μs。程序中使用T1来控制这个时间。 对两个调光按键的处理有两种方式:一种是每次按键,无论时间的长短,都只调整一个台阶(亮或暗);另一种是随按键时间的不同,调整方法不同:短按只调整一个台阶,长按可以连续调整。如前面所述,由于本设计中的台阶数为95(N=95),如果使用前一种方式,操作太麻烦,所以用后者较为合理。 2 各单元电路及说明 2.1 交流电压过零点信号提取 交流电压过零点信号提取电路,图中的同步信号就是我们需要的交流电压过零点信号。各部分波形。

单片机实现发光二极管的循环点亮控制讲解

桂林电子科技大学单片机最小应用系统 设 计 报 告 指导老师:吴兆华

学生:钟静茹 学号:09210202 机电工程学院 2010年6月 单片机最小应用系统设计报告 目录 一、设计题目 (3) 二、设计内容与要求 (3) 三、设计目的意义 (3) 四、系统硬件电路图 (4) 五、程序流程图与源程序 (6) 5.1流程图 (6) 5.2源程序 (7) 5.2.1程序设计思想 (7) 5.2.2源程序清单 (7) 六、系统功能分析与说明 (9) 6.1系统主要组成部分 (9) 6.2指示灯显示部分 (10) 6.3 电路板的制作 (10) 6.3.1 PCB图的制作 (11) 6.3.2 电路板的腐蚀、钻孔和元器件的焊接 (13)

七、设计体会 (11) 八、参考文献 (12) 一、设计题目 用8031单片机实现发光二极管的循环点亮控制。采用3个按键分别控制发光二极管的启动、停止及每个灯点亮的时间的更换,定时时间有软件控制。 二、设计内容与要求 用8031单片机控制8个发光二极管循环点亮。要求用按键控制点亮时间(如每个灯点亮0.5秒或者1秒等,各灯点亮时间相同)。按启动键开始循环点亮;按停止键后停止。 三、设计目的意义 1、掌握单片机系统中扩展简单I/O接口的方法。 2、掌握单片机的硬件接口电路、8031单片机的内部结构及其编程方法。 3、掌握单片机的最小系统的设计。 4、掌握电路板的设计与制作。。 5、了解程序编写与调试的方法和技巧。 6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开

发。 四、系统硬件电路图 系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外电路接通显示部分、及电源显示部分。 设计硬件电路图时,其基本思想:先通过万能板搭建试验平台,将编好的程序下载到51中,等可以达到预期要求后,最后在PROTEL中设计原理图与PCB,做出电路板。

独立按键控制LED灯

项目五独立按键控制LED灯 1. 掌握独立按键消抖原理 2. 掌握独立按键接口电路设计 3. 掌握独立按键控制 LED灯的程序编写 项目任务 1. 设计独立按键控制 LED的硬件电路 2. 编写程序分别实现按下按键1和按键2, LED灯闪烁方式不同 3. 下载程序到单片机中,运行程序观察结果并进行软硬件的联合调试 键盘是常见的计算机输入设备,在单片机应用中,按键可以设置电子钟的时间;简易 计算器中,按键可以输入数字;按键还可以实现单片机中两个不同功能程序切换。本项目要求两个按键分别实现 LDE灯的不同闪烁方式,按键1按下时,8个LED灯从右向左依次点亮,按键2按下时,8个LED灯从左向右依次点亮。 本项目只需2个按键实现LED灯闪烁方式控制,因此按键接口电路设计成独立按键。 独立按键即每个按键直接与单片机I/O端口连接,当按键按下和弹开时,单片机I/O端口呈 现不同的电平。独立按键接口电路可以设计成当按键按下时,单片机I/O端口为高电平或者 低电平,读者可以根据自己的需求自行设计。单片机应用中的独立按键多是机械弹性开关,在按键按下和弹开时,由于按键的机械特性,有抖动产生。消除抖动有硬件方式和软件方式,软件方式就是编程读取I/O端口电平时,产生一个5ms- 10ms延时后,再次读取I/O端口电平,以确认按键是否按下或弹开。

1. 独立按键与矩阵按键 键盘是实现人机交互的重要计算机输入设备,其中按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。按键按照接口原理可分为编码键盘和非编码键盘,编码键盘是用硬件来实现对键的识别,非编码键盘由软件来实现按键的识别。非编码键盘按连接方式可分为独立按键和矩阵按键。 独立按键特点是每个按键占用一条I/O线,当按键数量较多时,I/O 口利用率不高,但程序编制简单,适合所需按键较少的场合。矩阵按键特点是电路连接复杂,软件编程较复杂,但I/O 口利用率高,适合需要大量按键的场合。下图为常见独立按键和矩阵按键接口电路。 图独立按键接口电路与矩阵按键接口电路 上图四个按键(常开触点开关)S1,S2, S3, S4分别与单片机的四个 I/O端口连接。当按键没有按下时,四个I/O端口的电压为高电平;当按键按下

基于单片机的声光控制灯

基于单片机的声光控制灯

————————————————————————————————作者: ————————————————————————————————日期: ?

基于单片机的声光控制模拟路灯 (程序部分) 前言:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。本次我们采用at89c51单片机设计一种基于单片机控制的声光控制模拟路灯。该灯有声控,光控,声光同时控制楼道灯三种模式,经过调查,现在绝大多数小区的楼道灯都是纯电路形式实现声光控制的,这较之智能控制缺乏功能多样性,稳定性,而未来肯定是智能化的天下,所以我们用单片机模拟这一个多功能灯的系统。 关键字:单片机,at89c51,智能社区,楼道灯 目录: 一、设计目的........................................................................................... 错误!未定义书签。 二、?总体设计 ................................................................................................. 错误!未定义书签。 方案选择:?错误!未定义书签。 三、?硬件设计?错误!未定义书签。 原理说明:?错误!未定义书签。 四、软件设计........................................................................................... 错误!未定义书签。 主要程序清单: ............................................................................... 错误!未定义书签。 程序框图:?错误!未定义书签。 五、实验结果........................................................................................... 错误!未定义书签。 六、总结................................................................................................... 错误!未定义书签。

基于C51单片机和PWM调光的LED台灯设计

. . .. . . 摘要 LED台灯作为LED绿色照明光源产品,作为国家绿色照明推广使用的产品。在实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费;在周边亮度小时LED灯不能提供足够和恰当的光度。本文介绍了以STC89C51为控制核心,通过光敏电阻感应光度,并利用PWM调光技术对LED 进行光度的自动调节。同时设置手动控制。该LED台灯电路简单,很大程度上节省电能,延长LED灯寿命,适宜阅读。 关键词 LED台灯光度PID PWM调光自动调节 原创性声明 本设计所用到的程序代码和电路均是来自本团队,如没有经过允许,不得复制和。

目录 前言 (4) 总体方案设计 (5) 硬件设计 (5) 软件设计 (9) 总结 (12) 附录1:作品照片 (13) 附录2:程序 (15)

前言 LED照明又称固态照明,作为继白炽灯、荧光灯后的第三代照明技术,具有节能、环保、安全可靠的特点,固态光源是被业界看好的未来十年替换传统照明器具极具潜力的新型光源,代表照明技术的未来。发展新固态照明,不仅是照明领域的革命,而且符合当前政府提出的“建设资源节约型和环境友好型社会”的要求。 LED台灯就是以LED(Light Emitting Diode)即发光二极管为光源的台灯,LED是一种固态的半导体器件,它可以直接把电转化为光。LED台灯是典型的绿色照明光源产品,作为国家绿色照明推广使用的产品,具有广阔的应用前景。 在实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费。另外一方面,因为LED的发热量和电流存在正相关的关系,发热影响了LED的寿命,所以在不必要的亮度下也减少了LED的寿命。然而,当LED 在周边亮度小时,LED灯不能提供足够和恰当的光度,这样又影响了阅读,造成视觉疲劳。

89C51单片机练习示例:LED灯点亮与熄灭操作

89C51单片机练习示例:LED灯点亮与熄灭操作 基本要求: 1、八个LED灯循环点亮,间隔1秒,最后全亮; 2、八个LED灯依次熄灭,间隔1秒,最后全灭; 3、八个LED灯同时点亮,保持1秒; 4、八个LED灯同时熄灭,保持0.5秒; 再将第三、四步重复4遍,最后整个程序重复N遍。 ORG 0000H MAIN:MOV R5,#03H; ACALL PRO1;依次点亮,最后全亮 ACALL PRO2;先灯亮,依次灭灯,后全灭 ACALL PRO3;八个灯同时亮,保持1秒;八个灯同时灭,保持1秒 ACALL PRO4;重复第三步操作,使灯点亮、熄灭4次 LJMP MAIN; PRO1: MOV A,#01H;从0号灯开始点亮 MOV R4,#08;亮灯个数记录 DIANLIANG:MOV R0,A; MOV P0,A;点灯子程序 RL A; ORL A,R0; ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 DJNZ R4,DIANLIANG;全亮 ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 ACALL DELAY;调用0.26s的延时子程序 RET PRO2: MOV A,#0FFH;先亮灯 CLR CY;清零CY值 MOV R4,#09H;灭灯个数记录 XIMIE:MOV R0,A; MOV P0,A;

RLC A; ANL A,R0; ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序DJNZ R4,XIMIE;全灭 ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序RET PRO3:MOV A,#0FFH; 先点亮,后熄灭MOV P0,A; ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY;调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序ANL A,#00H; MOV P0,A; ACALL DELAY;调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序ACALL DELAY; 调用0.26s的延时子程序RET PRO4:ACALL PRO3;重复点亮,熄灭四次DJNZ R5,PRO4; RET DELAY:MOV R2,#0FFH;延时子程序 DEL1:MOV R3,#0FFH; DEL2: NOP; NOP; DJNZ R3,DEL2; DJNZ R2,DEL1; RET END

单片机的调光控制器原理

单片机调光控制器设计 驱动部分:由于要驱动的是交流,所以可以用继电器或光耦+可控硅(晶闸管SCR)来驱动。继电器由于是机械动作,响应速度慢,不能满足其需要。可控硅在电路中能够实现交流电的无触点控制,以小电流控制大电流,并且不象继电器那样控制时有火花产生,而且动作快、寿命长、可靠性高。所以这里选用的是可控硅。 负载部分:本电路只能控制白炽灯(纯阻负载)的亮度。 1.2 软件部分 要控制的对象是50Hz的正弦交流电,通过光耦取出其过零点的信号(同步信号),将这个信号送至单片机的外中断,单片机每接收到这个同步信号后启动一个延时程序,延时的具体时间由按键来改变。当延时结束时,单片机产生触发信号,通过它让可控硅导通,电流经过可控硅流过白炽灯,使灯发光。延时越长,亮的时间就越短,灯的亮度越暗(并不会有闪烁的感觉,因为重复的频率为100Hz,且人的视觉有暂留效应)。由于延时的长短是由按键决定的,所以实际上就是按键控制了光的强弱。 理论上讲,延时时间应该可以是0~10ms内的任意值。在程序中,将一个周期均分成N 等份,每次按键只需要去改变其等份数,在这里,N越大越好,但由于受到单片机本身的限制和基于实际必要性的考虑,只需要分成大约100份左右即可,实际采用的值是95。 可控硅的触发脉冲宽度要根据具体的光耦结合示波器观察而定,在本设计中取20 μs。程序中使用T1来控制这个时间。 对两个调光按键的处理有两种方式:一种是每次按键,无论时间的长短,都只调整一个台阶(亮或暗);另一种是随按键时间的不同,调整方法不同:短按只调整一个台阶,长按可以连续调整。如前面所述,由于本设计中的台阶数为95(N=95),如果使用前一种方式,操作太麻烦,所以用后者较为合理。 2 各单元电路及说明 2.1 交流电压过零点信号提取 交流电压过零点信号提取电路如图2所示,图中的同步信号就是我们需要的交流电压过零点信号。各部分波形如图3所示。

51单片机按键控制花样灯

51单片机按键控制花样灯 时间:2012-09-10 13:50:11 来源:51hei 作者: /**************************************************** * 本程序实现用按键控制花样灯。 * * 当K1按下时,灯从0xfe向左跑一遍; * * 当K2按下时,LED灯从0x7f向右跑一遍到了0xfe右跑回到起始位置;* * 当K3键按下时,LED灯从0xfe开始作流水灯形式运行一次,然后再流回来。* * 当K4键按下时,LED灯先亮前四个,接着再转向亮后四个。* * 当K5键按下时,结束任意正在进行的程序,使LED灯全部熄灭。* ******************************************************/ ************************************************* 连接方法:P0接独立按键JP5;P2接LED灯接口JP1 * ***********************************************************/ #include //头文件,函数声明 #include //定义按键所在位 sbit K1=P0^0; sbit K2=P0^1; sbit K3=P0^2; 页脚内容1

sbit K4=P0^3; sbit K5=P0^4; unsigned char led; unsigned char j; void delayms(unsigned char ms) // 1ms标准延时 { while(ms--) { for(j=0;j<110;j++); //还是无法设置比较标准的延时,如1S等;所以应该用定时器延时才最准确} } void main() { //P2=led; unsigned int i; while(1) { /********************************************* 页脚内容2

基于单片机的智能照明控制系统

基于单片机的智能照明控制系统 一、产品介绍 本系统设计了一套应用于宿舍、工作室及大型停车场的LED智能照明系统。利用9 V变压器与LM7805组成交流转直流5 V稳压源为系统供电,通过热释电红外探测器采集数据,无线模块实现全区域内的数据传输,采用大功率LED恒流驱动方案,并利用可调光芯片BP1360和先进的PWM技术对LED灯进行调光,同时利用脉宽调制技术控制舵机,使得LED灯在两个自由度(各180°)上自由旋转,自动锁定空间的5个位置实现照明,同时可以通过手动遥控器进一步对系统进行控制,自由选择照明方式,体现对LED灯的智能化和人性化,进一步实现绿色照明。 本设计无论是单个模块还是整体的功能,都能较好地实现。针对照明时出现的一些资源浪费进行改善,通过检测是否有人控制灯的亮灭.而且根据人数的多少进行亮度的调整和区域照明范围的改变,实现资源利用的极大化,更满足人们对照明的需求。本系统稳定性较好,实现了既定的各个功能,即能准确检测到人出现在区域的位置(0,1,2,3,4),并发出对应的信号给单片机,单片机根据信号相应调整LED灯的亮度和舵机转向位置,达到了资源利用的高效化,同时也能实现手控遥控器控制。

二、产品功能 产品功能: (1)可以通过热释电红外探测器感应是否有人,将此信号传给单片机,单片机来控制灯的亮灭。 (2)可以实现根据人数的多少进行亮度的调整和区域照明范围的改变,实现资源利用的极大化。 三、产品特色 1、恒流驱动电路和单片机PWM 调光的设计的应用 2、利用单片机作为主控芯片,控制简单、易操作、维修成本低。 3、利用稳压源为系统供电。通过热释电红外探测器采集数据监测移动物 体和光亮度的设计,无线模块实现全区域内的数据传输。 4、采用大功率LED恒流驱动方案,并利用可调光芯片对LED灯实行调光; 同时利用脉宽调制技术控制舵机,使得LED射灯在两个自由度(各180°)上自由旋转,自动锁定空间的5个位置实现照明,同时可以通过手动遥控器进一步对系统进行控制.自由选择照明方式. 四、产品的系统构成以及应用领域 产品总体框图如下图所示: 产品总体框图 恒流驱动电路和单片机PWM 调光的设计 选用贴片的STC89C52RC单片机作为主控制芯片,大大地节省了驱动电路的体积。电源方面采用220 V转9 V变压器.再通过稳压芯片LM7805和一些滤波电容等器件做成。本设计LED光源采用相互并联方式,共由5只1 W 高亮度白光LED灯珠组成;每只LED灯珠的压降约3.1 V,工作电流约20 mA。由白光LED 的正向伏安特性可知,当LED端电压超过其正向导通电压后,较小的电压波动都

单片机课程设计 8个LED灯来回点亮

目录 第一章绪论--------------------------------------------------------3 第二章设计目的及要求-----------------------------------------5 1.1 设计目的--------------------------------------------------------5 1.2 设计要求--------------------------------------------------------5 第三章设计电路原理----------- -------------------------------7 3.1 控制部分的设计与选择-------------------------------------7 3.2 LED显示方案-----------------------------------------------8 第四章硬件系统------------------------------------------------9 4.1 原件清单-------------------------------------------------------9 4.2 单片机AT89C51---------------------------------------------9 4.3 单片机时钟电路--------------------------------------------10

4.4 单片机复位电路---------------------------------------------11 4.5 工作电路------------------------------------------------------12 第五章软件设计------------------------------------------------13 5.1 程序流程图--------------------------------------------------13 5.2 编辑源程序--------------------------------------------------14 第六章系统调试与仿真结果--------------------------------16 6.1系统调试-----------------------------------------------------16 6.2仿真结果----------------------------------------------------16 总结------------------------------------------------------------- 19 参考文献--------------------------------------------------------20 第一章绪论

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