e đang làm mạch hẹn giờ cho một thiết bị mà mãi không đựợc mong được sự chỉ giáo của các cao thủ.
Thông báo
Collapse
No announcement yet.
các bác có mạch hẹn giờ cho một thiết bị không chỉ giúp e với.
Collapse
X
-
THẾ chú muốn làm như thế nào. à bày chú xong chú phải đi bày mấy anh em khác đấyNguyên văn bởi vanlamhaui Xem bài viếte đang làm mạch hẹn giờ cho một thiết bị mà mãi không đựợc mong được sự chỉ giáo của các cao thủ.email:
chỉ được liên lạc từ 19h00 - 21h30
Comment
-
chú giỏi đi bày mấy anh em khác điNguyên văn bởi phiphi9s Xem bài viếtbóc tem, chú em tự làm đi, nhở vả mãi thế. chịu khó cầy 1-2 tuần là ra thôi màemail:
chỉ được liên lạc từ 19h00 - 21h30
Comment
-
dung con ds1307 di. giao dien i2c. chịu kho tim hieu nha. co gj lien lac voi minh: vuongthiencuong@gmail.com
Comment
-
các bác test code này giùm e cái
// Chuong trinh dieu khien Dat thoi gian
// Hien thi tren 8 LED 7seg
// Du lieu dua ra hien thi LED la: P0
// Chan dieu khien led la: P1
// Cac nut nhan MODE, UP, DOWN, SET o P3.0-3
// Relay : P3.4 - Led bao: P2.2
#include <at89x52.h>
#include <intrins.h>
sbit MODE = P3^0; // Phim Mode
sbit UP = P3^1; // Phim UP
sbit DOWN = P3^2; // Phim DOWN
sbit SET = P3^3; // Phim SET
sbit LED = P2^2;
sbit RELAY = P3^4;
bit bit_nhay;
int i,n,mode,up,down,run;
int hour, min, sec, msec;
char Led1,Led2,Led3,Led4,Led5,Led6,Led7,Led8;
unsigned char ma_bcd[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 }; // Common Anode
void delay(int d)
{
for(n=0;n<d;n++);
}
void Quet_Led(void)
{
P1 = P0 = 0xFF;
// Hien thi LED 1
P0 = Led1;
P1 = 0xFE;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 2
P0 = Led2;
P1 = 0xFD;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 3
P0 = Led3;
P1 = 0xFB;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 4
P0 = Led4;
P1 = 0xF7;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 5
P0 = Led5;
P1 = 0xEF;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 6
P0 = Led6;
P1 = 0xDF;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 7
P0 = Led7;
P1 = 0xBF;
delay(10);
P1 = P0 = 0xFF;
// Hien thi LED 8
P0 = Led8;
P1 = 0x7F;
delay(10);
P1 = P0 = 0xFF;
}
void Quet_Phim(void)
{
if (MODE == 0) // Nhan phim MODE
{
LED = 0;
RELAY = 0;
while(!MODE)Quet_Led(); // Cho nha phim
mode++;
run = 0;
if (mode > 3) mode = 1;
}
if(run == 1) // Neu o che do chay.
{
LED = 0;
Led1 = ma_bcd[hour/10];
Led2 = ma_bcd[hour%10];
Led3 = ma_bcd[min/10];
Led4 = ma_bcd[min%10];
Led5 = ma_bcd[sec/10];
Led6 = ma_bcd[sec%10];
Led7 = ma_bcd[msec/10];
Led8 = ma_bcd[msec%10];
}
if (mode != 0)
{
if(UP == 0) // Nhan phim UP
{
while(!UP)Quet_Led(); // Cho nha phim
switch (mode)
{
case 1: hour++; if (hour > 23)hour = 0; break;
case 2: min++; if (min > 59)min = 0; break;
case 3: sec++; if (sec > 59)sec = 0; break;
}
}
if(DOWN == 0) // Nhan phim Down
{
while(!DOWN)Quet_Led(); // Cho nha phim
switch (mode)
{
case 1: if (hour == 0)hour = 23; else hour --; break;
case 2: if (min == 0)min = 59; else min --; break;
case 3: if (sec == 0)sec = 59; else sec--; break;
}
}
Led1 = ma_bcd[hour/10];
Led2 = ma_bcd[hour%10];
Led3 = ma_bcd[min/10];
Led4 = ma_bcd[min%10];
Led5 = ma_bcd[sec/10];
Led6 = ma_bcd[sec%10];
Led7 = 0xFF;
Led8 = 0xFF;
if (bit_nhay == 1)
{
switch (mode)
{
case 1: Led1 = Led2 = 0xFF; break;
case 2: Led3 = Led4 = 0xFF; break;
case 3: Led5 = Led6 = 0xFF; break;
}
}
}
if (SET == 0)
{ // Nhan phim set
while(!SET)Quet_Led(); // Cho nha phim
mode = 0; // Thoat che do dat thoi gian
run = 1;
msec = 0;
RELAY = 0; // Ngat role
LED = 1; // Tat Led xanh
}
}
void Ngat_T1(void) interrupt 3
{
TR1 = 0;
TF1 = 0;
TH1 = -10000/256;
TL1 = -10000%256;
if (mode != 0)
{
msec ++;
if (msec >= 50)
{
msec = 0;
bit_nhay = ~bit_nhay;
}
}
if(run == 1)
{
if (msec == 0)
{
msec = 99;
if (sec == 0)
{
sec = 59;
if (min == 0)
{
min = 59;
if (hour == 0)
{
msec = sec = min = hour = run = 0;
RELAY = 1;
LED = 1;
}
else hour --;
}
else min--;
}
else sec--;
}
else msec --;
}
TR1 = 1;
}
void main()
{
TMOD = 0x11; // Dat Timer1 che do 1
TH1 = TL1 = 0;
ET1 = 1; // Cho phep ngat Timer1
EA = 1; // Cho phep ngat toan bo
TR1 = 1; // Cho phep Timer1 hoat dong
mode = 0; // Cam che do dieu khien
run = 0; // Kich hoat che do cho
LED = 1; // Tat LED
RELAY = 0; // Tat RELAY
// Tat ca cac LED sang so "0"
Led1 = Led2 = Led3 = Led4 = 0xC0;
Led5 = Led6 = Led7 = Led8 = 0xC0;
hour = min = sec = msec = 0;
while(1)
{
Quet_Phim();
Quet_Led();
}
}
Comment
Bài viết mới nhất
Collapse
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -

Comment