thực hành kỹ thuật lập trình

11 350 0
thực hành kỹ thuật lập trình

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CƠ ĐIỆN BỘ MÔN TỰ ĐỘNG HÓA *********o O o********* TÀI LIỆU HƯỚNG DẪN THÍ NGHIỆM KỸ THUẬT LẬP TRÌNH TRONG ĐIỀU KHIỂN HÀ NỘI – 2014 BÀI DÕNG ĐIỀU KHIỂN Các câu lệnh lựa chọn: C cung cấp cho người sử dụng số câu lệnh lựa chọn sau:  Cấu trúc if - Cú pháp: if (biểu thức điều kiện) câu lệnh; (Biểu thức điều kiện) = TRUE  câu lệnh thực = FALSE  bỏ qua câu lệnh - Cú pháp: if (biểu thức điều kiện) { câu lệnh 1; câu lệnh 2; … } Khi không đặt { } biểu thức điều kiện có câu lệnh thực if ( Biểu thức điều kiện) câu lệnh 1; { khối lệnh 1} else câu lệnh 2; {khối lệnh 2} - Cấu trúc else if – cho phép nhiều lựa chọn: Cú pháp tổng quát: if ( biểu thức điều kiện 1) câu lệnh 1; else if (biểu thức điều kiện 2) câu lệnh 2; else if (biểu thức điều kiện 3) câu lệnh 3; else câu lệnh  Cấu trúc switch – case: Switch (biểu thức) { case 1: câu lệnh 1; break; case 2: câu lệnh 2; break; case 3: câu lệnh 3; break; case 4: câu lệnh 4; break; ……………………………… default: câu lệnh; } Vòng lặp:  Vòng lặp For Cú pháp: for ( biểu thức 1; biểu thức 2; biểu thức 3) { Câu lệnh; } Biểu thức 1: khởi tạo giá trị cho biến điều khiển Biểu thức 2: biểu thức điều kiện xác định điều kiện thoát cho vòng lặp Biểu thức 3: biểu thức thay đổi giá trị cho biến điều khiển ( thường tăng giảm giá trị)  Vòng lặp While: Cú pháp while ( biểu thức ) câu lệnh; { câu lệnh; } Nội dung thực hành: Sử dụng sơ đồ mô cho: Viết chương trình để đèn sáng theo qui luật sau: a) b) Biết đèn sáng 1s chuyến trạng thái khác Cho sơ đồ mô sau: a Vẽ sơ đồ mô Proteus b Viết chương trình cho ấn button đèn sáng theo qui luật sau: BÀI MẢNG – HIỂN THỊ LED THANH Mảng: - Khái niệm: Mảng tập hợp phần tử liệu có kiểu liệu Mỗi phần tử lưu trữ vị trí nhớ - Khai báo: < Kiểu liệu> Tên_mảng [ Kích thước mảng]  Kiểu liệu: kiểu liệu phần tử mảng (char, int, float, double,…)  Các phần tử mảng có chung kiểu liệu  Tên mảng: qui định đặt giống tên biến  Kích thước mảng: bao gồm nhiều số cho biết số phần tử có mảng số chiều mảng  Kích thước mảng = n mảng có n+1 phần tử đánh số thứ tự từ đến n - Các phần tử mảng: Sau khai báo mảng tham chiếu đến phần tử mảng nơi có yêu cầu Để truy xuất phần tử thứ m mảng thực cú pháp sau: Tên_mảng [chỉ số m-1] Các phần tử mảng cho phép thực tất phép toán tương ứng với kiểu liệu chúng ( + - * / % , quan hệ, logic;…) Hiển thị Led thanh: Từ bảng mã LED đây, ta thành lập ma trận gồm phần tử chứa giá trị hiển thị LED sau: Ví dụ ma trận hiển thị LED có anot chung: int hien_thi=[0C0h, 0F9h, 0A4h, 0B0h, 0x99h, 0x92h, 0x82h, 0F8h, 0x80h, 0x90h] Muốn hiển thị chữ số đó, ta cần truy xuất vào phần tử tương ứng ma trận gửi giá trị port xuất nhập Ví dụ muốn hiển thị số 7: P0=hien_thi[7]; Bảng 2.1 Bảng mã hiển thị Led có anot chung: Bảng 2.2 Bảng mã hiển thị Led có catot chung: Nội dung thực hành: Hãy viết chương trình đếm số xung đưa vào chân P1.0 hiển thị lên Led đoạn Khi đếm đến reset Quá trình lặp lặp lại Vẽ sơ đồ mô hình thực công việc sau: - Viết chương trình đếm từ 0-99 - Viết chương trình giảm từ 99-0 BÀI TIMER /COUNTER – NGẮT I.Tóm tắt lý thuyết Timer/Counter: a Thanh ghi định thời - 8051 có hai điều khiển định thời Timer Timer - Mỗi Timer có ghi định thời 16bit, chia thành hai ghi 8bit: Timer high (TH) Timer Low (TL) Hình 4.1 Các ghi định thời b.Thanh ghi điều khiển TCON: - TFx: Cờ tràn Timerx Được set clear phần cứng Dùng ngắt Timer 0,1 - TRx: bit điều khiển Timerx: TRx=0  dừng Timerx TRx=1  bật Timerx - IEx: Ngắt 0,1 - ITx:Ngắt nối tiếp 0,1 c.Thanh ghi chế độ định thời TMOD: Để thiết lập chế độ làm việc Timer ta sử dụng ghi TMOD 8bit Cả Timer Timer dùng chung ghi TMOD để điều khiển, đó: 4bit thấp thiết lập chế độ điều khiển cho Timer 4bit cao thiết lập chế độ điều khiển cho Timer -Gate: Khi Gate =1 Timer/Counter làm việc TRx =1 INTx=1 Khi Gate = Tmer/Counter làm việc TRx=1 - C/T: Bit lựa chọn chế độ đếm (counter) hay định thời (Timer) C/T = 0: chế độ Timer C/T=1: chế độ định thời - M0,M1: Lựa chọn chế độ định thời 2 Ngắt: 89C51 có nguồn ngắt: ngắt ngoài, ngắt timer ngắt nối tiếp a Thanh ghi điều khiển ngắt IE: - EA: =1 cho phép ngắt toàn cục =0 không cho phép ngắt - ES: cho phép ngắt nối tiếp - ET1, ET0: cho phép ngắt Timer 1, Timer0 - EX1, EX0: cho phép ngắt 1, ngắt Muốn cho phép ngắt xảy phải set bit: Bit cho phép ngắt toàn cục bit cho phép ngắt riêng rẽ Dưới vector ngắt vị trí ngắt tương ứng: II Nội dung thí nghiệm Viết lại chương trình đếm từ 0-9 dùng Timer/counter Viết lại chương trình tạo xung vuông có tần số 330hz chân P3.7 dùng ngắt Timer Viết chương trình tạo đàn điện tử với phím tạo âm có tần số sau: Các phím tương ứng từ button  Button [...]... và bit cho phép từng ngắt riêng rẽ Dưới đây là các vector ngắt và vị trí ngắt tương ứng: II Nội dung thí nghiệm 1 Viết lại chương trình đếm từ 0-9 dùng Timer/counter 2 Viết lại chương trình tạo một xung vuông có tần số 330hz trên chân P3.7 dùng ngắt Timer 3 Viết chương trình tạo đàn điện tử với các phím tạo ra âm thanh có tần số như sau: Các phím tương ứng từ button 1  Button 8

Ngày đăng: 10/06/2016, 19:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan