1. Trang chủ
  2. » Giáo án - Bài giảng

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

11 351 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 685,84 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viết chương trình để các đèn sáng theo qui luật sau: a b Biết các đèn được sáng trong 1s thì chuyến trạng thái khác.. Mảng: - Khái niệm: Mảng là một tập hợp các phần tử dữ liệu có cùng

Trang 1

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

Trang 2

BÀI 1

DÕNG ĐIỀU KHIỂN

1 Các câu lệnh lựa chọn:

C cung cấp cho người sử dụng một 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 được thực hiện

= 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 trong { } nếu biểu thức điều kiện đúng chỉ có câu lệnh 1 được thực hiện

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

câu lệnh 1;

hoặc { khối lệnh 1}

else câu lệnh 2;

hoặc {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 4

Cấu trúc switch – case:

Switch (biểu thức) {

case hằng 1:

câu lệnh 1; break;

case hằng 2:

câu lệnh 2; break;

case hằng 3:

câu lệnh 3; break;

case hằng 4:

câu lệnh 4; break;

………

default: câu lệnh;

}

Trang 3

2 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 là tăng hoặc giảm giá trị)

Cú pháp

while ( biểu thức )

câu lệnh;

hoặc {

các câu lệnh;

}

3 Nội dung thực hành:

Trang 4

Viết chương trình để các đèn sáng theo qui luật sau:

a) b)

Biết các đèn được sáng trong 1s thì chuyến trạng thái khác

2 Cho sơ đồ mô phỏng như sau:

a Vẽ sơ đồ mô phỏng trên Proteus

b Viết chương trình sao cho khi ấn button thì các đèn sáng theo qui luật sau:

Trang 5

BÀI 2

MẢNG – HIỂN THỊ LED 7 THANH

1 Mảng:

- Khái niệm: Mảng là một tập hợp các phần tử dữ liệu có cùng kiểu dữ liệu Mỗi phần tử sẽ được lưu trữ ở các vị trí kế tiếp nhau trong bộ nhớ chính

- Khai báo:

< Kiểu dữ liệu> Tên_mảng [ Kích thước mảng]

 Kiểu dữ liệu: là kiểu dữ liệu của các phần tử trong mảng (char, int, float, double,…)

 Các phần tử trong mảng chỉ có chung một kiểu dữ liệu duy nhất

 Tên mảng: được qui định đặt giống như tên biến

 Kích thước mảng: bao gồm một hoặc nhiều chỉ số cho biết số phần tử có trong

mảng và số chiều của mảng

 Kích thước mảng = n thì mảng có n+1 phần tử được đánh số thứ tự từ 0 đến n

- Các phần tử của mảng:

nào khi có yêu cầu

Để truy xuất phần tử thứ m của mảng thực hiện cú pháp sau: Tên_mảng [chỉ số m-1] Các phần tử của mảng cho phép thực hiện tất cả các phép toán tương ứng với kiểu dữ liệu của chúng ( + - * / % , quan hệ, logic;…)

2 Hiển thị Led 7 thanh:

Từ bảng mã của LED 7 dưới đây, ta có thể thành lập được ma trận gồm các phần tử chứa các giá trị hiển thị của LED 7 như sau:

Ví dụ ma trận hiển thị của LED 7 có anot chung:

int hien_thi=[0C0h, 0F9h, 0A4h, 0B0h, 0x99h, 0x92h, 0x82h, 0F8h, 0x80h, 0x90h]

Muốn hiển thị một chữ số nào đó, ta chỉ cần truy xuất vào phần tử tương ứng của ma trận trên và gửi giá trị đó ra port xuất nhập

Ví dụ muốn hiển thị số 7: P0=hien_thi[7];

Trang 6

Bảng 2.1 Bảng mã hiển thị của Led 7 thanh có anot chung:

Bảng 2.2 Bảng mã hiển thị của Led 7 thanh có catot chung:

Trang 7

3 Nội dung thực hành:

1 Hãy viết chương trình đếm số xung được đưa vào chân P1.0 và hiển thị lên Led 7 đoạn

Khi đếm đến 9 thì reset về 0 Quá trình được lặp đi lặp lại

2 Vẽ sơ đồ mô phỏng hình dưới và thực hiện cá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

Trang 8

BÀI 3 TIMER /COUNTER – NGẮT I.Tóm tắt lý thuyết

1 Timer/Counter:

a Thanh ghi định thời

- 8051 có hai bộ điều khiển định thời là Timer 0 và Timer 1

- Mỗi Timer có một thanh ghi định thời 16bit, và được chia thành hai thanh ghi 8bit: Timer high (TH) và Timer Low (TL)

Hình 4.1 Các thanh ghi định thời

b.Thanh ghi điều khiển TCON:

- TFx: Cờ tràn Timerx Được set và clear bởi phần cứng

Dùng khi 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 ngoài 0,1

- ITx:Ngắt nối tiếp 0,1

Trang 9

c.Thanh ghi chế độ định thời TMOD:

Để thiết lập chế độ làm việc của các Timer ta sử dụng thanh ghi TMOD 8bit Cả Timer 0 và Timer 1 đều dùng chung thanh ghi TMOD để điều khiển, trong đó: 4bit thấp thiết lập chế độ điều khiển cho Timer 0 và 4bit cao thiết lập chế độ điều khiển cho Timer 1

-Gate: Khi Gate =1 thì Timer/Counter chỉ làm việc khi cả TRx =1 và INTx=1

Khi Gate = 0 thì Tmer/Counter làm việc được khi 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

Trang 10

2 Ngắt:

89C51 có 5 nguồn ngắt: 2 ngắt ngoài, 2 ngắt timer và 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

Trang 11

- 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 ngoài 1, ngắt ngoài 0

Muốn cho phép một ngắt nào xảy ra phải set 2 bit: Bit cho phép ngắt toàn cục 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

HÌNH ẢNH LIÊN QUAN

Bảng 2.1. Bảng mã hiển thị của Led 7 thanh có anot chung: - thực hành kỹ thuật lập trình
Bảng 2.1. Bảng mã hiển thị của Led 7 thanh có anot chung: (Trang 6)

TỪ KHÓA LIÊN QUAN

w