1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Báo cáo giao tiếp máy tính và vi điều khiển sử dụng c# và VB

50 843 5
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Báo cáo giao tiếp máy tính và vi điều khiển sử dụng C# và VB
Trường học University of Technology HoChiMinh City
Chuyên ngành Computer Communication and Microcontroller
Thể loại Báo cáo giao tiếp máy tính và vi điều khiển
Năm xuất bản 2024
Thành phố Ho Chi Minh City
Định dạng
Số trang 50
Dung lượng 11,57 MB

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

Nội dung

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB CHUONG 1: MO PHONG GIAO TIEP MAY TINH SU DUNG PROTEUS VA KEILC 1.1 Chương trình hỗ trợ tạo công Com ảo Virtual Seria

Trang 1

————=<s- *›e>*<Se©C— OD _

TRƯỜNG ĐẠI HỌC VĂN HIẾN KHOA DIEN TU - VIEN THONG

œa2EHlca

Bài Tập Lớn: Môn Truyên Số Liệu

GIAO TIEP MAY TINH - VDK

Trang 2

Mục lục CHƯƠNG 1: MÔ PHỎNG GIAO TIẾP MÁY TÍNH SỬ DỤNG PROTEUS VÀ KEIL C 3

1.1 Chương trình hỗ trợ tạo công Com ảo -+ +- + s52 k+E+E+EEEEEEEEEEeEErEerkerkrrrrsrre 3 1.2 Mạch mô phỏng vi điều khiển giao tiếp máy tính . 2-5 2s z+szEz+s+szxzszes 3

1.3.1 Các bước xây dựng dự án KelÏ C + 1S TH ng ng ng 6 1.3.2 Cấu trúc cơ bản một chương trình C cho VĐK trong Keil C 18

CHƯƠNG 2: SỬ DỤNG VISUAL BASIC 6.0 GIAO TIẾP VI ĐIÊU KHIÉN 34 2.1 Thiết kế giao diện - set T1E13 1111 1151111115111 21111 ckrkrkd 34 2.2 Viết chương trình thực thi 2 2+ k+E<+EEEE+EEEEEEEEEEEEEEEEEEEEEEEEEkrkrrkrkrrrred 44 CHƯƠNG3: SỬ DỤNG VISUAL C# GIAO TIẾP VĐK -s-5s252ccscsecsecsersrre 48 CHƯƠNG 4: CÁC VÍ DỤ GIAO TIẾP MÁY TÍNH VÀ VĐK . cccce sec 69

4.1 Giao tiếp máy tính điều khiển động cơ bước bằng C# - 5 + cxcxerrkerred 69

4.2.2 Viết chương trình Keil C cho VĐ(K ¿s55 ket SEk€EEEEEEeEkeEerkrkerereerered 72

4.2.3 Giao diện C# điều khiển trên máy tính - s+s+ s+keEs£keErkekerkerrkrxee 75 4.3 Giao tiếp máy tính điều khiển LCD 4 dòng bằng VB - -Gccxcrerreerred 76

4.3.3 Giao điện VB điều khiển trên máy tính - + cx+cx+keEsrkererkekerkerrkrxee 79

44 Giao tiếp máy tính điều khiển 8 LED đơn bằng VB (5S cterreerred 79

4.4.2 Viết chương trình Keil C cho VEĐK -¿- + s+2+E+Ek+EEEkeEkerkrserkrrerrrred 79 4.4.3 Giao điện VB điều khiển trên máy tính - + ck+sx+keEsEkererkrkerkersrkrxee 80 4.5 Giao tiếp máy tính điều khiển LED ma trận DC bằng C# - 5< cscserscxd 81

4.5.2 Viét chuong trinh Keil C cho VDK.u cssceccscsssssessessssessessesessesssssssessessssnsseeseeees 81 4.5.3 Giao diện C# điều khiển trên máy tính -¿- 2 + s+xx+sz£x+xx+serszrrrsred 84

Trang 3

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

CHUONG 1: MO PHONG GIAO TIEP MAY TINH SU DUNG PROTEUS VA KEILC

1.1 Chương trình hỗ trợ tạo công Com ảo

Virtual Serial Port Driver là chương trình giúp bạn tạo ra những cặp cổng com ảo,

vào nỗi chúng với nhau tạo một kết nỗi ảo để thực hiện truyền dữ liệu

Sau khi cài đặt chương trình, bạn khởi động chương trình vào tạo một hoặc nhiều công

com ảo cho việc mô phỏng giao tiếp máy tính và vi điều khiển

G & Virtual Serial Port Driver 6.9 by Eltima Software Ke = ll mr mi

Port pairs Options Help

Serial ports explorer

fq Virtual Serial Port Driver

=|- [i] Physical ports

m- Other virtual ports

Manage ports Fort access list Custom pinout

VSPD by Etima can create virtual senal ports with any names you like

$0 you are not limited to COM names only However, please, make sure that programs working with these ports support custom port names

a All virtual serial pairs will be

&? removed from your system Please, make sure all ports are closed

| Delete all

Chọn 2 công com mà bạn muốn kết nối và Click nút Add pair Bạn sẽ có những cặp

công com được nối với nhau, như COMI1 + COM2, COM4 + COM5

For help press Fl

1.2 Mạch mô phóng vi điều khiến giao tiếp máy tính

Khởi động chương trình mô phỏng mạch Proteus, lẫy các linh kiện cần thiết và vẽ mạch như hình dưới đây

Trang 3

Trang 4

Đây là mạch mô phỏng giao tiếp máy tính và vi điều khiển cơ bản nhất, tương

tác điều khiển led đơn, từ đây bạn có thể thay led thành các role để điều khiến động cơ

DC, động cơ bước (đảo chiều), "

Đề thực hiện gửi và nhận dữ liệu giữa máy tính va vi điều khiến, bạn cần thiết

lập tần số thạch anh cho vi điều khiến, tùy chọn tên cổng com cho công com ảo Các

bước thực hiện như sau

Click đúp vào vi điều khiến bạn sẽ thấy hộp thoại Edit Component, ở đòng thông số

Clock Frequency, bạn nhập vào 11.0592MHz như hình dưới đây, và click OK

Trang 4

Trang 5

BT Lớn Môn Truyền Số Liêu Giao tiếp máy tính - VĐK sử dụng C# và VB

a 2 3

Component Reference: si Hiddzr: ' -

Component Value: JATESC52 Kidder: | -

PCB Package: IpIL40 xi |Hids All Data

Clock Frequency: (11.05382MHz | Hide al

Cancel | Advanced Properties:

Simulate Program Fetches 1 |Ro | | Hide All

Other Properties:

| Exclude from Simulation | Attach hierarchy module

| Exclude from PCE Layout [Hide commer pins

| Edit all properties as text

Tho ưa: sai

fh ice ù ee

Component Reference: |P1 Hidden: |

Component Yalu: |E0M PIM Hidden: | ise |

VSE Model: [COMPIM.DLL ÍHidzAll + Bay |

Physical port: (eae =| Hide Al *

| Physical Baud Rate }9600 x) Hide >|

Physical Data Bits; | 3 | | Hide Al)

Physical Parity: |NONE | Hide All |

Virtual Baud Rate: | 9600 | | Hide All 7)

Virtual Data Bits: |8 xi Hide All 7)

Virtual Franity: |NDHE | Hide Al vì

Advanced Properties:

| Physical Stop Bits iii wj|Hisal xi

Other Properties:

a

Exclude from Simulation | Attach hierarchy module

— Exeludz tam PEB Lauaut [Ƒ Hins camrnnn nine

| Edit all properties as text

Trang 5

Trang 6

Tại dòng Physical port, ta chọn tên công com phù hợp Việc chọn tên công com

tùy thuộc vào chương trình tạo công com ảo Ở đây ta chọn COM2, vì trước đó ta có

kết nối đã được thiết lập giữa COM1 và COM2 bằng Virtual Serial Port Driver Tương

ứng để gửi nhận đữ liệu giữa vi điều khiển và Máy tính, trong giao chương trình Giao tiếp bằng C# hay VB ta phải chọn công com còn lại của cặp này là COMI

1.3 Lập trình cho VDK sw dung Keil C

1.3.1 Các bước xây dựng dự án Keil C

Sau khi khởi động Kell C, giao diện chương trình sẽ như hình sau

Fie felt Sie Project Debus Plgih Kia 1aeiv gies Window Help

Dé tao dy 4n mdi, ta vao menu Project > New Project

Trang 6

Trang 7

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

1 Dã Làn) BÁy Decurnerestficeane E im dieu kien!) hac hank VDI) Trapan mai tước Bài mang tBai rang LIVŸ

eC Red SEs rk Hello Heth

BCA SR CSL earch Fa caer neared

E2 KSFLYLLEhTinm¿7ErmrgletTrrHir:Trvfr L2 Crate Wien SE Rin CSL Ee erecta barely Bley PV

aL GC Reh CID Ewa rgb San pl eo ple

Trang 8

rhe Icons Images

cents aces : 4 | File folder & File folder

File name: es Froisr+ |

Save as type: [Project Files Cuv2) | Cancel

Sau đó hộp thoại Select Device for Target hiện ra yêu cầu bạn phải chọn phân cứng —

loại IC mà bạn viết chương trình cho nó Ở đây minh chon IC AT89C51 cia hang Atmel, ho MSC-51 (8051) Va click OK

Select Device for Target'Target & ef = leet

Trang 9

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

Device: ATS9C51 [Use Extended Linker (LX51) instead of BL51

Toolset: C51 I ee tended fesenibles (ait pac

Data base Daseriptian :

oi ATEĐC1051 [+ 8051-based Fullly Static 24MHz CMOS controller with 32 1/0 Lines,

Lf ATBSC1O51U 2 Timers/Counters, 6 Interupts/2 Pronty Levels, UART,

3 ATS8C2051 x Three-Level Program Memory Lock 4K Bytes Fash Memory,

L.£T ATBSC4051 Li 12% Bytes On-chip RAM

eK ATS9C5115

oof) ATBIC5130

if ATBIC5130A ef] ATSSC5131

Các bước khởi tạo dự án mới đã xong, bây giờ bạn bắt đầu thêm file vào dự án

của mình để có thể viết chương trình và biên địch file hex nạp cho VĐK

Vào menu File > New, một file mới đã được tạo Tiếp theo bạn vào menu File > Save

để lưu file mới này

Trang 9

Trang 10

‘Ela Esit Vom reject: sing: Flash Prjphersbe Toole VCS Wirdew Hales

aem@ ieee oct e as eae Sale

Trang 11

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

|E| EiE View Project: Getuy Fnh Prlphons [cdh SUCE Window Hels

l:|rt 49 3K m[ rlA“

Lai ange

ESE em Web abst eT

CAR Hal HELE

Gy Fr Irons L} Bai giang_Opt.Bak

Images |_| Bai giang_Uv2.Bak Recent Places |_| Bai giang | Last Loaded Bai giang.DBK

[ L] Bai giang._i L New Project.plg

= ¡ Bai giang.c “New Praject

Desktop ©) Bai giang L_ STARTUP.AS1

== j Bai giang.hex |_| STARTUP.LST aan _] Bai giang.|np |_) STARTUP.OBI branes _| Bai giang LST

Saveastype: [AI Fies (.) x| Cancel |

Trang 11

Trang 12

Tiếp theo sau khi lưu file mới, bạn click phải chuột vào cây thư mục của dự án, chọn

Add Files to Group ‘Source Group 1’ dé thém file méi vao dy an

- Tỳme+ Ha Rưnañ

ae | Dewfile.c - th Up Eb ERLàs8I elmer erste ime esas i

Trang 13

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

Sau khi hoàn tất thao tác trên bạn sẽ được như hình đưới này

Trang 14

OB New trưng - = san = -TồNHiorieetaly 0pcirtent2E9phuEt FRCP abe khi Ta hãnh TRC Tha eo, [=

[Ey Ede Exit ieee Project Debug Ags Danmphainh Torts SCS findow Help —-/}a| x]

|(2 TST ST oan 4 Sung ] Bọn Fe 7 ei fel

Hộp thoại Option for Target

"Options fa for Target “Target r

Device | Target Output | Listing| User | C51 | A51 | BLS1 Locate | BLS1 Mise | Debug | Lhities |

Select Folderfor Objects

1 hién ra ban thiét cập! như hình bên dưới

( Create Executable: \New Project

Create Library: New Project-LIB | Create Batch File

Trang 15

BT Lớn Môn Truyền Số Liệu Giao tiếp máy tinh - VDK sir dung C# va VB

Bay gio ta sé tiễn hành biên dịch dự án của mình, sau khi thực hiện tất cả bước trên và

lưu ý là bạn đã viết chương trình vào file dự án của mình

k¿| Merwe Frogect - gWnien3 - [DALErmnazldy Didier i nan Filet chim khai Thar hanh E1 Truyen rc [oS | SẼ j#6-908

| Ej rae: gat wee [Preyectl petog Ash Peiphenh Jools Guts Window Help a le| x

KES Badal target

4 EEBi4H II Iaripger tấez

ay | ,

B | a Ne ii Trang le rÍLitr te DpnrurremirPogiuai FileriMI đai then Thee hah VOR Tien aioe Fiep: EM Ly:

#! 1L (Librmeiikfy EraurrmririFrziuan Film li che bho Tho ham VO) Tryarr nee bap) Boe quencher Pr

: 1EB-0LiErwiez.NRW IữrrurresrlSiPrelie=s FEZ/ýÌ tếu heen Titer hath VUSCLTTUxð1 ide ep Boe peg Be iy

i J 0S CS Beer pl as Hal be) Hei LY

Ci eel = h Beat 9g Ce ee Beer ples ees Wee ne, LIZ

ee l §C::Ksữ S1 iPxTimy.Eemnpiar' Traển cil ithe WV

Két quả biên dịch được Keil C báo cáo như hình bên dưới File hex tương ứng đã được tạo ra trong thư mục của dự án

"nem iirg 23T TP Ãzn sïn

: corp Deo cow he ic | |

Progcram Sice: deteeliSod edeatee’ coden 5

cpeetiogs Sea File Prom “Sew ErciecL"_ _—

"Baw Ercim7L"” ~ 9 Error |s],; 3 Nharr:=g|m| =

Trang 16

Program Sine; data

Í[ | arearvrg hen file |( Execution Profiling L

Vao menu Peripherals > I/O-Ports va danh dau vao cac port cua vi điêu khiên mà bạn

muốn xem mức logic khi thực thi chương trình của bạn

irs [eit = id d#1ley consigned char sire) |

rl ene 8 while trime——i |

fz ere ou nñ#iqmad har § = 1261

Trang 17

BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB

Click vào đoạn chương trình bất kì, Bắm phím F11 để chạy từng dòng lệnh mà ta đã việt, xem kết quả xuât ra Port cua vi điêu khiên

F st

Parallel Port 1 ——

Port 1

Pins: |OxFF [gjgwlFivlegK

Trang 17

Trang 18

1.3.2 Cấu trúc cơ bản một chương trình C cho VĐK trong Keil C

a Phần đầu tiên là liệt kê các header file mà các bạn dùng bằng từ khóa

trong thư mục cài đặt KeIlC

Viết theo cách thứ hai thì trình biên dịch sẽ tìm luôn trong thư mục /INC luôn

Đề có thể sử dụng đúng các file h cho các vi điều khiển của mình thì bạn nên mở thư

muc /inc trong thư mục này có các thư mục con như tên của hãng sản xuất Ví dụ như của Atmel thì bạn tìm trong thư mục /Atmel thì sẽ thấy được file reg5l.h , Bạn mở

từng file nên mà khám phá sẽ có nhiều điều hay đấy

b Định nghĩa các macro cho chương trình sáng sủa Việc định nghĩa này được dùng bằng từ khóa #define

Vi dụ: bạn định nghĩa ledI là PI_0 tức là ledl được nối với chân 0 của Port 1

Code:

#define led1 P1 0

c Các hàm ngắt như ngắt timer0, timer1, ngắt nối tiếp, ngắt ngoài

Ví dụ bạn dùng ngắt nối tiếp là ngắt 4 trong bảng vector ngắt thì hàm sẽ có dạng như

Sau:

Trang 18

Trang 19

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

Code:

void inter_4(void) interrupt 4 using 2 {

// lam gi thi lam 6 day

void delay( unsigned char time) {

//code viet & đây

1 file thôi, nên không đưa biến toàn cục vào đây

Kết luận, chương trình của chúng ta sẽ có dạng như sau:

Code:

Trang 19

Trang 20

// liệt kê header file

#inlucde"tén header file"

// cac marco

#define led1 P1 0

// cac ham ngat

void inter_1 interrupt 1 using 3 {

// cac ham binh thuong

void delay( unsigned char time) {

Có lẽ việc lập trình cho vi điều khiến một hàm không thể thiếu đó là trễ: như trễ khi

nháy led chẳng hạn (ví dụ đơn giản nhất),

Trang 20

Trang 21

BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB

Việc gây trễ trong Keil C có thê có nhiều cách khác nhau:

Hàm đelay có tham số là thời gian cần gây trễ tính theo ms

1 Dung vong lap while, for

Dùng kiểu nào thì cũng đơn giản chỉ là vòng lặp mà thôi Trong vòng lặp nảy ta sé chăng làm gì cả nên vi điều khiển sẽ bị mất thời gian trong các vòng lặp này Với tần số thạch anh 11.0582 MHz thì mỗi vòng lặp khi các bạn debug sẽ thấy là chúng ta mắt thời gian thực khoảng 8.28 us Do đó để có thể gây trễ 1ms thì các bạn

cân dùng xấp xỉ 121 vòng lặp kiểu này

unsigned char temp = 121;

while(temp ); // chang lam gi ca

Việc chuyên đổi giữa vòng for với while trong trường hợp này rất đơn giản Nhưng khi

đó bạn lại phải khai báo thêm một biến đếm như thế sẽ tốn bộ nhớ Chương trình trên

là tối ưu nhất rồi

2 Dung timerO, timer]

Tiếp tục với hàm đelay() theo cách dùng bộ định thời

Các bạn đọc bài ở trên cũng thấy được là ta lập trình với các thanh ghi tương tự như

trong ASM

TMOD là thanh ghi 8 bít dùng để thiết lập bộ định thời , các bạn xem lại thanh ghi này Dùng bộ định thời có 3 chế độ: chế độ 0, chế độ 1, chế độ 2 Chúng ta sẽ sử dụng chế

độ khởi động bộ định thời bằng phần mềm tức TMOD.3 và TMOD.7 = 0

Việc xác định chế độ nào phụ thuộc vào giá trị của 2 bit TMI1 và TM0 của từng timer

(xem định nghĩa từng bít trong thanh ghi TMOD)

Trang 21

Trang 22

Chế độ 0 là chế độ 13 bít tương tự như chế độ 1 nhưng giá tri chi tăng đến Ox1FFF Chế độ 2, chế độ 8 bít tự nạp lại

Tiếp theo là ta tính thời gian của mỗi lần tăng bộ định thời Tấn số của bộ định thời bằng 1/12 tần số của thạch anh, do đó với tần số 11,0592MHz thì chu kì máy bằng

1.085us

Do vậy với chế độ 1 tối đa chúng ta sẽ gây trễ được là 65536*1.085 = 71106.56 us =

71.10656 ms

Ché d6 2 max = 256 *1.085 =277.76 us

Chi can gay tré 1ms = 1000 us>277.76 nên dùng timer0( 16 bit) ở chế độ 0 thì ta tính

toán gia tri nap cho tinerÔ0 như sau:

thời gian tré = (65536 - giá trị nạp vào TH,TL+ 1) * 1.085 Sau đó đôi giá tri ra sé hex Dung Calculator cua windows để đối

TMOD = 0x01; // dùng timer0 ở chế độ 1( 16 bit)

THO OxFC;// nap gia tri cho timer

Trang 23

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

Có lẽ người dùng Keil C lần đầu tiên gặp trở ngại khi dùng #include đó là không biết

liệt kê các header file nào cân thiết cho ứng dụng của mình

Đề có thê biết được header file nào dùng cho vi điều khiển của mình thì các bạn mở

thư mục cài Keil C ra, tìm đến thư mục C51/INC bạn sẽ thay mot loat cac thu muc cua các hãng như Atmel,Dalas, Tôi xin lay vi du mot file regx51.h trong thu muc /Atmel

Bạn mở file đó lên sẽ thấy đầu đề của nó như sau:

Code:

AT89X51.H

Header file for the low voltage Flash Atmel AT89C51 and AT89LV51

Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc All rights reserved

Trang 25

BT Lon Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dung C# và VB

Ngày đăng: 10/05/2014, 11:22

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w