用AT89C2051单片机制作水族箱加氧泵自控开关源程序

发布者:reaper2009最新更新时间:2018-01-25 来源: eefocus关键字:AT89C2051  单片机  自控开关 手机看文章 扫描二维码
随时随地手机看文章

以下程序已实际调试运行通过)  


; ---AT89C2051加氧泵控制器源程序-OK!

    org 0000h               

    ajmp main               

    nop                     

    org 01bh                    

    clr tr1                 

    ajmp timon              

    org 30h                 

main:mov 40h,#00h           

    mov 41h,#00h                

    mov 42h,#00h               

    mov 43h,#02h                

    mov 44h,#00h            

    mov 45h,#00h                

    mov 46h,#00h               

    mov 4ah,#02h               

    mov 4bh,#00h               

    mov 4ch,#01h               

    mov 4dh,#05h               

    nca equ 48h             

    ncb equ 49h             

   mov p3,#0ffh               

    mov sp,#50h                 

    mov tmod,#10h          

    mov ie,#88h            

    mov tl1,#46h               

    mov th1,#76h               

    clr nca                 

    clr ncb                 

    setb tr1                    

    clr p3.7                    

disp:;------显示-------     

    mov r3,46h                   

    cjne r3,#1,ct           

    mov dptr,#tab          

    clr p3.2                     

    mov a,42h                

    movc a,@a+dptr          

    anl p1,#01h             

    orl p1,a                     

    jb ncb,xsb              

    setb p3.3               

    lcall ms10               

xsb:     acall key               

    clr p3.3                    

    jb nca,ys1              

    mov a,43h               

    movc a,@a+dptr          

    anl p1,#01h             

    orl p1,a                    

    setb p3.2               

ys1:     lcall ms10              

    ajmp disp               

ct: mov dptr,#tab           

    clr p3.2                    

    mov a,42h               

    movc a,@a+dptr          

    anl p1,#01h            

    orl p1,a                    

    jb ncb,xsd              

    setb p3.3               

    lcall ms10              

xsd:     acall key               

    clr p3.3                    

    jb nca,ys2              

    mov a,43h               

    movc a,@a+dptr          

    anl p1,#01h             

    orl p1,a                    

    setb p3.2               

ys2:     lcall ms10              

    ajmp disp               

timon:;定时计数中断子程序--

    setb rs0                

    push psw                    

    push aCC                    

    mov tl1,#46h                

    mov th1,#76h                

    setb tr1                    

    inc 40h                 

    mov r0,40h              

    cjne r0,#8,tim          

    mov 40h,#00h                

    cpl p1.0                

t11:     inc 41h                 

    mov r0,41h              

    cjne r0,#60,tim         

    mov 41h,#00h                

    mov r0,42h              

    cjne r0,#00,tia         

    ajmp tib                    

tia:     dec 42h                

    ajmp tim                    

tib:     mov r1,43h              

    cjne r1,#00,tIC         

    cpl p3.7                    

    mov r6,46h              

    inc 46h                 

    cjne r6,#01h,zd         

    mov 46h,#00h                

    mov 42h,4bh             

    mov 43h,4ah             

    ajmp tim                    

zd: mov 42h,4dh             

    mov 43h,4ch             

    ajmp tim                    

tic:     dec 43h                

    mov 42h,#09h                

tim:     pop acc                

    pop psw                

    reti                        

key:;-----按键处理-------   

    nop                     

k0:    jb p3.1,k1                

    acall ms10              

    acall ms10              

    jnb p3.1,sz                 

    ljmp k1                

sz: jnb p3.1,$              

    setb p3.7               

    inc 44h                 

    mov r5,44h              

k1: cjne r5,#01h,k2             

    setb nca                    

    clr ncb                 

    setb p3.5               

    clr p3.4                

    mov 46h,#00h                

    mov ie,#00h             

    jb p3.0,fh              

    acall ms10              

    acall ms10              

    jnb p3.0,ct1            

k2: cjne r5,#02h,k3        

    setb ncb                    

    clr nca                 

    mov 46h,#00h                

    mov ie,#00h             

    jb p3.0,fh              

    acall ms10              

    acall ms10              

    jnb p3.0,ct2                

k3: cjne r5,#03h,k4         

    setb nca                    

    clr ncb                 

    setb p3.4               

    clr p3.5                 

    mov 46h,#01h                

    mov 42h,4dh             

    mov 43h,4ch             

    mov ie,#00h             

    jb   p3.0,fh             

    acall ms10              

    acall ms10              

    jnb p3.0,cd1            

k4: cjne r5,#4h,k5              

    setb ncb                    

    clr nca                 

    mov 46h,#01h                

    mov ie,#00h             

    jb   p3.0,fh             

    acall ms10              

    acall ms10              

    jnb p3.0,cd2                

k5: cjne r5,#05h,fh         

    mov r5,#00h             

    setb p3.4                   

    setb p3.5                   

    ljmp qd                 

fh: ret                         

ct1:;-----常通个位定时减----    

    jnb p3.0,$              

    mov r4,4bh              

    dec 4bh                 

    cjne r4,#00h,ct1a       

    mov 4bh,#09h                

ct1a:mov 42h,4bh                

    ret;                        

ct2:;-----常通十位定时减----    

    jnb p3.0,$              

    mov r4,4ah              

    dec 4ah                 

    cjne r4,#00h,ct2a       

    mov 4ah,#09h                

ct2a:mov 43h,4ah                

    ret                     

cd1:;-----常断个位定时减----    

    jnb p3.0,$              

    mov r4,4dh              

    dec 4dh                 

    cjne r4,#00h,cd1a       

    mov 4dh,#09h                

cd1a:mov 42h,4dh                

      ret;                  

cd2:;-----常断十位定时减----    

    jnb p3.0,$              

    mov r4,4ch              

    dec 4ch                 

    cjne r4,#00h,cd2a       

    mov 4ch,#09h                

cd2a:mov 43h,4ch                

    ret                     

qd: mov 46h,#00h                

    mov 44h,#00h            

    mov 42h,4bh             

    mov 43h,4ah             

    mov ie,#88h            

    clr nca                 

    clr ncb                 

    setb tr1                    

    clr p3.7                    

    ret                     

ms10:;----- 延时毫秒-------

     mov r0,#100             

ms: nop                     

    djnz r0,ms              

    ret                     

;---------------------------

tab:     db 80h,0f2h,48h,60h,32h,24h

    db 04h,0f0h,00h,20h

    end

 


关键字:AT89C2051  单片机  自控开关 引用地址:用AT89C2051单片机制作水族箱加氧泵自控开关源程序

上一篇:4×4矩阵键盘C语言程序参考
下一篇:单片机模拟遥控器

推荐阅读最新更新时间:2024-03-16 15:53

单片机在汽车电控空气悬架系统中的应用
  1 ECAS的组成及原理    电控空气悬架 系统由电子控制单元(ECU),高度传感器、空气弹簧、速度传感器、减震器,车高升降控制键盘等组成 。ECU通过高度传感器实时检测车身高度,间接获得车身垂直加速度,同时通过速度传感器检测车辆行驶速度。ECU内保存若干指标高度和三级可调阻尼值,指标高度与弹簧的舒适性、驾驶安全性和与应用规范保持一致。车速在不同的行驶条件下由ECU自动执行相应的指标高度,也可由驾驶员手动控制高度和阻尼值。通过比较高度传感器检测结果和指标高度,若高度差超过了一定的公差范围,电磁阀就会被激发,通过充放气将实际高度调整到指标高度。减震器阻尼力共三档,根据车身上升速度、加速度控制减震器,执行相应的阻尼力,从而满足
[单片机]
<font color='red'>单片机</font>在汽车电控空气悬架系统中的应用
飞思卡尔16位单片机(三)——GPIO输出功能测试
一、GPIO介绍 GPIO是单片机最常用的功能,XEP100单片机的并行I/O的资源很丰富,XEP100的IO有PORTA、PORTB、PORTH、PORTJ、PORTM、PORTP、PORTS、PORTT、PORTK和PORTE共10组IO。这些I/O口除了具有通用I/O功能外,还分别具有专用I/O的功能。可以根据需要进行设置,专用I/O功能启用后,通用I/O功能自动关闭。 在使用单片机的并行I/O时要进行一些设置,主要的设置如下所示: 1功能设置 每个I/O子系统都有一个功能设置寄存器,其中的几个位用于部分或者全部引脚的功能设定,设定为专用功能后,方向设置功能可能自然禁止,但上拉、下拉及降功率驱动功能一般仍然有效,具体
[单片机]
飞思卡尔16位<font color='red'>单片机</font>(三)——GPIO输出功能测试
ARM7单片机(学习ing)—(四)、定时器—01
大晚上的~~ 直接把文件给整理一下~~ 然后剩下的历程明天再说吧~~ 四、定时器 四—(01)、定时器相关应用和寄存器的介绍~~ 定时器0和定时器1出了外设基地址以外,其它都相同~~ 2、应用以及相关的描述: 3、管脚描述 4、寄存器描述: a、中断寄存器 b、定时器控制寄存器 c、定时器计数器 d、预分频寄存器 e、预分频计数器寄存器 f、匹配寄存器 g、匹配控制寄存器 h、捕获寄存器 i、捕获控制寄存器 j、外部匹配寄存器
[单片机]
ARM7<font color='red'>单片机</font>(学习ing)—(四)、定时器—01
单片机pwm频率和周期可调
//------------------------------------------------------------------------------------ //程序功能简介:本程序产生15HZ~~~50KHZ的方波,并且实现频率和脉宽的独立调制,即可 //在改变频率的同时不改变脉宽,再改变脉宽的同时不改变频率;同时设置 //两个调节步长------在KEY键按下时,粗调,没有按下时,细调; //程序思路: 本程序用到两个定时器------定时器0和定时器1,其中定时器0工作在定时方式下, //决定方波的频率;定时器1,同样工作在定时方式下,用于设定脉宽; //---------------------------
[单片机]
AVR单片机中RC电容触摸的感应原理解析
RC电容触摸感应按键 1:RC感应原理 RC采样原理就是通过测量感应极电容的微小变化,来感知人体对电容式感应器(按键、轮键或者滑条)的感应。电极电容(C)通过一个固定的电阻(R)周期性地充放电。 固定电压施加在VIN,VOUT的电压随着电容值的变化而相应增加或者降低。 通过计算VOUT的电压达到阀值VTH所需要的充电时间(tC),来得到电容值(C)。 在触摸感应应用中,电容值(C)由两部分组成:固定电容(电极电容,CX)和当人手接触或者靠近电极时,由人手带来的电容(感应电容,CT)。电极电容应该尽可能的小,以保证检测到人手触摸。因为通常人手触摸与否,带来的电容变化一般就是几个pF(通常5pF)。 利用该原理,就可以
[单片机]
AVR<font color='red'>单片机</font>中RC电容触摸的感应原理解析
单片机控制板设计需要注意的原则和一些细节问题
  设计电路板最基本的过程可以分为三大步骤:电路原理图的设计,产生网络表,印制电路板的设计。不管是板上的器件布局还是走线等等都有着具体的要求。   例如,输入输出走线应尽量避免平行,以免产生干扰。两信号线平行走线必要是应加地线隔离,两相邻层布线要尽量互相垂直,平行容易产生寄生耦合。电源与地线应尽量分在两层互相垂直。线宽方面,对数字电路PCB可用宽的地线做一回路,即构成一地网(模拟电路不能这样使用),用大面积铺铜。   下面这篇文章就单片机控制板设计需要注意的原则和一些细节问题进行了说明。   1.元器件布局   在元器件的布局方面,应该把相互有关的元件尽量放得靠近一些,例如,时钟发生器、晶振、CPU的时钟输入端都易产生噪声,在
[单片机]
MotorolaMC68HC908SR12单片机
Motorola 的M68HC08是一种高性能的8位单片机系列,具有速度快、功能强和价格低等特点。它的CPU与M68HC05单片机向上兼容,具有16位变址寄存器和堆栈指针,有200余条指令和10余种寻址方式,最快指令周期仅为0.125μS,而乘法指令也仅需0.625μS。大多数M68HC08具有FLASH(快闪)型号,大大方便应用系统的开发。 M68HC08有许多种型号,MC68HC908SR12(简称SR12)是它的一种新的产品,其主要性能有: ·12K FLASH存储器,具有在线编程和保密功能。 ·512字节片内RAM。 ·8MHz内部总线频率。 ·3~5.5V工作电压。 ·增强型串行通讯口(SCI)。
[应用]
avr单片机电源管理及其睡眠模式配置说明
睡眠模式可以使应用程序关闭 MCU 中没有使用的模块,从而降低功耗。AVR 具有不同 的睡眠模式,允许用户根据自己的应用要求实施剪裁。 /* 状态寄存器SREG bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 I T H S V N Z C I:全局中断使能位。 在I置位后,单独的中断使能由不同的中断寄存器控制。若I为0,则禁止中断。 MCU控制寄存器MCUCR bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SM2 SE S
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved