Articles by "Mạch 7seg"

10 4.104 8051 9 Acquy adc pic All datasheet ALTIUM Altium Designer AM-FM Arduino ARM ARM là gì Ấn Tượng Bản tin công nghệ Bản tin Thiết Bị Số Barobo bất động sản biến Binary Bit board lpc2378 Bộ chuyển đổi ADC Bộ Đếm Bộ điều khiển cửa cuốn Bộ Định Thời Buy Khóa Số Điện Tử Buy Mạch đếm sản phẩm Buy Mạch giao thông Buy Mạch nạp Buy Matrix Byte C cho AVR các hàm vào ra các loại lõi arm các mạch DAC cơ bản các ngắt trong pic Cách đọc điện trở Cách Đọc Giá Trị Điện Trở Cách đọc giá trị tụ điện Cách hàn linh kiện dán cách làm mạch khóa số cách tạo linh kiện dán cad/cam Cài Đặt cài đặt proteus 8 cảm biến Cấu Kiện Logic Khả Trình cấu tạo cấu trúc arm cấu trúc lệnh CCS Chân chân Transistor Chip Khả Trình chuyển đổi Chuyển đổi số tương tự Chuyển Đổi Tương Tự/Số - ADC Chuyển động số chương trình City Clip Điện Tử Code 8051 - ASM Code 8051 - C Code 8051-C code ASM code ASM mẫu 8086 Code AVR - C code C Code Lập Trình Code led sao băng code maupic code mẫu 8051 Code Mẫu 8086 Code Mẫu cho ARM - LPC1343 code mẫu pic Code PIC - C codemaupic Counter Cổng Vào Ra Cơ Bản Cuộn Cảm Cửa cuốn DA DAC Debug Decimal Delay8051 Dev-C++ Diode DIY Dò đường Do It Yourself doanh nghiệp Download DTMF Mobile đảo chiều động cơ Điện Trở Điện Tử Điện Tử Cơ Bản điều chế độ rộng xung điều chế xung PWM điều khiển bằng điện thoại Điều khiển cửa cuốn Điều khiển cửa cuốn bằng điện thoại điều khiển động cơ đo điện áp đo nhiệt độ đo nhiệt độ hiển thị lên lcd trên 8051 Đo Nhiệt Độ LM35 + LCD Đo Nhiệt Độ LM35 + Led 7 thanh đọc màu điện trở đồ chơi động cơ chân không Động cơ nhiên liệu Động cơ robo đồng hồ thời gian thực Ebook Đại Học ebook điện tử Ebook đồ án Ebook Tin Học Encoder Encoder là gì Full Giải Thuật Giải thuật PID Giáo Dục giao tiếp i2c pic 16f877a giao tiếp i2c pic16f877a với ic ds1307 giao tiếp máy tính qua rs232 Giao Tiếp Máy Tính VB6 giao tiếp rs232 giao tiếp spi giữa 2 pic giao tiếp spi trong pic Giáo Trình Điện Tử Giới thiệu 8051 Giới thiệu cơ bản GPIO Graphic Design hàm Hàn linh kiện dán Hexadecimal Hệ Hexa Hệ Nhị Phân Hệ Thập Lục Phân Hệ Thập Phân hiển thị lên lcd 16x2 Hoạt Động Học Học 8051 qua các ví dụ đơn giản Học ALtium Designer học AVR Học Corel Draw X3 Học Eagle HỌC LẬP TRÌNH 16F877A Học Lập Trình 8051 Học Lập Trình C Học Orcad Học Protues hoc-lam-robot-do-duong-qua-video Hồng ngoại hướng dẫn hướng dẫn Altium Designer hướng dẫn đo đồng hồ VOM hướng dẫn keil - C lập trình 8051 hướng dẫn làm led sao băng hướng dẫn làm led trái tim hướng dẫn lập trình ARM Hướng Dẫn Lập Trình ARM - LPC1343 hướng dẫn lập trình ARM-LPC2378 hướng dẫn lập trình CCS hướng dẫn lập trình PIC Hướng Dẫn Led Trái Tim hướng dẫn module sim548c hướng dẫn sử dụng keil hướng dẫn sử dụng proteus 8 Hyper Terminal hercules 3.2.4 I/O IC 555 IC 7447 IC 74HC151 IC 74HC154 IC 74HC245 IC 74HC595 IC 74LS138 IC DS1307 IC đồng hồ thời gian thực IC LM324 IC LM342 IC LM7805 IC số IC số opamp LM324 IC Thông Dụng IC555 Interrupt Keil 4 Full keil arm Keil C Keil uVision3 kế toán kiểm toán khái niệm Khái Niệm Cơ Bản Kho Vật Liệu khóa điện tử khóa số dùng 8051 khóa số dùng 89s52 Khóa Số Điện Tử khuếch đại kiểm tra Kinh doanh maketing kinh tế quản lí Kỹ Thuật Kỹ Thuật Vi Xử Lý làm mạch điện lý thú Làm quen AVR Lap Trinh Dieu Khien Robot Lập Trình lập trình 8051 Lập Trình AVR Lập Trình C lập trình c++ Lập Trình Led Quảng Cáo Lập Trình Nhúng Lập trình pic Lập trình Robot Lập Trình Vi Điều Khiển Lập Trình Với AVR Studio LCD 16x2 Lcd16x2 Led Clock Led Quay led sao băng led trai tim Led Trái Tim Lịch sử ra đời Linh Kiện Cơ Bản linh kiện điện tử Loa LPC 2378 LSB lý thú Mã AVR - C Mạch 7seg Mạch Amply.Mạch Loa Mạch Autorobo Mạch bảo vệ Mạch Cảm Biến mạch cảm ứng sờ tay Mạch Cầu H Mạch cube Mạch Đếm Sản Phẩm Mạch điện cơ bản Mạch điện hay Mạch Điện Ứng Dụng Mạch Điều khiển động cơ Mạch Động Cơ Mạch đồng hồ Mạch đồng hồ 4 led Mạch giao thông Mạch IC số Mạch in mạch khóa số mạch khuếch đại thuật toán mạch led chúc mừng năm mới mạch led đẹp Mạch Led đơn Mạch Led Quảng Cáo mach led trai tim mạch led trái tim Mạch Led Vumeter mạch lý thú Mạch Ma trận Phím Mạch Matrix Mạch nạp Mạch nguồn Mạch Nút Bấm mạch sóng rf mạch tăng áp Mạch thu phát Mạch tổ hợp MSI Mạch trái tim Mạch Vi điều khiển Microbicho module module GSM/GPS Module Sim548 Module Sim548 giao tiếp với vi điều khiển PIC Module Sim548C Mosfet Motor Mô Phỏng Phần Cứng Mô Tả Phần Cứng MSB mua led sao băng News Ngắt Ngắt Trong LPC23xx ngân hàng Ngôn Ngữ Ngôn Ngữ C Ngôn Ngữ Tự Học Lập Trình C Ngôn Ngữ VHDL Nguyên Lý nguyên lý ic 555 Nguyên Tắc nháy led Nhập môn C Nhỏ Gọn Nibble opamp People Phần Mềm phần mềm altium Designer Phần mềm điện tử Phần Mềm Điện Tử Phần Mềm Điện Tử Hay Phần Mềm Hay Phần Mềm Led Quảng Cáo phần mềm proteus 8 Phần mềm vi tính Phần Mền Phương pháp hàn linh kiện dán PIC pic16f877a Print Design Proteus Proteus 7.8 SP2 FULL PWM quà tặng bạn gái quà tặng độc đáo quản trị doanh nghiệp quản trị kinh doanh quét led 7 đoạn Relay robocon Robot ROBOT DÒ ĐƯỜNG rút gọn mạch logic tổ hợp Sach Dien Tu Sản Phẩm Thú Vị Sản Phẩm Thương Mại Sáng tạo Short Smart Home SMD sơ đồ nguyên lý spi Sports Sử Dụng Sử Dụng Đồng Hồ sử dụng đồng hồ VOM sử dụng ngắt trong pic sự khác nhau Sức mạnh số Tải tài chính tài chính doanh nghiệp tài chính ngân hàng Tài Khoản Chia Sẻ Tài Liệu Tài Liệu 8051 tài liệu avr Tài liệu Điện Tử Tài Liệu Pic Tài liệu robocon tài liệu về ngân hàng Tài Liệu Vi Điều Khiển tailieuvn Tạo cổng Com ảo Tạo cổng nối tiếp ảo tạo dự án trong keil arm Tạo Project trong Vi Xử Lý ARM tạo thư viện altium designer tạo xung vuông Tạp chí Tạp Chí Hay tăng áp Tập lệnh AT Team Support TEAMPLATE PROTEUS Test thị trường tài chính Thiết Bị Thú Vị Thiết kế robot Thiết lập Fuse Bits Thiết Lập Pin Thuật Toán Thuật Toán Điều Khiển PID Thuật Toán Quine MCCluskey Thư viện Protues Thực Hành Thyristor Timer Timer/Counter Tin Học Chia Sẻ Tổ Chức Bộ Nhớ tổng quan về proteus 8 Transistor Tranzito Tranzitor Trao đổi học tập Travel Trình Biên Dịch Trình Dịch Trong Suốt Truyền Thông Nối Tiếp Không Đồng Bộ- UART truyền thông nối tiếp RS232 Tụ điện TUT - 8051 - ASM TUT - 8051 - KeilC tự hành Tự Học C Tự Học Lập Trình C Tý hon UART Update USB Ứng Dụng Led Quảng Cáo ứng dụng mạch khuếch đại thuật toán vẽ mạch in vẽ mạch nguyên lý VHDL Vi Điều Khiển Vi điều khiển - Ứng dụng vi điều khiển PIC Vi mạch số Vi Xử Lý Vi Xử Lý 8051 Vi Xử Lý 8086 Vi Xử Lý ARM Vi Xử Lý PIC Video Video Mach Điện Virtual Serial Port Driver VOM vxl Web Design xác định góc quay động cơ xử lý chuỗi
Hiển thị các bài đăng có nhãn Mạch 7seg. Hiển thị tất cả bài đăng

Lập Trình Quét 6 Led 7 Đoạn 000000 -999999 Dùng Code ASM Chính Xác Nhất

Tương tự như bài trước,chúng mình giới thiệu cho các bạn code lập trình quét 6 led từ 000000 -999999

[alert title="CODE MẪU" icon="info-circle"]
ORG 00
MAIN:
MOV R2,#0
LAPLED:MOV R1,#0
LAPLAI:MOV R0,#0
LAP:CALL HIENTHI
INC R0
CJNE R0,#100,LAP
INC R1
CJNE R1,#100,LAPLAI
INC R2
CJNE R2,#100,LAPLED
JMP MAIN

HIENTHI:
MOV R7,#100
QUET:
MOV P3,#00H
MOV A,R0
MOV B,#10
DIV AB

MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
SETB P3.4
CALL DELAY
CLR P3.4

MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.5
CALL DELAY
CLR P3.5
CALL DELAY

MOV A,R1
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
SETB P3.2
CALL DELAY
CLR P3.2

MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.3
CALL DELAY
CLR P3.3
CALL DELAY

MOV A,R2
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY
SETB P3.0
CALL DELAY
CLR P3.0

MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.1
CALL DELAY
CLR P3.1
CALL DELAY

RET
DJNZ R7,QUET
MALED:DB 11000000B,11111001B,10100100B,10110000B,10011001B,
10010010B,10000010B,11111000B,10000000B,10010000B
RET

DELAY:
MOV R4,#35
LAP1:
MOV R5,#20

LAPA:
NOP
NOP
NOP
NOP
DJNZ R5,LAPA
DJNZ R4,LAP1
RET

END

[/alert]

Mạch 1:sử dụng nút bấm điều khiển



Demo
Mạch 2:chạy Auto sử dụng 555


Giải thích:Mạch sử dụng IC số giải mã 74LS90 cùng IC 7447,còn thêm IC 74LS247 nắn chỉnh 2 thanh a và d của led 7 đoạn,nếu thiếu sẽ bị mất nét.

THIETKEMACHDIENTU.NET
Phạm Văn Ngọc Anh- 01644326695

Dientuchiase giới thiệu cho các bạn mạch quét 8 led & đoạn + nút bấm,Mạch này Dientuchiase vẽ mạch nhưng vẫn bị câu dây,bạn nào Pro thì vẽ thử xem na.Hay lắm đó^^

1 GÓC MẠCH NGUYÊN LÝ



MẠCH IN 

CODE DEMO LẬP TRÌNH

[alert title="CODE DEMO LẬP TRÌNH" icon="info-circle"]
ORG 00H;code chay demo

MAIN:


KEY0:
            JNB P1.0,KEY0OK
            SJMP KEY1
            MOV R2,#00
LAPY1:
            MOV R1,#00
LAPX1:
            MOV R0,#00
           
KEY0OK:
           
            CALL CTHT
            INC R0
            CALL DELAY1MS
CJNE R0,#61,KEY0OK
            INC R1
CJNE R1,#61,LAPX1
            INC R2
CJNE R2,#25,LAPY1


MOV R0,#100

KEY1:
JNB P1.1,KEY1OK
SJMP KEY0
KEY1OK:
DEC R0
CALL DELAY1MS
CALL CTHT
CJNE R0,#00,KEY1OK

JMP MAIN

CTHT:
MOV R7,#20
QUET:
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.6
CALL DELAY
CLR P3.6
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.7
CALL DELAY
CLR P3.7


MOV A,R1
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.4
CALL DELAY
CLR P3.4
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.5
CALL DELAY
CLR P3.5


MOV A,R2
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
SETB P3.2
CALL DELAY
CLR P3.2
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P3.3
CALL DELAY
CLR P3.3


DJNZ R7,QUET
RET


MALED:DB 11000000B,11111001B,10100100B,10110000B,10011001B,10010010B,10000010B,11111000B,10000000B,10010000B


DELAY1MS:
MOV TMOD,#01H
LAPZ:
MOV TH0,#75H
MOV TL0,#30H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
RET

DELAY:
MOV R1,#20
LAPX:
MOV R2,#50
LAPY:
NOP
NOP
DJNZ R2,LAPY
DJNZ R1,LAPX
RET
END
[/alert]

Mạch Vi điều khiển sử dung atmel 89C52 kết hợp 3 nút bấm cùng với 3 TZT nối vào 3 chân VĐK.điều khiển 3 led sáng tắt hiển thị số nút đã bấm ra led 7 đoạn,đếm thời gian 1 phút cho 1 nút bấm để chuyển sang nút kế tiếp.Yêu cầu khởi động 3 led đều tắt,nhấn nút 1 chân TranZiTor 1 được set bit lên 1 và đèn 1 sáng,hiển thị số 1 ra led 7 đoạn,đếm 60s...bấm nút 2 đèn 1 tắt đèn 2 sáng hiển thị số 2,đếm 60s,nhấn nút 3 đèn 3 sáng hiển thị số 3 đếm 60s..kết thúc..


SƠ ĐỒ NGUYÊN LÝ:



SƠ ĐỒ MẠCH MÔ PHỎNG TRÊN PROTUES




CODE CHƯƠNG TRÌNH ASM:


ORG 00H;BAN QUYEN CHIPKOOL
MAIN:
CLR P1.0
CLR P1.1
CLR P1.2
KEY0:
JNB P1.5,KEY0OK
SJMP KEY1
KEY0OK:
CALL CT1

KEY1:
JNB P1.6,KEY1OK
SJMP KEY2
KEY1OK:
CALL CT2

KEY2:
JNB P1.7,KEY2OK
SJMP KEY0
KEY2OK:
CALL CT3
JMP MAIN

CT1:
SETB P1.0
CLR P1.1
CLR P1.2
MOV P3,#11111001B
CALL DELAYLED 
MOV R0,#0
LAP:CALL HIENTHI7SEG
INC R0
CJNE R0,#60,LAP
CLR P1.0
MOV P3,#0FFH
RET

CT2:
CLR P1.0
SETB P1.1
CLR P1.2
MOV P3,#10100100B
CALL DELAYLED 
MOV R0,#0
LAPD:CALL HIENTHI7SEG
INC R0
CJNE R0,#60,LAPD
CLR P1.1
MOV P3,#0FFH
RET


CT3:
CLR P1.0
CLR P1.1
SETB P1.2
MOV P3,#10110000B
CALL DELAYLED 
MOV R0,#0
LAP2:CALL HIENTHI7SEG
INC R0
CJNE R0,#60,LAP2
CLR P1.2
MOV P3,#0FFH
RET


HIENTHI7SEG:
MOV R7,#20
QUET:MOV P2,#00H
MOV A,R0
MOV B,#10
DIV AB
MOV DPTR,#MALED
MOVC A,@A+DPTR
MOV P2,A
CALL DELAY60
SETB P1.3
CALL DELAY60
CLR P1.3
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
SETB P1.4
CALL DELAY60
CLR P1.4
CALL DELAY60
RET
DJNZ R7,QUET

MALED:DB 11000000B,11111001B,10100100B,10110000B,10011001B,10010010B,10000010B,11111000B,10000000B,10010000B
RET

DELAYLED:
MOV R5,#200
LAPXI:
MOV R6,#100
LAPYI:
NOP
DJNZ R6,LAPYI
DJNZ R5,LAPXI
RET


DELAY60:
MOV R3,#100
LAPBB:
MOV R2,#50
LAPAA:
NOP
NOP
NOP
DJNZ R2,LAPAA
DJNZ R3,LAPBB
RET
END

Hi, hôm nay Chip giới thiệu cho các bạn 3 phương pháp lập trình Hiển Thị Led 7 Thanh kết hợp IC số 74LS47, 74HC595 để tối ưu chân Vi Điều Khiển.

I. Phương pháp dùng 2 IC 74LS47 kết hợp hiển thị 2 Led 7 Thanh: Mất 1 Port của VĐK là 8 Chân
II. Phương Pháp dùng 1 IC 74HC595 kết hợp 2 tranzitor hiển thị 2 Led 7 Thanh: mất 5 chân VĐK
III. Phương Pháp dùng 1 IC 74LS47 kết hợp 2 tranzior hiển thị 2 Led 7 Thanh: Mất 6 chân VĐK

Tất cả các phương pháp trên Chip tích hợp trong cùng 1 code rất tiện sử dụng:


Code chương trình biên dịch bằng phần mềm Keil C 4:

/*********DESIGNER BY CHIPKOOL_ONLINE************/
//*************WWW.ECHIPKOOL.COM*************//ADMIN
//************WWW.CODIENTU.ORG***************/MOD
#include <REGX52.H>
#include <stdio.h>
#include <math.h>
#define bat 1
#define tat 0
/*************LAP TRINH VOI 74HC595**************/
sbit sh = P2^0;
sbit ds = P2^1;
sbit st = P2^2;
sbit Led1 = P2^3;
sbit Led2 = P2^4;
int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int donvi,chuc;
unsigned char num;
/****************LAP TRINH 2 IC 74LS47************/
int M47[11]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90,0x01};
unsigned char l;
/************LAP TRINH 74LS47 + QUET*************/
int MQ47[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
unsigned char p,so;
int donvi1,chuc1;
sbit Led3 = P3^4;
sbit Led4 = P3^5;
/**************CHUONG TRINH TRE***********************************/
void delay(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<125;j++){;}
}
/****************CHUONG TRINH CHUYEN NOI TIEP SONG SONG 74HC595*******/
void conv(unsigned char x)
{
unsigned int i,temp;
for(i=0;i<8;i++)
{
temp=x;
temp=temp&0x80;
if(temp==0x80)
ds=1;   
else
ds=0;    
x*=2;   
sh=1;   
sh=0;
st=1;
st=0;  
}
}
/**********CHUONG TRINH HIEN THI CHO 74HC595 + 7 DOAN********/
void hienthi(void)
{
int c;
for(c=0;c<100;c++)
{
chuc=num/10;
donvi=num%10;
conv(m[chuc]);
Led1 = bat;
delay(1);
Led1 = tat;
conv(m[donvi]);
Led2 = bat;
delay(1);
Led2 = tat;
}
}
/*****************CHUONG TRINH HIEN THI LED 7447**************/
 void hienthi47(void)
{
int n;
for(n=0;n<20;n++)
{
chuc1=so/10;
donvi1=so%10;
P3 =MQ47[chuc1];
Led3 = bat;
delay(1);
Led3 = tat;
P3 = MQ47[donvi1];
Led4 = bat;
delay(1);
Led4 = tat;
}
}
/***********CHUONG  TRINH HOAT DONG 2 IC 7447 + 2 LED 7 DOAN*/
void chay7447(void)
{
for(l=0;l<11;l++)
{
P0=M47[l];
delay(800);
}
}
/***********CHUONG TRINH HOAT DONG 74HC595 + 2 LED & DOAN QUET*/
void chay74hc595(void)
{
   hienthi();
num=num+1;
if(num==11)num=0;
delay(300);
}

/**********CHUONG TRINH HOAT DONG 1 IC 7447 + QUET************/
void chay7447quet(void)
{
  hienthi47();
so=so+1;
if(so==11)so=0;
delay(200);
}

/**********CHUONG TRINH CHINH**************************/
void main()
{
while(1)
{
//chay7447(); // Phuong phap 1
//chay74hc595();// Phuong Phap 2
chay7447quet(); // Phuong Phap 3
}  

}


( File Mô Phỏng + code)

Nguồn: Echipkool - Chia sẻ kiến thức - Kết nối đam mê điện tử


Code:
#include"calc.h"


void main(void)
{
init(); //¼üÅ̶¨Ê±É¨Ãè³õʼ»¯
status=0;
display(0);
//getkey();
while(1)
{
Refresh(ledbuf);
}
}

void display(signed long x)
{
signed long data t;
unsigned long data tc;
int data i,p,tp;
int fst=0;
for(i=0;i<MAX_DISPLAY_CHAR;i++)
{
ledbuf[i]=0xff;
}
t=x;
if(x>=100000000||x<=-10000000){return;}//ÕûÊýÒç³ö
else if(x>=10000000||x<=-1000000){i=8;}
else if(x>=1000000||x<=-100000){i=7;}
else if(x>=100000||x<=-10000){i=6;}
else if(x>=10000||x<=-1000){i=5;}
else if(x>=1000||x<=-100){i=4;}
else if(x>=100||x<=-10){i=3;}
else if(x>=10||x<0){i=2;}
else{i=1;}

if(x<0)
{
ledbuf[--i]=0x2d;//¸ººÅ´¦Àí
t*=-1;
}

for(p=i-1;p>=0;p--)
{
tc=1;
for(tp=p;tp>0;tp--) tc*=10;
ledbuf[p]=t/tc;
t=t-(ledbuf[p]*tc);
}
for(i=MAX_DISPLAY_CHAR-1;i>=0;i--)
{
if(fst!=0||ledbuf[i]!=0||i==0)
{
ledbuf[i]=value2led(ledbuf[i]);
fst=1;
}
else
{
ledbuf[i]=0xff;
}
}
return;
}

char value2led(char ch)
{
switch(ch)
{
case 0x00: return 0xc0;
case 0x01: return 0xf9;
case 0x02: return 0xa4;
case 0x03: return 0xb0;
case 0x04: return 0x99;
case 0x05: return 0x92;
case 0x06: return 0x82;
case 0x07: return 0xf8;
case 0x08: return 0x80;
case 0x09: return 0x90;
case 0x2d: return 0xbf;
}
}

void getkey (void) interrupt 1 using 0
//¶¨Ê±É¨Ãè¼üÅÌ
{
char data mykey;
  mykey = input();
if(mykey==0)
{
return;
}
else
{
calc(mykey);
}
  return;
 }

void calc(char cur)
{
if(cur=='0')cur=0;
if(cur>=0x00&&cur<=0x09)
digits(cur);
else
operator(cur);
return;
}
void digits(char dt)
{
if(status==0)
{
if(lvalue>=10000000) return;
lvalue*=10;
lvalue+=dt;
display(lvalue);
}
else if(status==1)
{
if(rvalue>=10000000) return;
rvalue*=10;
rvalue+=dt;
display(rvalue);
}
return;
}
void operator(char op)
{
status++;
switch(op)
{
case '+':
case '-':
case '*':
case '/':
if(status==1||status==0)
{
lasttoken=op;
}
else if(status==2)
{
deal();
}
status=1;
break;
case '=':
if(lasttoken==0) return;
deal();
status=0;
break;
case 'C':
lasttoken=op;
deal();
status=0;
break;
case 'S':
lasttoken=op;
deal();
status=0;
}
return;
}

void deal()
{
long result=0;
long num;
switch(lasttoken)
{
case '+':
result=lvalue+rvalue;
break;
case '-':
result=lvalue-rvalue;
break;
case '*':
result=lvalue*rvalue;
break;
case '/':
if(rvalue==0) return;
result=lvalue/rvalue;
break;
case 'C':
lasttoken=0;
break;
case 'S':
if(status==2&&rvalue!=0) num=rvalue;
else num=lvalue;
result=square((double)num);
lasttoken=0;
break;
}
if(result>=100000000)result=0;
lvalue=result;
display(lvalue);
rvalue=0;
return;
}
long absc(long dt)
{
if(dt>=0) return dt;
else return dt*(-1);
}

int square(double dt)
{
double result;
result=dt/2;
    while (absc(result*result-dt)>1)
    result=(result+dt/result)/2;
return result;
}

( Full Code C + Protues)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download


Board mạch (kích thước 7.3  x 4.1mm)

Bố trí linh kiện 

 

Sơ đồ nguyên lý

 


Mã nguồn các bạn mở bằng Keil C

//===========================================
//=CHUONG TRINH HIEN THI NHIET DO TU 00 --> 99 [HIEN THI 2 SO THAP PHAN]=
#include <REG2051.H>

char disp[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
char disp_dot[11]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x3f};

sbit DQ = P3^7;   //KHAI BAO CHAN CAM BIEN
sbit A1=P3^2;      //KHAI BAO CHO LED-7 [1]
sbit A2=P3^3;      //KHAI BAO CHO LED-7 [2]
sbit A3=P3^4;      //KHAI BAO CHO LED-7 [3]
sbit A4=P3^5;      //KHAI BAO CHO LED-7 [4]
//=CHUONG TRINH DELAY
void delay_18B20(unsigned int i)
{
    while(i--);
}
//========================
//=KHOI TAO CAM BIEN
void Init_DS18B20()
{
     unsigned char x=0;
     DQ = 1;
     delay_18B20(8);
     DQ = 0;
     delay_18B20(80);
     DQ = 1;
     delay_18B20(14);
     x=DQ;
     delay_18B20(20);
}
//=DOC MOT BYTE
ReadOneChar(void)
{
    unsigned char i=0;
    unsigned char dat = 0;
    for (i=8;i>0;i--)
     {
          DQ = 0; //CHO DUONG DQ XUONG MUC THAP
          dat>>=1;
          DQ = 1; //CHO DUONG DQ LEN MUC CAO
          if(DQ)
          dat|=0x80;
          delay_18B20(4);
     }
     return(dat);
}
//========================
//=CHUONG TRINH GHI 1BYTE
void WriteOneChar(unsigned char dat)
{
 unsigned char i=0;
 for (i=8; i>0; i--)
 {
  DQ = 0;
  DQ = dat&0x01;
  delay_18B20(5);
  DQ = 1;
  dat>>=1;
 }
}
//========================
//=CHUONG TRINH DOC NHIET DO TU CAM BIEN
ReadTemperature(void)
{
    unsigned char a=0;
    unsigned char b=0;
    unsigned int  t=0;
 
    Init_DS18B20();
    WriteOneChar(0xCC);
    WriteOneChar(0x44);
    delay_18B20(100);
    Init_DS18B20();
    WriteOneChar(0xCC);
    WriteOneChar(0xBE);
    a=ReadOneChar();
    b=ReadOneChar();
    t = (b*256+a)*25;  
    return( t >> 2  );
}
//========================
//=CHUONG TRINH CHINH=====
main()
{
    unsigned int tmp;
    unsigned char counter;
    while(1)
    {
        if(counter-- == 0)
        {
            tmp = ReadTemperature();          
            counter = 20;
        }
        A4 = 0;P1 = 0xc6;delay_18B20(500);A4 = 1;
        A3 = 0;P1 = 0x9c;delay_18B20(500);A3 = 1;
        A2 = 0;P1 = disp[tmp/100%10];delay_18B20(500);A2 = 1;
        A1 = 0;P1 = disp[tmp/1000%10];delay_18B20(500);A1 = 1;
    }
}

(Full - Mediafire)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Theo CTV Nguyen Thanh ( EchipKool.Com)




1. Phiên bản mạch Báo nhiệt dùng DS18B20 có tích hợp Chuông cảnh báo nhiệt độ quá mức giới hạn và có đen tín hiệu cảnh báo.
Video Clip chạy mô Phỏng

2. Nguyên Lý + PCB Altium Designer 10 : View 3D

( Ver Lite Free Link )
( Download Full Protues + Code C + Nguyên Lý + PCB: Contact: new.moon9xone@gmail.com)

Echipkool.com - Điện Tử | Tin Học - Chia sẻ kiến thức - Kết nối đam mê điện tử.


Code:

#include <REGX52.H>

sbit sw=P3^5;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;

unsigned char donvi,chuc,tram,nghin;

unsigned int i,s;

unsigned char m[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

void delay(int time)
{
 while(time--);
}

void display(unsigned int num)
{
    nghin=num/1000;
    tram=(num%1000)/100;
    chuc=((num%1000)%100)/10;
    donvi=((num%1000)%100)%10;

    for(i=0;i<50;i++)
    {
     P2=m[chuc];
     led1=1; led2=0;
     delay(100);

     P2=0xff;
     delay(100);

     P2=m[donvi];
     led2=1;led1=0;
     delay(100);

     P2=0xff;
     delay(100);
    }

}
void main(void)                                
{
   unsigned int count;
            TMOD=0x60;
            TH1=0x00;          
            sw=1;                
            TR1=1;                  

            while(1)                
            {
                        count=TL1;
      if (count >99)
      {
       count = 0;
       TL1=0;

      }
      display(count);
            }
}

( Full code + Mô Phỏng)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Nguồn binhminhks.com





Code:

#include <REGX52.H>
#include<stdio.h>
#include<math.h>
sbit led1= P1^0;
sbit led2= P1^1;
sbit led3= P1^2;
sbit led4= P1^3;
unsigned char m[10]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char donvi,chuc,tram,nghin;

int num;
void delay(int time)
{
 while(time--);
}

void sang(unsigned int num)
 {
       int i;
    //num=9876;
    nghin=num/1000;
    tram=(num%1000)/100;
    chuc=((num%1000)%100)/10;
    donvi=((num%1000)%100)%10;
    for(i=0;i<50;i++)
    {
    P2=m[nghin];
    led1=1; led2=led3=led4=0;
    delay(100);

    P2=0xff;
    delay(100);

    P2=m[tram];
    led2=1; led1=led3=led4=0;
    delay(100);

    P2=0xff;
    delay(100);

    P2=m[chuc];
    led3=1; led1=led2=led4=0;
    delay(100);

    P2=0xff;
    delay(100);

    P2=m[donvi];
    led4=1; led1=led3=led2=0;
    delay(100);

    P2=0xff;
    delay(100);
    }
 }
void main()
{
 while(1)
 {
  int n;
  for(n=0;n<9999;n++)
  {
  sang(n);
  }
 }
}

( Full code + Mô Phỏng)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Nguồn binhminhks.com


Code:

#include <REGX52.H>
sbit led1 = P3^0;
sbit led2 = P3^1;
void delay_ms(unsigned int ms)
{
 unsigned int x,y;
 for(x=0;x<ms;x++)
 for(y=0;y<=125;y++);
}
void delay_us(int time)
{
 while(time--);
}
unsigned char seg7[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void sang(int n)
{
 int c,dv,i;
 c=n/10;
 dv=n%10;
 for(i=0;i<50;i++)
{
  P2=seg7[c];
  led1=1;led2=0;
  delay_us(100);

  P2=0xff;
  delay_us(100);

  P2=seg7[dv];
  led2=1;led1=0;
  delay_us(100);

  P2=0xff;
  delay_us(100);
}

}

void main()
{
 int a;
 while(1)
 {
    for(a=0;a<99;a++)
   {
    sang(a);
   }
 }
}

( Full + Mô Phỏng + Code )
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
Nguồn binhminhks.com

Echipkool.com - Điện Tử |Tin Học - Chia sẻ kiến thức - Kết nối đam mê điện tử

Author Name

{picture https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN0PUWA2genMqX3Sm26mBTX_30OJgDenoIi4K6BR-E1vl3nI7LALp0X759QZgzqrMcGBB7jEbdZnubJbp4n2ZZ22KT196CWCg9DLs3MfEivocdmkjZEPEn-A42hyphenhyphen9dmsca0VIDQr_LjqM/s512-Ic42/pham-van-ngoc-anh.jpg}

Tôi là Ngọc Anh. Tôi đến từ Nghệ An. Tôi tốt nghiệp một trường đại học tại Sài Gòn. Hiện tôi đang phát triển công ty riêng. Liên lạc với tôi qua:

{facebook https://www.facebook.com/phamvanngocanh}
{twitter https://twitter.com/nghiphong1993}
{google https://plus.google.com/+dientuchiase/posts}
{youtube https://www.youtube.com/channel/UCeJKhA_goBNFmDw6RKNtmYQ}

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.