Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.


CÙNG HỌC TẬP VÀ CHIA SẺ
 
Trang ChínhNỘI QUYLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Lập trình C cho vi điều khiển cho 8051

Go down 
5 posters
Tác giảThông điệp
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun Apr 24, 2011 10:11 am

Các bác nào đã học đang hoc và sắp học có thể vào đây cùng nhau chia sẻ kiển thức nhé !
34f
Về Đầu Trang Go down
https://diendientu.forumvi.com
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun Apr 24, 2011 10:22 am

Đây là 2 cuốn viết bằng tiếng anh .Ko phải dễ ăn 21
[You must be registered and logged in to see this link.]

Đây rùi ! tài liệu tiếng việt nè :
[You must be registered and logged in to see this link.]

Chúc thành công (^_^)
12 17
Về Đầu Trang Go down
https://diendientu.forumvi.com
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun Apr 24, 2011 11:38 am

Mình giờ cũng mới vào nghề nên vẫn gà quá mong thông cảm 33
[You must be registered and logged in to see this image.]

[You must be registered and logged in to see this link.]
Về Đầu Trang Go down
https://diendientu.forumvi.com
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:14 pm

Mình muốn đếm từ 00-99 bằng mã BCD trên Post 1 bạn nào biết cách làm chỉ mình với Thank ! Code thì tốt quá
Về Đầu Trang Go down
https://diendientu.forumvi.com
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:14 pm

mình có code này mọi người xem dùm mình với không biết có hiển thị được ko?
......
while(1)
{
unsigned int x;
for(x=0;x<99;x++)
{
P1 = hienthi[x%10] ;
delay(1);
P1 = hienthi[x/10];
delay(1);
Về Đầu Trang Go down
https://diendientu.forumvi.com
Sunset_Pro
Thành viên chính thức
Thành viên chính thức



Tổng số bài gửi : 55
Điểm : 97
Danh tiếng : 11
Ngày tham gia : 25/12/2010
Đến từ : UNETI

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:23 pm

code bạn viết như vậy thì còn thiếu.
- nếu muốn hiển thj thì trước tiên bạn phải khai báo:
+/thư viện.ví dụ 89x51.h
+/khai báo mã led
+/viết hàm quét led
+/và mô phỏng.
chúc bạn thành công!
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:25 pm

chương trình bạn viết như thế sẽ bị nhảy loại thui!
ở đây mình viết luôn chương trình điểu khiển đếm từ 0000 đến 9999 và lặp lại!
bạn dùng 4 ic 7447 giả mã nhé!

#include
unsigned int x,y,z,w,h,k,p;
void delay_1(s)
{
unsigned int f,t;
for(f=0;f for(t=0;t<10;t++)
{
TMOD=0x00;
TH0=0xC350;
TL0=0xC350;
TR0=1;
while(!TF0);
TF0=0;
TR0=0;
}
}
main()
{
while(1)
{
P2=0x00;
y=10;
for(k=1;k<100;k++)
{
P3=0x00;
for(x=1;x<100;x++)
{
w=x%y;
z=x/y;
P3=z*16+w;
delay_1(2);
}
p=k%y;
h=k/y;
P2=h*16+p;
delay_1(2);
}
}
}
Về Đầu Trang Go down
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:26 pm

Ukm! mình chưa viết hết mong các bạn giúp nhé làm mãi ko đươc:
unsigned char hienthi[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
main()
{
while(1)
{
unsigned int x;
{
for(x=0;x<99;x++)
{
P1 = hienthi[x%10] ;
delay(1);
P1 = hienthi[x/10] ;
}
{
delay(1);
}
}
}
}


Được sửa bởi huudotb ngày Sat May 07, 2011 10:27 pm; sửa lần 1.
Về Đầu Trang Go down
https://diendientu.forumvi.com
huudotb
Thành viên đặc biệt
Thành viên đặc biệt
huudotb


Tổng số bài gửi : 397
Điểm : 1334
Danh tiếng : 63
Ngày tham gia : 30/11/2010
Tuổi : 35
Đến từ : Thái Bình

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:27 pm

Phần tạo trễ mình ko viết nhé

Về Đầu Trang Go down
https://diendientu.forumvi.com
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:30 pm

cái chương trình bạn viết quá kỳ cục!
chắc chắn là sẽ không thể chạy đuơcj!
vì P1 của bạn sẽ chẳng thể hiện cái gì cả!
35f
Về Đầu Trang Go down
Sunset_Pro
Thành viên chính thức
Thành viên chính thức



Tổng số bài gửi : 55
Điểm : 97
Danh tiếng : 11
Ngày tham gia : 25/12/2010
Đến từ : UNETI

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:34 pm

- chương trình của bạn lucky viết thì tôi đọckhông hiểu. 33
-chương trình bạn huwudo viết vẫn còn thiếu phần quét led.(ở đây bạn dùng led 7 thanh tức cực mức thấp)
-tôi có một chương trình nho nhỏ thế này,bạn tham khảo:

// khai bao Header
#include
#include

#define m 2 // dinh nghia m de sau nay tien cho viec chinh sua thoi gian quyet led
// Khai bao Bit can dung
sbit start = P1^0; // nut nhan bat dau
sbit Led1 = P2^0; // Cac dau ra quyet led
sbit Led2 = P2^1;
sbit Led3 = P2^2;
sbit Led4 = P2^3;
sbit Led5 = P2^4;
sbit Led6 = P2^5;
sbit Led7 = P2^6;
sbit Led8 = P2^7;



unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // Ma data cua led 7 thanh
unsigned long int result;
unsigned char million,hundred thousand,ten thousand,thousand,hundred,tens,unit;

// Ham tao tre de quyet led, ham nay chi mang tinh chat tao tre, chu thoi gian thuc trong ham khong dung voi thoi gian tre thuc su trong VDK
void delay_ms(unsigned int time)
{
unsigned int i;
unsigned int j;
for(i = time;i>0;i--)
for(j=0;j<300;j++);
}
// Ham xoa Led de giam hieu ung chop cua LED ( Do lech so voi tan so nhin thay cua mat )
void clear_led(void)
{
P0=0xff;
P2=0x00;
}
// Ham quet LED
void Display(void)
{
clear_led();
million=result/1000000
if (million == 0) // Neu gia tri trong hang nghin = 0 thi led hang nghin khong sang
clear_led();
else
{ Led8 = 1; Led7 = 0; Led6=0; Led5 = 0;Led4 = 0; Led3=0; Led2 = 0;Led1 = 0;
P0=M[million];
delay_ms(m);
clear_led();
}
thousand = result/1000;

if (thousand == 0) // Neu gia tri trong hang nghin = 0 thi led hang nghin khong sang
clear_led();
else
{ Led4 = 1; Led3 = 0; Led2=0; Led1 = 0;
P0=M[thousand];
delay_ms(m);
clear_led();
}

hundred =(result%1000)/100;

if ((thousand == 0)&&(hundred == 0)) // Neu gia tri trong hang nghin, va hang tram deu = 0 thi led hang nghin, hang tram khong sang
clear_led();
else
{ Led4 = 0; Led3 = 1; Led2=0; Led1 = 0;
P0=M[hundred];
delay_ms(m);
clear_led();
}

tens = ((result%1000)%100)/10;

if ((thousand == 0)&&(hundred == 0)&&(tens == 0)) // Neu gia tri trong hang nghin, va hang tram, hang chuc deu = 0 thi led hang nghin, hang tram, hang chuc khong sang.
clear_led();
else
{ Led4 = 0; Led3 = 0; Led2=1; Led1 = 0;
P0=M[tens];
delay_ms(m);
clear_led();
}

unit =((result%1000)%100)%10;
Led4 = 0; Led3 = 0; Led2=0; Led1 = 1;
P0=M[unit];
delay_ms(m);
clear_led();
}
[left]
Về Đầu Trang Go down
Sunset_Pro
Thành viên chính thức
Thành viên chính thức



Tổng số bài gửi : 55
Điểm : 97
Danh tiếng : 11
Ngày tham gia : 25/12/2010
Đến từ : UNETI

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:39 pm

đoạn chương trình trên chỉ l;à riêng phần heeij thị quét led.
==> công việc hiện thị số nào là việc quá đơn giản.
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySat May 07, 2011 10:42 pm

chương trình của mình là quá đơn giản mà!
bạn chỉ nạp số!
sau đó chia cho 10
lấy thương nhân với 16 để đẩy nó lên từ bít thứ 4 đến bít thứ 8 của mỗi post!
sau đó bạn cộng với số dư!
như vậy với 8 bít chúng ta sẽ hiển thị được 00-99 và
với 16 bít sẽ có 0000-9999
chương trình quá đơn giản!
bạn hãy copy về và chạy thử nhé!
và đây là video chương trình của mình!

Về Đầu Trang Go down
nguyendien.uneti
Thành viên đặc biệt
Thành viên đặc biệt
nguyendien.uneti


Tổng số bài gửi : 307
Điểm : 801
Danh tiếng : 68
Ngày tham gia : 06/12/2010
Đến từ : Nam Định

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 3:18 am

Bạn Lucky làm thêm phần quét led , để mọi người tham khảo nhé .
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 10:45 am

Mình nghĩ nếu chúng ta kết hợp giữa VDk và kỹ thuật số thì thật tuyệt vời!
Chúng ta sẽ có những dòng lệnh rất ngắn!
Sẽ không làm tốn dung lượng cho bố nhớ của VDK!
Mặt khác chúng ta sẽ thực hiện được nhiều công việc hơn với cùng 1 dung lượng của bố nhớ!
với những bài tập lớn chúng ta phải tính đến điều này!

15 15 15 15
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 10:45 am

nguyendien.89 đã viết:
Bạn Lucky làm thêm phần quét led , để mọi người tham khảo nhé .

Chắc hẳn có nhiều bạn từng quan tâm đến việc làm led trái tim tặng bạn gái!
mình xin demo 1 vi dụ để các bạn tham khảo:
chương trình ở đâu mình thiết kế với >80 hiệu ứng trong thời gian <7 phút!
các bạn tham khảo nhé!
nếu được thì vỗ tay cái nhé!
Về Đầu Trang Go down
nguyendien.uneti
Thành viên đặc biệt
Thành viên đặc biệt
nguyendien.uneti


Tổng số bài gửi : 307
Điểm : 801
Danh tiếng : 68
Ngày tham gia : 06/12/2010
Đến từ : Nam Định

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 10:56 am

Ý bạn là j nhỉ ? Kết hợp Vi điều khiển với Kỹ thuật số . Nói về để làm được một bài vi điều khiển thì kết hợp nhiều môn lắm . Cũng tùy theo ứng dụng mà ta có kết hợp với các vi mạch hỗ trợ hay ko ? Ví dụ như bài hiển thị Led 7 thanh của bạn ở trên , dùng mã BCD chỉ tốn 4 chân của port + IC 74LS47 hiển thị được 1 led7 thanh .Nhưng nhược điểm của mã BCD là số 6 và số 9 bị mất đuôi .hehe .Nên chỉ với những ứng dụng hiển thị nhiều Led 7 thanh mới dùng đến mã BCD .Còn về bộ nhớ chương trình mình nghĩ ko dùng hết thì phí , để thừa làm j . 33 .
Và nhiều ứng dụng thì chắc chắn phải có sự tham gia của các vi mạch .
Về Đầu Trang Go down
nguyendien.uneti
Thành viên đặc biệt
Thành viên đặc biệt
nguyendien.uneti


Tổng số bài gửi : 307
Điểm : 801
Danh tiếng : 68
Ngày tham gia : 06/12/2010
Đến từ : Nam Định

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 10:59 am

lucky đã viết:
nguyendien.89 đã viết:
Bạn Lucky làm thêm phần quét led , để mọi người tham khảo nhé .

Chắc hẳn có nhiều bạn từng quan tâm đến việc làm led trái tim tặng bạn gái!
mình xin demo 1 vi dụ để các bạn tham khảo:
chương trình ở đâu mình thiết kế với >80 hiệu ứng trong thời gian <7 phút!
các bạn tham khảo nhé!
nếu được thì vỗ tay cái nhé!
Ý mình là quét led 7 thanh cơ mà bạn . Còn về ứng dụng trên của bạn là rất sáng tạo . 30
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 11:04 am

21 ý mình là những bài tập lớn thì chúng ta lên tiết kiện bố nhớ! và chắc chắn là chúng ta muốn bộ nhớ k bị thừa rùi! Bạn hãy so sánh là chúng ta sẽ thực hện được nhiều hay ít công việc với cùng một bộ nhớ!
Và việc dùng kỹ thuật số để chúng ta có những quy luật chạy cho chương trình của mình! Chứ không riêng một trường hợp nào cả!
Thân chào!
35f
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptySun May 08, 2011 11:07 am

với leb 7 đoạn mình khuyên các bạn nên tìm quy luật hoạt động của nó!
và chúng ta sẽ viết chương trình rất nhanh!
Và đó là 1 câu hỏi mở cho mọi người!
ok nhé!
33
Về Đầu Trang Go down
chjpchjp_1991
Thành viên mới
Thành viên mới
chjpchjp_1991


Tổng số bài gửi : 6
Điểm : 9
Danh tiếng : 0
Ngày tham gia : 24/12/2010

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptyTue Nov 08, 2011 3:39 am

33
Về Đầu Trang Go down
lucky
Thành viên đặc biệt
Thành viên đặc biệt
lucky


Tổng số bài gửi : 240
Điểm : 580
Danh tiếng : 17
Ngày tham gia : 06/12/2010
Tuổi : 36
Đến từ : Việt Nam

Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 EmptyMon Nov 14, 2011 12:53 pm

hihi!
Về Đầu Trang Go down
Sponsored content





Lập trình C cho vi điều khiển cho 8051 Empty
Bài gửiTiêu đề: Re: Lập trình C cho vi điều khiển cho 8051   Lập trình C cho vi điều khiển cho 8051 Empty

Về Đầu Trang Go down
 
Lập trình C cho vi điều khiển cho 8051
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» HỌ VI ĐIỀU KHIỂN 8051
» VI ĐIỀU KHIỂN AVR
» HỌ VI ĐIỀU KHIỂN AVR
» Giới thiệu về vi điều khiển
» Điều khiển đèn bằng cách sờ tay

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ ,TRUYỀN THÔNG :: VI XỬ LÝ- VI ĐIỀU KHIỂN :: Phần mềm và trao đổi kiến thức môn-
Chuyển đến