利用电位器改变流水灯速度控制程序

合集下载

电位器控制小型直流电机的pwm调速

电位器控制小型直流电机的pwm调速

随着时代的发展,数字电子技术已经普及到我们生活、工作、科研各个领域。

并且在各类机电系统中,由于直流电机具有良好的启动、制动和调速性能,直流电机调速系统已广泛应用于工业、航天领域的各个方面,最常用的直流技术是脉宽调制(PWM)直流调速技术,具有调速精度高,响应速度快,调速范围宽和损耗低的特点。

本设计主要介绍了使用微控制器AT89S51的直流电机调速系统。

论文主要介绍了直流电机调速系统的意义、基于单片机控制的PWM直流电机调速方法和PWM基本工作原理以及实现方法,通过对占空比的计算达到精确调速的目的。

主电路主要采用电位器的调节,经过ADC0809转换成数字信号进而控制AT89S51单片机,将数据传输给单片机并产生脉宽调制信号,然后通过电机驱动芯片L298对小型直流电机进行控制。

本设计还附加了由霍尔开关CS3020、AT89S51单片机、74LS47七段数码管译码芯片和四位LED构成转速检测显示电路。

关键词:单片机AT89S51;直流电机;脉宽调制;转速检测第一章绪论 (1)1.1 课题研究的背景 (1)1.2 课题研究的目的与意义 (1)1.3 PWM变频调速发展前景与简介 (2)1.4 课题研究内容及目标 (2)第二章直流电机调速系统设计 (4)2.1 系统总体方案设计 (4)2.1.1 设计思路 (4)2.1.2总体方案比较与选择 (4)2.1.3 电机调速控制模块方案比较与选择 (5)2.2 基本原理分析 (5)2.2.1 直流电机的调速原理 (5)2.2.2 直流电机PWM调速原理 (6)2.2.3 霍尔效应和原理简介 (7)2.3 系统各模块方案的比较与选择 (7)2.3.1 电机驱动芯片的选择 (7)2.3.2 测速传感器的选择 (8)2.4 系统硬件组成 (9)第三章硬件系统设计 (10)3.1 AT89S51单片机特性及管脚说明 (10)3.2 ADC0809特性及管脚说明 (11)3.3 PWM波形发生原理 (12)3.4 电机驱动电路 (13)3.5 测速部分 (15)3.6 复位电路和时钟电路 (16)总结 (19)参考文献 (20)第一章绪论1.1 课题研究的背景直流电机是最常见的一种电机,它已经广泛应用于交通、机械、化工、航空等领域中。

按键控制单片机改变流水灯速度

按键控制单片机改变流水灯速度

按键控制单片机改变流水灯速度/*程序效果:有三个按键,按下其中任意一个流水灯的速度改变*/#includereg52.h //52 系列单片机的头文件#define uchar unsigned char//宏定义#define uint unsigned intuchar count=40,flag=0; //定义刚开始的流水灯的速度,后一个为标志变量void main(){uchar i=0;//定义局部变量EA=1; //打开总中断ET0=1; //打开定时器TR0=1; //启动定时器TH0=(65536-50000)/256; //装初值TL0=(65536-50000)%256; P2=0xfe; //点亮第一个数码管,为下次循环做准备while(1){ if(flag) //flag 被置位{flag=0;//清零,为下次做准备P2=~P2; //取反P2=1;//左移一位P2=~P2; //取反i++;if(i==8) //移到第八个数码管,则从新装初值{i=0; P2=0xfe; } }P0=0xf0; //赋初值if((P00xf0)!=0xf0) //判断是否有按键按下{if(P0==0x70) //按下第一个按键count=60; //给count 从新赋值if(P0==0xb0) count=20; if(P0==0xd0) count=10;} }}void time0() interrupt 1 //定时器0{static uchar cnt; //定义静态变量TH0=(65536-50000)/256;TL0=(65536-50000)%256; cnt++; //计数if(cnt==count){ cnt=0; //清零flag=1; //置标志位}} tips:感谢大家的阅读,本文由我司收集整编。

仅供参阅!。

NE555流水灯设计报告

NE555流水灯设计报告

目录摘要 (1)Abstract (1)第一章绪论 (2)1.1 流水灯背景 (2)1.2 流水灯的目的及意义 (2)第二章基础芯片介绍 (2)2.1 555振荡电路原理 (2)2.2 CD4017译码电路原理 (3)2.3章节小结 (4)第三章设计方案 (5)3.1 总体设计方案 (5)3.2 章节小结 (6)第四章系统软件设计 (6)4.1 用proteus绘制仿真图 (6)4.2 用DXP画原理和PCB图 (6)4.3 实物PCB电路板制作 (7)4.4 整理制作过程视频 (8)4.5 章节小结 (8)第五章系统调试与测试 (9)5.1 系统调试 (9)5.2注意事项 (9)5.3测试结果 (9)5.4章节小结 (10)第六章总结与展望 (11)第七章辞........................................... 错误!未定义书签。

附件. (12)1.NE555流水灯原理图 (12)2.NE555流水灯PCB图 (12)摘要该创新实验是完成流水灯的制作,通过结合NE555芯片以及CD4017芯片,制作出简易流水灯的过程,并将整个制作流程录制下来。

利用会声会影软件完成制作录像的剪辑,形成视频讲解整个制作流程,本次制作使的是覆铜板,即设计好原理图后用DXP画图软件绘制好电路图。

结合CD4017芯片的功能,将其与555芯片联合使用,从而实现流水灯的效果。

利用dxp软件,进行pcb画图,经过一系列操作完成作品。

本次设计,我充分了解了CD4017和NE555芯片的使用,对于如何实际、制作电路也有了理性上的认识,对于今后的对于新知识的学习以及各种芯片的运用有了提高。

关键字:555芯片 CD4017芯片 DXP画图软件会声会影X5AbstractThe innovative experiment is finished running lights, through a combination of NE555 chip and CD4017 chip, made simple water lights and the process recorded video clips, completed by Ulead Video Studio software, forming a video to explain the production process, the production that is the CCL, namelygood design principle diagram after using DXP drawing the circuit diagram drawing software. Combined with the CD4017 chip's function, the combined with 555 chips, so as to achieve water lamp effect. Using DXP software, PCB drawing, after a series of operations to complete works.This design, I fully understand the use of CD4017 and NE555 chips, to actually,making circuit also have a rational understanding, for the future to learn new knowledge and various chips use has increased.Keywords: 555 chip CD4017 DXP drawing software, video studio X5 .第一章绪论1.1 流水灯背景当今的社会是一个新技术层出不穷的时代,科技迅速发展,在电子领域的发展更是迅速,同时也在影响着我们的生活。

米思齐开源项目设计3:玩转流水灯

米思齐开源项目设计3:玩转流水灯

米思齐开源项目设计3:玩转流水灯Mixly是北京师范大学创客教育实验室傅骞教授团队研发的一款基于arduino的图形化编程工具,具有容易掌握,易于分享和适合编写大型程序等特点,中文名字为“米思齐”。

本期我们的开源项目的主题是常见的编程项目:流水灯。

如果有两个led,每个led都可以独立控制,那么它们闪亮的形式可以分为1.一起亮:他们同步亮同步灭,2.带动亮:一个led亮之后带动后面的一个led亮,此前的led并不熄灭,3.接力亮:一个led亮之后过一段时间熄灭,接下来下一个led开始亮,就像接力比赛一样,如果led比较多,看上去像是一个led在移动一样,因此成为流水灯。

4.二选一亮:两个灯每次随机选择任意一个led亮,5.随机亮:每个led都是随机闪亮,两个led之间没有排他关系。

本次选择的流水灯,项目涉及到更多数目的led,但是原理上是相同的。

1.制作:led排排站,开始点名了将数字引脚的号口和3号口插一个led灯,其中2号接负极,3号接正极。

接下来,依次类推,4,6,8,10,12接led的负极,4,7,9,11,13接led的正极如图所示led像是一排站好队列的士兵,通电以后,发现他们会像士兵报数一样依次亮起来,产生流水灯的效果。

但是实验的过程发现每个学生的led闪烁的速度都不一样,有的很快有的很慢,这个时候鼓励大家大胆的去“触摸”电路板,发现手指摸这个区域的时候,有的时候灯闪的很快几乎看不到闪烁,有的时候又闪的很慢,这就说明有一个输入的信息在控制led的闪烁速度。

这个信息就是端口A0的输入电压转换成了模拟输入A0的数值,在连接上,可以使用一个10千欧电位器,将其两端接power区的5V和GND(不分左右),中间接A0端口,此时旋转电位器,我们就能够看到通过电位器旋钮可以很好的控制led的闪烁速度,旋到一端时,不闪烁,所有led一直亮,另一端时闪烁时间比较慢,间隔大概两秒的样子。

2.改装:认识电位器通过观察我们可以判断每一个led持续亮的时间是相同的,这需要使用米思齐当中的“延时……毫秒”来完成,而这个命令当中一定包含一个与A0输入相关的参数,我们可以使用一个秒表来研究这一问题,将电位器旋转到闪烁最慢的位置,测量整组灯,流水十次所需要的时间。

NE555流水灯设计报告

NE555流水灯设计报告

目录摘要 (1)Abstract (1)第一章绪论 (2)1.1 流水灯背景 (2)1.2 流水灯的目的及意义 (2)第二章基础芯片介绍 (2)2.1 555振荡电路原理 (2)2.2 CD4017译码电路原理 (3)2.3章节小结 (4)第三章设计方案 (5)3.1 总体设计方案 (5)3.2 章节小结 (6)第四章系统软件设计 (6)4.1 用proteus绘制仿真图 (6)4.2 用DXP画原理和PCB图 (6)4.3 实物PCB电路板制作 (7)4.4 整理制作过程视频 (8)4.5 章节小结 (8)第五章系统调试与测试 (9)5.1 系统调试 (9)5.2注意事项 (9)5.3测试结果 (9)5.4章节小结 (10)第六章总结与展望 (11)第七章谢辞......................................... 错误!未定义书签。

附件. (12)1.NE555流水灯原理图 (12)2.NE555流水灯PCB图 (12)摘要该创新实验是完成流水灯的制作,通过结合NE555芯片以及CD4017芯片,制作出简易流水灯的过程,并将整个制作流程录制下来。

利用会声会影软件完成制作录像的剪辑,形成视频讲解整个制作流程,本次制作使的是覆铜板,即设计好原理图后用DXP画图软件绘制好电路图。

结合CD4017芯片的功能,将其与555芯片联合使用,从而实现流水灯的效果。

利用dxp软件,进行pcb画图,经过一系列操作完成作品。

本次设计,我充分了解了CD4017和NE555芯片的使用,对于如何实际、制作电路也有了理性上的认识,对于今后的对于新知识的学习以及各种芯片的运用有了提高。

关键字:555芯片 CD4017芯片 DXP画图软件会声会影X5AbstractThe innovative experiment is finished running lights, through a combination of NE555 chip and CD4017 chip, made simple water lights and the process recorded video clips, completed by Ulead Video Studio software, forming a video to explain the production process, the production that is the CCL, namelygood design principle diagram after using DXP drawing the circuit diagram drawing software. Combined with the CD4017 chip's function, the combined with 555 chips, so as to achieve water lamp effect. Using DXP software, PCB drawing, after a series of operations to complete works.This design, I fully understand the use of CD4017 and NE555 chips, to actually,making circuit also have a rational understanding, for the future to learn new knowledge and various chips use has increased.Keywords: 555 chip CD4017 DXP drawing software, video studio X5 .第一章绪论1.1 流水灯背景当今的社会是一个新技术层出不穷的时代,科技迅速发展,在电子领域的发展更是迅速,同时也在影响着我们的生活。

双向可调流水灯功能

双向可调流水灯功能

双向可调流水灯1、 功能(1) 双向彩灯控制电路,能使彩灯的流向可以变化。

可以正向流水,也可以逆向流水。

K1打在高电平时,按住S1不放,LED 灯从LED1至LED8依次熄灭,形成从上到下的流水效果。

K1打在高电平时,按住S2不放,LED 灯从LED8至LED1依次熄灭,形成从下到上的流水效果。

(2) 流水速度可调,调节RP 时,改变555输出频率,则流水灯的的亮灭速度加快或减慢。

(3) 初始灯灭的位置可预置。

当K1拨到低电平时,4位拨码开关S3的1、2、3位对应二进制的低三位,对应十进制的0-7,代表8个LED 灯,例如S3的第三位都拨到0,则对应000,即最后一个灯亮。

若111,则对应LED1亮,即第一个灯亮。

二、原理框图基本原理设计框图如下图(1)所示:图(1)设计框图电路工作原理电路图如图所示,由脉冲信号发生器(555)、四位二进制可加减计数器(74LS193)、3~8线的计数译码器(74LS138)等器件组成。

脉冲信号发生器输出的脉冲信号,输入到加减计数器的输入端上;计数结果输出给计数译码器74LS138。

在74LS138的8路输出端上接有8只发光二极管,用来显示输出结果。

计数译码器可以按照不同的输入值,把8路输出端之中对应的一个输出端变成高电平,推动8只发光二极管轮流点亮。

(一)电路检修(本项分2小项,每小项7分,共14分)要求:在已经给出的《双向可调流水灯电路板》上,已经设置了两个故障。

请您根据提供的相关原理图(附图)加以排除,故障排除后电路才能正常工作(可参看本项目的(一)电路功能)。

并请完成以下的电路检修报告。

1.故障一电路检修报告2.故障二电路检修报告(二)电路功能(本项4分)在您已经维修好的线路板,能实现如下功能:在线路板P1端口接上5V电源,双向彩灯控制电路工作正常1.能使彩灯的流向可以变化,可以控制正向流水,也可以逆向流水2.还能够控制灯流动的速度。

(三)电路调整与测量(共10分)1.调试RP,使流水灯的流动速度可变。

流水灯开关的调节原理

流水灯开关的调节原理

流水灯开关的调节原理
流水灯开关的调节原理是根据特定的电路设计,通过改变电流的通断来控制流水灯的亮灭状态。

流水灯一般由多个LED灯组成,LED灯的亮灭受到电流的控制。

开关可以通过改变电流的通断状态,从而控制流水灯的亮灭状态。

当开关打开时,电流通过流水灯电路,LED灯会有电流通过导致发光,流水灯亮起。

当开关关闭时,电流断开,LED灯没有电流通过,流水灯熄灭。

流水灯的调节原理是通过改变开关的开关状态来改变流水灯的亮灭状态。

例如,可以设计一个定时开关,按照一定的时间间隔来控制开关的开关状态。

当开关打开时,流水灯亮起;当开关关闭时,流水灯熄灭。

然后根据设定的时间间隔,控制开关的开关状态的切换,从而造成流水灯灯光移动的效果。

另外,还可以通过改变电流的大小来控制流水灯的亮度。

通过调节电流的大小,可以改变LED灯发光的强度,从而实现流水灯亮度的调节。

综上所述,流水灯开关的调节原理是通过改变开关的开关状态和电流的大小来控制流水灯的亮灭和亮度。

利用电位器改变流水灯速度控制程序

利用电位器改变流水灯速度控制程序

利用电位器改变流水灯速度控制程序#include#include#include#includeunsigned int x;unsigned int y;unsigned int mode = 1;unsigned int AD_value;main(){bit key_mode1 = 1;bit key_mode2 = 1;PORT_INI();CLK_ICKR|=0x01; //开启内部HSIwhile(!(CLK_ICKR&0x02));//HSI准备就绪CLK_SWR=0xe1; //HSI为主时钟源CLK_CKDIVR=0x00;_asm("rim");//开总中断TIM1_CR1 = 0b10000100;TIM1_PSCRH = 0x00; //定时时间0.6STIM1_PSCRL = 1; //20分频TIM1_ARRH = 0xEA;TIM1_ARRL = 0x60;//自动重装载寄存器TIM1_IER|=0X01; //中断使能寄存器TIM1_CNTRH = 0X00;TIM1_CNTRL = 0X00;TIM1_EGR |=0X01; //软件产生更新事件,让预分频立即有效。

TIM1_SR1 = 0; //状态寄存器TIM1_CR1 |=0X01;//TIM1_RCR=0;ADC_CR1 = 0x00; //分频系数为4 单次转换模式ADC_CR2 = 0x00; //非外部触发数据右对齐ADC_CSR = 0x05; //禁止转换结束中断设置转换通道ADC_CR1 |= 0x01; //第一次写1是从低功耗模式唤醒while (1){key_mode1 = key_mode2;key_mode2= keymode;ADC_CR1 |= 0x01; //启动AD转换while(!(ADC_CSR&0x80)); //等待转换结束ADC_CSR &= ~0x80; //清除转换结束标志AD_value=((((unsigned int)ADC_DRH)<<2)+ADC_DRL);TIM1_RCR=AD_value;if(key_mode1&!key_mode2){Delay(1000);mode++;}}}@far @interrupt void TIM1_UPD_IRQ (void){TIM1_SR1&=0xFE;//更新事件清零if (mode == 1){if (x==0){PC_ODR=0x08;}else if(x==1){PC_ODR=0x10;}else if(x==2){PC_ODR=0x20;}else if(x==3){PC_ODR=0x40;}else if(x==4){PC_ODR=0x80;}else{x=0;PC_ODR=0x08; }x++;}else{if (y==0){PC_ODR=0x80;}else if(y==1){PC_ODR=0x40;}else if(y==2){PC_ODR=0x20;}else if(y==3){PC_ODR=0x10;}else if(y==4){PC_ODR=0x08;}else{y=0;PC_ODR=0x80; } y++;mode=0;}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stm8s103f3p.h>
#include<config.h>
#include<function.c>
#include<init.c>
unsigned int x;
unsigned int y;
unsigned int mode = 1;
unsigned int AD_value;
TIM1_CNTRH = 0X00;
TIM1_CNTRL = 0X00;
TIM1_EGR |=0X01; //软件产生更新事件,让预分频立即有效。
TIM1_SR1 = 0;//状态寄存器
TIM1_CR1 |=0X01;
//TIM1_RCR=0;
ADC_CR1 = 0x00; //分频系数为4单次转换模式
}else if(x==2){
PC_ODR=0x20;
}else if(x==3){
PC_ODR=0x40;
}else if(x==4){
PC_ODR=0x80;
}else{
x=0;PC_ODR=0x08;
}
x++;
}
else{
if (y==0){
PC_ODR=0x80;
}else if(y==1){
while(!(AC_CSR &= ~0x80; //清除转换结束标志
AD_value=((((unsigned int)ADC_DRH)<<2)+ADC_DRL);
TIM1_RCR=AD_value;
if(key_mode1&!key_mode2)
ADC_CR2 = 0x00; //非外部触发数据右对齐
ADC_CSR = 0x05; //禁止转换结束中断设置转换通道
ADC_CR1 |= 0x01; //第一次写1是从低功耗模式唤醒
while (1)
{
key_mode1 = key_mode2;
key_mode2= keymode;
ADC_CR1 |= 0x01; //启动AD转换
{
Delay(1000);
mode++;
}
}
}
@far @interrupt void TIM1_UPD_IRQ (void)
{
TIM1_SR1&=0xFE;//更新事件清零
if (mode == 1)
{
if (x==0){
PC_ODR=0x08;
}else if(x==1){
PC_ODR=0x10;
_asm("rim");//开总中断
TIM1_CR1 = 0b10000100;
TIM1_PSCRH = 0x00; //定时时间0.6S
TIM1_PSCRL = 1; //20分频
TIM1_ARRH = 0xEA;
TIM1_ARRL = 0x60;//自动重装载寄存器
TIM1_IER|=0X01; //中断使能寄存器
main()
{
bit key_mode1 = 1;
bit key_mode2 = 1;
PORT_INI();
CLK_ICKR|=0x01; //开启内部HSI
while(!(CLK_ICKR&0x02));//HSI准备就绪
CLK_SWR=0xe1; //HSI为主时钟源
CLK_CKDIVR=0x00;
PC_ODR=0x40;
}else if(y==2){
PC_ODR=0x20;
}else if(y==3){
PC_ODR=0x10;
}else if(y==4){
PC_ODR=0x08;
}else{
y=0;PC_ODR=0x80;
}
y++;
mode=0;
}
}
相关文档
最新文档