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
-
Nguyê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
-
Nguyê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
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ chú mua thêm loa tép nối tiếp qua con tụ rồi mắc vào cùng loa trung là được ạ...
-
Channel: Điện thanh
Hôm qua, 19:53 -
-
Trả lời cho Tìm datasheet linh kiện điện tử.bởi mèomướpDạ cháu hỏi bạn cháu thì bạn ấy trả lời như thế này ạ. Cháu cũng hông bít có đúng hông nữa ạ
Linh kiện điện tử với mã "943BA" và "W58BAL" là một loại cầu chì tự động (circuit breaker) do TE Connectivity sản...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 19:50 -
-
bởi viettinhChuyện là mình mới đập hộp con loa kéo Sony SRS-XV900. Do khu vực mình k có sẵn hàng để trải nghiệm thực tế nên chỉ tham khảo các kênh revew online.
Mua về sử dụng thì thấy hơi buồn về chất âm, Mở max k to bằng cái loa kéo china, bass...-
Channel: Điện thanh
Hôm qua, 17:18 -
-
Trả lời cho Tìm datasheet linh kiện điện tử.bởi yeurap7em tra google cũng ko có...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 16:37 -
-
Trả lời cho Trình điều khiển bước rời rạcbởi mèomướpDạ nếu chú đã viết được chương trình cho vđk thì thêm 1 chương trình con chạy động cơ bước chỉ đơn giản là copy phát. Về phần cứng thì vài con cách ly quang, vài con mosfet thôi ạ. thực sự là dễ dàng như bài tập bình thường của sinh viên thôi ạ...
-
Channel: Máy công cụ
06-01-2025, 12:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi Minhdai95vâng mình cảm ơn mn đã góp ý
-
Channel: Điện tử công suất
06-01-2025, 11:30 -
-
bởi tom22Xin chào
Tôi có một dự án trong đó một động cơ bước tích hợp được điều khiển bởi một bộ vi điều khiển.
Nhưng tôi thực sự không thích trả tiền cho trình điều khiển bước, khi tôi có một bộ vi điều khiển có khả năng thực...-
Channel: Máy công cụ
06-01-2025, 10:54 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú chủ thớt có thời gian và đam mê thì cứ từ từ ngâm cứu đi ạ đừng nghe chú Chú bq... dọa mà sợ ạ. Cái nguồn nhìn cũng lởm có khi hông bằng cái máy hàn tàu của chị hàng xóm hôm nọ tháo ra sửa với chú thợ thông ống nước suốt đêm mới xong. Chú ý an toàn xíu là được ạ...
-
Channel: Điện tử công suất
05-01-2025, 15:40 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi bqvietBộ nguồn xung ở tầm công suất 2700W này, gần 3 ký, không bao giờ đơn giản để mà sửa ngay cả đối với người có kinh nghiệm chứ đừng nói người không chuyên. Đám linh kiện công suất không tự nhiên cháy mà phải xuất phát từ nguyên nhân...
-
Channel: Điện tử công suất
04-01-2025, 22:09 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú kiểm tra đi ốt đầu vào, ra nữa ạ. Về phần kiểm tra dao động chú hỏi chị google ấy ạ, có nhìu cô chú đã hướng dẫn rồi ạ...
-
Channel: Điện tử công suất
04-01-2025, 16:53 -
Comment