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
-
bạn có thể gửi cho mình kai' code matrix đc koNguyê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
-
bạn sai cú pháp và nhầm P1.0 là 1 chân ở port 1 thì nó là 1bit thì không thể đặt 1 byte vào được.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 Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamkỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
-
Channel: Tâm tình dân kỹ thuật
25-01-2026, 21:29 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI
-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 22:13 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chào bác, gần Tết công việc bác bận lắm phải không?
Vâng mọi người đều thế cả.
Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo...-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 21:53 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietCảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau
https://www.instructables.com/DIY-1k...ge-Controller/-
Channel: Điện tử công suất
23-01-2026, 16:50 -
-
bởi Nexus 6PNhư tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn-
Channel: Điện tử công suất
23-01-2026, 11:23 -
-
bởi mylinhattNếu bạn đang tìm một dòng máy phay đứng CNC vận hành ổn định, gia công tinh chuẩn và tối ưu năng suất, thì Kitamura là lựa chọn rất đáng cân nhắc. Dòng máy này có kết cấu trục chính theo phương thẳng đứng, bàn máy nằm ngang và vận hành tự động thông qua điều khiển bằng máy tính...
-
Channel: Điều khiển - Tự động hóa
23-01-2026, 11:02 -

Comment