xin lỗi mọi người vì mình ko biết cách porst sao cho ngắn bài cả
Thông báo
Collapse
No announcement yet.
HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]
Collapse
X
-
em mới học lạp trinh nên k biêt lỗi ở chỗ nào . các anh tìm giúp em với tk các pro trước nhé
#include <REGX51.H>
#include <STDIO.H>
unsigned char i,j,k;
// ham tre
void tre(long time)
{
long n;
for (n=0;n<time;n++)
{
;
}
}
//hieu ung 1
void hieu_ung_mot(void)
{
for (k=0;k<8;k++)
{
P0=P1=P2=P3=0xff;
tre (1000);
P0=P1=P2=P3=0x00;
tre (1000);
}
}
//hieu ung chop 16 bong 1
void hieu_ung_2(void)
{
for (k=0;k<8;k++)
{
P0=P3=0xff;
tre(1000);
P0=P3=0x00;
tre(1000);
P1=P2=0x00;
tre(1000);
P1=P2=0xff;
tre(1000);
}
}
//hieu uong sang dan tu dau toi cuoi
void hieu_ung_3(void)
{
unsigned char M[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,
0x80,0x00};
unsigned char N[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,
0x01,0x00};
P1=P2=P3=P0=0xff;
for (i=0;i<8;i++)
{
P0=M[i];
tre(10000);
}
for (i=0;i<8;i++)
{
P2=N[i];
tre(1000);
}
for(i=0;i<8;i++)
{
P3=N[i];
tre(1000);
}
for (i=0;i<8;i++)
{
P1=N[i];
tre(1000);
}
}
void main(void)
{
while (1)
{
hieu_ung_mot();
tre(1000);
hieu_ung_2();
tre(1000);
hieu_ung_3();
tre(1000);
}
}
có gì gửi vào mail giùm em nhé
dinhlap270789@gmail.com
Comment
-
hienclubvn mình đổi rồi mà nó vẫn k hex ra được h hex ra no toàn báo thế này này nhưng hèm bít thế nào
Build target 'Target 1'
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: I
MODULE: laptrinh.obj (LAPTRINH)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: MAIN
MODULE: laptrinh.obj (LAPTRINH)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: _TRE
MODULE: laptrinh.obj (LAPTRINH)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?HIEUUNGMOT?LAPTRINH
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?HIEUUNG2?LAPTRINH
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?HIEUUNG3?LAPTRINH
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?MAIN?LAPTRINH
Program Size: data=57.0 xdata=0 code=958
Target not created
Comment
-
báo lỗi ko tương thích dữ liệu, hì, hiền sữa lại rui` đóPHP Code:#include <REGX51.H>
unsigned char i,j,k;
// ham tre
void tre( unsigned int time)
{
long n;
for (n=0;n<time;n++)
{
;
}
}
//hieu ung 1
void hieu_ung_mot(void)
{
for (k=0;k<8;k++)
{
P0=P1=P2=P3=0xff;
tre (1000);
P0=P1=P2=P3=0x00;
tre (1000);
}
}
//hieu ung chop 16 bong 1
void hieu_ung_2(void)
{
for (k=0;k<8;k++)
{
P0=P3=0xff;
tre(1000);
P0=P3=0x00;
tre(1000);
P1=P2=0x00;
tre(1000);
P1=P2=0xff;
tre(1000);
}
}
//hieu uong sang dan tu dau toi cuoi
void hieu_ung_3(void)
{
unsigned char M[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,
0x80,0x00};
unsigned char N[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,
0x01,0x00};
P1=P2=P3=P0=0xff;
for (i=0;i<8;i++)
{
P0=M[i];
tre(10000); // Hic, delay 10.000 thi` ko char dc, vi` max unsigned char = 255
}
for (i=0;i<8;i++)
{
P2=N[i];
tre(1000);
}
for(i=0;i<8;i++)
{
P3=N[i];
tre(1000);
}
for (i=0;i<8;i++)
{
P1=N[i];
tre(1000);
}
}
void main(void)
{
while (1)
{
hieu_ung_mot();
tre(1000);
hieu_ung_2();
tre(1000);
hieu_ung_3();
tre(1000);
}
}
Nên sài Timer hay hơn,mình ít khi sài delay, cần thiết mới sài thôi
My Face :
Comment
-
Mấy pác xem hộ em đoạn cde này với, Đây là đoạn code em viết truyền nhận 11bit chế độ 2 tốc độ baud cố định 1200.
mục tiêu của em là: ấn phím p0_2 của master thì gọi ngắt nối tiếp phát bye 0x01.Bên slave thì khi có ngắt thu thu vào bye trên và so sánh với 0x01,nếu bằng nhau thì set p2_0=0.Em viết như thế này không thấy chạy gì cả
Master
#include<AT89X52.h>
#define k1 P0_2
unsigned char ID,count;
void truyen(void) interrupt 4
{
SCON=0x72;
TB8=1;
ID=0x01;
SBUF=ID;
TI=0;
}
void init()
{
EA=1;
ES=1;
TMOD=0x02;
TH1=0xE6;
TR1=1;
}
void getkey()
{
k1=1;
if(!k1)
{
count++;
}
}
void main()
{
init();
while(1)
{
getkey();
if(count==1)
{
TI=1;
}
count=0;
}
}
Slave
#include<AT89X52.h>
unsigned char ID,count;
void truyen(void) interrupt 4
{
RI=0;
SCON=0x72;
ACC=SBUF;
if(ACC==0x01)
{
P2=3;
P2_0=0;
}
}
void init()
{
EA=1;
ES=1;
TMOD=0x02;
TH1=0xE6;
TR1=1;
}
void main()
{
init();
while(1)
{
}
}
Comment
Bài viết mới nhất
Collapse
-
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
Hôm qua, 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
Hôm qua, 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 -
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -

Comment