文档库 最新最全的文档下载
当前位置:文档库 › 51单片机触摸灯

51单片机触摸灯

51单片机触摸灯
51单片机触摸灯

单片机触摸灯

在朋友那看到有一个触摸的台灯,感觉挺好玩的,突发奇想,想趁今天没事做一个玩玩,正好手边有几个STC的8脚单片机,足够做这个了,说做就做,顺便把过程发上来和网友们分享下,电路焊接、程序编写测试,中间经历了一波三折,终究还是在一天完成了,好了,话就不多说了。

————刘辉实现功能:单个触摸按键实现3W LED灯的开启、关闭、PWM无极调光、闪亮

LED不亮时短按触摸键点亮LE D,长按闪亮,闪亮时长按调闪亮的亮度;LED亮的时候短按关闭,长按调节亮度。本来还想加上连按进入呼吸灯的,结果可能程序有些问题,很容易引起误操作,又删掉了

硬件电路设计:

单片机选用STC的STC15f104W单片机,该单片机有为51内核1T指令5V单片机,8脚封装,128B RAM 4KFlash,1K E2PROM,含两个可自动重装初值的16位定时器(PS:是定时器0和定时器2,别弄错了。想不明白姚永平到底怎么想的,留了T2却把T1删了)有掉电和空闲模式,不含ADC、PWM还有串口。

LED灯功率为3W电压3V,试过加到3.3V只要散热跟得上没什么问题,最亮时电流1A左右,本来想的用一节手机锂电池供电做来着,但是单片机3.3V供电无法正常工作o(>_<)o ~~只好改用5V加个3.3V稳压了。LED亮度采用PWM调节,单片机产生PWM波驱动三极管控制LED灯的亮灭时间,达到调节亮度的目的,由于单片机本身无PWM模块,只能用软件模拟了,频率选择100Hz左右,8位。

然后是触摸按键,这是触摸按键的仿真,方波V1的频率本来不想选的很大,频率10K,电阻兆欧级的然后用AD检测电压就行了,但是这个单片机没有ADC,又不想加电压比较器让电路变复杂,只能提高频率,100K比较合适,不按时输出电压4V,触摸时输出0.4V,单片机很容易检测到。但是单片机在2M主频下(为了节省功耗,下边会细说)用定时器产生100K的方波,再加上定时器模拟PWM输出,主程序基本上做不了什么了,还好stc15F104W可以输出内部RC时钟,只是最小只能RC时钟4分频,

也就是1.3MHz(单片机为内部RC时钟,最低可选5.5MHz),只能硬着头皮选这个频率了,经过仿真和实际测试,方波1.3MHz下R1、R3选择51k和510k输出还算不错,从仿真上看,不按时电压将近4V,触摸时电压0.7V,在单片机上刚好是高电平和低电平响应时间1.9ms,这样单片机不会误判,OK就这个了。

再然后就是怎么焊接了,在洞洞板上要焊的尽量小,不跳线,就用AD画了个嘿嘿,栅格用的100mil 刚好洞洞板的间距,额。。。(??;)好像大材小用了点。三极管8550发射极撇长点,中间走一根线没什么问题,呵呵。。。

再然后就是焊接了,洞洞板放的太时间长了,焊的不好勿怪哈,啦啦啦。。。。。。。。。。。。。。

电路焊接好后测试没什么问题,接下来就是程序咯,因为我想尽量降低触摸灯的功耗,也就是灯不亮的时候消耗的电流更小,所以单片机的RC时钟选择了5.5296MHz(最小的了),stc15f104W加上触摸按键在5.5296M主频下消耗电流大概8mA,而在2.7648M主频下电流小了0.5mA,所以系统时钟频率选择了RC 时钟2分频也就是2.7648MHz。

为了达到更低的功耗,使用了stc15f104w的空闲模式。空闲模式下除不给CPU提供系统时钟,CPU

不执行指令外,其余部件功能全部。也就是内部RC时钟还会向外提供频率输出,这样不会影响触摸按键的正常使用,而退出空闲模式也很简单,任意一个外部中断都可以唤醒单片机,所以把触摸按键接到了单片机的INT0也就是P3.3引脚。经测试电流降到了4.2mA左右,和一个普通LED的耗电量差不多了`(*∩_∩*)′,和典型功耗1.9mA还有一定差距,估计就是电容按键的消耗了。

感觉这个耗电还是稍微有点大了,于是想到了单片机还有一个功耗更低的掉电模式,但是进入掉电模式后内部RC时钟停振,触摸按键也就不能用了。这个还是能解决的,让单片机间歇的工作不就行了吗,继续改,选择每500ms唤醒单片机工作100ms用来检测按键,理论上讲应该是正常工作耗电量的1/4了吧,但是不知道什么原因,经过测试耗电量依然高达4.5mA。唉,,,头疼,继续加大,选择1秒唤醒单片机工作100ms,测试工作电流降到了3.3mA,但这又引来了一个问题,由于每秒钟单片机只工作了100ms,所以短按有的时候会检测不到,必须按1秒准确响应,唉,算了,为了可靠响应还是选择空闲模式吧,等以后有时间在慢慢改吧。回头买些3.3V的stc15L104w,再把稳压去掉试试。。

程序流程图:

程序:

程序也放上来吧,程序也就几十行,根据流程图写也挺简单的,单片机的资源占用也不大,RAM占用12.3字节,FLASH占用也就320字节,用stc15f101W也完全可以,甚至0.5k FLASH的stc15f100也够用了。

#include

#include "intrins.h"

typedef unsigned char uchar;

typedef unsigned int uint;

//#define P3Set_IO(x) P3M1&=~(1<

//#define P3Set_PP(x) P3M1&=~(1<

//#define P3Set_IN(x) P3M1|=1<

//#define P3Set_OD(x) P3M1|=1<

sbit KEY = P3^2;

sbit PWM_Out = P3^5;

//#define TRUN_1T

//#define SYSTEM_CLOCK 5.5296f

#define Up 1

#define Down 0

bit bKEY_Flag = Up;

#define ON 1

#define OFF 0

#define bLightSwitch TR0

uchar ucHighDuty = 150;

#define Sycle 200

void Delay(uchar xms)

{

unsigned char i;

do{

while(i--);

}while(xms--);

}

void T0_ISR() interrupt 1

{

static uchar Count;

Count++;

if(Count>ucHighDuty&&PWM_Out==1)

PWM_Out = ~PWM_Out;

else if(Count>Sycle)

{

Count = 0;

PWM_Out = ~PWM_Out;

}

}

void INT0_ISR() interrupt 0

{

bKEY_Flag = Down;

}

void main(void)

{

bit bFlag, jieneng = 1;

CLK_DIV |= 0xC1; //P3.4输出RC时钟/4 系统时钟=RC二分频二分频可以节省0.5mA // P3M0 = 0x00;

P3M1 |= 0x0F; //P3.0~4设置为高阻

// T0_Init();

AUXR |= 0x80;

TH0 = 0xFF;

TL0 = 0x9C;

IE |= 0x83; //开启EA T0 INT0

// IT0 = 1; //1下降沿中断0边沿中断

while (1)

{

if(bKEY_Flag == Down)

{

Delay(255);

if(KEY==Up)

{

bLightSwitch = !bLightSwitch;

jieneng = !jieneng;

if(bLightSwitch==OFF)

{

PWM_Out = 1;

TH0 = 0xFF;

TL0 = 0x9C;

}

while(KEY==Down);

}

else if(bLightSwitch == ON)

{

do{

if(bFlag == 1&&ucHighDuty

ucHighDuty+=1;

else if(ucHighDuty>0)

ucHighDuty-=1;

Delay(10);

}while(KEY==Down);

bFlag = !bFlag;

}

bKEY_Flag = Up;

}

if(jieneng==1)

{

PCON|=0x01;

Delay(255);

while(KEY==Down)

{

TH0 = 0xF4;

TL0 = 0x48;

}

}

}

}

演示视频

基于AT89c51单片机实现的交通灯

江西科技师范大学 通信与电子学院《单片机应用技术》实训报告实训题目:模拟交通灯 小组成员:龚石冲罗仁敏曾建伟 班级:12电子科学与技术 指导老师:熊朝松

一、实训选题内容、要求 交通模拟灯 要求: 1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒; 支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒; 2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化; 3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向 长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常 通行。 二、实训计划和人员安排 经小组人员商定,分工完成任务,在课余时间完成。 若其中遇到什么问题,大家聚在一起讨论解决。具体分工如下: 1、程序编写:龚石冲 2、实体焊接:龚石冲 3、实训报告:罗仁敏 4、视频及PPT:曾建伟 三、实训选题分析 交通灯由东西南北四向灯,倒计时显示,人行横道通行指示标志等部分组成。其中东西南北四向灯中的每一向都由红、黄、绿三色灯组成;东西为一组,南北为一组。黄灯在红绿灯之间转换时亮。倒计时显示表示红、黄、绿灯亮时所剩时间。由于人行横道通行指示标志与红灯是同步的,所以在模拟交通灯时省略。交通会遇到一些突发情况。因此交通信号灯要设定一些特定功能,以防不时之需。

整个电路由单片机完成,控制部分由软件完成,硬件只负责响应。 四、方案设计 方案一:主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。由按键开关完成禁止通行,东西 通行,南北通行。

51单片机32位流水灯

51单片机32位流水灯 摘要:随着电子工业的发展,电子元器件急剧增加,C51单片机应用非常广泛。本文介绍了一种简易的单片机应用的设计思路及硬件结构。首先研究了51单片机流水灯的基本原理,画出整机框图,接着提出系统的性能指标,计算确定电路形式和元器件参数,然后根据原理图通过Simulink软件进行建模仿真,验证系统的可行性。 关键字:C51;LED;S imulink软件;Protel99SE; 1引言 1.1设计背景及意义 目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用围也逐渐广泛起来,在我们的生活当中有许多地方要应用中到灯光,因此,设计全自动,可靠,安全,便捷的灯光效益具有极大的现实必要性。 2.系统概述 该系统主要有C51单片机,LED灯,晶振等。 2.1 设计目的 (1)掌握简易流水灯的工作原理,以及程序的编写等等。 (2)进一步熟悉和掌握常用数字电路元器件的应用; (3)学习数字电路仿真、调试、测试、故障查找和排除的方法、技巧; (4)培养实践技能,提高分析和解决实际问题的能力。 2.2设计容及要求 1、51单片机x1、40Pin 座x1 2、LED x32(建议用5mm 七彩的) 3、电阻470Ωx33 4、晶振12MHz x1 5、10uf 电解电容x1、谐振瓷片电容30pf x2 6·其他的可以看自己的爱好去加 7、其实也可以不用那么多的电阻,用几个排阻就OK了。

2.2电路原理图

2.2重要元器件介绍

(1)C51单片机 (2)12MHZ晶振分为两种封装形式: SMD3225产品详细参数: 频率围:12 ~ 54 MHz 频率公差(25℃)± 10ppm± 30 ppm, or specify 在工作温度围的频率稳定度:± 10ppm± 30 ppm, or specify 工作温度围:- 20 ~ +70 oC, or specify 并联电容(C0):7 pF Max. 驱动级:1~200μW(100μW typical) 负载电容:Series, 8 pF, 12 pF, 15 pF, 20pF, or specify 老化(25℃):± 3 ppm / year Max. 储存温度围:- 40 ~ + 85 oC SMD5032产品详细参数: 频率围:12 ~ 54 MHz 频率公差(25℃)± 10ppm± 30 ppm, or specify 在工作温度围的频率稳定度:± 10ppm± 30 ppm, or specify 工作温度围:- 20 ~ +70 oC, or specify 并联电容(C0):7 pF Max. 驱动级:1~200μW(100μW typical) 负载电容:Series, 8 pF, 12 pF, 15 pF, 20pF, or specify 老化(25℃):± 3 ppm / year Max. 储存温度围:- 40 ~ + 85 oC 3实物

LED呼吸灯C51源程序

* 【使用说明】: 晶振为11.0592M 利用定时器控制产生占空比可变的PWM 波 按K3,PWM值增加,则占空比减小,LED 灯渐亮 按K4,PWM值减小,则占空比增加,LED 灯渐暗 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警 ******************************************************************************* ***/ #include #include sbit K1 =P3^4 ; //PWM值增加键 sbit K2 =P3^5; //PWM值减少键 sbit BEEP =P0^4; //蜂鸣器 unsigned char PWM=0x7f ; //赋初值 void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); /*********************************************************/ void main() { P1=0xff; TMOD=0x21 ; TH0=0xfc ; //1ms延时常数 TL0=0x66 ; //频率调节 TH1=PWM ; //脉宽调节 TL1=0 ; EA=1; ET0=1; ET1=1; TR0=1 ; while(1) { do{ if(PWM!=0xff) {PWM++ ;delayms(10);} else Beep() ;

} while(K1==0); do{ if(PWM!=0x02) {PWM-- ;delayms(10);} else Beep() ; } while(K2==0); } } /*********************************************************/ // 定时器0中断服务程序(频率) /*********************************************************/ void timer0() interrupt 1 { TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P1=0x00 ; //启动输出 } /*********************************************************/ // 定时器1中断服务程序(脉宽) /*********************************************************/ void timer1() interrupt 3 { TR1=0 ; P1=0xff ; //结束输出 } /*********************************************************/ //蜂鸣器子程序 /*********************************************************/ void Beep() { unsigned char i ; for (i=0 ;i<100 ;i++) { delay(100) ;

论基于51单片机控制的智能LED灯

论基于51单片机控制的智能LED灯 前言 随着社会的发展人们对生活质量的要求越来越高,照明在能耗中所占的比例日益增加,照明也早已成为我们生活的不可或缺的一部分。在当今社会中,比较普遍使用的有通过声音、触摸、光感等来控制的照明灯具。然而这些都有一定的局限性,不能得到最大化的利用。 LED灯寿命比较长、省电、比较环保,正式由于这些优点的存在以及等下对LED灯的大力研究,因而LED灯走上了历史的舞台。采用LED灯作为我们社会的首选照明用具,肯定可以节约很多电能,节电的意义非凡,不但减少发电过程中的污染,还能为我们的后代留下财富。因此节电是件利国、利民、利己的好事。而本设计能最大限度的节省日常照明所消耗的电能,有着巨大的经济环境效用。 1.硬件介绍 1.1控制板 控制板主要由以下几个部分组成: MCS-51单片机、8位的微处理器、片内为128个字节,片外最多可外扩至64k字节数据存储器、程序存储器、5个中断源,2级中断优先权的中断系统、2个16位的定时器/计数器、1个全双工的串行口、4个并行8位I/O口、21个特殊功能寄存器。 1.2光照检测 方案一、采用光敏二极管或三极管等光传感器件把环境亮度转换成

相应的数字电平,然后直接接入单片机IO引脚。 方案二、采用光敏电阻把环境亮度转换成相应的电压值(模拟值),然后通过运放后给单片机输入一个标准的数字信号。由于光敏电阻属于纯阻性器件,所以采用方案一。 1.3人体检测 人体检测主要通过菲涅尔透镜来完成,当人进入感应范围,人体释放的红外光透过镜片被聚集在某个同心环上,然后生成一个光信号,再通过探头将光信号转换成电信号来工作。 1.4热释电传感器 热释电红外线传感器用于检测人体辐射的红外线,然后通过一定的方式转换成电压信号,将电压信号投入到工作中。 人体热释电检测电路图如下: 检测对象菲涅尔透镜热释电红外传感器信号处理电路Vm 1.5照明设备驱动 方案一、采用可控硅控制。可控硅又称晶闸管,是一种具有三个PN 结的四层结构的大功率半导体器件。其具有体积小、结构相对简单、功能强等特点,是比较常用的半导体器件之一。 方案二、采用继电器控制。继电器是一种当输入电、磁、声、光、热等达到一定值时,输出量发生跳跃式变化的自动控制器件。其动作快、工作稳定、使用寿命长、体积小,所以广泛应用于运动、遥控、电力保护、自动化、测量和通信等装置中。根据不同的结构,可以将其分为电磁继电器、热敏干簧继电器、固态继电器、磁簧继电器、光

基于单片机的交通灯

毕业设计说明书 基于单片机的交通灯 控制系统设计 专业 电气工程及其自动化 学生姓名 郭 恒 燕 班级 BD 电气042 学 号 0420610228 指导教师 张 兰 红 完成日期 2008年6月10日

基于单片机的交通灯控制系统设计 摘要:对基于单片机的交通灯控制系统进行了设计。系统功能为:以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。 在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。设计包括硬件和软件两大部分。硬件部分包括单片机最小系统、时间显示、交通灯显示三部分。选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。 在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完成毕业设计任务书所要求的功能。 关键词: 交通灯;单片机;AT89S52

基于单片机的交通灯控制系统设计 1 概述 1.1 课题研究背景与意义 随着经济的增长和人口的增加,人们生活方式不断变化,人们对交通的需求不断增加。城市中交通拥挤、堵塞现象日趋严重,由此造成巨大的经济与时间损失。资料显示,对日本东京268个主要交叉路口的调查估计表明:每年在交叉路口的时间延误,折成经济报失为20亿美元;而在我国北京市,当早晚交通高峰时,交叉路口处的排队长度竟达1000多米,有的阻车车队从一个交叉路口延伸到另一个交叉路口,这时一辆车为通过一交叉路口,往往需要半个小时以上,时间损失相当可观。 我国是一个历史悠久、人口众多的国家,城市数量随着社会的发展不断增多。随着城市化进程的大大加快,诱发的交通需求急剧增长,供需矛盾不断激化,严重的交通问题也随之而来。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,这一切要归功于城市交通控制系统中的交通灯控制系统。交通灯控制系统对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果,使城市交通得以有效管理。 交通灯可以采用PLC、单片机等控制方法。利用单片机实现对交通信号灯的实时控制,只要采用一块单片机,加上简单的接口与驱动放大电路,即可实现,具有成本低,可靠性高的特点。 1.2 课题设计内容 本课题对基于单片机的交通灯控制系统进行设计。以MCS-51系列单片机为控制核心,设计并制作交通灯控制系统,用于十字路口的车辆及行人的交通管理。东西南北四个路口具有左拐、右拐、直行及行人4种通行指示灯,并分别用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。 设计交通灯控制系统硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,要求获得调试成功的实物。 2 系统设计 2.1 设计方案论证 根据设计内容要求,提出了如下三种方案: 方案一:采用AT89S52单片机作为控制核心,采用四组高亮红绿双色二极管作

最新51单片机花样呼吸灯程序

#include /*-----------定义单片机引脚--*/ sbit LED0=P1^0; 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); //函数声明 unsigned int z,y; void main (void)//主函数 { unsigned int CYCLE=1000,PWM_LOW=0;//定义周期并赋值 while (1) //主循环 { /*--------整排LED灯呼吸---------*/ P1=0x00; Delay(1000); //加延时,可以看到熄灭的过程(下面程序同理) for(PWM_LOW=1;PWM_LOW0;PWM_LOW--) //与逐渐变亮相反的过程 { P1=0x00; //点亮LED Delay(PWM_LOW); P1=0xff; //熄灭LED Delay(CYCLE-PWM_LOW); //主循环中添加其他需要一直工作的程序,延时长度,600次循环中从599减至1 } /*--------第一颗LED灯呼吸---------*/ /* LED0=1; Delay(1000); for(PWM_LOW=1;PWM_LOW

基于51单片机智能路灯控制器设计与实现

摘要 摘要 现在,随着微电子技术和集成电路技术的快速发展,单片机技术无处不在。单片机作为计算机科学与技术的重要组成部分,作为嵌入式系统的先头兵,片上系统的先行者,已经被广泛应用到了各行各业,尤其是与控制相关的领域,极大的提高了产品的智能化程度和技术水平,已经成为了当今社会十分重要的技术领域。随着社会需求和单片机应用领域的不断扩展,各类智能产品、控制系统都是以单片机技术为核心来进行开发设计的。 本系统采用MSC—51系列单片机89C51和相关的光电检测设备及设计智能路灯控制器,实现了能根据实际光线条件通过8051芯片的P1口控制路灯开关功能。随着社会文明的不断发展,城市照明已不仅局限于街道照明,而且发展成了城市景观等装饰性照明的综合市政工程。 关键词:路灯单片机技术设计

ABSTRACT ABSTRACT Nowadays, with the rapid development of micro-electronic technology and integrated circuit technology, Single Chip Micro-computer (MCU) technology is being used everywhere. MCU has been used in all kinds of industries, especially in the areas concerning the controlling as the important ingredient in the computer science and technology, the front-runner in the embedded system. It has improved products’Intellectualized and technical standards and been a quite important technical area in our recent social needs and the applied areas of MCU expanding, types of mental produce and control systems are designed with MCU as the central technology. The system uses MSC MSU-51 and Relevant photo electric equipment to design intelligentized controller of streets lights and realize the function of controlling the switches according to the actual conditions of light through P1 port of 8051 chip. As the ever-accelerated development of social civilization, City light is not only confined to the street lighting but also developed into the urban landscape and decorative Keywords: lamp MCU-technology design

(完整)基于89C51单片机交通灯课程设计要点

(完整)基于89C51单片机交通灯课程设计要点 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于89C51单片机交通灯课程设计要点)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于89C51单片机交通灯课程设计要点的全部内容。

华北水利水电学院 基于C51单片机 交通灯课程设计实验报告 姓名:田坤 班级:125 专业:电子信息科学与技术 指导老师:辛艳辉刘明堂 2013年1月16日 摘要 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机STC89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题.系统具

有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 关键词:交通灯 单片机 数码管 一 。总体设计思路 1.1设计目的及思路 设计目的 了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。 设计思路 (1)分析目前交通路口的基本控制技术,提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,增加了倒计时显示提示。 (3)进行显示电路。 (4)进行软件系统的设计。 1。2 实际交通灯显示时序及状态转换的理论分析 图1所示为红绿灯转换的状态图。 图1 红绿灯状态转换图 表1 十字路口指示灯燃 亮方 S1 S4 S3 S2

(完整版)51单片机流水灯程序

1.第一个发光管以间隔200ms 闪烁。 2. 8 个发光管由上至下间隔1s 流动,其中每个管亮500ms, 灭500ms 。 3. 8 个发光管来回流动,第个管亮100ms 。 4. 用8 个发光管演示出8 位二进制数累加过程。 5. 8 个发光管间隔200ms 由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms 间隔全部闪烁 5 次。重复此过程。 6. 间隔300ms 第一次一个管亮流动一次,第二次两个管亮流动,依次到8 个管亮,然后重复整个过程。 7. 间隔300ms 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8 个全部闪烁 3 次;关闭发光管,程序停止。 1 #include #define uint unsigned int sbit led 仁P"0; void delay(); void main() { while(1) { led1=0; delay(); led1=1; delay(); } } void delay() {

uint x,y; for(x=200;x>0;x--) for(y=100;y>0;y--); } #include #include #define uint unsigned int #define uchar unsigned char sbit p P1A0; uchar a; void delay(); void main() { a=0xfe; P1=a; while(1) { a=_crol_(a,1); delay(); P1=a; delay(); } } void delay() { uint b; for(b=55000;b>0;b--); } 3 #include #include #define uint unsigned int #define uchar unsigned char void delay() { uint x,y; for(x=100;x>0;x--) for(y=110;y>0;y--); } void main() { uchar a,i; while(1) a=0xfe; for(i=0;i<8;i++) { P1=a; delay(100); a=_crol_(a,1); } a=0x7f; for(i=0;i<8;i++) { P1=a; delay(100); a=_cror_(a,1);

基于单片机的智能台灯设计

目录 摘要 (2) ABSTRACT (2) 1.绪论 (3) 2.1单片机主机系统电路 (5) 2.1.1系统电路组成 (5) 2.1.2 系统工作原理 (6) 2.1.3系统控制核心 (6) 2.2红外传感器电路 (7) 2.2.1人体位置检测 (8) 2.2.2环境光检测 (8) 2.2.3过零检测部分 (9) 2.3输出控制部分电路 (9) 2.4电源控制部分 (10) 2.5遥控器部分 (11) 3.系统的软件设计 (12) 3.1系统程序框图 (12) 3.2系统主程序设计 (13) 3.3采样子程序设计 (15) 3.4滤波程序设计 (16) 3.5遥控器程序设计 (17) 4.结语 (19) 参考文献 (20) 附录A (21)

摘要 这个智能台灯的主要设计思想来源于生活。台灯是一般家庭的生活必需品,但由于经常忘记关灯而造成巨大的能源浪费本文给出了一种基于BISS0001和单片机89C51组成热释电红外传感器控制电路来制作一种智能台灯的设计方法。该方法的控制可以根据台灯旁边是否有人以及光线的强弱来自行控制台灯的关和开,从而使人们使用起来比较方便,而且能起到节能的效果。 基于单片机控制的智能节能台灯,社会在不断进步,人类在不断追求,市场在不断变化,高科技应用含量决定着产品发展的新趋势和前景,智能化技术在电子产品领域的应用意义深远。随着电子产品的快速发展,家用电器也越来越偏向智能化,已经应用于实际中的有智能洗衣机,智能电饭锅,智能电磁炉等,而所用的智能化家用电器都用一个共同的特点,都是利用单片机作为中央控制单元。结合了单片机的智能家用电器和普通家用电器相比,功能上更强,使用更方便,安全可靠性也更高,最重要的是更节省电能,提高了家用电器的品质。 关键词:智能;省电;方便;保护视力 Abstract The system of the main idea is derived from life. the lamp is the average family necessities of life, but often forgot to turn off the light of energy and enormous waste of this article gives a monolithic integrated circuits 89c51 biss0001 and based on the infrared sensors interpretation of the control circuit to make an intelligent lamp approach. The method of control on the desk next to whether a man and the light of their console to the door and opened, people use more convenient and forms of energy conservation. Revivification control of a lamp energy, the progress, human being, the market has changed, higher technology applications in the product development of new trends and prospects, intellectualized technology in the electronics field of application of far-reaching significance. with the rapid development of electronic products, a combination of household "monolithic integrated circuits, and household functions stronger and more convenient usage and more higher reliability and security, the most important thing is more economical electricity and to improve the quality of the household. Keywords: intelligent;electricity; and preserve your eyesight

基于51单片机的智能台灯设计

摘要 LED台灯作为LED绿色照明光源产品,作为国家绿色照明推广使用的产品。随着时代发展,节能环保、健康与人们的日常生活变得密不可分,科技的进步,也使家电更加智能化和人性化。台灯作为家电中基础的,也是必不可少的,所以,提出PWM调光灯设计。 该设计是以STC89C51RC单片机为控制核心的集多种功能于一体的智能LED台灯。该台灯实现了光亮度具有手动、自动两种调节方式;具有呼吸模式功能,还具有红外遥控功能。硬件设计部分分为单片机控制模块、按键模块、照明模块、光敏模块、LED指示模块、遥控模块等多个部分。单片机主控制芯片选用STC89C51RC,LED指示模块选用三种不同颜色的小LED来指示不同的工作模式,通过按键模块来调整工作模式和LED的亮度,照明模块选用12草帽型白光LED,光敏模块选用ADC0809芯片实现对光敏信号的采集,并利用PWM 调光技术对LED进行光度的自动调节。可以通过红外遥控远距离无线遥控,通过单片机C语言编程进行软件设计,综合实现了全部控制功能。 关键词 LED台灯光度PWM调光自动调节

Abstract LED lamp as LED green lighting products, as the country to promote the use of green lighting products. With the development of the times,energy saving and environmental protection, health and the peopledaily life are inseparable, the progress of science and technology,also makes home appliances more intelligent and humanized. The lamp as home appliances based, so is also essential,, put forward PWM dimming the lights design. The design is based on STC89C51RC SCM as control core and multi functions in one of the intelligent LED lamp. The table lamp realizes the brightness with manual, automatic two types of regulation;respiratory mode function, but also has the function of infrared remote control. The design of the hardware part consists of MCU control module, keyboard module, lighting module, photosensitive module,LED module, remote control module instruction. The MCU main control chip STC89C51RC, LED indicating module with three kinds ofdifferent colors of small LED to indicate different working modes,brightness through the key module to adjust the working mode and the LED lighting module, using 12 straw hat type white LED,photosensitive module uses ADC0809 chip implementation of a signal acquisition, automatic regulation and luminosity of LED using PWM dimming technology. Through the infrared remote control, wireless remote control, software design of the MCU C language programming,integrated control functions are realized by. Key word LED lamp dimming automatically adjust luminosity of PWM

基于51单片机的智能交通灯课程设计

目录 摘要 (1) 1 系统硬件设计 (2) 1.1 80C51单片机引脚图及引脚功能介绍 (2) 1.2 74LS245引脚图及功能 (4) 1.3 八段LED数码管 (5) 1.4 硬件系统总控制电路 (6) 1.5各模块控制电路 (8) 1.5.1 交通灯控制电路 (8) 1.5.2 倒计时显示电路 (9) 1.5.3 紧急通行电路 (12) 1.5.4 声音警示装置 (13) 2 系统程序设计 (14) 2.1 主程序流程图 (14) 2.2 显示子程序流程图 (15) 3 心得体会 (16) 参考文献 (17) 附录源程序 (18)

摘要 近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现交通的井然秩序呢?靠的是交通信号灯的自动指挥系统,来实现交通的井然有序。交通信号灯控制方式很多。本系统采用美国ATMEL公司生产的单片机AT80S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片的P1口设置红、绿灯点亮的功能,输出设置显示时间。交通灯的点亮采用发光二极管实现,时间的显示采用七段数码管实现。单片机系统采用的直流供电。 关键词:AT89S51单片机;智能交通灯控制系统;

51单片机PWM呼吸灯源程序

51单片机PWM-呼吸灯源程序 /** ************************************************* *************** * @file : main.c * @xu ran * @date : 2014年5月23日20:55:19 - 2014年5月23日22:32:12 * @version : V2.0 * @brief : PWM脉冲宽度调制技术实现呼吸灯 ************************************************* *************** * @attention * 实验平台 : 51hei开发板 * 单片机 : STC89C52RC MCU 晶振 : 11.0592 MHZ ************************************************* *************** */ #include //使用STC89C52库 /* 三八译码器74HC138 */ sbit ADDR3 = P1^3;

sbit ENLED = P1^4; sbit PWMOUT = P0^0; //LED0 /* PWM占空比 */ unsigned char code pwmTable[] = { 3, 5, 8, 11, 13, 16, 21, 24, 27, 30, 33, 36, 40, 45, 49, 53, 55, 57, 61, 65, 67, 69, 72, 75, 79, 82, 86, 89, 91, 93, 96, 99 }; // dc% /* PWM的高电平和低电平的定时器的重载值 */ unsigned char Highthr0, Hightlr0; unsigned char Lowthr0, Lowtlr0; /* 定时器T1计数装载值 */ unsigned char thr1, tlr1; /* PWM 频率计数值 */ unsigned long tmp = 0; /******************local function defines**************************/ void ConfigPWM(unsigned int fr, unsigned char dc); void ConfigTimer1(unsigned int xms); /************************************************

基于51单片机的交通灯设计

毕业论文 题目:基于单片机的交通灯设计系别: 姓名: 指导教师:

单片机交通灯设计 摘要: 近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现交通的井然秩序呢?靠的是交通信号灯的自动指挥系统,来实现交通的井然有序。交通信号灯控制方式很多。本系统采用美国ATMEL公司生产的单片机AT89S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片的P1口设置红、绿灯点亮的功能,通过AT89S51芯片的RXD、TXD输入、输出设置显示时间。交通灯的点亮采用发光二极管实现,时间的显示采用七段数码管实现。单片机系统采用的直流供电。为了系统稳定可靠,系统内集成了“看门狗”芯片,避免了系统因为死机而停止工作的情况发生。系统实用性强、操作简单、扩展性好。

目录 1 引言 (1) 2 交通管理方案论证 (2) 2.1 设计任务 (2) 2.2 方案介绍 (2) 3 交通灯系统硬件设计 (4) 3.1 单片机概述 (4) 3.2 系统构成 (5) 3.3芯片选择与介绍 (6) 3.3.1 AT89S51芯片 (6) 3.3.2 74HC164芯片介绍 (8) 3.3.3 74LS04输出信号与信号灯 (9) 3.3.4 交通灯控制线路图 (10) 4 交通灯软件设计 (11) 4.1 程序设计流程图 (11) 4.2延时的设定 (13) 4.2.1 计数器初值计算 (13) 4.2.2 相应程序代码 (13) 4.3 程序的主控制循环调用 (14) 4.4 对现有程序的扩充 (15) 5实验平台 (16) 5.1实验平台 (16) 5.2实验步骤 (16) 5.2.1 编写程序代码 (16) 5.2.2 按照系统硬件连线图连接好系统并调试 (16) 结论 (18) 致谢 (18) 参考文献 (19) 程序实现代码 (20)

基于51单片机的交通灯(红绿灯)设计论文报告

通过单片机仿真交通灯

第一章概述 1.设计内容: 用AT89S52单片机控制一个交通信号灯系统,晶振采用12MHZ。 设A车道与B车道交叉组成十字路口,A是主道,B是支道。设计要求如下:用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。正常情况下,A、B两车道轮流放行,A车道放行50s,其中5s用于警告;B车道放行30s,其中5s 用于警告。交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。在B 车道放行期间,若A车道有车而B车道无车,按下开关K1 使 A车道放行15s;在 A车道放行期间,若B车道有车而A车道无车,按下开关K1 使B 车道放行15s。有紧急车辆通过时,按下K2开关使 A、B车道均为红灯,禁行20s。 2.设计目的: 1)进一步熟悉和掌握单片机的结构和工作原理。 2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。 4)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5)通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。 3.设计原理: 利用“自动控制”控制交通灯的方法。将事先编制好的程序输入单片机,利用单片机的定时、查询、中断功能;能够根据十字路口两个方向上车辆动态状况,采用查询的方式,根据具体情况,自动给予时间通行,其中利用中断方式来处理特殊情况。这样既方便驾驶员、路人,同时还可以紧急处理一些紧急实况。同样具有红、黄、绿灯的显示功能,为驾驶员、路人“照明”。 使用AT89C51单片机控制 4个方向的交通灯(红﹑黄﹑绿)并用数码管显示其时间。

最经典的51单片机经典流水灯汇编程序

单片机流水灯汇编程序设计 开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。 程序A: ;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 MOV P1,#11011111B ;最下面第三个的LED点亮(以下省略) LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B ;完成第一次循环点亮,延时约0.25秒 AJMP START ;反复循环 ;延时子程序,12M晶振延时约250毫秒 DELAY: MOV R4,#2 L3: MOV R2 ,#250 L1: MOV R3 ,#250 L2: DJNZ R3 ,L2 DJNZ R2 ,L1 DJNZ R4 ,L3 RET END 程序B: ;用移位方式实现流水灯

ajmp main ;跳转到主程序 org 0030h ;主程序起始地址 main: mov a,#0feh ;给A赋值成11111110 loop: mov p1,a ;将A送到P1口,发光二极管低电平点亮 lcall delay ;调用延时子程序 rl a ;累加器A循环左移一位 ajmp loop ;重新送P1显示 delay: mov r3,#20 ;最外层循环二十次 d1: mov r4,#80 ;次外层循环八十次 d2: mov r5,#250 ;最内层循环250次 djnz r5,$ ;总共延时2us*250*80*20=0.8S djnz r4,d2 djnz r3,d1 ret end 51单片机经典流水灯程序,在51单片机的P2口接上8个发光二极管,产生流水灯的移动效果。 ORG 0 ;程序从0地址开始 START: MOV A,#0FEH ;让ACC的内容为11111110 LOOP: MOV P2,A ;让P2口输出ACC的内容 RR A ;让ACC的内容左移 CALL DELAY ;调用延时子程序 LJMP LOOP ;跳到LOOP处执行 ;0.1秒延时子程序(12MHz晶振)=================== DELAY: MOV R7,#200 ;R7寄存器加载200次数 D1: MOV R6,#250 ;R6寄存器加载250次数 DJNZ R6,$ ;本行执行R6次 DJNZ R7,D1 ;D1循环执行R7次 RET ;返回主程序

相关文档