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
-
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ôiMy 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 Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment