1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thực hành kỹ thuật vi xử lý PHẦN 1

53 1K 5

Đ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 53
Dung lượng 4,71 MB

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

Nội dung

Vậy là bạn đã cài đặt xong chương trình KeilC cho 8051.Sau đây là hướng dẫn để crack dùng đầy đủ các chức năng của phần mềm Bước 1: Chạy chương trình KeilC vừa cài đặt với quyền Admin Cl

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA KỸ THUẬT ĐIỆN TỬ -o0o -

BÀI THỰC HÀNH MÔN KỸ THUẬT VI XỬ LÝ

NGÀNH HỌC: ĐIỆN-ĐIỆN TỬ VÀ ĐIỆN TỬ-VIỄN THÔNG

ĐỐI TƯỢNG: ĐẠI HỌC

NGUYỄN QUỐC UY -HÀ NỘI, 2016-

Trang 2

MỤC LỤCChuẩn bị 1:DOWNLOAD và cài đặt KeilC lập trình với 8051

Chuẩn bị 2: DOWNLOAD và cài đặt Protus 8.1 SP1

Bài 0:Bài mở đầu.

Bài 1: Hướng dẫn tạo project với KeilC lập trình 8051.

Bài 2:: Hướng dẫn tạo project với phần mềm Protus 8.1 SP1 và nạp code

mô phỏng

Bài 3:Tổng quan cách khai báo biến,hằng và các kiểu dữ liệu rong ngôn ngữ C.

Bài 4: Lập trình nháy LED đơn với 8051.

Bài 5:Lập trình LED 7 thanh với 8051

Bài 6: Lập rình LED Martrix với 8051.

Bài 7: Lập trình nút nhấn với 8051.

Bài 8:Lập trình điều khiển IC 74HC595.

Bài 9: Lập trình Bộ đếm -Bộ định thời(Timer/Counter) trong 8051.

Bài 10: Lập trình ngắt trong 8051.

Trang 3

BÀI MỞ ĐẦU

TỔNG QUAN VỀ VĐK 8051&MÔ PHỎNG TRÊN PROTUS

Hôm nay chúng ta sẽ đến với những kiến thức cơ bản về vi điều khiển 8051

1.Đối tượng tham gia học tập:

 Sinh viên đam mê lập trình nói chung và đam mê lập trình vi điều khiển nói riêng

 Sinh viên muốn qua kì thi “Kỹ thuật vi xử lí”

2.Yêu cầu:

 Có ý thức Tự học tập, tự nghiên cứu

 Sinh viên đã hiểu biết cơ bản ít nhất một ngôn ngữ lập trình C

 Chăm chỉ hoàn thành các bài tập nếu như các bạn muốn việc học là hiệu quả và tiết kiệm thời gian của chính các bạn

Trang 4

 Ghi lại mọi thắc mắc và hỏi trong tiết học để chúng ta cùng thảo luận và tối ưu code được tốt hơn Khuyến khích tự tìm kiếm câu trả lời trên google

Trang 5

Chuẩn bị 1:DOWNLOAD và cài đặt KeilC lập trình

với 8051

Có rất nhiều trình biên dịch hỗ trợ lập trình 8051 trong đó có một công cụ được sử dụng nhiều là KeilC KeilC hỗ trợ lập trình ASM và C với họ vi điều khiển 8051 Sau đây là các bước để cài đặt trình biên dịch này.

1.Đầu tiên bạn download link dưới đây:

Trang 6

Bước 2: Tick vào ô “I agree to all the tems of the preceding License

Agreement”, chọn Next.

Bước 3: Chọn đường dẫn lưu thư mục cài đặt, sau đó chọn Next.

Trang 7

Bước 4: Điền thông tin cá nhân và chọn Next.

Trang 8

Bước 5: Chờ cho máy tiến hành cài đặt.

Bước 6: Sau khi cài đặt xong, chọn Finish (Có thể tích hoặc bỏ tích các ô tùy bạn)

Trang 9

Vậy là bạn đã cài đặt xong chương trình KeilC cho 8051.

Sau đây là hướng dẫn để crack dùng đầy đủ các chức năng của phần mềm

Bước 1: Chạy chương trình KeilC vừa cài đặt với quyền Admin (Click

chuột phải chọnRun as administrator), phần mền hiện thị chọn File

-> License Management.

Trang 10

Bước 2: Hộp thoại License Management xuất hiện, trong tab Single-User License các bạn copy mã CID.

Trang 11

Bước 3: Chạy file “Keygen.exe”, paste mã vừa copy vào ô CID, kiểm

tra Taget đã chọn là C51 chưa, chọn Generate.

.Bước 4: Copy đoạn mã mới được generate

Trang 12

Bước 5: Trở lại hộp thoại License Management và paste vào ô New License

ID Code (LIC) Sau đó bấm Add LIC.

Bước 6: Close.

Như vậy việc crack đã xong.

Trang 13

Chuẩn bị 2: DOWNLOAD và cài đặt Protus 8.1 SP11.Đầu tiên các bạn download phần mềm dưới link sau:

https://www.fshare.vn/file/7D1RGOQFNRLE

2.Hướng dẫn cài đặt:

Bước 1: Giải nén sau đó chạy file “proteus8.1.SP1.exe”, click Next.

Bước 2: Chọn “I accept the terms of this agreement.” Sau đó click Next.

Trang 14

Bước 3: Chọn “Use a locally installed license key”, click Next .

Bước 4: Click Next.

Bước 5: Chọn “Browse For Key File”

Bước 6: Hộp thoại hiển thị lên, chọn tới file “Key.lxk” trong file giải nén (…\Proteus 8.1 SP1 Pro\crack\(Step1) Before Installing Proteus/)

Bước 7 Click Install.

Trang 15

Bước 8: Hộp thoại hiển thị lên, click Yes

Bước 9: Click Close.// Dành cho máy chưa crack lần nào.B4-B9 Bước 10: Click Next.

Bước 11: Chọn Typical.

Bước 12: Chờ cho chương trình cài đặt

Bước 13: [Quan trọng] Không chạy Proteus Click Close.

Trang 16

Bước 14: Copy đè thư mục BIN (…\Proteus 8.1 SP1 Pro\crack\(Step2) After Installing Proteus) vào thư mục cài đặt Proteus (Program Files (x86) cho win 64bit, Program Files cho win 32bit)

Bước 15: Copy đè thư mục MODELS (…\Proteus 8.1 SP1 Pro\crack\

(Step2) After Installing Proteus) vào thư mục Proteus trong ProgramData (Lưu ý thư mục này để ẩn nên phải cho show hiden files)

Bước 16: Xong chạy Proteus xem thành quả nào.

Trên đây là hướng dẫn cài đặt Proteus 8.1 SP1 Pro

Chúc các bạn thành công !

Trang 17

Bài 1: Hướng dẫn tạo project với KeilC lập trình

8051.

1.Chuẩn bị phần mềm KeilC cho 8051:

Cài đặt KeilC

2.Thực hành tạo project:

Bước 1: Chạy phần mềm, chọn Project->New uVision Project…

Bước 2: Hộp thoại hiển thị, các bạn tùy chọn vị trí lưu project và tên

project của mình, click Save.

Trang 18

Bước 3: Cửa sổ “Select Device for …” xuất hiện, phần Data base các bạn chọn Atmel->AT89C52

Bước 4: Hộp thoại hiển thị tiếp theo, click No.

Sau đó ta có giao diện project như sau:

Trang 19

Bước 5: Để tạo một file mới cho chương trình chúng ta chọn vào biểu tượng “New” (như hình) hoặc bấm tổ hợp phím Ctrl+N

Bước 6: Sau đó bấm Save hoặc Ctrl+S

Trang 20

Bước 7: Lưu tên file, với các file chương trình các bạn lưu dưới dạng file c

và các file header các bạn lưu dưới dạng file h Sau đó bấm Save.

Kết quả như hình:

Trang 21

Nhưng file này chưa được add vào project của chúng ta, add file các bạn làm tiếp như sau:

Bước 8: Click chuột phải vào Source Group 1, chọn Add Files to Group

‘Source Group 1’…

Trang 22

Bước 9: Cửa số hiển thị, các bạn click vào file main.c vừa tạo, click Add và tắt cửa sổ.

Trang 23

File main.c đã được add vào project như sau:

Bước 10: Bước này thiết lập cho project xuất ra file hex sau khi build Click vào biểu tượng Target Options…

Trong tab Output, tick vào Create HEX File Sau đó bấm OK

Trang 24

Bước 11: Viết 1 đoạn code cơ bản.

Bước 12: Build project bằng cách bấm vào biểu tượng ( vòng tròn đỏ như hình) hoặc bấm phím F7 Sau đó xem kết quả.

Trang 25

Sau khi build, chúng ta sẽ thấy file hex trong thư mục chứa project, file này sẽ được nạp vào chip thông qua chương trình Proteus.

Trang 26

Bài 2:: Hướng dẫn tạo project với phần mềm Protus

8.1 SP1 và nạp code mô phỏng 1.Đầu tiên các bạn chuẩn bị phần mềm Proteus 8.1 SP1:

Tiếp theo chuẩn bị 1 file hex(Bài 1)

Trang 27

Bước 3: Mình đang cần vẽ mạch nguyên lý nên mình chọn “Create a

schematic …”, chọn “DEFAULT”, click Next.

Bước 4: Do bài viết lần này mình không vẽ mạch in nên mình chọn “Do not create a PCB layout.” Sau đó các bạn bấm Next.

Trang 28

Bước 5: Chọn “No Firmware Project” Click Next.

Trang 29

Bước 6: Click Finish.

Vậy chúng ta đã tạo xong project trong Proteus Bước tiếp theo các bạn vẽ mạchnguyên lý và chạy mô phỏng code cho họ 8051

Bước 7: Các bạn click vào biểu tượng chữ P màu đỏ như hình dưới để lấy các linh kiện vẽ mạch.

Trang 30

Bước 8: Trong bài này mình sẽ vẽ demo cho họ 8051, ở đây là chip 89c52 Phần “Keywords” các bạn điền “89c52”, chọn linh kiện trong ô “Results”, sau đó bấm OK.

Trang 31

Để lấy nhiều thiết bị thì không cần bấm OK (vì ô cửa sổ sẽ mất đi), bạn chỉ việc nhân Enter sau khi chọn xong một thiết bị là được Chọn tiếp 6 devices sau:

 Led đơn xanh lá 5mm: LED-GREEN

Sau khi các bạn chọn xong kết quả như sau:

Trang 32

Bước 9: Sau khi đã lấy đủ linh kiện, các bạn chọn vào linh kiện mình muốn

vẽ Click vào biểu tượng “Component Mode” (thứ 2 từ trên xuống) bên thanh công cụ trái sau đó chọn chip AT89C52 và đặt vào phân vùng kẻ xanh bên phải (dùng chuột trái).

Trang 33

Đừng quên Ctrl+Z nếu lỡ tay đặt nhiều thiết bị quá, hoặc có thể click chuột phải

2 lần vào thiết bị đó để xóa đi

Bước 10: Lặp lại bước 9 với các linh kiện còn lại như hình:

Trang 34

Chú ý: GND (Đất) và VCC (Nguồn) các bạn lấy ở “Terminals Mode” khoanh màu đỏ như hình dưới.

Các thao tác với mouse trong Proteus:

Chọn linh kiện để vẽ:Chuột trái lên tên linh kiện trong cửa sổ “Object

selector”

Đặt linh kiện:Chuột trái lên cửa sổ mạch điện Right click lên linh kiện

trong cửa số mạch điện sẽ làm cho linh kiện đó được bao bởi màu “đỏ”, tức bạn đang chọn linh kiện đó

Bỏ chọn linh kiện:thực hiện bằng cách chuột phải lên một vị trí trống

trên cửa sổ mạch điện

Delete linh kiện:Chuột phải 2 lần lên 1 linh kiện là delete linh kiện đó

khỏi cửa sổ mạch điện, hoặc chuột phải 1 lần lên 1 linh kiện đã được chọn trước đó (có màu đỏ) cũng sẽ xóa linh kiện này

Di chuyển linh kiện:chọn linh kiện trước (chuột phải) và drag để di

chuyển linh kiện bằng chuột trái

Trang 35

Zoom To – Zoom Nhỏ mạch:Sử dụng con lăn chuột giữa để zoom

mạch

Xoay và lật linh kiện:chọn linh kiện cần xoay hay lật, dùng các nút công

cụ để xoay hoặc lật linh kiện Để tiết kiệm thời gian thì xoay lật linh kiện trước khi đặt nó vào trong bản mạch

Bước 11: Nối dây, không cần công cụ, để nối dây bạn chỉ cần rê mouse đến điểm cần nối của linh kiện, bạn sẽ thấy xuất hiện 1 dấu chéo “x”, lúc đó hãy click chuột và di chuyển (không cần giữ chuột) đến vị trí tiếp theo và click lần nữa.

Như vậy là các bạn đã vẽ xong 1 mạch cơ bản sử dụng chip 89C52 Để mạch hoạt động được, các bạn điền các thông số cho các linh kiện bằng các bước sau:

Bước 12: Nháy đúp chuột trái vào tụ C1 như hình,Cửa sổ hiển thị các bạn

Trang 36

điền vào giá trị “33pF”

Với thạch anh các bạn nhập giá trị 12MHz

Trang 37

Các bạn lặp lại bước trên để được các thông số như hình:

Vậy là chúng ta đã vẽ xong mạch nguyên lý bằng Proteus với đầy đủ các thông

số của mạch

Trang 38

Để chạy mô phỏng, bạn dùng đoạn code sau cho file KeilC và buil ra file HEX,sau đó nạp vào vi điều khiển bằng Proteus.

Code điều khiển led đơn

Trang 39

Sau khi build các bạn được file hex, add file hex vào chip 89c52 trong proteus như sau:

Bước 13: Nháy đúp chuột vào chip AT89C52 trong mạch, cửa sổ hiển thị, các bạn chọn đường dẫn tới file hex, sau đó bấm OK.

Bước 14: Để chạy mô phỏng các bạn chọn Debug -> Run Simulation hoặc bấm phím F12

Trang 40

Bước 15: Để tắt mô phỏng các bạn bấm Debug -> Stop VSM Debugging (Tab Message xuất hiện, các bạn tắt đi)

Vậy là chúng ta đã hoàn thành tạo project với phần mềm Proteus 8.1 SP1 + nạp code mô phỏng Tận hưởng thành quả đầu tiên đi nào!

ĐÂY LÀ BÀI TẬP 1.1.

Trang 41

Bài 3:Tổng quan cách khai báo biến,hằng và các

kiểu dữ liệu trong ngôn ngữ C.

Để lập trình cho các họ vi điều khiển có thể sử dụng nhiều ngôn ngữ khác nhau,nhiều trình biên dịch khác nhau, trong dó C là ngôn ngữ thông dụng hơn cảtrong kỹ thuật vi điều khiển

Khi sử dụng ngôn ngữ C người lập trình không cần hiểu chi tiết về cấu trúc của

bộ vi điều khiển Điều này sẽ giúp tiết kiệm rất nhiều thời gian khi chúng ta tiếpcận một vi điều khiển mới

Sau đây là một số kiến thức liên quan đến cách khai báo biến, hằng, các kiểu dữliệu cũng như các toán tử phổ biến hay sử dụng khi lập trình vi điều khiển bằngngôn ngữ C

1.Khai báo biến.

Biến dùng để lưu trữ một giá trị nào đó Bạn cứ tưởng tượng rằng giả sử bạn cómột cái bao và bạn có thể sử dụng cái bao đó với nhiều mục đích khác nhau nhưdùng để chứa gạo, chưa ngô, chứa khoai, … thì lúc này cái bao đó được ví như

là một biến trong C

Khai báo dữ liệu tổng quát trong C sử dụng với KeilC có dạng như sau:

Kiểu_dữ_liệu [Vùng_nhớ] Tên_biến [_at_ Đia_chỉ];

Hai thông tin [Vùng_Nhớ] và [Địa_chỉ] có thể thêm hoặc không lúc đó trìnhbiên dịch sẽ biên dịch tự động Các vùng nhớ trong vi điều khiển 8051 được liệt

kê trong bảng sau:

Trang 42

Để gán giá trị cho biến ta chỉ việc dùng cú pháp Tên biến = x:

Để giúp tăng cường độ an toàn trong các chương trình, các giá trị có thể được

đánh dấu là các hằng bằng từ khóa định tính const Với từ khóa này thì một biến

khai báo trở thành một hằng Mọi thao tác do vô ý hay cố ý để điều chỉnh giá trịcủa nó sẽ bị báo lỗi bởi hầu hết các trình dịch Bởi vì sau khi đã dùng từ khóa

định tính const thì các giá trị của biến không thể thay đổi nữa nên người lập

trình phải gán giá trị ban đầu ngay lúc khai báo

Chuẩn C cho phép hoán đổi vị trí của các hiệu chính Thí dụ cả hai khai báohằng sau đây là tương đương:

int const Hang_So = 12;

const int Hang_So = 12;

Trang 43

Cả hai cách khai báo trên đều được chấp nhận Sau khi thực hiện khai báo trênchúng ta có biến Hang_So mang dữ liệu là 12 và không thể thay đổi trong suốtquá trình thực thi chương trình.

3.Các kiểu dữ liệu.

Với C chúng ta có các kiểu dữ liệu sau hay được sử dụng Các bạn có thể dễdàng thấy sự khác nhau giữa SỐ KHÔNG DẤU VÀ SỐ CÓ DẤU mặc dùchúng có cùng độ dài (số lượng bit)

Tùy với mục đích sử dụng và dữ liệu tối đa mà các bạn nghĩ biến có thể đạt đếncác bạn nên chọn kiểu dữ liệu vừa đủ nhất để tránh lãng phí tài nguyên vì vớiđiều khiển 8051 thì số lượng Ram khá là hạn chế (128 Byte với dòng cũ vàthêm 128 Byte Ram với một dòng sau này được cấp phát ở vùng idata)

Ngoài ra, với riêng KeilC còn có thêm một số kiểu dữ liệu được sử dụng riêngcho dòng vi điều khiển 8051 Bảng dữ liệu đó như sau:

Trang 44

– bit : Dùng để khai báo các biến có giá trị 0 hoặc một hay các biến logic trênvùng RAM của vi điều khiển Khi khai báo biến kiểu bit trình dịc Keil C sẽ mặcđịnh vùng nhớ sử dụng là BDATA.

– sbit, sfr, sfr16: Dùng để định nghĩa các cho các thanh ghi chức năng hoặc cáccổng trên vi điều khiển dùng để truy nhập các đoạn dữ liệu 1 bit, 8 bit, 16 bit.SBIT có thể dùng khai bảo một chân của một cổng

Trên đây là các thông tin cơ bản liên quan đến khai báo dữ liệu và hằng được sửdụng trong suốt quá trình lập trình của chúng ta Các bạn cần nắm chắc kiếnthức này để có thể tiếp cận sâu hơn về lập trình nói chung và lập trình vi điềukhiển nói riêng

Trang 45

Bài 4: Lập trình nháy LED với 8051.

Ở bài này sẽ hướng dẫn các bạn lập trình điều khiển Output cơ bản thực hành với LED đơn Các bạn thực hiện vẽ mạch sau trong Proteus

Các bạn chú ý: do là mô phỏng thử nghiệm chương trình nên mình vẽ mạch ởmức độ cơ bản tuy nhiên ở mạch thật các bạn cần bổ sung nguồn, thạch anh vàmạch reset cho mạch để chương trình có thể chạy được Với mạch như trênchúng ta đã có thể thực hiện mô phỏng chương trình cơ bản với LED đơn

a.Lập trình điều khiển từng Pin của vi điều khiển.

8051 cho phép chúng ta tác động tới từng chân IO của vi điều khiển Để sử

dụng tính năng này chúng ta có thể sử dụng khai báo sbit để định nghĩa tên cho

chân chúng ta muốn sử dụng Khai báo sbit được thực hiện theo mẫu sau:

sbit Tên_Chân_Định_Nghĩa = Địa_Chỉ_Pin;

Trang 46

Ví dụ cụ thể như sau:

sbit LED = P1^0;

Ở đây, chân P1.0 được định nghĩa có tên là LED

Sau khi khai báo sbit như trên chúng ta có thể sử dụng Tên chân mà chúng tamới định nghĩa để có thể điều khiển độc lập từng chân Khi các bạn gán chân đóbằng giá trị 0 thì đầu ra sẽ ở mức 0V còn khi các bạn gán cho chân đó ở mức 1thì sẽ có mức điện áp ra là 5V

Ví dụ ở chương trình sau chúng ta sẽ sử dụng định nghĩa sbit để điều khiển chânP1.0 của 8051 thực hiện chức năng nhấp nháy một con LED Các bạn xem codetheo mẫu sau

/* Khai bao su dung thu vien cho 89c52 */

#include <REGX52.H>

/* Su dung sbit de dinh nghia cho tung chan cua Vi dieu khien*/

sbit LED = P1^0;

/* Trien khai ham tao do tre */

void Fn_Delay (unsigned intTime)

{

while(Time );

}

/* Chuong trinh chinh */

void main(void)

Trang 47

Fn_Delay(50000); // Tre 1 thoi gianLED = 1; // Xuat 1 ra chan LEDFn_Delay(50000); // Tre 1 thoi gian}

}

ĐÂY LÀ BÀI TẬP 1.2

Với việc lập trình như trên các bạn sẽ LED nối với chân P1.0 sẽ được thay đổi

giữa sáng và tắt Ở đây có hàm Fn_Delay() có chức năng thay đổi tốc độ nhấp

nháy của con LED Khi tham số truyền vào hàm này càng lớn thì độ trễ càng lâucủa nó cũng chỉ có 8 pin Vì thế bạn có thể xuất data cho 8 pin một lúc với 1dòng lệnh tức tần số nháy nháy các chậm Các bạn có thể thay đổi thông số chohàm này để thấy rõ hơn

Sau khi lập xong Project theo các bước đã hướng dẫn ở các bài trước các bạn gõ

các dòng code trên vào và thực hiện Build để tạo ra file hex sau đó các bạn

chuyển file hex đó vào IC 89C52 trên Proteus và chạy chế độ mô phỏng Cácbạn sẽ thấy kết quả Như vậy là các bạn đã có thể điều khiển được một chân của

8051 ở chế độ Output

Sau khi thực hiện cho chân P1.0 các bạn có thể thực hiện trên các chân kháchoặc thực hiện nhiều hơn một chân nếu các bạn muốn

b.Lập trình điều khiển theo Port của vi điều khiển.

Ngoài điều khiển theo từng chân chúng ta có thể xuất dữ liệu ouput theo cả Porttrên 8051 8051 là một vi điều khiển 8 bit và một Port với điều kiện các Pin đóchung một Port Để can thiệp đến một Port các bạn chỉ cần gán dữ liệu các bạnmong muốn cho tên Port đó Ví dụ như sau:

1 P2 = 0x55;

Ngày đăng: 29/08/2017, 20:23

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w