y>

Công Nghệ Cơ Điện Tử, Phát Triển Dự Án Cơ Điện Tử, Robotics, Tự Động Hóa, PLC, Vi Điều Khiển...
Monday, 2024-11-18, 2:51 AM
Main

Sign Up

Login
Welcome Guest | RSS
MENU
DANH MỤC
Họ 89C51 [3]
AVR [0]
PIC+dsPIC [5]
ARM [0]
  LẬP TRÌNH S7 300
 
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 1
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 2
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 3
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 4
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 5
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 6
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 7
LẬP TRÌNH S7-300 CƠ BẢN- BÀI 8
ĐIỀU KHIỂN GIÁM SÁT HỆ THỐNG TRỘN LIỆU TRONG CÔNG NGHIỆP
Main » Articles » LẬP TRÌNH VI ĐIỀU KHIỂN » Họ 89C51

Bài2. Cấu trúc chương trình
2.1 Cấu trúc chương trình

  * Cấu trúc:
            1. Khai báo chỉ thị tiền xử lý
            2. Khai báo các biến toàn cục
  3. Khai báo nguyên mẫu các hàm
  4. Xây dựng các hàm và chương trình chính

* Ví dụ:
// Khai báo chỉ thị tiền xử lý:
#include<regx51.h>
            #include<string.h>
            #define Led1 P1_0
//*********************************
// Khai báo biến toàn cục:
            Unsigned char code Led_arr[3];
            Unsigned char data dem;
            Unsigned int xdata X;
//*********************************
// Khai báo nguyên mẫu hàm
            Void delay(unsigned int n);
            bit kiemtra(unsigned int a);
//*********************************
// Xây dựng các hàm và chương trình chính:
             void delay(unsigned int n)
            {
                        Khai báo biến cục bộ;
Mã chương trình trễ;
            }
Void main()  // Chương trình chính
            {
                        Khai báo biến cụ bộ;
Mã chương trình chính;
            }
            Bit kiemtra(unsigned int a)
            {
                        Khai báo biến cục bô;
Mã chương trình kiểm tra biến a;
            }

2.2 Chỉ thị tiền xử lý
  + Phép thay thế #Define
  + Phép chèn tệp #Include
  + Phép lựa chọn biên dịch #Ifdef

            Các chỉ thị tiền xử lý giúp ta viết chương trình ngắn gọn hơn và tổ chức biên dịch, gỡ rối chương trình linh hoạt, hiệu quả hơn.

* Chỉ thị #Define: Chỉ thị #define cho phép tạo các macro thay thế đơn giản.

 - Cú pháp: #Define Tên_thay_thế dãy_kí_tự

Một Tên_thay_thế có thể được định nghĩa lại nhiều lần, nhưng trước khi định nghĩa lại phải giải phóng định nghĩa bằng chỉ thị:
            #Undef Tên_thay_thế

 - Ví dụ:         #define N 100

* Chỉ thị #Include: Chỉ thị #include báo cho trình biên dịch nhận nội dung của tệp khác và chèn vào tệp chương trình nguồn mà ta soạn thảo.

 - Cú pháp:
Cách 1:          #include<tên_tệp>
Cách 2:          #include"tên_tệp”

 - Ví dụ:
            Cách 1: #include<regx51.h>
Ở cách này tệp regx51.h sẽ được tìm trong thư mục INC để chèn vào chương trình nguồn.

            Cách 2: #include"regx51.h”
Ở cách này tệp regx51.h sẽ được tìm trong thư mục chứa chương trình nguồn nếu không có mới tìm trong thư mục INC.

* Chỉ thị #Ifdef: Chỉ thị #ifdef này thường dùng để biên dịch các tệp thư viện.

 - Cú pháp:
Cách 1:          #Ifdef ten_macro
                                                //Đoạn chương trình
                                    #endif
Cách 2:          #ifdef ten_macro
                                                //Đoạn chương trình 1
                                    #else
                                                //Đoạn chương trình 2
                                    #endif

* Chỉ thị #Ifndef: Chỉ thị #ifndef này thường dùng để biên dịch các tệp thư viện.

 - Cú pháp:
Cách 1:          #ifndef ten_macro
//Đoạn chương trình
                                    #endif
Cách 2:          #ifndef ten_macro
                                                //Đoạn chương trình 1
                                    #else
                                                //Đoạn chương trình 2
                                    #endif

Ở cách 1: nếu  tên_macro chưa được định nghĩa thì "Đoạn chương trình” sẽ được dịch, ngược lại thì "Đoạn chương trình” sẽ bị bỏ qua.

2.3 Chú thích trong chương trình
            Lời giải thích được đặt sau dấu "//” nếu chú thích chỉ viết trên một dòng hoặc trong  cặp dấu "\*” và "*\”.

3. Các lệnh cơ bản trong C

   + Câu lệnh rẽ nhánh - if:

        - Cấu trúc 1:     if(dieu_kien)
                                    {
                                                // Đoạn chương trình
                                    }
      
        Giải thích: nếu dieu_kien đúng thì xử lí các câu lệnh bên trong còn sai thì nhảy qua.

        - Cấu trúc 2:           if(dieu_kien)
                                    {
                                    // Đoạn chương trình 1
                                    }
                                    else
                                    {
// Đoạn chương trình 2
                                    }

        Giải thích: nếu dieu_kien đúng thì xử lí "Đoạn chương trình 1” bên trong còn sai thì xử lý "Đoạn chương trình 2”.

   + Câu lệnh lựa chọn - Switch:

      Cấu trúc:            switch(biến)
                                    {
                                                case gia_tri_1:
//các câu lệnh 
break;
                                    case gia_tri_2:
//các câu lệnh 
break;
                                    ……………………………………...
                                    case gia_tri_n:
//các câu lệnh 
break;
Default:
            //các câu lệnh
                                    }

      Giải thích: Tuỳ vào biến có giá trị bằng giá trị của Case nào thì thực hiện các câu lệnh tương ứng trong Case đó, sau đó thoát khỏi cấu trúc nhờ câu lệnh "break;”. Nếu không có Case nào phù hợp thì thực hiện các câu lệnh trong default.

   + Vòng lặp xác định - For:

       Cấu trúc:           for( x=n ; điều_kiện ; phép_toán )
                                    {
                                                // các câu lệnh xử lí
                                    }

       Giải thích:  x là biến, là giá trị xác định. Trước tiên vòng lặp sẽ gán giá trị ban đầu cho biến: x=n, rồi kiểm tra nếu điều_kiện đúng thì thực hiện các câu lệnh xử lý, sau đó thực hiện Phép_toán nhằm tác động đến điều kiện. Sau đó lại kiểm tra lại điều_kiện, nếu còn đúng thì thực hiện tiếp, nếu sai sẽ thoát khỏi vòng lặp.
            Các thành phần trong vòng for có thể không cần khai báo,for sẽ bỏ qua phần đó, nhưng vẫn phải có đủ 2 dấu ";”.

   + Vòng lặp không xác định - while:

        Cấu trúc:           while(dieu_kien)
                                    {
                                                // các câu lệnh
                                    }

Giả thích: Trước tiên chương trình sẽ kiểm tra điều_kiện, nếu đúng thì thực hiện các câu lệnh, sau đó quay lại kiểm tra điều_kiện. Còn nếu điều_kiện sai thì thoát khỏi vòng lặp ngay.

   + Vòng lặp không xác định - do while:

        Cấu trúc:          do
                                    {
                                                // các câu lệnh
                                    } while(dieu_kien);

          Giả thích: Trước tiên đoạn chương trình thực hiện các câu lệnh sau đó kiểm trađiều_kiện nếu đúng thì lặp lại thực hiện các câu lệnh tiếp, nếu sai thì thoát khỏi vòng lặp
Category: Họ 89C51 | Added by: dvtran (2013-07-04)
Views: 678 | Rating: 0.0/0
Total comments: 0
Name *:
Email *:
Code *:

Tìm kiếm
Cửa sổ đăng nhập
Lịch

website tham khảo
  • dientumaytinh.com
  • microcontroller51
  • www.indiabix.com
  • finalyearthesis
  • tutorial.cytron
  • dharmanitech.com
  • kmitl.ac.th
  • electro-hobby
  • Copyright dientran108 © 2024 Free web hostinguCoz