51单片机呼吸灯实验报告

51单片机呼吸灯实验报告
51单片机呼吸灯实验报告

呼吸灯

1 功能与技术分析

呼吸灯就是让LED灯的闪烁像呼吸一样,时呼时吸,时亮时暗,利用LED的余辉和人眼的暂留效应,看上去和人的呼吸一样。可以展示出各种酷炫的图像。

1.1 呼吸灯的实现效果

使用调制的方法,灯在高速闪烁时人眼是看不出来的,每个循环给闪烁的熄灭时间加1,灯就会慢慢变暗,在设置熄灭时间加到一定程度就开始减一,就会渐渐变亮了。使得LED灯按照顺序逐渐改变亮度。

1.2 功能分析

灯光在微电脑控制之下完成由亮到暗的绝剑变化,感觉就像是在呼吸。广泛应用与数码产品,起到装饰和指示工作效果。目前被广泛用于手机之上,并成为各大品牌新款手机的卖点之一。

1.3 技术分析

用C语言编程实现PWM(脉宽调制)输出驱动LED,逐渐增加PWM的占空比从而实现LED模拟呼吸的过程,即渐亮再渐暗再渐亮再渐暗……如此往复,再利用LED的余辉和人眼的暂留效应,

看上去就和人的呼吸一样。

2 硬件基础与设计

整个系统的搭建,由以下元器件组成:

1、12MHz晶振一个;

2、stc89c51单片机一个;

3、30pf无极性电容2个;

4,、按钮一个;

5、10K电阻一个;

6、10uf有极性电容一个;

7、洞洞板一个;

8、LED灯若干。

2.1 基于51单片机的最小系统的设计

STC89C51RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes 的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C51RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。

组成部分包括:

1、一个八位中央处理器CPU;

2、一个片内震荡电路,时钟电路产生时钟信号,频率越高,速度越快;

3、128B的RAM。51中共有256BRAM单元,后面128B是寄存器;

4、4KB的ROM;

5、2个16位定时器/计数器;

6、32条可编程的I/O线,4个8位并行I/O端口P0、P1、P2、P3;

7、一个全双工串行口;

8、5个中断源,两个外部中断源、两个定时器/计数器、中断源、一个串行中断源。

2.2 时钟电路

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。stc89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是放大器的输入端和输出端。放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C3和C4构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30μF。

2.3 复位电路

复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式。

2.4 电源电路

STC89c51的工作电压为5v,本任务中采用USB转串口供电,方便。其中有两个引脚是数据通信的。

2.5 呼吸灯

采用普通蓝色雾状LED小灯泡,电压范围2.7V—4V之间。电流约为20mA。为保护LED灯,每个LED灯均串联了一个10K 的电阻。

2.6 程序下载电路

用USB转串口线把电脑的USB口和单片机的串口连接;USB 的rxd接单片机的txd,USB的txd接单片机的rxd。

3 软件基础与设计

3.1 Keil uVision4集成开发环境的认识

2009年2月发布Keil uVision4,Keil uVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。

2011年3月ARM公司发布最新集成开发环境RealView MDK 开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。

Keil uVision4 的主要特点如下:

最新的Keil uVision4 IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。

uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。

uVision4在μVision3 IDE的基础上,增加了更多大众化的功能。

·多显示器和灵活的窗口管理系统

·系统浏览器窗口的显示设备外设寄存器信息

·调试还原视图创建并保存多个调试窗口布局

·多项目工作区简化与众多的项

3.2 Keil uVision4项目的创建

与其他软件开发类似,在呼吸灯项目开发中,首先在Keil uVision4集成开发环境中创建一个项目。

新建一个项目,选择对应的cup型号,本例程中选择AT89C51。然后在新建一个文件,保存格式为.c格式。如图所示:

项目新建好以后可以编写相应的代码程序。

3.3 程序的编写

3.3.1 延时函数

呼吸灯的形成原理是呼吸灯开的时候,以非常快的速度开-关-开-关,并逐渐加大开的时间比率,减小关的时间比率。呼吸灯关的时候,以非常快的速度开-关-开-关,并逐渐加大关的时间比率,减小开的时间比率。涉及到开关的时间,就需要一个延时函数。

void Delay(unsigned int t)

{

while(--t);

}

主函数中传递一个值给延时函数,然后通过while循环,参数一直自减。cup 一直在处理这个参数的值,从而形成一段延时。延时的长短取决于参数值的大小。每执行一次9us。

3.3.2 逐渐变暗

通过for循环控制LOW和CYCLE的值,逐渐增大低电平的延时时长,直到500,总耗时4.5*10^3us。

for(PWM_LOW=1;PWM_LOW

{

P0=0x00;

P1=0X00;

P2=0X00;

Delay(PWM_LOW);

P0=0XFF;

P1=0xff;

P2=0XFF;

Delay(CYCLE-PWM_LOW);

}

3.3.3 逐渐变亮

同逐渐变暗原理相同,逐渐减小变暗的时间即可实现。

for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)

{

P0=0x00;

P1=0x00;

P2=0x00; //点亮LED

Delay(PWM_LOW);

P0=0XFF;

P1=0xff;

P2=0XFF; //熄灭LED

Delay(CYCLE-PWM_LOW); //主循环中添加其他需要一直工作的程序,延时长度,600次循环中从599减至1

4 代码

#include

void Delay(unsigned int t); //函数声明

unsigned int z,y;

void main (void)//主函数

{

unsigned int CYCLE=500,PWM_LOW=0;//定义周期并赋值

while (1) //主循环

{

/*--------整排LED灯呼吸---------*/

P0=0x00;

P1=0x00;

P2=0x00;

Delay(200);//加延时,可以看到熄灭的过程(下面程序同理)

for(PWM_LOW=1;PWM_LOW

P0=0x00;

P1=0x00;

P2=0x00;

Delay(PWM_LOW);

P0=0xff;

P1=0xff;

P2=0xff;

Delay(CYCLE-PWM_LOW);

}

P0=0xff;

P1=0xff;

P2=0xff;

for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) //与逐渐变亮相反的过程

{

P0=0x00;

P1=0x00;

P2=0x00; //点亮LED

Delay(PWM_LOW);

P0=0xff;

P1=0xff;

P2=0 xff; //熄灭LED

Delay(CYCLE-PWM_LOW); //主循环中添加其他需要一直工作的程序,延时长度,600次循环中从599减至1

}

}

}

void Delay(unsigned int t) {

while(--t);

}

单片机课程设计51实验报告DOC

福建工程学院软件学院 题目:51开发洗衣机 班级:物联网工程1202 成员: 座号:04 28 指导老师: 日期:年月日课设报告

目录 1摘要 (1) 2.设计需求 (1) 2.1功能需求 (1) 2.1.1 基本功能 (1) 2.1.2扩展功能 (1) 2.2 设计要求 (2) 2.2.1 单片机芯片部件功能 (2) 2.2.2 LCD数码显示管部件功能 (2) 2.2.3 按键部件功能 (2) 2.2.4 蜂鸣器部件功能 (2) 3硬件设计及描述 (2) 3.1总体描述 (2) 3.2系统总体框图 (3) 3.3Proteus电路图 (3) 3.4各部分硬件介绍 (4) 3.4.1晶振Protues仿真 (4) 3.4.2LCDProtues仿真 (5) 3.4.3 按键Protues仿真 (5) 3.4.4上拉电阻Protues仿真 (6) 3.4.5C51芯片Protues仿真 (6) 3.4.6上电复位电路Protues仿真 (8) 3.4.7蜂鸣器Protues仿真 (9) 4 软件设计流程及描述 (10) 4.1程序流程图 (10) 4.2函数模块及功能 (10) 5功能实现 (11) 5.1程序烧入上电调试 (11) 5.2时间递增跳变 (12) 5.3比分更变 (13) 5.4比赛得分复位 (14) 5.5比赛时间复位 (14) 6 心得体会 (15) 7源程序代码: (16)

1摘要 是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。赛程计时用倒计时来计时。在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。 这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。 本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。 2.设计需求 2.1功能需求 2.1.1 基本功能 (1)屏上显示比赛已运行时间 (2)屏上显示A队和B队的得分 (3)屏上显示上下半场(H-L) (4)通过按键控制比分的增减 2.1.2扩展功能 (1)按键实现比赛场次的更换 (2)按键实现比赛计时的复位 (3)按键实现比赛比分的复位 (4)在比赛结束时,蜂鸣器在主裁判的控制下响起

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单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

论基于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 结的四层结构的大功率半导体器件。其具有体积小、结构相对简单、功能强等特点,是比较常用的半导体器件之一。 方案二、采用继电器控制。继电器是一种当输入电、磁、声、光、热等达到一定值时,输出量发生跳跃式变化的自动控制器件。其动作快、工作稳定、使用寿命长、体积小,所以广泛应用于运动、遥控、电力保护、自动化、测量和通信等装置中。根据不同的结构,可以将其分为电磁继电器、热敏干簧继电器、固态继电器、磁簧继电器、光

最新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

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.360docs.net/doc/b23224333.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.360docs.net/doc/b23224333.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

基于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

51单片机实验报告-上传

本科生实验报告 实验课程单片微机原理与应用 学院名称ZZZZZ学院 专业名称电气工程及其自动化 学生姓名ZZZZ 学生学号ZZZZZ 指导教师ZZZ 实验地点6c902 实验成绩 二〇一六年三月二〇一六年五月

实验一单片机集成开发环境应用一实验目的 熟悉单片机集成开发软件(Keil); 掌握单片机实验板的使用; 掌握单片机P1口使用; 二实验内容 1、集成开发环境Keil介绍及开发流程 KEIL uVISION4是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,是众多单片机开发软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM(产品全生命周期管理),汇编和C语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。 以上简单介绍了KEIL51软件,要使用KEIL51软件,必需先要安装它。KEIL51是一个商业的软件,对于我们这些普通爱好者可以到KEIL中国代理周立功公司的网站上下载一份能编译2K的DEMO版软件,基本可以满足一般的个人学习和小型应用的开发。 安装好后,让我们一起来建立一个小程序项目吧。即使你手中还没有一块实验板,甚至没有一块单片机,不过没有关系我们可以通过KEIL软件仿真看到程序运行的结果。 首先当然是运行KEIL51软件。运行几秒后,出现如图1-1的屏幕。

图1-1 2、建立第一个项目 点击工程菜单,选择弹出的下拉式菜单中的NewuVision Project,如图1-2。接着弹出一个标准Windows 文件对话窗口,如图1-3。在“文件名”中输入您的第一个C 程序项目名称,“保存”文件。这是KEIL uVision4项目文件,以后我们可以直接点击此文件以打开先前做的项目。 图1-2 New Project菜单

51单片机数字电压表实验报告

微控制器技术创新设计实验报告 姓名:学号:班级: 一、项目背景 使用单片机AT89C52和ADC0808设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示。在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;显示精度伏。 二、项目整体方案设计 ADC0808 是含8 位A/D 转换器、8 路多路开关,以及与微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。ADC0808的精度为 1/2LSB。在AD 转换器内部有一个高阻抗斩波稳定比较器,一个带模拟开关树组的256 电阻分压器,以及一个逐次通近型寄存器。8 路的模拟开关的通断由地址锁存器和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。

三、硬件设计 四、软件设计#include<> #include""

#define uchar unsigned char #define uint unsigned int sbit OE = P2^7; sbit EOC=P2^6; sbit START=P2^5; sbit CLK=P2^4; sbit CS0=P2^0; sbit CS1=P2^1; sbit CS2=P2^2; sbit CS3=P2^3; uint adval,volt; uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; void delayms(uint ms) {

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

目录 摘要 (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单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

基于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单片机流水灯实验报告

51单片机流水灯试验 一、实验目的 1.了解51单片机的引脚结构。 2.根据所学汇编语言编写代码实现LED灯的流水功能。 3.利用开发板下载hex文件后验证功能。 二、实验器材 个人电脑,80c51单片机,开发板 三、实验原理 单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A寄存器的位经过rr a之后转换如下所示: 然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。 四、实验电路图

五、通过仿真实验正确性 代码如下: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 实验结果:

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

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); /************************************************

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

基于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)

80C51单片机-实验报告

实验一 CPU片内(外)清零 1.CPU片内RAM清零 一、实验目的: 掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。二、实验内容: 把单片机片内的30H~7FH单元清零。 三、实验框图: 四、实验步骤: 用连续或者单步的方式运行程序,检查30H-7FH执行前后的内容变化。五、参考实验程序: 程序名称:PNQL.ASM ORG 0000H JMP MAIN ORG 0030H MAIN: MOV R0,#30H ;30H送R0寄存器 CLR1: MOV A,#00H ;00送累加器A MOV @R0,A ;00 送到30H-7FH单元 INC R0 ;R0加1 CJNE R0,#7FH,CLR1 ;不到7F字节再清 WAIT: LJMP WAIT END 六、实验思考: 如果把30H-7FH的内容改为99H,如何修改程序。

2.CPU 片外RAM清零 一、实验目的: 掌握MCS-51汇编语言的设计,了解单片机的寻址方式以及调试方法。 二、实验内容: 把外部扩展的RAM的0000H-00FFH单元内容清零。 三、实验框图: 四、实验步骤: 用连续或者单步的方式运行程序,检查0000H-00FFH执行前后的内容变化。 五、参考实验程序: 程序名称:PWQL.ASM ORG 0000H MAIN: MOV SP,#60H MOV DPTR,#0000H ;0000H送DPTR寄存器 MOV R6,#0FFH ;FFH送R6寄存器(计数) CLR1: MOV A,#00H ;00送累加器A MOVX @DPTR,A ;00 送到0000H-00FFH单元 INC DPTR ;DPTR+1 DJNZ R6,CLR1 ;不到FF个字节再清 WAIT: SJMP WAIT END 六、实验思考: 把1-10先对应存入片内0030H起始的单元内,然后再从片内取出,对应存入片外7FFFH起始的单元中去。

相关文档
最新文档