用PIC单片机制作电扇自然风发生器

2019-10-22来源: eefocus关键字:PIC单片机  电扇  自然风发生器

一 PIC单片机简介 
PIC16C5X是低价商用单片机,内部有程序存储器(0.5~~2K),工作寄存器(32~~80个),33条精简指令,具有内部看门狗 (WDT),时钟/脉冲计数器 RTCC,双向可编程 I/O口(12~~20个),PIC单片机的OTP(一次性可编程)型芯片特别适合商品化的开发生产。 

二 自然风发生器的硬件结构及原理 

 

要让电风扇产生自然风,即改变电风扇送风的强弱,只有改变电机端的电压和电流。如图1所示,改变晶闸管控制角α,即控制晶闸管开始导通的时间,就能使电机负载上的电压和电流发生变化。图2展示了α角和电机负载电压的关系。 

 

α角的变化又可通过电容C1的放电时间的改变来实现。PIC16C54单片机有规律地选择电阻Rx,即可改变电容C1的充放电时间,从而达到改变电风扇送风的强弱的目的。控制角α和强弱风的关系如下所示。 

 

 

一般取η=0.63,三极管特性最好。电容C1取值0.047μF。根据(3)式,对应不同α的设定值,求得Rx值表: 

R0=1K, R1=33K, R2=62K, R3=89K, R4=120K, R5=150K, R6=180K, R7=220K 

Rx接于PIC16C54单片机的RB0~~RB7口。 

RA0口为启动信号输入口,当A键按下时,则自然风发生器开始工作。 

RA1口为停止信号输入口,当B键按下时,则自然风发生器停止工作。 

RA2口为定时信号输入口,当C键按下时,则自然风发生器以定时方式工作。 

RA3口为交流电相位检测口,用于确定交流电的起始相位。 

读者可再加上显示,定时值输入等电路,构成更完整的装置。 

三 软件框图及程序清单 

 

程序框图如图3所示。 

程序清单如下: 


;Routine for nature wind fan 

RTCC EQU 1 

RA EQU 5 

RB EQU 6 

F8 EQU 8 

F9 EQU 9 

ORG 1FFH ;复位地址 

GOTO MAIN 

ORG 0 


MAIN: 
CLRW 

TRIS RB 

MOVWF RB ;置RB口为输出口,且初值为0 

MOVLW 0FH 

TRIS RA ;置RA口为输入口 

KEY-A: 
BTFSC RA, 0 

GOTO KEY-A ;A键是否按下 

START: 
MOVLW 80H 

MOVWF F8 ;80H->F8 

BTFSS RA, 1 

GOTO MAIN ;B键按下 

PHASE 
BTFSC RA, 3 

GOTO PHASE ;等待交流电0相位 

MOVWF F8, W 

MOVWF RB ;F8->RB口 

CALL DELAY ;延时10秒 

CLRC ;清C 

RRF F8 ;F8左移 

SKPC 

GOTO PHASE 

GOTO START 

;Subroutine 
DELAY: 
MOVLW 150 

MOVWF F9 

MOVLW 7 ;给RTCC 预设倍数1:256 

OPTION 

LOOP: 
MOVLW 255 

SUBWF RTCC 

DECFSZ F9 

SKPZ 

GOTO LOOP 

RETLW 0 

END;结束 


四 小结 

上面是一个用PIC16C54单片机控制家用电器的例子。现在微电脑(单片机)控制的智能家电日益受到欢迎,是家电的必然发展趋势。PIC系列是一种面向商用的机种,特别适合于商品开发,其低价,小巧,具备保密位等特点正是开发厂家所需要的。读者潜心思考,必能用PIC自己开发出一系列精巧的产品。 

关键字:PIC单片机  电扇  自然风发生器 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic477941.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:采用PIC16C54单片机的计数器
下一篇:用PIC16C54制作简易AM频率计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

PIC单片机入门指南
;    把最下面的框钩上后点保存这时看到文本框内的字变成了蓝色了。开始编写程序最后点上面中间的那个红色的图标编译,在项目目录里面就会有个hex的文件,最后下载到单片机PIC10F200里面就可以用了!
发表于 2019-11-14
PIC单片机入门指南
喜欢单片机的同学快来看啊,过来人的经验告白
今天星期六,由于现在处于淡季,星期日不加班,一大早起来就拿着自己新买的移动硬盘把办公室的PIC资料考了回来,在自己寝室的电脑上学开了,既然要努力学就不能一天口号,两天行动。我做好了充分的准备,要把握分分秒秒。单片机的学习开始是个枯燥的过程,慢慢的熔入起中就会发现其中的乐趣。举个很贴进的例子,当你家的电器全是自己搞的可以遥控的,比如一进门,灯全亮了,在按下遥控,电视,空调全开了,晚上睡觉都不用当心忘记灯没关,只要遥控一按,就OK了,这不是很好吗?这只是一个小小的例子,其实学会单片机还有好多有意思的地方。在学习单片机时,首先要做的不是去买书,去看书,先要搭建一个学习平台,好比要上网就好有IP一样,所以一个平台的搭建是很有必要
发表于 2019-11-14
超声波PIC单片机C程序
单片机源程序如下:////////////////////////////////////////////////////////////////////////////////////     PIC16F877 + HC-SR04 + LCD03 example//     Written October 2008 , using HITECH PIC16 compiler// //                 Note - assumes a 20MHz crystal, which is
发表于 2019-11-13
pic单片机控制电机启动、转动、停止C语言程序
#include <pic.h>#define MOTOR   RB2void DELAY(unsigned int);    main(void){char   A;    MOTOR=0;    OPTION=0b00000000;      //设定RB0为下降沿中断    TRISB=0b00000001;           //设定RB0为输入,RB2为输出 
发表于 2019-11-13
PIC单片机开发板之矩阵键盘扫描(if()else嵌套方式)
 /*为自已写的矩阵键盘检测+数码管显示+蜂鸣器响采用if().....else嵌套方式;编译通过,却后二列显示不出来(你找出来了吗?一个不算问题的问题)*///----------------------------------------------------------------#include <pic.h>#define uint unsigned int#define uchar unsigned char__CONFIG(0x3B31);const unsigned char table[] = {0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x07
发表于 2019-11-13
PIC单片机开发板之矩阵键盘扫描(if()else嵌套方式)
PIC单片机的常见问题
    1、PIC单片机振荡电路中如何选择晶体?   对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中,晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体的选择至少必须考虑:谐振频点,负载电容,激励功率,温度特性,长期稳定性。    2、如何判断电路中晶振是否被过分驱动? 
发表于 2019-11-12
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved