các bác ơi, ai có code cho 89s52, nháy led matrix 8x8 hay 5x7 ko, cho e với.
Thông báo
Collapse
No announcement yet.
Tổng hợp các đề tài cho 8051-ASM-Keil(Học tập)
Collapse
X
-
pro ơi a giúp e lập trình ghép nối con 89c51 với con 8259A để mở rộng ngắt cho con VĐK với. e cố tìm đọc mãi nhưng giờ vẫn chưa bít thiết đặt trạng thái khởi đọng ban đầu cho con 8259A như thía nào. A bớt chút thời gian giúp e nha! tks a trước!
Comment
-
linh ơi,cho minh hỏi là những cái ASM mà bạn gửi có đúng ko thế, sao mih thấy mấy ct bị sai
vd như là
ORG 0000H
HUND EQU 100 ;100 x 1000 = 1 giay
COUNT EQU 1000
SETB P2.0 ;P3.0: input
LOOP: JNB P2.0,LOOP ;Cho logic 0 o P3.0
LOOP1: JB P2.0,LOOP1 ;cho logic 1 o P3.0
CLR P1.0
ACALL DELAY
SETB P1.0
SJMP LOOP
DELAY: MOV R7,#HUND
AGAIN: MOV TH0,#HIGH(COUNT)
MOV TL0,#LOW(COUNT)
SETB TR0
WAIT: JNB TF0,WAIT
CLR TF0
CLR TR0
DJNZ R7,AGAIN
RET
end
bạn ko khởi động TMOD thì lam j có thời gian trễ,với lại đk p2.0 chứ đâu phải p3.0,mấy cái ct đó bạn test chưa?
Comment
-
mấy bác nào xài c chỉ e dùng 555 chỉnh nhịp giup e vơi
code e đây ạ
#include <regx51.h>
#define led P0
void delay(unsigned int ms)
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<125;j++)
{
}
}
}
main()
{
while(1)
{
P0=0x00;delay(1000);
P0=0x00;delay(1000);
P0=0x04;delay(1000);
P0=0x08;delay(1000);
P0=0x10;delay(1000);
P0=0x20;delay(1000);
P0=0x40;delay(1000);
P0=0x80;delay(1000);
}
}
Comment
-
Nguyên văn bởi linhnc308 Xem bài viếtBên PIC cũng có một mục như vầy và thấy có nhiều bạn hỏi nên tôi mở thêm cho bên 8051, code cho 8051 tôi có khá nhiều và sẽ cố share dần cho a e mới học, có đủ cả cho ASM và C. Sẽ chuẩn bị và up lên sớm. Mong dc sự đón nhận và ủng hộ của a e, ai có gì hay thì up lên nhé, để cho nhưng người mới đỡ khổ như tôi trước đây, cứ phải mò mẫm và đôt không biết bao nhiêu tiền net cho việc tìm tài liệu.
- Nháy LED dơn, nháy led nhiều chế độ
- LED 7 thanh
- Phím bấm
- RS232
- ADC0804, 0809
- Code cho DAC0808 tôi còn thiếu, ái có bổ xung nhé
- Led matrix
- I2C, SPI
- LCD
.....nhiều code lặt vặt khác.
Phát triển box 8051
Vẫn còn bên AVR nữa, có lẽ cung cần mở môt mục tương tự cho nó đủ bộ AT, AVR, PIC
mail: vietdung91hp@gmail.com
Comment
-
Nguyên văn bởi ngoalong911 Xem bài viếtxin cac pro giai thich gium tai sao khi toi dung ham
MOV P1.0,#3CH
thi chuong trinh bao la Undefined symbol
xin hoi khac phuc ntn ah
thank so much
nếu là p1.0 thì setb hoặc clr
còn là p1 thì mới mov p1,#...
Comment
-
Giúp mình viết code này với.
Mọi người giúp mình với. Mình đã lập trình được khi bấm công tắc thì mở LCD, còn giờ muốn bấm công tắc để LCD tắt thì làm sao ạ,chức năng giống như nút ON/OFF. Mọi người ai giỏi lập trình giúp mình với. thank! Đây là code mình viết:
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#include<math.h>
#include<stdlib.h>
#define bat 1
#define tat 0
sbit ctac = P3^0;
unsigned char dem=1;
sbit RS = P1^0;
sbit RW = P1^1;
sbit EN = P1^2;
sbit f = P3^3;
sbit b = P3^1;
sbit c1=P0^4;
sbit c2=P0^5;
sbit c3=P0^6;
sbit c4=P0^7;
unsigned char x;
unsigned char message[32];
unsigned char i,k;
void delay(unsigned long int t)
{
unsigned long int i;
for(i = 0; i<=t; ++i);
}
/*void phimnhan(void)
{ if(ctac==0)
{delay(100);
while(ctac==0);
delay(100);
dem++;
}
} */
void busy_flag (void)
{
P2 = 0xff;
RS = 0;
RW = 1;
do
{
EN = 1;;
delay (10);
EN = 0;
x = P2;
x = x&0x80;
}
while(x!= 0x80);
}
void write_command (unsigned char lcd_command)
{
busy_flag();
P2 = lcd_command;
RS = 0;
RW = 0;
EN = 1;
delay(10);
EN = 0;
delay(10);
}
void write_data(unsigned char LCD_data) // thanh ghi du lieu
{
busy_flag();
if(LCD_data!='\n')
{
P2=LCD_data;
}
else
{
write_command(0xC0);
return;
}
RS=1;
RW=0;
EN=1;
delay(80);
EN=0;
delay(80);
}
void write_string(char *s)
{
while(*s)
{
write_data(*s);
s++;
}
}
void init (void)
{
write_command(0x03); //
write_command(0x38);
write_command(0x06);
write_command(0x0e);
}
void hienthi()
{
/*if(P0==0xee){write_command(0x01);
write_command(0x80);
write_string(" phim so 1 ");
P3=0xf1;} */
/*if(P0==0xde){write_command(0x01);
write_command(0x80);
write_string(" \n phim so 2 ");P3=0xf2;} */
if(P0==0xbe){write_command(0x01);
write_command(0x80);
write_string(" ON ");
write_command(0x0c);}
if(P0==0x7e){write_command(0x01);
write_command(0x80);
write_string(" OFF ");
write_string(" 3 "); delay(500); write_command(0x01);
write_string(" 2 "); delay(500);write_command(0x01);
write_string(" 1 "); delay(500); write_command(0x01);
write_command(0x08);
return; }
/*if(P0==0xed){write_command(0x01);
write_command(0x80);
write_string(" phim so 5 ");}
if(P0==0xdd){write_command(0x01);
write_command(0x80);
write_string(" phim so 6 ");} */
if(P0==0xbd){write_command(0x01);
write_command(0x80);
write_string(" VOLUME+ ");}
if(P0==0x7d){write_command(0x01);
write_command(0x80);
write_string(" VOLUME- ");}
/*if(P0==0xeb){write_command(0x01);
write_command(0x80);
write_string(" phim so 9 ");}
if(P0==0xdb){write_command(0x01);
write_command(0x80);
write_string(" phim so 10 ");} */
if(P0==0xbb){write_command(0x01);
write_command(0x80);
write_string(" UP ");}
if(P0==0x7b){write_command(0x01);
write_command(0x80);
write_string(" DOWN ");}
/*if(P0==0xe7){write_command(0x01);
write_command(0x80);
write_string(" phim so 13 ");}
if(P0==0xd7){write_command(0x01);
write_command(0x80);
write_string(" phim so 14 ");} */
if(P0==0xb7){write_command(0x01);
write_command(0x80);
write_string(" ENTER ");}
if(P0==0x77)
{
write_command(0x01);
write_command(0x80);
sprintf(&message[0],"ESC");
write_string(&message[0]);P3=0x00;
}
}
void dieukhien(void)
{
int n[5] = {0xfe,0xfd,0xfb,0xf7};
for (i=0; i<=3;++i)
{
P0 = n[i];
hienthi();
}
}
/* Lenh cuon tang tuyen tinh
k = 0xfe;
for(i=0;i<=3;++i)
{
P0 = k;
k = _crol_(k,1);
}*/
void main (void)
{
while(1)
if(ctac==0)
{
delay(100);
init();
write_command(0x01);
write_command(0x80);
sprintf(&message[0]," CAM BIEN\nHONG NGOAI_LCD");
write_command(0x0c);
write_string(&message[0]);
/*while(ctac==1)
{
//delay(100);
write_command(0x08);
} */
while(1)
{
dieukhien();
delay(10);
}
}
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Mạch tự động bật nguồnbởi davidcopyChỉ cần dùng R C mắc vô phím power là ok....
-
Channel: Điện tử gia dụng
Hôm qua, 20:47 -
-
Trả lời cho Hỏi cách điều chế xungbởi davidcopydùng mach khuếch opamp...
-
Channel: Kỹ thuật điện tử tương tự
Hôm qua, 20:42 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi davidcopy
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:56 -
-
bởi bqvietĐấy gọi là cái "điểm gãy" trong đồ thị điện áp - dung lượng còn lại. Dùng điện áp hở cực để xác định sắp hết hoặc gần đầy thì vẫn tạm ổn. Dùng để đo SOC/DOD thì đừng. Ngay cả số km đã đi cũng chả xác định được...
-
Channel: Điện tử dành cho người mới bắt đầu
17-01-2025, 21:36 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vâng, em cũng nghĩ thế khi search được hãng ấy là SRNE, nên em test luôn những cái còn lại, và kết quả đều như nhau.
Nhận thấy kết quả khó chấp nhận, em cũng phân vân có nên mail cho họ để họ thử kiểm tra mã đó không; giữa...-
Channel: Điện tử công suất
17-01-2025, 11:33 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Xin cảm ơn bác bqviet luônnhiệt tình cho biết nhiều thông tin quí báu, cảm ơn bạn mèomướp có ví dụ đơn giản và dễ hiểu, cảm ơn tất cả đã bớt chút thời gian quí báu vào đây đọc bài.
Cảm ơn bác nhathung1101 cho thông tin và chúc mừng bác mua được những tấm pin NLMT cực tốt theo...-
Channel: Điện tử công suất
17-01-2025, 11:22 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú nhat... cứ coi pin mặt trời như 1 cái ắc qui nhìu ngăn mắc nối tiếp ấy ạ. Khi 1 ngăn yếu thì cả cái ắc qui yếu luôn ạ. Nó có nhìu bộ nối tiếp mắc song song nên bị che 1 khoảng nhỏ ảnh hưởng nhìu nhưng chắc ko đến nỗi mất 50% đâu ạ...
-
Channel: Điện tử công suất
17-01-2025, 06:36 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Nếu nói bị cái lá che sáng mà giảm 50% thì tôi càng không tin, bởi trên vườn tôi mặc kệ ông trời làm vệ sinh.
Tức là lá tự rụng, gió tự dọn. Ai hơi đâu mà leo lên dọn. Nếu phải như thế thì tôi dek thèm lắp làm gì.-
Channel: Điện tử công suất
16-01-2025, 21:44 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Chả hiểu ý cậu nói gì. Cái diode bypass quan trọng thế ư???
Cái giàn của tôi chả thấy cái diode nào mà vẫn hoạt động hơn 3 năm rồi.
Nhưng nó không có kiểu nối dây với bấm cốt như của cậu.
Tóm lại là tiền nào của nấy, đừng hoang tưởng kỹ thuật hóa. Kẻo ô tô điện đua nhau lắp diode.-
Channel: Điện tử công suất
16-01-2025, 21:31 -
-
Trả lời cho Dùng biến áp tự ngẫu 110V có tốn điện không?bởi nhathung1101Tôi dùng 4 cái điều hòa Fujitsu hàng bãi Nhật, nên phải dùng 4 cục đổi nguồn 220 xuống 100V. Để bật quanh năm, chả thấy bằng bữa bia. Chứ tắt đi là mất mấy bữa luôn.
-
Channel: Điện tử gia dụng
16-01-2025, 21:24 -
Comment