长汀无线电厂交流论坛

 找回密码
 注册
查看: 5213|回复: 14
打印 上一主题 下一主题

发个刚帮别人做的《排风扇自动控制器》原理图+程序

  [复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2011-3-17 21:39:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发个刚帮别人做的《排风扇自动控制器》原理图+程序。

回复

使用道具 举报

沙发
 楼主| 发表于 2011-3-17 21:44:42 | 只看该作者
NND,怎么发不了图片啊?

先上程序吧:
;*******************************************************
;          排气扇自动控制器程序
;--------------------------------------------------------
;           快活丞  2011.03.16
;------------------------------------------------------
;        排风扇每隔10,20,30分钟开启一次,每次工作时间15分钟;
;    Led1,Led2,Led3分别指示工作间隔时间10,20,30;开机默认是
;    20分钟间隔,按按键K1、K2、K3可以进行设定.
;----------------------------------------------------------
;  端口分配:          P3.5--秒闪烁,表示正常工作;
;                     P3.3--控制输出口,同时与LED连接,作为接通指示
;                      P1.5--LED1,表示工作在模式1:停止10分钟
;                P1.6--LED2,表示工作在模式2:停止15分钟
;                P1.7--LED3,表示工作在模式3:停止20分钟
;                P3.7--S1按键,按下时工作在模式1,LED1亮
;                P1.1--S2按键,按下时工作在模式2,LED2亮
;                P1.3--S3按键,按下时工作在模式3,LED3亮
;------------------------------------------------------------
;     使用内部晶振(5.8M左右),定时器初值TH=EDH,TL=2FH       
;*******************************************************
;
        TSBIN EQU 21H        ;秒计数器
        TMBIN EQU 22H        ;分计数器
        TT0 EQU 25H
        KEY EQU 24H        ;按键值
        MD  EQU 27H        ;模式值
        KK  BIT  00H        ;排风扇开关标志,主程序根据该标志对排风扇进行控制
                        ;KK=1表示排风扇处于开启状态
        LED1         BIT P1.5
        LED2         BIT P1.6
        LED3         BIT P1.7
        S1        BIT P3.7
        S2        BIT P1.1
        S3        BIT P1.3
        DD1        EQU 0AH        ;模式1总时间
        DD2        EQU 14H        ;模式2总时间
        DD3        EQU 1EH        ;模式3总时间
        MMD        EQU 14H        ;排风扇运行时间,这里设为20分钟




        ORG 0000H
        AJMP MAIN

        ORG 000BH
        SJMP I_T0

        ORG 001BH
I_T1:        AJMP MAIN1
             RETI

;***********   T0中断服务    ***********
        ORG 0030H
I_T0:        PUSH ACC
        PUSH PSW
        MOV TH0,#0EDH                ;0.01s时间,常数因子为0ED2FH
        MOV TL0,#2FH

;        AJMP MM4

MM:        MOV A,TT0
        CJNE A,#50,MM1
        CPL P3.5                ;秒闪输出
MM1:        MOV R3,TT0                ;计数100次,每次为10mS,总共为1S
        DJNZ R3,I_T01                ;中断次数<100(每次中断0.01S),转出
        MOV R3,#100                ;中断次数=100次,重新下一个计数
        CPL P3.5                ;秒闪输出
        INC TSBIN                ;秒计数器加1
        MOV A,TSBIN
        CJNE A,#60,I_T01        ;秒计数器=60?  Y,秒计数器清零
        MOV TSBIN,#00H                ;秒计数器清零
        INC TMBIN                ;分计数器加1

MM4:        MOV A,R2                ;将排风扇运行剩余时间给累加器
        JZ MM3
        DJNZ R2,MM3
        CLR KK
MM3:
        MOV A,TMBIN
MM2:        CJNE A,MD,I_T01                ;分计数器等于设定值,清零
        MOV TMBIN,#0
        SETB KK                        ;一个计时循环结束,再次置位开关标志
        MOV R2,#MMD                ;重置排风扇运行时间
I_T01:        MOV TT0,R3
             POP PSW
             POP ACC
             RETI

        ORG 00F0H
MAIN:
             MOV SP,#50H                ;初始化堆栈指针               
             MOV TMOD,#01H                ;T0工作于16位定时器
             MOV TT0,#100
        MOV TH0,#0EDH                ;0.01s时间,常数因子为0ED2FH
        MOV TL0,#2FH
        MOV TSBIN,#0
             MOV TMBIN,#0
        SETB P3.5                ;设置秒闪输出(可不要)
             CLR EX0
             CLR ES
             SETB ET0                ;开T0中断
             SETB TR0                ;激活T0中断
             SETB EA                        ;开总中断
        CLR P3.3        ;打开排风扇
        SETB KK                ;开标志置位KK=1
        MOV MD,#DD2+MMD        ;设置默认模式为2.(这里MD=20+20=28H)
        CLR LED2        ;开模式2标志灯LED2
        MOV R2,#MMD        ;R2存放排风扇打开的时间

MAIN1:                ;主处理过程
                ;判断和设置排风扇状态,
        JNB KK,YY1        ;标志为1
        CLR P3.3        ;打开排风扇
        SJMP YY2
YY1:        JB KK,YY2        ;标志为0
        SETB P3.3        ;关闭排风扇
YY2:
        ACALL AnJian        ;按键扫描与设置
       
SSS:           SJMP MAIN1

;-----------  按键扫描与设置  ------------------
AnJian:        SETB S1                ;按键S1检测
        JB S1,VV1
        ACALL DSPDEL
;        ACALL DSPDEL
        SETB S1                ;检测两次,防干扰
        JB S1,VV1
        SETB LED2        ;关闭模式2和3指示
        SETB LED3        ;
        CLR LED1        ;打开模式1指示
        MOV MD,#DD1+MMD        ;设定模式1计数值
        AJMP VV3
VV1:       
        SETB S2                ;按键S2检测
        JB S2,VV2
        ACALL DSPDEL
;        ACALL DSPDEL
        SETB S2                ;检测两次,防干扰
        JB S2,VV2
        SETB LED1        ;关闭模式1和3指示
        SETB LED3        ;
        CLR LED2        ;打开模式2指示
        MOV MD,#DD2+MMD        ;设定模式2计数值
        AJMP VV3
VV2:
        SETB S3                ;按键S3检测
        JB S3,OUT
        ACALL DSPDEL
;        ACALL DSPDEL
        SETB S3                ;检测两次,防干扰
        JB S3,OUT
        SETB LED1        ;关闭模式1和2指示
        SETB LED2        ;
        CLR LED3        ;打开模式3指示
        MOV MD,#DD3+MMD        ;设定模式3计数值
;        AJMP OUT
VV3:
        MOV TSBIN,#0        ;计时器全部清零,重新计时
             MOV TMBIN,#0
        MOV R2,#MMD                ;重置排风扇运行时间
        SETB KK
OUT:        RET


;**********    延时子程序    **************
DSPDEL:        MOV R5,#0FFH
DDS:        MOV R7,#0FFH                ;延时程序
        DJNZ R7,$
        DJNZ R5,DDS
        RET



        END
       
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2011-3-17 21:45:36 | 只看该作者
注解比较详细,有助于初学汇编程序的朋友参考!
回复 支持 反对

使用道具 举报

地板
发表于 2011-3-18 11:42:48 | 只看该作者
买个冰箱知音就是,别这么累
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2011-3-18 14:34:14 | 只看该作者
199003326 发表于 2011-3-18 14:20
什么排风扇需要这样控制呢?

朋友要的,具体控制什么排风扇,我也不知道,只知道是什么机房用的,体育局的。他有好多个排风扇,常开没必要,就像搞个间歇式的工作控制。
回复 支持 反对

使用道具 举报

6#
发表于 2011-3-18 20:47:53 | 只看该作者
搞个雷达控制器也行,人到就动,没人不会动
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2011-3-18 22:07:21 | 只看该作者
1038538643 发表于 2011-3-18 20:47
搞个雷达控制器也行,人到就动,没人不会动

他的意思不是这个哦,是要与人没关系的
回复 支持 反对

使用道具 举报

8#
发表于 2011-3-24 13:19:40 | 只看该作者
好的学习资料!
回复 支持 反对

使用道具 举报

9#
发表于 2011-3-26 09:12:22 | 只看该作者
很详细的学习资料,感谢分享。
回复 支持 反对

使用道具 举报

10#
发表于 2011-4-13 13:11:33 | 只看该作者
控制什么不重要,重要的是注解很详细,是很好的学习资料,感谢分享。
期待楼主把电路也传上来
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2011-4-13 20:34:47 | 只看该作者
dmciwei 发表于 2011-4-13 13:11
控制什么不重要,重要的是注解很详细,是很好的学习资料,感谢分享。
期待楼主把电路也传上来

唉,图片发不了啊,不知道怎么发。
回复 支持 反对

使用道具 举报

12#
发表于 2012-10-5 22:39:33 | 只看该作者
好有才了,程序我可是外行啊!
回复 支持 反对

使用道具 举报

13#
发表于 2012-11-22 13:42:46 | 只看该作者
先跟帖,再编辑帖子,就可发图片,
等看图
回复 支持 反对

使用道具 举报

14#
发表于 2012-11-23 05:06:56 | 只看该作者
你们都不错都是高手
回复 支持 反对

使用道具 举报

15#
发表于 2012-11-24 00:14:59 | 只看该作者
汇编的看不懂,c的还可以
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|长汀无线电厂交流论坛  

GMT+8, 2024-4-20 10:00 , Processed in 0.551351 second(s), 18 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表