cái keil này mới à nha, các bác ui tui sử dụng msc de viet cho ho 89xx va 80xx, vậy muốn chuyển wa keil thì dùg ngôn ngử gì, và xin cho hỏi 1 điều nữa đó là mình có thể lập trình rồi chạy trực tiếp bằng một kic gắn với máy tính wa cổng LPT đc kô,
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
-
Nguyên văn bởi thanhtinh Xem bài viếtcac anh oi gip em lam the nao giao tiep voi ban phim hex va gui no len lcd 20x1
thay giao em bat viet chuong trinh bang c su dung 89c51
http://www.8052.com/codelib.phtml
http://dientuvietnam.net/forums/showthread.php?t=8577
Comment
-
Nguyên văn bởi jindo Xem bài viếtcam on anh zemen nhieu anh kho hieu la phai boi vi em moi chi biet ngat ve ly thuyet con thuc te la em chua lam bai nao ve ngat ca nen cung ko biet no hoat dong ra sao nua,neu cac anh co bai ngat nao don gian de hieu viet ve C thi Post len cho em tham khao DZoi .Cam on cac anh,mong dc huong dan nhieu hon
trước mình cũng làm như bạn nhiều khi gắn ic vô mạch không thấy nó chạy cứ tưởng nó die. sau này xài proteus đỡ mất thời gian hơn nhiều.
Comment
-
các anh ơi em là newbie em đang học lập trình nhúng C cho vi điều khiển 8051.
Em đang chạy keil C bản mới nhất nhưng khi viết chương trình và biên dịch thì bị báo lỗi như sau:
FATAL ERROR L210: I/O ERROR ON INPUT FILE.
EXCEPTION: 0021H PATH OR FILE NOT FOUND.
FILE: myfirst.obj
target not created.
còn đây là source code:
// first embeded file.
#include <reg52.h>
// LED is to be connected to this pin.
sbit LED_pin = P1^5;
//Stores the LED state.
bit LED_state_G;
// function prototype.
void LED_FLASH_Init(void);
void LED_FLASH_Change_State(void);
void DELAY_LOOP_Wait(const unsigned int);
// ham chinh.
void main(void)
{
LED_FLASH_Init();
while(1)
{
//change the LED state (OFF to ON, or vice versa)
LED_FLASH_Change_State();
DELAY_LOOP_Wait(1000);
}
}
// ham LED_FLASH_Init();
void LED_FLASH_Init(void)
{
LED_state_G = 0;
}
// ham LED_FLASH_Change_State().
void LED_FLASH_Change_State(void)
{
if(LED_state_G == 1)
{
LED_state_G = 0;
LED_pin = 0;
}
else{
LED_state_G = 1;
LED_pin = 1;
}
}
// ham delay_loop_wait(constant unsigned int)
void DELAY_LOOP_Wait(const unsigned int DELAY)
{
unsigned int x,y;
for(x=0; x <= DELAY; x++)
{
for(y = 0; y <= 120; y++);
}
}
em cấu hình cpu là generic 8052(all variants).
anh nào có thể giúp em với được ko????
Comment
-
toi moi doc bai của cac ban thay hay qua. nhơ các bạn chỉ giúp :1 bye là 8 bit, thanh ghi A, B , R1-R7 ( trong rom), dia chi 0001, mã máy 7D25 với câu lệnh : mov R5,#25H; thêm giá trị 25h vào R5, có dung lượng 1bye, vậy Rom có dung lượng 4k bye thì ghi dược bao nhieu câu lệnh dung lượng 1 bye và có bao nhieu hex và hex là gì có dung lượng là bao nhiêu?
Comment
-
Nguyên văn bởi dovancuongbl Xem bài viếttoi moi doc bai của cac ban thay hay qua. nhơ các bạn chỉ giúp :1 bye là 8 bit, thanh ghi A, B , R1-R7 ( trong rom), dia chi 0001, mã máy 7D25 với câu lệnh : mov R5,#25H; thêm giá trị 25h vào R5, có dung lượng 1bye, vậy Rom có dung lượng 4k bye thì ghi dược bao nhieu câu lệnh dung lượng 1 bye và có bao nhieu hex và hex là gì có dung lượng là bao nhiêu?
Thứ hai: Câu lệnh 7D25 có dung lượng 2 byte chứ ko phải 1 byte
Thứ ba: Hex là chỉ hệ cơ số 16. Một số Hex được chứa trong 4 bit => 2 số hex tương ứng với 1 byte. Vậy 4Kbyte tương ứng chứa 8196 (8K) số hex.AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
Comment
-
xin chi giao
mình mới học keil C vài hôm và đang làm một bài như sau: gán một mảng arr bằng mảng b: nhưng kết quả arr=!b ?? mình nghĩ cái này liên quan đến tham biến tham trị gì đó. mong các bác chỉ giáo
Code:#include <reg52.h> #include <absacc.h> unsigned char arr[]; unsigned char size; // void delay(unsigned char time) { int e,f; for(e=0;e<time;e++) for(f=0;f<30000;f++) ; } // void outPort(unsigned char port) { XBYTE[0x8000]=port; } // void fontData(char key) { unsigned char i; unsigned char a[]={0,4,42,42,42,62,30,0}; unsigned char b[]={0,254,18,18,18,12,0}; unsigned char c[]={0,28,34,34,34,0}; switch (key) { case 'a': size=8; break; case 'b': size=7; for(i=0;i<size;i++) arr[i]=b[i]; break; case 'c': size=6; break; } } // void main() { XBYTE[0x8003]=128; size=0; arr[0]=254; arr[1]=10; fontData('b'); XBYTE[0x8000]=arr[0]; XBYTE[0x8001]=arr[1]; }
Lần sau bạn nên viết chương trình trong tag codeLast edited by VNarmy; 13-11-2007, 18:15.
Comment
-
Nguyên văn bởi alasca Xem bài viếtcác bạn hãy vào đây mà download xuống nhé.Trong này có một số tài liệu về 8051 có bài tập và ví dụ với từng chương LCD, ADC,DAC, keyboad....rất cụ thể bằng ASM và C do mình sưu tầm được.
mail: nguyendungvidieukhien@gmail.com
user: nguyendungvidieukhien
pass: vidieukhien
Vào mục thư nháp mà download xuống nhé 100% nguyên chất. Mong anh em giữ gìn cho mọi người dùng chung. Ai có gì hay Xin góp phần nữa chứ heeeeee
Comment
-
cam on ban VNamry, may sẽ doc tu dia chi 0000 đến địa chỉ ffffh, mỗi địa chỉ 2 bye, mỗi cau lệnh 2 bye ( hex) 1 bye (nhị phân), vậy nếu rom của IC có dung lượng 4kbye thì ta có 1.000 câu lệnh ( hex) và nhieu hơn thế nữa nếu có câu lệnh bye nhị phân; vi tôi thấy tài nguyên rom là rất nhỏ, chúng ta viết thừa máy không chạy, viết thiêu thi càng khó hơn.
cho minh hoc them chút nua nhé : Ic nhỏ hơn, rẻ hơn, ít chân hơn ( <20 chân) có bán tren thị trường không.
mình kết nối cổng côm, USB trực tiếp với máy tính máy tính có nhận ra không, cần phải làm gì ( phần cứng, phần mền)
Comment
-
xin chỉ giáo
mình mới lập trình keil C và chưa biết cách nào để gán hai mảng cho nhau:
Code:int a[5] //bien toan cuc void gan() { int i; int b[5]={1,2,3,4,5}; for(i=0;i<5;i++) a[i]=b[i]; } // void main() { gan(); }
Last edited by VNarmy; 14-11-2007, 13:26.
Comment
-
Nguyên văn bởi genju Xem bài viếtmình mới lập trình keil C và chưa biết cách nào để gán hai mảng cho nhau:
Code:int a[5] //bien toan cuc void gan() { int i; int b[5]={1,2,3,4,5}; for(i=0;i<5;i++) a[i]=b[i]; } // void main() { gan(); }
Nếu không được bạn đổi lại chương trình main như sau:
Code:void main() { while(1){gan();} }
AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
Xem thêm tại Online Store ---> Click here
Mob: 0982.083.106
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nhathung1101Đa năng còn chưa dùng hết, nếu không biết cách dùng.
200k thì hơi khó mua, nhưng 50k chắc là có. Cứ bảo bán cho tôi cái đồng hồ hỏng.-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 23:21 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Lão Đinh Vặn học giải phương trình hồi đi trẻ mà. Mẫu giáo học lập trình AI rồi. Lớp lão ấy gần lớp em nên em biết....
-
Channel: Điện tử công suất
Hôm qua, 23:11 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vậy chú đã hỏi hãng SIEMEN chưa? Tại sao cái PLC S7-200 cổ lỗ mà họ vẫn thiết kế riêng cho thị trường TQ với chữ SMART? Thậm chí phần mềm riêng để đọc file ngu.smart?
Vấn đề không còn là công nghệ "cốt lõi" nữa, mà là giá thành quyết định. Ham rẻ là trả giá mà....-
Channel: Điện tử công suất
Hôm qua, 23:01 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi vi van phamĐồng ý với Bqv.
50 năm làm nghề, tôi đã chứng kiến 3 lần máy x quang mới nhập từ nước ngoài về bị lỗi.
- Lần thứ 1 máy xq của Pháp được ks Pháp lằp đặt bị lỗi 1 con didode, đưa cho ks Pháp con didode khác cùng mã số, ông...-
Channel: Điện tử công suất
Hôm qua, 08:09 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú dinh... muốn sửa lỗi cho hãng thì chú cứ gửi những hình ảnh, video cho họ đi ạ, chú có thể tìm thông tin của những lãnh đạo bên ấy để gửi thì sẽ hiệu quả hơn ạ. Về tổng quan thì họ sẽ ko phản hồi rõ ràng đâu ạ, vì nhận...
-
Channel: Điện tử công suất
Hôm qua, 06:19 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietCuối năm bàn thêm chuyện to hơn chút, đấy là 2 vụ rơi đám 737 đời mới và trục trặc ở cả tá chiếc khác. Ngay cả những thứ tưởng như cao siêu sang xịn thật thì vẫn có thể gặp trường hợp oái oăm như thường. Từ hồi đó bqv đã thấy khó hiểu làm sao lại đẻ ra đám MCAS quái thai đến thế được. Rồi...
-
Channel: Điện tử công suất
24-01-2025, 19:40 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietBqv phải vào ngay để tán đồng với bài viết trên của bạn. Chỉ bàn về kỹ thuật, thiết bị máy móc của hãng dù danh tiếng vẫn có thể xảy ra những chuyện ngoài dự kiến, thậm chí những chuyện tưởng như không bao giờ có thể xảy ra....
-
Channel: Điện tử công suất
24-01-2025, 19:31 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80(ĐT chia sẻ MPPT này, với mong muốn rằng, chúng ta hãy tự tin lên, hãy tự hào là người VN, đừng quá tin vào người khác, đừng quá thần tượng họ, cần kiểm tra thực chứng chứ không nên cứ cho các thiết bị thông minh, cao siêu là hoàn hảo)
-
Channel: Điện tử công suất
24-01-2025, 12:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Dưới đây là hình ảnh thực:
(bị phạm con tụ pi C17 (phía trên IC U3/DIP08: văng mất xác!)
(hàn vào vị trí C17 tụ pi 27nF ( giá trị phỏng đoán từ 10-100nF!), mạch vẫn chạy như trước khi cạy keo)...-
Channel: Điện tử công suất
24-01-2025, 12:05 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80ĐT đã mạnh dạn mail thử cho hãng SRNE, họ trả lời là nó dùng nhiệt điện trở ở bên trong mạch như sau:
"Our street light controller product triggers high temperature protection based on internal thermistor sampling''
Thấy hơi lo lắng vì kiến thức điện tử...-
Channel: Điện tử công suất
24-01-2025, 11:39 -
Comment