Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
02/11/2011 08:11 # 1
RBC_rbc
Cấp độ: 4 - Kỹ năng: 4

Kinh nghiệm: 24/40 (60%)
Kĩ năng: 9/40 (22%)
Ngày gia nhập: 25/10/2010
Bài gởi: 84
Được cảm ơn: 69
Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


 Mình mở topic này với hy vọng các bạn sinh viên cùng nhau học về Vi điều khiển.Topic sẽ xây dựng từ những phần căn bản nhất về lý thuyết đến những ứng dụng thực tiễn.(Lập trình bằng c)
Yêu cầu thành viên tham gia:
Họ tên:
Email:
Lớp:
Các bạn đăng ký tại topic"Đăng ký học Vi điều khiển-Cấu trúc-Lập trình và ứng dụng"
Nội dung:
1.Xuất nhập với các cổng
2.Hiển thị LED 7 đoạn
3.Hiển thị bằng matrix LED
4.Ghép nối với LCD hiển thị ký tự
5.Bộ đếm sản phẩm sử dụng ngắt ngoài
6.Tạo xung vuông,hẹn giờ và đo tần số sử dụng timer
7.Tạo xung PWm
8.Giao tiếp với bàn phím matrix
9.Trao đổi dử liệu qua cổng nối tiếp
10.Xử lý đa nhiệm -thời gian thực RTX51
Một số ựng dụng với họ vi điều khiển 8051:
1.Thang máy
2.Ổ định tốc độ động cơ
3.Đếm sản phẩm
4.Đèn giao thông
5.Hiển thị tốc độ động cơ
6.Đồng hồ thời gian thực
7.Máy tính casio
8.Quang báo
9.Giao tiếp máy tính
10.Điều khiển hệ thống điện.
Kết thúc topic này mình sẽ tổ chức thêm một số topic như: VĐK PIC,AVR.




 Đặng Ngọc Sỹ - TT CEE 


 
Các thành viên đã Thank RBC_rbc vì Bài viết có ích:
02/11/2011 10:11 # 2
RBC_rbc
Cấp độ: 4 - Kỹ năng: 4

Kinh nghiệm: 24/40 (60%)
Kĩ năng: 9/40 (22%)
Ngày gia nhập: 25/10/2010
Bài gởi: 84
Được cảm ơn: 69
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


BÀI 1: TRÌNH DỊCH C CHO HỌ VI  ĐIỀU KHIỂN 8051

1.Khung một chương trình viết cho vi điều khiển

//Khai báo các thư viện

#include<stdio.h>

#include<reg51.h>

//Khai báo các biến số,hằng số,cấu trúc,chương trình con.

unsigned int x;                      //biến x

unsigned char A[];               //mảng A

void delay(long int t);         //chương trình con tên delay 1 đối số.

//Chương trình chính

Void main (void)

            {

            ………………………

            }

//Điểm đặt chương trình con

Void delay(long int t)

            {

            ……………………….

            }

2.Biến

Một số kiểu biến được dụng trong ngôn ngữ lập trình C như sau:

Loại biến                               Độ dài                                    Khoảng giá trị

bit                                           1-bit                                        0 - 1

signed char                             8-bit                                        0 -  +/-127

unsigned char                         8-bit                                        0 – 255

singned int                             16-bit                                      0 - +/-32768

unsigned int                           16-bit                                      0 – 65535

singned long int                     32-bit                                      0 - +/-2.147483648x109

unsigned long int                   32-bit                                      0 – 4.29496795x109

float                                       32-bit                                      +/-1.176E-38 đến +/-3.4E+38

pointer                                   24/16/8bit

 

Ngoài các biến trên,trong trình dịch C còn có một số loại biến đặc biệt

Ví dụ:

#define MOTOR_ON 1;                  //Biến MOTOR_ON=1

#define MOTOR_OFF 0;                //Biến MOTOR_OFF=0;

Sbit     motor_control=P1^1;          //Biến motor_control được gán với chân P1.1 của vđk

3.Xây dựng hàm

3.1.Khai báo hàm

[giá trị trả về]               [tên hàm(đối số)];

Ví dụ:

int cong(int a,int b); //Khai báo một hàm tên “cong” với 2 đối số a ,b.Hàm trả về kiểu int.           

void delay(void);     //Hàm không đối số cũng không trả về giá trị.

3.2.Tập lệnh

a.Cấu trúc while

            while(biểu thức điều kiện)

                        {

                        Các câu lênh;

                        }

Nếu biểu thức điều kiện đúng,chương trình sẽ thực hiện trong than của vòng lặp while.

Ví dụ:

#include<reg51.h>

void main()

{

            while (1)    //luôn luôn đúng

            {

            P1=0x00;

            }

}

b.Cấu trúc IF,IF…ELSE

if(biểu thức điều kiện)

{

            Các câu lệnh;

}

else

{

            Các câu lệnh;

}

Ví dụ:

#include<reg51.h>

void main()

{

            while (1)    //luôn luôn đúng

            {

            if(P0==1)

            {

P1=0x02;

}

            }

}

c.Cấu trúc SWITCH

switch(biểu thức nguyên):

{

case n1:

Các câu lệnh;

case n2:

Các câu lệnh;

case nk:

Các câu lệnh;

default:

            Các câu lệnh;

}

Ví dụ:

#include<reg51.h>

unsigned char  i;

void main()

{

            While(1)

            {

                        i=P1;   //đọc cổng P1

                        switch(i):

                        {

                        Case 0:

                                    P3=0x01;

                        Case 4:

                                    P3=0x02;

                        }

            }

}

 

d.Cấu trúc FOR

for (biểu thức 1;biểu thức 2;biểu thức 3)

{

            Các câu lệnh;

}

Ví dụ:

#include<reg51.h>

void delay(void)

{

            long int i;

            for(i=0;i<6000;i++)

}

void main()

{         

            Các câu lệnh;

}

 

e.Cấu trúc DO…WHILE

do

{

            Các câu lệnh;

}

While(biểu thức điều kiện);



 Đặng Ngọc Sỹ - TT CEE 


 
Các thành viên đã Thank RBC_rbc vì Bài viết có ích:
03/11/2011 22:11 # 3
mariophan90
Cấp độ: 2 - Kỹ năng: 1

Kinh nghiệm: 8/20 (40%)
Kĩ năng: 3/10 (30%)
Ngày gia nhập: 29/08/2011
Bài gởi: 18
Được cảm ơn: 3
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


 Anh ơi chỉ em cái thuật toán dò đường và cách thức lập trình nó đc ko ạh!


 
???????????????????
??????????????????????????????????
 
 

 
04/11/2011 14:11 # 4
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


 Anh ơi. em k thấy topic  đăng kí học ở đâu. 
Mà anh đẩy nhanh tiến độ viết bài  đi anh. Em học bên khoa cntt nhưng rất thích  lập trình vi điều khiển. hihihi.


======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
05/11/2011 10:11 # 5
RBC_rbc
Cấp độ: 4 - Kỹ năng: 4

Kinh nghiệm: 24/40 (60%)
Kĩ năng: 9/40 (22%)
Ngày gia nhập: 25/10/2010
Bài gởi: 84
Được cảm ơn: 69
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


 BÀI 2: CÁC HỆ ĐẾM VÀ BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH

1.Các hệ đếm

1.1. Hệ thập phân

Trong hệ này người ta dùng số trong phạm vi từ 0 đến 9.

            1234=1.103 + 2.102 + 3.101 + 4.100

1.2.Hệ nhị phân

Chỉ dùng 2 số 0 và 1

            101011=1.25 + 0.24 + 1.23 + 0.22 + 1.21 + 1.20=43 trong hệ thập phân.

   2.Các mã thường dùng trong máy tính

   2.1.Mã BCD

 Chữ số của hệ 16          Mã BCD

0                                                                0000

1                                                               0001

2                                                                0010

3                                                              0011

4                                                                0100

5                                                                0101

6                                                               0110

7                                                               0111

8                                                               1000

9                                                               1001

A                               1010

B                               1011

C                               1100

D                               1101

E                               1110

F                                1111

Ví dụ: BCD chuẩn của 59 là 0101 1001B , của 62 là 0110 0010B
2.2.Mã ASCII

Mã ASCII là bộ mã rất thông dụng trong máy tính và truyền thong.Trong bảng mã ASCII tiêu chuẩn người ta sử dụng 7 bit để mã hóa các ký tự thong dụng,như vậy bảng này sẽ có 128 ký tự ứng với các mã số từ 0 đến 127.

Trong bảng mã ASCII mở rộng ,người ta bổ sung thêm 128 ký tự đặc biệt với mã từ 128 đến 255.

3.Các phép toán số học

3.1.Phép AND

            0 AND 0 = 0

            0 AND 1 = 0

            1 AND 0 = 0

            1 AND 1 = 1

       VÍ DỤ:            00001111  & & 10101101 =00001101

 

     3.2.Phép OR

     0 OR 0 = 0

     0 OR 1 = 1

     1 OR 0 = 1

     1 OR 1 = 1

     VÍ DỤ: 00001111 | | 10101001=10101111

     3.3.Các toán tử

    - Toán tử gán (=)

    Ví dụ:                       b = 5;

a = 2 + b;

a = b =c = 5;

     - Các toán tử số học ( + , - , * , / , % )

     - Các toán tử gán phức hợp (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=)

value += increase; tương đương với value = value + increase;

a -= 5; tương đương với a = a - 5;

a /= b; tương đương với a = a / b;

price *= units + 1; tương đương với price = price * (units + 1);

Tăng và giảm ++ - -

a++; <=> a+=1; <=> a=a+1;

tính chất tiền tố hoặc hậu tố (++a) # (a++) Ex

B=3;

B=3;A=++B;

// A is 4, B is 4

B=3;

A=B++;

// A is 3, B is 4

- Các toán tử quan hệ ( ==, !=, >, <, >=, <= )

== Bằng

!= Khác

> Lớn hơn

< Nhỏ hơn

> = Lớn hơn hoặc bằng

< = Nhỏ hơn hoặc bằng

(7 == 5) sẽ trả giá trị false

(6 >= 6) sẽ trả giá trị true

Tất nhiên thay vì sử dụng các số, ta có thể sử dụng bất cứ biểu thức nào. Cho a=2, b=3 và c=6

(a*b >= c) sẽ trả giá trị true.

(b+4 < a*c) sẽ trả giá trị false

Chú ý rằng = (một dấu bằng) lf hoàn toàn khác với ==

(hai dấu bằng). (==) nhằm so sánh còn (=)gán giá trị của biểu thức bên phải cho biến ở bên trái .

 

                                                                             



 Đặng Ngọc Sỹ - TT CEE 


 
02/12/2011 16:12 # 6
quystrike99
Cấp độ: 2 - Kỹ năng: 1

Kinh nghiệm: 3/20 (15%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 28/09/2010
Bài gởi: 13
Được cảm ơn: 0
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


 up típ đi huynh ơi...@@!


Chữ ký của QuyStrike:



 
02/10/2012 12:10 # 7
id_no1sh
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 2/10 (20%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 02/10/2012
Bài gởi: 2
Được cảm ơn: 0
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


anh oi cho em hoi muon hoc lap trinh VDK phai bat dau tu dau ak. anh co so phone hay yahoo thi cho em xi de trao doi voi anh di . cam on anh




 
02/10/2012 12:10 # 8
id_no1sh
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 2/10 (20%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 02/10/2012
Bài gởi: 2
Được cảm ơn: 0
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


so phone cua em 0935.864.838 .& yahoo : id_khongdiemtua_sh




 
30/10/2012 22:10 # 9
phamtan112
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 8/10 (80%)
Kĩ năng: 4/10 (40%)
Ngày gia nhập: 12/04/2011
Bài gởi: 8
Được cảm ơn: 4
Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


Có ai biết cách nhập  dữ liệu bằng bàn phím và xuất dữ liệu đó ra LCD ko?... chỉ với!!!...




 
27/12/2012 23:12 # 10
nh0bmt
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 1/10 (10%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 27/12/2012
Bài gởi: 1
Được cảm ơn: 0
Phản hồi: Cùng nhau học Vi điều khiển -Cấu trúc-Lập trình và ứng dụng


tiếp tục đi a ơi.e đang máu...

 

 




 
Copyright© Đại học Duy Tân 2010 - 2024