基于DS1302+AT89C2051制作的红外遥控LED电子钟

发布者:Lihua1314520最新更新时间:2011-10-09 关键字:DS1302  AT89C2051  红外遥控  LED电子 手机看文章 扫描二维码
随时随地手机看文章

自制LED电子钟在很多电子报刊杂志上都可以见到,但大多数在断电后都要重新设置时间等
参数,给使用带来很多不便。也有用后备电池作为备用电源的,但往往体积较大。本文介绍
的LED电子钟克服了以往的弊端,而且采用了家电通用的红外遥控器进行控制,方便使用。
有一路闹铃输出,可以通过遥控器设置闹铃时间及允许与否。

电子钟的正面

电子钟的背面

一.工作原理

DS1302为达拉斯公司的一种实时时钟芯片,主要特点是采用串行数据传输,可为掉电保护电
源提供可编程的充电功能,并且可以关闭充电功能。采用普通32768Hz晶振。

AT89C2051作为主控芯片,一是对接收到的红外遥控编码进行判断识别,并执行相应的处
理;第二就是定期的读取时钟芯片DS1302中的时间并把小时和肥以示在4位LED中;第三就是
对设置的闹铃时间与实时时间进行比较,如果时间相同且闹铃允许,那么蜂鸣器就会以1秒
的周期鸣响一分钟,提醒使用者。如果要停止鸣闹,只要按遥控器相应键就可以关闭闹铃。
闹铃时间保存在DS1302自带的RAM中,不需要单独的EEPROM。

二.硬件电路

图一为电子钟的原理图,IC2为DS1302,电子爱好者可以向MAXIM公司索取免费样品。Y2为
32768 Hz石英晶振,可以用普通电子表里的。IC3为三脚的塑封一体化红外接收头。LED1-4
为高亮度共阳数码管。89C2051所用的晶振Y1如果没有10MHz也可以用其他12M以内的代替,
只要修改程序中YS1和YS2的延时参数,让其保持延时长度不变就行。调整R2可以改变数码管
亮度。P1口接数码管的八字段。数码管左两位显示小时,右两位显示分,当显示的是闹铃时
间时闪动。第二位和第三位的小数点作为秒闪动,注意第三位数码管按图一布好印制版后安
装时要旋转180°,以便让时和分之间出现“:”,最后一位小数点作为闹铃开关标志,亮表
示闹铃开启。蜂鸣器B2采用小型自带音源的。

要特别说明的是备用电源B1,可以用电池或者超级电容(10万uF以上)。虽然DS1302在主电
源掉电后,耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式
电脑主板上的那种3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较
小的普通电解电容代替。100uF就可以保证1小时的正常走时。DS1302在第一次加电后,须进
行初始化操作。初始化后就可以按正常方法调整时间及闹铃。

三.软件


软件部分的重点是对DS1302的操作以及红外遥控的解码。单片机解码可参看其他文章,这里
主要对设置部分作一些说明:

遥控器采用长虹彩电K11F型遥控器,遥控器按照16位地址码,8位数据码以及8位数据码的反
码发送。表一列出了各按键的编码及本电子钟对应的动作。如果采用其他遥控器,需对程序
相应部分的编码作修改。

操作方法中,任意是指该键第一次按后,进入该状态,再次按后退出该状态。

时间设置:按“菜单”键进入设置状态,LED只显示正常时间的小时,按“↑↓”键调整数
值,按“←“、”→”键可在闹铃与正常时间之间移动。任意时刻再次按“菜单”键就退出
设置。

闹铃设置:闹铃时间在时间设置中进行。闹铃允许和取消可在任意时刻按“静音”键。

显示开关:可在任意时刻按“显示”键开启和关闭显示器。

初始化:在按“菜单”键进入设置状态后任意时刻按“日历”键,初始化后的时间为
2002/12/1/12:00:00

点击文件名下载 代码.rar

;DS1302+AT89C2051的LED钟

;遥控器各按键数据码,可根据不同的遥控器修改对应的键码
muteM   EQU 10h                 ;静音键            闹铃开/关
timerT  EQU 0Ch                 ;菜单键            进入/退出设置状态
leftL   EQU 46h                 ;左移键     
rightR  EQU 47h                 ;右移键
upU     EQU 19h                 ;增加键
downD   EQU 1dh                 ;减少键
d_off   EQU 16H                 ;显示键            LED数码管显示/关闭
recall  EQU 44H                 ;日历键            DS1302初始化操作

 K_on     BIT P3.0               ;闹铃输出
 LED1     BIT P3.3
 LED2     BIT P3.4
 LED3CLK  BIT P3.5               ;DS1302
 LED4IO   BIT P3.7
 RST      BIT P3.1

SECOND  EQU 60H
;60H  秒
;61h  分
;62h  时
;63h  日
;64h  月
;65h  DAY
;66h  年
;6Ah  闹分    from 00(1302)
;6BH  闹时    from 01(1302)
;***************************
        ORG   0000H
        AJMP  START
        ORG   0003H
        LJMP  S_INT            ;IRF
        ORG   000BH            ;200Us
        LJMP  P_INT            ;
        ORG   001BH            ;display LED
        LJMP  DISPLAY
;****************************  ;main program
       ORG    0030H
START: CLR     RST
       MOV SP,#2AH
       SETB    05H
       CLR     06H
       SETB 07H;CLR     07H
       CLR     08H
       CLR     09H
       CLR     0AH
       CLR     0BH
       CLR     0CH
       SETB    0DH
       CLR     0EH
       CLR     0FH
       CLR     10H
       CLR     11H

       MOV R2,#00H             ;
       MOV R3,#00H             ;

       MOV TMOD,#12H
       MOV TL1,#0e5H           ;wait
       MOV TH1,#0BeH
       MOV TH0,#3FH            ;200uS  3f
       MOV TL0,#3FH
       SETB  ET0
       SETB  ET1
       setb  pt0
       SETB  TR0
       SETB  TR1
       SETB  IT0               ;
       SETB  EX0               ;
       CLR   PX0
       ;LCALL SET1302          ;初始化
       MOV   R1,#0C1H          ;取定时参数从1302中
       acall T_6061
       MOV   6AH,A             ;M
       MOV   R1,#0C3H
       ACALL T_6061
       MOV   6BH,A             ;H

MOV  61H,#0
MOV  62H,#0
       SETB  EA
       sjmp  $
;********************************
DISPLAY: PUSH  ACC
         PUSH  PSW
         MOV   TL1,#0e0H          ;wait how long to display (20ms)
         MOV   TH1,#0b0H
         mov  dptr,#tab1
         JB    0EH,DIS2
         JB    0FH,DIS3
         JB    10H,DIS4
         JB    11H,DIS5
         JNB    0DH,D_OUT

         JNB   08H,D_GO          ;定时到时,显示闪烁
         JNB   07H,D_OUT
D_G    MOV   DPTR,#TAB1
         MOV   A,62H
         ANL   A,#0FH
         MOV   B,A
         MOV   A,62H
         SWAP  A
         ANL   A,#07H
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED1
         LCALL DL2M
         SETB  LED1
         MOV   A,B
         MOVC  A,@A+DPTR
                     MOV   C,07H
                     MOV   acc.7,C   ;秒灯闪烁
         MOV   P1,A
         CLR   LED2
         LCALL DL2M
         SETB  LED2

         mov  dptr,#tab2             ;倒装LED字段表
         MOV   A,61H
         ANL   A,#0FH
         MOV   B,A
         MOV   A,61H
         SWAP  A
         ANL   A,#0FH

         MOVC  A,@A+DPTR

                     MOV   C,07H
                     MOV   acc.6,C   ;秒灯闪烁
         MOV   P1,A
         CLR   LED3CLK
         LCALL DL2M
         SETB  LED3CLK

         mov  dptr,#tab1
         MOV   A,B
         MOVC  A,@A+DPTR
                    MOV   C,06H
                    cpl   c
                    MOV   acc.7,C    ;闹铃指示灯
         MOV   P1,A
         CLR   LED4IO
         LCALL DL2M
         SETB  LED4IO
D_OUT:   SETB  TR1
         POP   PSW
         POP   ACC
         RETI
;*********************
DIS2:    AJMP DIS_2
DIS3:    AJMP DIS_3
DIS4:    AJMP DIS_4
DIS5:    AJMP DIS_5
;********************
DIS_2:   mov   dptr,#tab1             ;显示设置小时
         MOV   6FH,62H
         ACALL BCD_HEX
         MOV   B,#10
         DIV   AB
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED1
         LCALL DL2M
         SETB  LED1
         MOV   A,B
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED2
         LCALL DL2M
         SETB  LED2

         SETB  TR1
         POP   PSW
         POP   ACC
         RETI
;*****************
DIS_3:   MOV   DPTR,#TAB2              ;显示设置分
         MOV   6FH,61H
         ACALL BCD_HEX
         MOV   B,#10
         DIV   AB
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED3CLK
         LCALL DL2M
         SETB  LED3CLK
         MOV   A,B
         MOV   DPTR,#TAB1
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED4IO
         LCALL DL2M
         SETB  LED4IO

         SETB  TR1
         POP   PSW
         POP   ACC
         RETI
;*****************
DIS_4:   mov    dptr,#tab1           ;显示设置闹时
         JNB   07H,D4_OUT            ;显示时闪烁
         MOV   A,6BH
         MOV   B,#0AH
         DIV   AB
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED1
         LCALL DL2M
         SETB  LED1
         MOV   A,B
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED2
         LCALL DL2M
         SETB  LED2
D4_OUT:  SETB  TR1
         POP   PSW
         POP   ACC
         RETI
;***********************
DIS_5:   MOV   DPTR,#TAB2
         JNB   07H,D5_OUT              ;显示时闪烁
         MOV   A,6AH                   ;显示设置闹分
         MOV   B,#0AH
         DIV   AB
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED3CLK
         LCALL DL2M
         SETB  LED3CLK
         MOV   DPTR,#TAB1
         MOV   A,B
         MOVC  A,@A+DPTR
         MOV   P1,A
         CLR   LED4IO
         LCALL DL2M
         SETB  LED4IO
D5_OUT:  SETB  TR1
         POP   PSW
         POP   ACC
         RETI
;*****************************
DL2M:    MOV 43H,#14H           ; every LED(2ms)
DL2:     MOV 44H,#14H
DL1:     NOP
         NOP
         DJNZ 44H,DL1
         DJNZ 43H,DL2
         RET
;************************定时读取1302时间及判断闹铃时间是否到*******
P_INT:   PUSH  ACC
         PUSH  PSW
         INC   R2
         CJNE  R2,#250D,P_OUT
         MOV   R2,#00H
         INC   R3
         CJNE  R3,#10D,P_OUT
         MOV   R3,#00H
         CPL   07H
         MOV   P1,#0FFH
         ACALL R_1302
OUT:     JNB   06H,P_OUT
         MOV   A,6BH

         MOV   B,#10
         DIV   AB
         SWAP  A
         ADD   A,B

         CJNE  A,62H,PP_OUT
         MOV   A,6AH

         MOV   B,#10
         DIV   AB
         SWAP  A
         ADD   A,B

         CJNE  A,61H,PP_OUT
         SETB  08H               ;定时到标志
         MOV   C,07H
         cpl   c
         MOV   K_ON,C

P_OUT:   POP   PSW
         POP   ACC
         RETI
PP_OUT:  SETB  K_ON
         CLR   08H
         POP   PSW
         POP   ACC
         RETI
;************************有接收到遥控器信号*******
S_INT:CLR EA
      PUSH   ACC
      PUSH   PSW
      PUSH   DPH
      PUSH   DPL
      PUSH   02H
      PUSH   03H
      MOV    R6,#10D   ;
SB:   ACALL  YS1
      JB     P3.2,EXIT
      DJNZ   R6, SB
      JNB    P3.2, $   ;
      ACALL  YS2       ;
      JB     P3.2,EXIT
      MOV    R1,#1AH   ;
      MOV    R2,#4D
PP:   MOV    R3,#8D
JJJJ: JNB    P3.2,$
      ACALL  YS1
      MOV    C,P3.2
      JNC    UUU
      JB     P3.2,$
UUU:  MOV    A,@R1
      RRC    A
      MOV    @R1,A
      DJNZ   R3,JJJJ
      INC    R1
      DJNZ   R2,PP
;-------------------------------------
      MOV  A,1AH      ;
      XRL  A,#40h     ;判断1AH的值是否等于遥控器低8位地址(40h)
      JNZ  EXIT       ;
      MOV  A,1bH
      XRL  A,#0bfh    ;再判断高8位地址是否正确(0bfh)
      JNZ  EXIT
      MOV  A,1CH
      CPL  A
      XRL  A,1DH      ;将1CH的值取反后和1DH比较 不同则无效丢弃(核对数据是否准确)
      JNZ  EXIT
      ACALL DO        ;相应按键的处理
EXIT: SETB EA
      POP  03H
      POP  02H
      POP  DPL
      POP  DPH
      POP  PSW
      POP  ACC
      RETI
;--------------------delay-----------------------
YS1:  MOV    70H,#16D   ;延时1
D1:   MOV    71H,#21D
      DJNZ   71H,$
      DJNZ   70H,D1
      RET
YS2:  MOV    70H,#09D   ;延时2
D2:   MOV    71H,#220D
      DJNZ   71H,$
      DJNZ   70H,D2
      RET
;---------------------------------------------------------
TAB:   DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H      ;TAB1  LED数码管显示表 TAB遥控器键值表(未用)
;TAB1:  DB 3FH,11H,5EH,5BH,71H,6BH,6FH,19H,7FH,7bH,77H,7CH,39H,5EH,79H,71H
tab1:  DB  0C0H,0F9H,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0a7h,0a1h,86h,8EH
TAB2:  DB  0c0H,0f9H,64H,70H,59H,52H,42H  ;倒装LED段码表
;0CH 为设置标志,0DH为全显示标志,0EH为显示设置小时标志,0FH为显示设置分标志
;10H 为显示设置闹时标志,11H为显示设置闹分标志
;增加闹时静音功能
;mute-10h,timer-0eh,left-46h,right-47h,up-19h,down-1dh

D     MOV     A,1CH
        CJNE    A,#TIMERT,REDO  ;代码不是设置/退出键
        JNB     0CH,SET1        ;是,则进入
        CLR     0CH             ;是,已经进入,则退出
        SETB    0DH             ;恢复正常显示
        CLR     0EH
        CLR     0FH
        CLR     10H
        CLR     11H
        RET

SET1:   SETB    0CH
        SETB    0EH
        CLR     0DH
        CLR     0FH
        CLR     10H
        CLR     11H
        RET

RED   CJNE    A,#MUTEM,REDO1  ;不是设置键的处理REDO1,2,3,4...
        LJMP    MUTE            ;MUTE?
REDO1:  CJNE    A,#D_OFF,DO_SET2
        LJMP    DIS_OFF         ;关闭显示
DO_SET2:JB      0CH,SET2        ;时间设置的处理
        RET

SET2:   CJNE    A,#UPU,SET2A
        LJMP    INC1            ;+加(^)
SET2A:  CJNE    A,#DOWND,SET2B
        LJMP    DEC2            ;- 减
SET2B:  CJNE    A,#RIGHTR,SET2C
        LJMP    RIGHT           ;RIGHT右移(>)
SET2C:  CJNE    A,#LEFTL,SET2D
        LJMP    LEFT            ;LEFT左移(<)
SET2D:  CJNE    A,#RECALL,SET2EXT ;DS1302初始化
        LJMP    SET1302
SET2EXT:RET
;--------------------------------INC------------------------
INC1:   JB      0EH,INCH
        JB      0FH,INCM
        JB      10H,INC_H
        JB      11H,INC_M
        RET

INC_H:  INC     6BH               ;闹钟小时增加
        MOV     A,6BH
        CJNE    A,#24D,INCH3
        MOV     6BH,#0
INCH3:  MOV     R1,#0C2H
        MOV     R0,6BH
        ACALL   SETONE            ;写入DS1302
        RET

INC_M:  INC     6AH               ;闹钟分增加
        MOV     A,6AH
        CJNE    A,#60D,INCH4
        MOV     6AH,#0
INCH4:  MOV     R1,#0C0H
        MOV     R0,6AH
        ACALL   SETONE             ;
        RET

INCH:   ;INC     62H               ;
        MOV     6FH,62H
        ACALL   BCD_HEX
        INC     A
        CJNE    A,#24D,INCH1
        MOV     A,#0
INCH1:  MOV     6FH,A
        ACALL   HEX_BCD
        MOV     62H,A
        MOV     R1,#84H
        MOV     R0,62H
        ACALL   SETONE             ;
        RET

INCM:   ;INC     61H               ;
        MOV     6FH,61H
        ACALL   BCD_HEX
        INC     A
        CJNE    A,#60D,INCH2
        MOV     A,#0
INCH2:  MOV     6FH,A
        ACALL   HEX_BCD
        MOV     61H,A
        MOV     R1,#82H
        MOV     R0,61H
        ACALL    SETONE             ;
        RET

;----------------------------------DEC----------------------
DEC2:   JB      0EH,DECH
        JB      0FH,DECM
        JB      10H,DEC_H
        JB      11H,DEC_M
        RET
DECH:   MOV     6FH,62H
        ACALL   BCD_HEX
        DEC     A
        CJNE    A,#0FFH,DECH1
        MOV     A,#23
DECH1:  MOV     6FH,A
        ACALL   HEX_BCD
        MOV     62H,A
        MOV     R1,#84H
        MOV     R0,62H
        ACALL   SETONE
        RET


DECM:   MOV     6FH,61H
        ACALL   BCD_HEX
        DEC     A
        CJNE    A,#0FFH,DECM1
        MOV     A,#59
DECM1:  MOV     6FH,A
        ACALL   HEX_BCD
        MOV     61H,A
        MOV     R1,#82H
        MOV     R0,61H
        ACALL   SETONE
        RET

DEC_H:  DEC     6BH
        MOV     A,6BH
        CJNE    A,#0FFH,DECH3
        MOV     6BH,#23D
DECH3:  MOV     R1,#0C2H
        MOV     R0,6BH
        ACALL   SETONE
        RET

DEC_M:  DEC     6AH
        MOV     A,6AH
        CJNE    A,#0FFH,DECH4
        MOV     6AH,#59D
DECH4:  MOV     R1,#0C0H
        MOV     R0,6AH
        ACALL   SETONE
        RET
;--------------------------------RIGHT----------------------
RIGHT:  JB      0EH,RIGHT1
        JB      0FH,RIGHT2
        JB      10H,RIGHT3
        JB      11H,RIGHT4
        RET                       ;右移
RIGHT1: CLR     0EH
        SETB    0FH
        RET
RIGHT2: CLR     0FH
        SETB    10H
        RET
RIGHT3: CLR     10H
        SETB    11H
        RET
RIGHT4: CLR     11H
        SETB    0EH
        RET
;--------------------------------LEFT-----------------------
LEFT:   JB      0EH,LEFT1
        JB      0FH,LEFT2
        JB      10H,LEFT3
        JB      11H,LEFT4
        RET                       ;左移
LEFT1:  SETB    11H
        CLR     0EH
        RET
LEFT2:  SETB    0EH
        CLR     0FH
        RET
LEFT3:  SETB    0FH
        CLR     10H
        RET
LEFT4:  SETB    10H
        CLR     11H
        RET
;------------------------------MUTE--------------
MUTE:   setb    k_ON
        CPL     06H              ;静音
        CLR     08H
        RET
;-----------------------------DISPLAY OFF--------
DIS_OFF:CLR     ET1
        CPL     05H
        JNB     05H,REDORE
        SETB    ET1
REDORE: RET
;------------------------------------初始化1302-------------------------
SET1302: CLR    RST           ;2002年1月1日12:00:00
         CLR    LED3CLK
        MOV     SECOND,#0
        MOV     61H,#0
        MOV     62H,#18       ;
        MOV     63H,#1
        MOV     64H,#1
        MOV     65H,#1
        MOV     66H,#2
         SETB   RST
         MOV    A,#8EH
         LCALL  R_BIT
         MOV    A,#00H
         LCALL  R_BIT
         SETB   LED3CLK
         CLR    RST

         MOV    R0,#SECOND
         MOV    R7,#7
         MOV    R1,#80H
SET1302A:CLR    RST
         CLR    LED3CLK
         SETB   RST
         MOV    A,R1
         LCALL  R_BIT
         MOV    A,@R0
         LCALL  R_BIT
         INC    R0
         INC    R1
         INC    R1
         SETB   LED3CLK
         CLR    RST
         DJNZ   R7,SET1302A
         CLR    RST
         CLR    LED3CLK

         sETB   LED3CLK
         nop
         CLR    RST
         nop
         clr    led3clk
         SETB   RST
         MOV    A,#90H
         LCALL  R_BIT
         MOV    A,#10100101B         ;充电器设置
         LCALL  R_BIT
         SETB   LED3CLK
         CLR    RST
         CLR    LED3CLK

         SETB   RST
         MOV    A,#8EH
         LCALL  R_BIT
         MOV    A,#80H
         LCALL  R_BIT
         SETB   LED3CLK
         CLR    RST
         RET
;----------------------读取一RAM ------
T_6061:  CLR    RST
         CLR    LED3CLK
         SETB   RST
         MOV    A,R1
         LCALL  R_BIT
         LCALL  W_BIT
         SETB   LED3CLK
         CLR    RST
         RET
;-----------------------------
R_1302:  MOV    R0,#SECOND
         MOV    R7,#7
         MOV    R1,#81H
R_1302A: CLR    RST
         CLR    LED3CLK
         SETB   RST
         MOV    A,R1
         LCALL  R_BIT
         LCALL  W_BIT
         MOV    @R0,A
         INC    R0
         INC    R1
         INC    R1
         SETB   LED3CLK
         CLR    RST
         DJNZ   R7,R_1302A
         RET
;------------------R_BIT------------------
R_BIT:   MOV    R4,#8
R_BIT1:  RRC    A
         MOV    LED4IO,C
         SETB   LED3CLK
         CLR    LED3CLK
         DJNZ   R4,R_BIT1
         RET
;-------------------W_BIT-----------------------
W_BIT:   MOV    R4,#8
W_BIT1:  MOV    C,LED4IO
         RRC    A
         SETB   LED3CLK
         CLR    LED3CLK
         DJNZ   R4,W_BIT1
         RET
;--------------------------------------------------
BCD_HEX:
         MOV    A,6FH
         ANL    A,#0FH
         MOV    B,A
         MOV    A,6FH
         MOV    6FH,B
         SWAP   A
         ANL    A,#0FH
         MOV    B,#0AH
         MUL    AB
         ADD    A,6FH
         ;MOV    6FH,A
         RET

HEX_BCD:
         MOV   A,6FH
         MOV   B,#10
         DIV   AB
         SWAP  A
         ADD   A,B
         ;MOV   6FH,A
         RET

;-----写一地址---R1 为地址,R0 为数据----------
SETONE:  CLR    LED3CLK
         CLR    RST
         CLR    LED3CLK
         NOP
         SETB   RST
         MOV    A,#8EH
         LCALL  R_BIT
         MOV    A,#00H
         LCALL  R_BIT
         SETB   LED3CLK
         CLR    RST
         CLR    LED3CLK
         NOP
         CLR    RST
         CLR    LED3CLK
         SETB   RST
         MOV    A,R1
         LCALL  R_BIT
         MOV    A,R0
         LCALL  R_BIT
         NOP
         SETB   LED3CLK
         CLR    RST
         NOP
         NOP
         CLR    RST
         CLR    LED3CLK

         SETB   RST
         MOV    A,#8EH
         LCALL  R_BIT
         MOV    A,#80H
         LCALL  R_BIT
         SETB   LED3CLK
         CLR    RST
         RET

关键字:DS1302  AT89C2051  红外遥控  LED电子 引用地址:基于DS1302+AT89C2051制作的红外遥控LED电子钟

上一篇:三种单片机模拟串口方法介绍
下一篇:1602液晶显示模块的应用

推荐阅读最新更新时间:2024-03-16 12:43

日本研究人员开发电子皮肤:可显示健康数据
北京时间2月19日上午消息,过去的几年出现了很多柔性电子皮肤贴片概念,可以管理药物或监测健康状况,但是东京大学的研究人员最新开发的版本增加了一个LED显示屏。   这种超薄贴片是由柔韧、透气的材料制成的,可以测量和显示佩戴者的心率数据。通过使用纳米电极和可伸缩布线,该贴片配备了一个微型LED阵列,可以适应皮肤的弧度并显示简单的心电图波形等动态图像。这个想法不仅是为了给穿戴者提供健康信息,还让其他人在紧急情况下了解使用者的状况。   此外,传感器可以与智能手机配对,用于存储生物特征数据,甚至将其传输到云端。研究人员认为,该贴片可以成为一种针对老年人或家庭的非侵入性健康监测系统,医护人员也可远程监控穿戴者的状况。   这个贴片可以
[医疗电子]
如何使用AT89C2051制作一个彩灯控制系统
此款电路非常适合各种彩灯、霓虹灯控制。电路见附图,其特点如下: 1.储存了40种精选的花样不重复运行达5分钟;15个I/O口,除P34、P35、P37为功能测试端外,其余均为输出口,比4路、8路彩灯控制器更具动态感。 2.过零触发彩灯控制器是频繁触发的,必须考虑干扰问题。电路中P37为过零检测端,通过Rl接AC220V,只有交流过零时,才触发可控硅。将P37端悬空则无过零触发功能。经多次实践对比证明,采用过零触发基本上无干扰。 3.高低电平输出方式选择P34端仅接R3时,输出低电平有效;P34端另加5.1kΩ电阻接地时,输出高电平有效,这使后级电路设计有很大的灵活性。 4.速度调节去掉跨接在P34、P35之间的R3时,速度降为原来
[单片机]
如何使用<font color='red'>AT89C2051</font>制作一个彩灯控制系统
士兰微电子推出6-60V输入1A大功率LED驱动芯片
日前,杭州士兰微电子公司推出了一款6~60V输入,1A大功率LED驱动芯片SD42528。该芯片是降压、恒流型LED驱动电路,采用了士兰微电子专为绿色节能产品所开发的高性能BCD工艺技术,单芯片集成LDMOS功率开关管,内置PWM调光模块和多重保护功能,具有很高的转换效率,适合于LED路灯,LED日光灯,LED景观照明等多种LED照明领域。 得益于先进的系统架构,SD42528的转换效率可高达96%以上。单芯片集成的LDMOS管具有低于0.6Ω的导通电阻,使得芯片在功率管的导通周期内的导通损耗减小。同时,该芯片拥有100mV采样电压,提高了电路的能量转换效率。由于芯片的高效率,加上采用了SOP-8的封装形式,管
[电源管理]
士兰微<font color='red'>电子</font>推出6-60V输入1A大功率<font color='red'>LED</font>驱动芯片
红外遥控通信原理
在实际的通信领域,发出来的信号一般有较宽的频谱,而且都是在比较低的频率段分布大量的能量,所以称之为基带信号,这种信号是不适合直接在信道中传输的。为便于传输、提高抗干扰能力和有效的利用带宽,通常需要将信号调制到适合信道和噪声特性的频率范围内进行传输,这就叫做信号调制。在通信系统的接收端要对接收到的信号进行解调,恢复出原来的基带信号。这部分通信原理的内容,大家了解一下即可。 我们平时用到的红外遥控器里的红外通信,通常是使用 38 K 左右的载波进行调制的,下面我把原理大概给大家介绍一下,先看发送部分原理。 调制:就是用待传送信号去控制某个高频信号的幅度、相位、频率等参量变化的过程,即用一个信号去装载另一个信号。比如我们的红外遥控信号要
[单片机]
<font color='red'>红外遥控</font>通信原理
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
[单片机]
学习型红外遥控器汇编语言程序
;************红外线接收程序****************** ;********************************************* ;器件地址 EEPROM EQU 0A0H ;MODE EQU 070H ;高四位0111,是红外线设备型号 ;低四位 ,是红外线设备的地址 ;R2,R3 是延时计数器 ;R4 :脉冲电平宽度计时器,算法,计数26次(也就是26US)R4加1 ;R5 :脉冲个数计数器 ;内存数据定义 SP_STATR EQU 01H SP_END EQU 00H
[单片机]
奥地利微电子推出新款智能LED驱动芯片
中国 —— 全球领先的高性能模拟IC设计者及制造商奥地利微电子公司(SIX股票代码:AMS)宣布推出新款智能LED驱动芯片AS3668。新品最多可控制4个LED,为手机和平板电脑带来精致的指示灯光效,且无需动用耗电显著的基带处理器。 新品也可应用于许多其他消费电子设备,例如3G和LTE调制解调器、USB存储卡、游戏控制器和耳机。这些设备均对高品质指示灯光效和低功耗有较高要求,而指示灯在这些设备中可用于改善用户界面。 AS3668引人注目的灯光效果作为额外的用户界面,可改善移动设备的外观并带来更高附加值。其12-bit PWM调光功能可实现诸如在高低不同亮度中无缝过渡的平滑呼吸灯效果。芯片同时拥有音频同步模式,可根据音频内容使L
[电源管理]
基于AT89S52单片机的红外遥控温度报警器的设计与实现
温度,无论是在日常生活还是工业生产中都是人们十分关注的一个参数,而温度控制是工业自动控制的重要组成部分,在工业、电子、化工精度实验等诸多领域都有重要的应用。同时随着科学技术的发展,家用电器普遍进入到人们的家庭生活之中,因此引起的火灾现象也越来越多,造成的生命危险和财产损失也就越大。在这些情况下,一款好的温度报警器将起到十分重要的作用,给人们的生产和生活中带来很大的方便与安全,减少了不必要的损失。 文中以单片机为控制核心,利用红外遥控器、数字式温度传感器及其他控制电路组成红外遥控温度报警器,具有低成本,高稳定性,及时报警,远程遥控,功能扩展,显示时间和闹钟等功能特点,该产品能广泛的应用于中小型电锅炉、电采暖炉、电茶炉、壁挂炉、
[单片机]
基于AT89S52单片机的<font color='red'>红外遥控</font>温度报警器的设计与实现
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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