Hoàn thành ứng dụng đồng hồ thời gian thực hiển thị led 7 đoạn dùng 89s52 + DS1307

Hoàn thành ứng dụng đồng hồ thời gian thực hiển thị led 7 đoạn dùng 89s52 + DS1307


Bắt tay vào việc ngay mình sẽ giải thích cho các bạn sơ đồ khối nguyên lí của cái đồng hồ này:

Như cái hình trên thì cái đồng hồ này có 4 phần chính:

1) Khối nhập thời gian (có 3 nút chỉnh: 1 nút mode 1 nút tăng 1 nút giảm)
2)  DS1307 là con IC thời gian thực toàn bộ dữ liệu như ngày giờ tháng năm sẽ được lưu trong bộ nhớ Ram của nó và dữ liệu thời gian sẽ tự động đếm lên ở trong con này
3) Vi điều khiển: Con này chỉ có nhiệm vụ là 
        + nhận dữ liệu từ con DS1307 rồi sau đó giải mã rồi xuất ra led 7 đoạn
        + nhận thông lệnh từ phím nhấn để tăng giảm dữ liệu thời gian trong bộ nhớ tạm rồi sau đó đưa vào bộ nhớ Ram của DS1307
4)  Khối hiển thị là 12 con led 7 đoạn giờ phút giây, ngày tháng năm

Còn đây là sơ đồ mạch điện

Chương trình mô phỏng: nói thiệt các bạn biết là chương trình này là mình kiếm trên mạng nhưng nó chỉ làm có giờ phút giây thôi mình phải tự vắt óc ra làm ngày tháng năm đấy 

;=====================================

$mod51

TEMP DATA 37H

XUNG_NHAY DATA 38H ; XUNG 100ms

BIEN_NHAY DATA 39H ;0 = SANG TAT CA DEN , 1 = NHAY led TUONG UNG KHI set

GIAY DATA 40H

PHUT DATA 41H

GIO DATA 42H

DONVI_GIAY DATA 47H

CHUC_GIAY DATA 48H

DONVI_PHUT DATA 49H

CHUC_PHUT DATA 4AH

DONVI_GIO DATA 4BH

CHUC_GIO DATA 4CH

PHAN_TRAM_GIAY DATA 4DH

FLAG_SET DATA 4EH ;0 = KHONG SET , 1 = SET PHUT , 2 = SET GIO , 3= set ngay 4= set thang, 5 = set nam

ngay data 4fh

thang data 51h

nam data 52h

donvi_ngay data 53h

chuc_ngay data 54h

donvi_thang data 55h

chuc_thang data 56h

donvi_nam data 57h

chuc_nam data 58h

LED_GIAY BIT P2.0

LED_C_GIAY BIT P2.1

LED_PHUT BIT P2.2

LED_C_PHUT BIT P2.3

LED_GIO BIT P2.4

LED_C_GIO BIT P2.5

led_ngay bit p2.7

led_c_ngay bit p2.6

led_thang bit p1.1

led_c_thang bit p1.0

led_nam bit p1.3

led_c_nam bit p1.2

;--------I2C-------

SCL BIT P3.0

SDA BIT P3.1

SW_1 BIT P3.2

SW_2 BIT P3.3

SW_3 BIT P3.4

LED_DATA EQU P0

BYTE_W EQU 11010000B

BYTE_R EQU 11010001B

ADD_LOW EQU 62H

DATA_DS EQU 63H

;=====================================

;=====================================

ORG 00H

LJMP MAIN

;===========================

;===========================

ORG 0BH

LJMP NGAT_TIME

;===========================

;===========================

ORG 030H

MAIN: ;reset tat ca cac bien

MOV GIAY,#0

MOV PHUT,#0

MOV GIO,#0

mov ngay,#0

mov thang,#0

mov nam,#0

MOV BIEN_NHAY,#0

MOV XUNG_NHAY,#0

MOV FLAG_SET,#0

MOV R0,#0

MOV IE,#10001010B

MOV TMOD,#11H

MOV TL0,#LOW(-9216)

MOV TH0,#HIGH(-9216)

SETB TR0

MOV A,#0FFH

MOV LED_DATA,A

MOV DPTR,#BANGSO

CLR SCL

CLR SDA

NOP

SETB SCL

SETB SDA

NOP

MOV ADD_LOW,#00H

MOV DATA_DS,#00H

LCALL WRITE_BYTE

;==========

 

;==========================================

LOOP_HIEN_THI: ; chuong trinh chinh chay tai day

;==========================================

MOV A,FLAG_SET

CJNE A,#0,L_HT

CALL INIT_PORT

L_HT:

LCALL HIEN_THI

LCALL SCAN_KEY

SJMP LOOP_HIEN_THI

;==========================================

 

 

INIT_PORT:

;================================================= =READS SECONDS

;=================================================

READ_SEC:

MOV ADD_LOW,#00h

LCALL READ_BYTE

MOV A,DATA_DS

CALL BCD_HEX

MOV GIAY,A

LCALL I2C_STOP

;================================================= =READS MINUTES

MOV ADD_LOW,#01h

LCALL READ_BYTE

MOV A,DATA_DS

CALL BCD_HEX

MOV PHUT,A

LCALL I2C_STOP

;================================================= =READS HOURS

MOV ADD_LOW,#02h

LCALL READ_BYTE

MOV A,DATA_DS

CALL BCD_HEX

MOV GIO,A

LCALL I2C_STOP

;================================================= =READS day

MOV ADD_LOW,#04h

LCALL READ_BYTE

MOV A,DATA_DS

CALL BCD_HEX

MOV ngay,A

LCALL I2C_STOP

;================================================= =READS month

MOV ADD_LOW,#05h

LCALL READ_BYTE

MOV A,DATA_DS

CALL BCD_HEX

MOV thang,A

LCALL I2C_STOP

;================================================= =READS year

MOV ADD_LOW,#06h

LCALL READ_BYTE

MOV A,DATA_DS

CALL BCD_HEX

MOV nam,A

LCALL I2C_STOP

RET

;================================================= =================================

;=====stop I2C communication

I2C_Stop:

CLR SDA

SETB SCL

NOP

SETB SDA

RET

;================================================= =================================

;************************************************* ****

;* WRITE DATA_DS TO DS1307 1 BYTE *

;* INPUT : ADD_LOW *

;* : DATA_DS *

;************************************************* ****

WRITE_BYTE:

CLR SDA ;start bit

CLR SCL

MOV A,#BYTE_W ;send control byte

LCALL LOOP_BYTE

SETB SDA

SETB SCL

JB SDA,WRITE_BYTE ;loop until busy

CLR SCL

MOV A,ADD_LOW ;send address low

LCALL LOOP_BYTE

SETB SDA

SETB SCL

JB SDA,WRITE_BYTE ;loop until busy

CLR SCL

MOV A,DATA_DS ;send DATA

LCALL LOOP_BYTE

SETB SDA

SETB SCL

JB SDA,WRITE_BYTE ;loop until busy

CLR SDA

CLR SCL

SETB SCL ;stop bit

SETB SDA

RET

;==========================================

BCD_HEX:

;==========================================

MOV B,#10H

DIV AB

MOV TEMP,B ;CAT HANG DON VI

MOV B,#10

MUL AB

ADD A,TEMP

ret

;==========================================

HEX_BCD:

;==========================================

MOV B,#10

DIV AB

MOV TEMP,B ;CAT HANG DON VI

MOV B,#10H

MUL AB

ADD A,TEMP

ret

;==========================================

;************************************************* *****

;* READ DATA FROM DS1307 1 BYTE *

;* INPUT : ADD_HIGH *

;* : ADD_LOW *

;* OUTPUT : DATA_DS *

;************************************************* *****

READ_BYTE:

CLR SDA ;start bit

CLR SCL

MOV A,#BYTE_W ;send control byte

LCALL LOOP_BYTE

SETB SDA

SETB SCL

JB SDA,READ_BYTE ;loop until busy

CLR SCL

MOV A,ADD_LOW ;send address low

LCALL LOOP_BYTE

SETB SDA

SETB SCL

JB SDA,READ_BYTE ;loop until busy

CLR SCL

SETB SCL

SETB SDA

CLR SDA ;start bit

CLR SCL

MOV A,#BYTE_R ;send control byte

LCALL LOOP_BYTE

SETB SDA

SETB SCL

JB SDA,READ_BYTE ;loop until busy

CLR SCL

LCALL LOOP_READ

SETB SDA

SETB SCL

CLR SCL

SETB SCL ;stop bit

SETB SDA

RET

 

;************************************************* ***

;* WRITE *

;* INPUT: ACC *

;************************************************* ***

LOOP_BYTE:

PUSH 02H

MOV R2,#08H

LOOP_SEND:

RLC A

MOV SDA,C

SETB SCL

CLR SCL

DJNZ R2,LOOP_SEND

POP 02H

RET

;************************************************* ****

;* READ *

;* OUTPUT: ACC *

;************************************************* ****

LOOP_READ:

PUSH 02H

MOV R2,#08H

LOOP_READ1:

SETB SCL

MOV C,SDA

CLR SCL

RLC A

DJNZ R2,LOOP_READ1

MOV DATA_DS,A

POP 02H

RET

;==========================================

TACHSO: ; tach rieng hang chuc va hang don vi bang cach chia cho 10

;==========================================

MOV A,GIAY ;Lan luot chia cac Bien: Giay, Phut, Gio cho 10

MOV B,#10 ;de tach phan Don Vi va Hang Chuc ra, de cat rieng vao cac Bien tuong ung.

DIV AB ;PHAN NGUYEN trong A, PHAN DU trong B

MOV CHUC_GIAY,A ;Luu lai HANG CHUC Giay

MOV DONVI_GIAY,B ;luu lai DON VI Giay

;============

MOV A,PHUT

MOV B,#10

DIV AB

MOV CHUC_PHUT,A

MOV DONVI_PHUT,B

;==========

MOV A,GIO

MOV B,#10

DIV AB

MOV CHUC_GIO,A

MOV DONVI_GIO,B

;=============

MOV A,ngay

MOV B,#10

DIV AB

MOV chuc_ngay,A

MOV donvi_ngay,B

;==========

MOV A,thang

MOV B,#10

DIV AB

MOV chuc_thang,A

MOV donvi_thang,B

;==========

MOV A,nam

MOV B,#10

DIV AB

MOV chuc_nam,A

MOV donvi_nam,B

RET

;========================================

HIEN_THI: ; HIEN THI LED 7 DOAN

;========================================

MOV A,FLAG_SET

CJNE A,#0,CHOP_NHAY

LCALL HIENTHI

AJMP THOAT_HIENTHI

;========================================

CHOP_NHAY: ; KIEM TRA BIEN NHAY VA FLAG_SET DE TAO HIEU UNG NHAY LED DANG SETING

;=================================

MOV A,BIEN_NHAY

CJNE A,#0,CHOP_NHAY1

LCALL HIENTHI

AJMP THOAT_HIENTHI

CHOP_NHAY1:

LCALL NHAY

JMP CHOP_NHAY

THOAT_HIENTHI:

RET

;=================================

HIENTHI:

;=================================

LCALL HIENTHI_S

LCALL HIENTHI_P

LCALL HIENTHI_G

lcall hienthi_n

lcall hienthi_t

lcall hienthi_y

RET

;=================================

NHAY:

;=================================

MOV A,FLAG_SET

CJNE A,#1,KT1

LCALL HIENTHI_S

LCALL HIENTHI_G

lcall hienthi_n

lcall hienthi_t

lcall hienthi_y

KT1:

MOV A,FLAG_SET

CJNE A,#2,kt2

LCALL HIENTHI_S

LCALL HIENTHI_P

lcall hienthi_n

lcall hienthi_t

lcall hienthi_y

kt2:

mov a,FLAG_SET

cjne a,#3,kt3

lcall HIENTHI_S

lcall HIENTHI_P

lcall HIENTHI_G

lcall hienthi_t

lcall hienthi_y

kt3:

mov a,FLAG_SET

cjne a,#4,kt4

lcall HIENTHI_S

lcall HIENTHI_P

lcall HIENTHI_G

lcall hienthi_n

lcall hienthi_y

kt4:

mov a,FLAG_SET

cjne a,#5,THOAT_N

lcall HIENTHI_S

lcall HIENTHI_P

lcall HIENTHI_G

lcall hienthi_n

lcall hienthi_t

THOAT_N:

RET

;=================================

HIENTHI_S:

;=================================

;hien thi hang don vi cua Giay

MOV A,DONVI_GIAY

MOVC A,@A+DPTR

MOV LED_DATA,A

CLR LED_GIAY

LCALL DL

SETB LED_GIAY

;==========

MOV A,CHUC_GIAY ;hien thi hang chuc cua Giay

MOVC A,@A+DPTR

MOV LED_DATA,A

CLR LED_C_GIAY

LCALL DL

SETB LED_C_GIAY

RET

;=================================

HIENTHI_P:

;=================================

MOV A,DONVI_PHUT ;hien thi hang don vi cua Phut

MOVC A,@A+DPTR

MOV LED_DATA,A

CLR LED_PHUT

LCALL DL

SETB LED_PHUT

;============

MOV A,CHUC_PHUT ;hien thi hang chuc cua Phut

MOVC A,@A+DPTR

MOV LED_DATA,A

CLR LED_C_PHUT

LCALL DL

SETB LED_C_PHUT

RET

;=================================

HIENTHI_G:

;=================================

MOV A,DONVI_GIO ;hien thi hang don vi cua gio

MOVC A,@A+DPTR

MOV LED_DATA,A

CLR LED_GIO

LCALL DL

SETB LED_GIO

;============

MOV A,CHUC_GIO ;hien thi hang chuc cua Gio

MOVC A,@A+DPTR

MOV LED_DATA,A

CLR LED_C_GIO

LCALL DL

SETB LED_C_GIO

RET

;=================================

hienthi_n:

mov a,donvi_ngay

movc a,@a+dptr

mov LED_DATA,a

clr led_ngay

lcall DL

setb led_ngay

;================

mov a,chuc_ngay

movc a,@a+dptr

mov LED_DATA,a

clr led_c_ngay

lcall DL

setb led_c_ngay

ret

;=================================

hienthi_t:

mov a,donvi_thang

movc a,@a+dptr

mov LED_DATA,a

clr led_thang

lcall DL

setb led_thang

;================

mov a,chuc_thang

movc a,@a+dptr

mov LED_DATA,a

clr led_c_thang

lcall DL

setb led_c_thang

ret

;=================================

 hienthi_y:

mov a,donvi_nam

movc a,@a+dptr

mov LED_DATA,a

clr led_nam

lcall DL

setb led_nam

;================

mov a,chuc_nam

movc a,@a+dptr

mov LED_DATA,a

clr led_c_nam

lcall DL

setb led_c_nam

ret

;=================================

NGAT_TIME:

;=================================

INC XUNG_NHAY

INC PHAN_TRAM_GIAY ;DAT TIMER CHAY 1/100 GIAY

MOV TL0,#LOW(-9216)

MOV TH0,#HIGH(-9216)

SETB TR0

;===============

PUSH ACC

PUSH PSW ;Thanh ghi trang th�i chuong tr�nh

;==========

MOV A,XUNG_NHAY ;TAO XUNG NHAP NHAY = 1/4 GIAY

CJNE A,#25,TIME1

MOV XUNG_NHAY,#0

INC BIEN_NHAY

MOV A,BIEN_NHAY

CJNE A,#3,TIME1

MOV BIEN_NHAY,#0

;==========

TIME1:

MOV A,PHAN_TRAM_GIAY ;Kiem tra bien PHAN_TRAM_GIAY - Thoat khoi ngat Time0 neu khong =

CJNE A,#100,THOAT_NGAT_TIME

MOV PHAN_TRAM_GIAY,#0 ;Neu = 100 th� set bien nay = 0

;===============

THOAT_NGAT_TIME:

LCALL TACHSO

POP PSW

POP ACC

RETI

;==================================

SCAN_KEY: ;KIEM TRA PHIM NHAN

;==================================

SW1: ;SET TIME

JB SW_1,SW2

INC FLAG_SET

MOV A,FLAG_SET

CJNE A,#6,L_SW1

;==========

MOV A,PHUT

CALL HEX_BCD

MOV DATA_DS,A

MOV ADD_LOW,#01H

LCALL WRITE_BYTE

;==========

MOV A,GIO

CALL HEX_BCD

MOV DATA_DS,A

MOV ADD_LOW,#02H

LCALL WRITE_BYTE

;==========

mov a,ngay

call HEX_BCD

MOV DATA_DS,A

MOV ADD_LOW,#04H

LCALL WRITE_BYTE

;==========

mov a,thang

call HEX_BCD

MOV DATA_DS,A

MOV ADD_LOW,#05H

LCALL WRITE_BYTE

;==========

mov a,nam

call HEX_BCD

MOV DATA_DS,A

MOV ADD_LOW,#06H

LCALL WRITE_BYTE

MOV FLAG_SET,#0

L_SW1:

LCALL DL1

LCALL DL1

LCALL DL1

LCALL DL1

LJMP NOKEY

;===============

SW2: ;SET_MIN

JB SW_2,jump

MOV A,FLAG_SET

CJNE A,#0,SW20

LJMP NOKEY

SW20:

MOV A,FLAG_SET

CJNE A,#1,TANG_GIO ;

JB SW_2,jump

;===============

TANG_PHUT:

INC PHUT ;Roi tang Bien phut them 1

MOV A,PHUT

CJNE A,#60,L_SW2 ;

MOV PHUT,#0 ;Neu = 60 th� set bien nay = 0

L_SW2:

LCALL DL1

LCALL DL1

LJMP SW2

;===============

TANG_GIO: ;SET HOUR

JB SW_2,SW3

MOV A,FLAG_SET

CJNE A,#2,tang_ngay

JB SW_2,SW3

INC GIO ;Roi tang Bien Gio them 1

MOV A,GIO

CJNE A,#24,L_TANG_GIO ;Bien gio = 60? - Thoat khoi ngat Time0 neu khong =

MOV GIO,#0

L_TANG_GIO:

LCALL DL1

LCALL DL1

LJMP TANG_GIO

;===============

               tang_ngay:

               jb SW_2,SW3

               mov a,FLAG_SET

               cjne a,#3,tang_thang

               JB SW_2,SW3

               inc ngay

               mov a,ngay

               cjne a,#32,L_TANG_NGAY

               mov ngay,#1

               L_TANG_NGAY:

               LCALL DL1

               LCALL DL1

               LJMP tang_ngay

;===============

               tang_thang:

               JB SW_2,SW3

               mov a,FLAG_SET

               cjne a,#4,tang_nam

               JB SW_2,SW3

               inc thang

               mov a,thang

               cjne a,#13,L_TANG_THANG

               mov thang,#1

               L_TANG_THANG:

               LCALL DL1

               LCALL DL1

               ljmp tang_thang

jump: ljmp SW3

;===============

               tang_nam:

               jB SW_2,SW3

               mov a,FLAG_SET

               cjne a,#5,SW3

               JB SW_2,SW3

               inc nam

               mov a,nam

               cjne a,#100,L_TANG_NAM

               mov nam,#0

               L_TANG_NAM:

               LCALL DL1

               LCALL DL1

               ljmp tang_nam

 

 

;==============================

SW3: ;DANG NHAN SW3?

JB SW_3,jump1 ;KHONG NHAN SW2? KIEM TRA SW3

MOV A,FLAG_SET

CJNE A,#0,SW30

LJMP NOKEY

SW30:

MOV A,FLAG_SET ;DANG NHAN SW2. KIEM TRA CHE DO CHINH GIO HAY CHINH PHUT.

CJNE A,#1,GIAM_GIO ;

JB SW_3,jump1

;===============

GIAM_PHUT:

DEC PHUT ;Roi tang Bien phut them 1

MOV A,PHUT

CJNE A,#-1,L_SW3 ;Bien Phut = -1? - Thoat khoi ngat Time0 neu khong =

MOV PHUT,#59 ;Neu = -1 thi set bien nay = 60

L_SW3:

LCALL DL1

LCALL DL1

LJMP SW3

;===============

GIAM_GIO:

;===============

JB SW_3,NOKEY

MOV A,FLAG_SET

CJNE A,#2,giam_ngay

LCALL HIENTHI

JB SW_3,NOKEY

DEC GIO ;Roi Giam Bien Gio them 1

MOV A,GIO

CJNE A,#-1,L_GIAM_GIO ;Bien gio = -1? - Thoat khoi ngat Time0 neu khong =

MOV GIO,#23

L_GIAM_GIO:

LCALL DL1

LCALL DL1

LJMP GIAM_GIO

;===============

               giam_ngay:

               jb SW_3,NOKEY

               mov a,FLAG_SET

               cjne a,#3,giam_thang

               dec ngay

               mov a,ngay

               cjne a,#0,L_GIAM_NGAY

               mov ngay,#31

               L_GIAM_NGAY:

               LCALL DL1

               LCALL DL1

               ljmp giam_ngay

;===============

               giam_thang:

               jb SW_3,NOKEY

               mov a,FLAG_SET

               cjne a,#4,giam_nam

               dec thang

               mov a,thang

               cjne a,#0,L_GIAM_THANG

               mov thang,#12

               L_GIAM_THANG:

               LCALL DL1

               LCALL DL1

               ljmp giam_thang

jump1: ljmp NOKEY

;===============

               giam_nam:

               jb SW_3,NOKEY

               mov a,FLAG_SET

               cjne a,#5,NOKEY

               dec nam

               mov a,nam

               cjne a,#-1,L_GIAM_NAM

               mov nam,#99

               L_GIAM_NAM:

               LCALL DL1

               LCALL DL1

               ljmp giam_nam

 

;===============

NOKEY:

RET

;=================================

DL:

;=================================

MOV R7,#200

DJNZ R7,$

RET

;==================

DL1:

;==================

PUSH 00H

PUSH 01H

MOV R1,#20O

DEL:

LCALL HIEN_THI

LCALL HIEN_THI

LCALL HIEN_THI

MOV R0,#250

DJNZ R0,$

DJNZ R1,DEL

POP 01H

POP 00H

RET

;===================

DELAY_1MS:

;===================

MOV R7,#200

DL_1MS_1:

MOV R6,#200

DJNZ R6,$

DJNZ R7,DL_1MS_1

RET

;====================

DELAY:

;====================

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

RET

;=================================

BANGSO:

;=================================

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

RET

END

và... đây là thành quả

Video chạy sản phẩm

Bình Luận
Nguyễn Thế Trọng Nhân - 13/01/2018 - 08:05:14

 các bạn comment email để mình trao đổi


vong - 12/12/2017 - 09:28:49

anh ơi giup e viết lại code hiển thị phút và giờ không ạ dùng ngôn ngữ asm như a viết á 

 


truong702 - 07/12/2017 - 06:54:19

cho em xin file với anh ơi!!! e thích mà dốt nên không biết làm ạ!


nguoitimhieu - 15/05/2017 - 05:41:19

bạn  có thể cho mình xin file mạch in được không

cảm ơn bạn đã pót bài viết rất bổ ích


Cùng danh mục: Điện tử ứng dụng

DIY - Mạch sạc acquy 12V tự ngắt đơn giản

18/08/2023 21:35:22 / Lượt xem: 766 / Người đăng: biendt

Bạn phải làm gì khi mà bộ sạc pin hiện tại không thể dừng lại quá trình sạc khi mà bình ắc qui đã đầy. Bình ắc qui bị nóng lên, bình bị phồng, có thể gây cháy nổ hoặc làm bình của bạn bị hỏng. Nếu như vậy, bạn cần một thiết bị/hay mạch sạc tự động có thể tự động ngắt khi bình đã sạc đủ điện. Vì vậy, bạn có thể lắp một mạch điện đơn giản, theo sơ đồ mạch dưới đây để quá trình sạc diễn ra tự động, bạn không còn bận tâm việc phải canh thời gian để ngắt nguồn sạc, và nỗi lo quên ngắt nguồn điện ngây hỏng bình ắc qui nữa.

Tổng quan về mạch Snubber - Phần I

09/04/2023 23:55:20 / Lượt xem: 1087 / Người đăng: Saonam Tronics

Tôi biết nhiều bạn học điện tử nhưng kiến thức về mạch snubber rất hạn chế, hiểu mơ hồ về nó. Đây là bài viết mở đầu cho tổng quan về mạch Snubber, hy vọng trang bị cho các bạn yêu thích bộ môn điện tử học kiến thức bổ ích về loại mạch rất phổ biến này. ác bạn kỹ thuật viên điện tử thường dùng oscillocope để đo "nhịp tim'' của mạch sw thỉnh thoảng hay gặp hình ảnh này ''điện áp thoáng đột biến và đổ chuông'', điều đó chứng tỏ rằng mạch điện đang gặp nhiều vấn đề nguy hại, nhiều, nhưng tôi tập trung 3 vấn đề chính sau

TTP224 - IC 4 nút cảm ứng điện dung

18/09/2022 16:00:00 / Lượt xem: 1123 / Người đăng: biendt

Ngày nay ở một số thiết bị gia dụng, thiết bị điện, điện tử sử dụng nút bấm nằm trên mặt phẳng cứng, ví dụ nút bấm trên một số loại bếp từ, nút bấm trong bảng công tắc điều khiển nhà thông minh, nút back của một số điện thoại…đó là các nút bấm điện dung. Đặc điểm của các loại nút này là chỉ cần chạm, không cần nhấn nút và ta cũng không thể nhấm “lõm” như những nút bấm cơ bình thường vì chúng được vẽ trên mặt nhựa hoặc mặt kính phẳng.

Hướng dẫn sử dụng module SIM800, SIM900 : Cơ bản chung và các tập lệnh cơ bản

31/05/2022 08:13:45 / Lượt xem: 3491 / Người đăng: biendt

SIM800 và SIM900 là hai module GSM giống nhau tính năng cơ bản : Băng tần (GSM850, EGSM900, DCS1800, PCS1900), Dữ liệu (SMS, GPRS, FM), giao tiếp với chíp điều khiển (Nối tiếp AT)...Nhưng với SIM800 cải tiến mới thì hỗ trợ thêm một số tính năng hỗ trợ Bluetooth và các lệnh AT cho FM/Bluetooth, cải thiện tín hiệu, giá thành rẻ. Những dự án xây dựng các hệ thống điều khiển từ xa, gửi nhận dữ liệu thu thập từ các cảm biến…

Mạch Dimmer điều khiển tải AC hoạt động như thế nào?

17/04/2022 16:18:16 / Lượt xem: 4352 / Người đăng: biendt

Dimmer là một bộ điều khiển công suất đơn giản, sử dụng Triac, có mạch nguyên lý rất đơn giản và chi phí rất thấp. Do vậy chúng rất phổ biến trong các thiết bị điện dân dụng và công nghiệp. Dimmer là điều khiển, thay đổi điện áp ra tải từ đó cường độ dòng điện (Công suất) cũng thay đổi theo. Do đó được ứng dụng điều khiển như điều chỉnh độ sáng của bóng đèn, lò sưởi, tốc độ vòng quay trong các thiết bị công suất....