Với việc phát triển của kĩ thuật vi xữ lý hiện nay thì việc áp dụng vào thực tiễn
đời sống là một nhu c ầu cần thiết c ủa con người. V ới xu hướng hiện đại hóa như hiện
nay thì việc điều khiển thiết bị bởi một hệ thống sẽ giúp việc điều khiển thiết bị đơn
giản và dễ sử dụng cho người dùng.
Nắm bắt được tình hình nhóm sinh viên chúng em l ựa chọn đề tài “Điều Khiển
Thiết Bị Qua PC” nhằm nghiên cứu để cung cấp cho người dùng một hệ thống điều
khiển đơn giản mà hiệu quả, đó là hệ thống điều khiển nhiều thiết bị tại chỗ qua việc
kết nối v ới c ổng COM máy tính, chúng ta có thể điều khiển được các thiết bị dân dụng
như đèn dây tóc, đèn huỳnh quang, và các thiết bị được được điều khiển bằng chức
năng ON/OFF.
Thông qua việc nghiên cứu vi điều khiển AT89S8252, các c ổng giao tiếp máy
tính và các linh ki ện điện tử, đ ề tài sẽ mang lại một hệ thống ổn định, chính xác và an
toàn v ới người sử dụng.
V ới sự hướng dẫn của cô Nguyễn Lan Anh đã giúp chúng em hoàn thành tốt đ ề
tài này.
Trong quá trình tìm hiểu không thể không có những điều thiếu sót, mong quý
Thầy Cô và người đ ọc góp ý, chình sửa để đề tài c ủa chúng em được hoàn thiện tốt
hơn.
88 trang |
Chia sẻ: ngtr9097 | Lượt xem: 3596 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Điều khiển thiết bị qua PC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang 1
LỜI MỞ ĐẦU
Với việc phát triển của kĩ thuật vi xữ lý hiện nay thì việc áp dụng vào thực tiễn
đời sống là một nhu cầu cần thiết của con ngƣời. Với xu hƣớng hiện đại hóa nhƣ hiện
nay thì việc điều khiển thiết bị bởi một hệ thống sẽ giúp việc điều khiển thiết bị đơn
giản và dễ sử dụng cho ngƣời dùng.
Nắm bắt đƣợc tình hình nhóm sinh viên chúng em lựa chọn đề tài “Điều Khiển
Thiết Bị Qua PC” nhằm nghiên cứu để cung cấp cho ngƣời dùng một hệ thống điều
khiển đơn giản mà hiệu quả, đó là hệ thống điều khiển nhiều thiết bị tại chỗ qua việc
kết nối với cổng COM máy tính, chúng ta có thể điều khiển đƣợc các thiết bị dân dụng
nhƣ đèn dây tóc, đèn huỳnh quang, và các thiết bị đƣợc đƣợc điều khiển bằng chức
năng ON/OFF.
Thông qua việc nghiên cứu vi điều khiển AT89S8252, các cổng giao tiếp máy
tính và các linh kiện điện tử, đề tài sẽ mang lại một hệ thống ổn định, chính xác và an
toàn với ngƣời sử dụng.
Với sự hƣớng dẫn của cô Nguyễn Lan Anh đã giúp chúng em hoàn thành tốt đề
tài này.
Trong quá trình tìm hiểu không thể không có những điều thiếu sót, mong quý
Thầy Cô và ngƣời đọc góp ý, chình sửa để đề tài của chúng em đƣợc hoàn thiện tốt
hơn.
Nhóm Sinh Viên
Điều khiển thiết bị qua PC Mục lục
Trang 2
MỤC LỤC
LỜI MỞ ĐẦU .........................................................................................................................1
MỤC LỤC ................................................................................................................................2
CHƢƠNG 1: DẪN NHẬP ....................................................................................................6
1.1 LÝ DO CHỌN ĐỀ TÀI ............................................................................................6
1.3 ĐỐI TƢỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU ..........................6
1.3.1 Đối tƣợng nghiên cứu. .......................................................................................6
1.3.2 Phạm vi nghiên cứu............................................................................................6
CHƢƠNG 2: TÌM HIỂU VI ĐIỀU KHIỂN AT89S8252 ..............................................7
2.1 MÔ TẢ ........................................................................................................................7
2.2 CẤU TRÚC VDK AT89S8252, CHỨC NĂNG TỪNG CHÂN ........................7
2.3 TỔ CHỨC BỘ NHỚ .............................................................................................. 11
2.3.1 RAM mục đích chung..................................................................................... 12
2.3.2 RAM định vị. ................................................................................................... 12
2.3.3 Các băng thanh ghi (Register Banks). .......................................................... 12
2.3.4 Các thanh ghi chức năng đặc biệt (Special Function Register). ................ 13
2.3.4.1 Từ trạng thái chƣơng trình (PSW: Program Status Word): .................... 14
2.3.4.2 Thanh ghi B:................................................................................................. 16
2.3.4.3 Con trỏ Stack SP (Stack Pointer): ............................................................. 16
2.3.4.4 Hai con trỏ dữ liệu DPTR (Data Pointer) ................................................. 16
2.3.4.5 Các thanh ghi Port (Port Register): ........................................................... 16
2.3.4.6 Các thanh ghi Timer (Timer Register):..................................................... 16
2.3.4.7 Các thanh ghi Port nối tiếp (Serial Port Register): .................................. 17
2.3.4.8 Các thanh ghi ngắt (Interrupt Register): ................................................... 17
2.3.4.9 Thanh ghi điều khiển nguồn PCON (Power Control Register): ............ 18
2.3.4.10 Thanh ghi điều khiển bộ nhớ và kiểm soát giờ (WMCON) ............... 19
2.3.4.11 Thanh ghi giao tiếp nối tiếp bên ngoài SPI (Serial Peripheral
Interface) .................................................................................................................... 20
2.4 TÓM TẮT TẬP LỆNH CỦA AT89S8252 ......................................................... 21
2.4.1 Các chế độ định vị ( addressing mode ) ....................................................... 21
2.4.1.1 Sự định vị thanh ghi ( Register Addressing) ............................................ 21
2.4.1.2 Sự định địa chỉ trực tiếp ( Direct Addressing ) ........................................ 22
2.4.1.3 Sự định vị địa chỉ gián tiếp ( Indirect Addressing) ................................. 22
Điều khiển thiết bị qua PC Mục lục
Trang 3
2.4.1.4 Sự định vị địa chỉ tức thời (Immediate Addressing) ............................... 23
2.4.1.5 Sự định vị địa chỉ tƣơng đối ....................................................................... 23
2.4.1.6 Sự định địa chỉ tuyệt đối ( Absolute Addressing) ................................... 24
2.4.1.7 Sự định vị địa chỉ dài ( Long Addressing ) .............................................. 24
2.4.1.8 Sự định địa chỉ phụ lục (Index Addressing ) ............................................ 24
2.4.2 Các kiểu lệnh (instruction types) ................................................................... 25
2.4.2.1 Các lệnh số học (Arithmetic Instrustion): ................................................ 25
2.4.2.2 Các hoạt động logic (Logic Operation): ................................................... 26
2.4.2.3 Các lệnh rẽ nhánh ........................................................................................ 27
2.4.2.4 Các lệnh dịch chuyển dữ liệu. .................................................................... 29
2.4.2.5 Các lệnh luận lý (Boolean Instruction) ..................................................... 30
2.5 HOẠT ĐỘNG CỦA PORT NỐI TIẾP AT89S8252. ........................................ 31
2.5.1 Giới thiệu .......................................................................................................... 31
2.5.2 Thanh ghi điều khiển port nối tiếp SCON (Serial Port Control Register) 32
2.5.3 Các mode hoạt động (Mode Of Operation) ................................................. 33
2.5.4 Sự khởi động, truy xuất các thanh ghi port nối tiếp .................................... 34
2.5.4.1 Sự cho phép bộ thu (Recive Enable) ......................................................... 34
2.5.4.2 Bit data thứ 9 ( the 9th data bit) .................................................................. 34
2.5.4.3 Sự thêm vào bit kiểm tra chẳn lẻ Parity .................................................... 34
2.5.4.4 Cờ ngắt .......................................................................................................... 35
2.5.5 Sự truyền của bộ xử lý đa kênh ................................................................. 35
2.5.6 Tốc độ baud của port nối tiếp ........................................................................ 36
2.6 HOẠT ĐỘNG TIMER CỦA AT89S8252 .......................................................... 39
2.6.1 Giới thiệu .......................................................................................................... 39
2.6.2 Timer 0 và Timer 1 ......................................................................................... 39
2.6.2.1 Thanh ghi điều khiển Timer TCON (Timer Control Register).............. 41
2.6.2.2 Các Mode và cờ tràn (Timer Modes And Overflow).............................. 41
2.6.2.2.1 Mode Timer 13 bit (MODE 0) ............................................................. 41
2.6.2.2.2 Mode Timer 16 bit (MODE 1) ............................................................. 42
2.6.2.2.3 Mode tự động nạp 8 bit (MODE 2) ..................................................... 42
2.6.2.2.4 Mode Timer tách ra (MODE 3)............................................................ 43
2.6.2.3 Các nguồn xung clock (Clock Sources).................................................... 43
2.6.2.3.1 Sự bấm giờ bên trong (Interval Timing) ............................................. 43
2.6.2.3.2 Sự đếm các sự kiện (Event Counting) ................................................. 44
Điều khiển thiết bị qua PC Mục lục
Trang 4
2.6.2.4 Sự bắt đầu, kết thúc và sự điều khiển các Timer (Starting, Stoping And
Controlling The Timer) ............................................................................................. 44
2.6.2.5 Sự khởi động và truy suất các thanh ghi Timer. ...................................... 44
2.6.2.6 Sự đọc thanh ghi timer trên tuyến. ............................................................ 45
2.6.3 Timer 2.............................................................................................................. 45
2.6.3.1 Thanh ghi T2CON (Timer/Counter 2 Control Register) ........................ 46
2.6.3.2 Thanh ghi T2MOD – Timer 2 Mode Control Register........................... 47
2.6.3.3 Chế độ Capture ............................................................................................ 47
2.6.3.4 Chế độ Auto-Reload.................................................................................... 48
2.6.3.5 Chế độ Baud Rate Generator...................................................................... 49
CHƢƠNG 3: TÌM HIỂU CÁC CỔNG GIAO TIẾP................................................... 51
3.1 GIAO TIẾP CỔNG SONG SONG (CỔNG MÁY IN) ..................................... 51
3.1.1 Tên gọi .............................................................................................................. 51
3.1.2 Mức điện áp cổng ............................................................................................ 51
3.1.3 Khoảng cách ghép nối .................................................................................... 51
3.1.4 Tốc độ truyền dữ liệu ...................................................................................... 51
3.1.5 Cấu trúc cổng song song................................................................................. 51
3.1.6 Các thanh ghi ở cổng song song. ................................................................... 53
3.2 GIAO TIẾP CỔNG NỐI TIẾP (RS232) ............................................................. 53
3.2.1 Cấu trúc cổng nối tiếp. .................................................................................... 53
3.2.2 Truyền thông nối tiếp giữa 2 nút. .................................................................. 56
3.3 TÌM HIỂU VỀ USB ............................................................................................... 57
3.3.1 Khái niệm ......................................................................................................... 57
3.3.2 Kết nối qua USB.............................................................................................. 58
3.3.3 Mở rộng cổng USB ......................................................................................... 58
3.3.4 Các đặt tính của USB ...................................................................................... 59
3.3.5 USB 2.0 ............................................................................................................ 60
3.3.6 USB 3.0 ............................................................................................................ 60
CHƢƠNG 4: CHUẨN TRUYỀN THÔNG NỐI TIẾP RS232.................................. 62
4.1 ĐẶT VẤN ĐỀ. ....................................................................................................... 62
4.2 ƢU ĐIỂM CỦA GIAO DIỆN NỐI TIẾP RS232. ............................................. 62
4.3 NHỮNG ĐẶC ĐIỂM CẦN LƢU Ý TRONG CHUẨN RS232. ..................... 62
4.4 CÁC MỨC ĐIỆN ÁP ĐƢỜNG TRUYỀN. ........................................................ 62
4.5 CỔNG RS232 TRÊN PC....................................................................................... 63
4.6 QUÁ TRÌNH DỮ LIỆU. ....................................................................................... 64
Điều khiển thiết bị qua PC Mục lục
Trang 5
4.6.1 Tốc độ Baud. .................................................................................................... 65
4.6.2 Bit chẵn lẻ hay Parity bit. .............................................................................. 65
4.7 SƠ ĐỒ KẾT NỐI ................................................................................................... 66
CHƢƠNG 5. THIẾT KẾ MẠCH PHẦN CỨNG ĐIỀU KHIỂN ............................. 67
5.1 KHỐI NGUỒN NUÔI VI ĐIỀU KHIỂN, MẠCH. ........................................... 67
5.2 KHỐI CHUYỂN ĐỔI TÍN HIỆU RS232 THÀNH TTL DÙNG MAX232... 68
5.2.1 Giới thiệu về MAX232 ................................................................................... 68
5.2.2 Sơ đồ kết nối. ................................................................................................... 68
5.3 MẠCH ĐIỀU KHIỂN ĐÓNG NGẮT TẢI AC. ................................................ 69
CHƢƠNG 6: THIẾT KẾ CODE VÀ GIAO DIỆN ĐIỀU KHIỂN.......................... 71
6.1 THIẾT KẾ CODE ĐIỀU KHIỂN VI XỬ LÝ .................................................... 71
6.1.1 Ý tƣởng thiết kế ............................................................................................... 71
6.1.2 Lƣu đồ giải thuật ............................................................................................. 72
6.1.3 Code điều khiển ............................................................................................... 72
6.2 THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN .............................................................. 75
6.3 MẠCH NGUYÊN LÝ ........................................................................................... 83
6.4 MẠCH MÔ PHỎNG.............................................................................................. 84
CHƢƠNG 7: HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ................................................. 85
TÀI LIỆU THAM KHẢO ................................................................................................. 86
PHỤ LỤC 1 ........................................................................................................................... 87
PHỤ LỤC 2 ........................................................................................................................... 88
Điều khiển thiết bị qua PC Chƣơng 1: Dẫn Nhập
Trang 6
CHƢƠNG 1: DẪN NHẬP
1.1 LÝ DO CHỌN ĐỀ TÀI
Với sự phát triển không ngừng của các ngành khoa học kỹ thuật nhằn đáp ứng
ngày càng đa dạng và phong phú cho đời sống con ngƣời, việc nghiên cứu và phát
triển các sản phẩm điều khiển tự động thay thế sức lao động cùa con ngƣời là một
nhiệm vụ rất cần thiết.
Viêc giám sát và điều khiển các thiết bị từ xa qua hệ thống gồm các phần tử nối
với nhau bằng dây dẫn thông qua chuẩn RS232 đã đem lại một lợi ích hết sức to lớn
cho nhu cầu phát triển của xã hội, tiết kiệm đƣợc rất nhiều thời gian, sức lực và mang
lại hiệu quả kinh tế lớn.
Nắm bắt đƣợc tình hình quan trọng, với quyết định lựa chon đề tài “Điều khiển
thiết bị qua PC” nhằm góp phần mang lại sự tiện nghi, tiện ích cho cuộc sống ngày
nay.
1.2 MỤC ĐÍCH NGHIÊN CỨU ĐỀ TÀI
Đề tài sử dụng điều khiển các thiết bị dân dụng trong gia đình nhƣ đèn, quạt,..
thông qua ngôn ngữ lập trình phổ biến hiện nay. Từ viêc tìm hiểu về các thiết bị giao
tiếp cho đến việc thiết kế mạch nhằm giúp ngƣời đọc dễ dàng tiếp nhận và muốn cung
cấp hệ thống điều khiển cho ngƣời sử dụng.
1.3 ĐỐI TƢỢNG NGHIÊN CỨU VÀ PHẠM VI NGHIÊN CỨU
1.3.1 Đối tƣợng nghiên cứu.
Tìm hiểu về các cổng giao tiếp: cổng nối tiếp, cổng song song, cổng USB,
chuẫn kết nối RS232, khảo sát vi điều khiển AT89S8252.
1.3.2 Phạm vi nghiên cứu.
Thực hiện viêc kết nối thiết bị điều khiển với PC thông qua RS232, điều khiển
các thiết bị dân dụng.
Điều khiển thiết bị qua PC Chƣơng 2: Tìm hiểu VDK AT89S8252
Trang 7
CHƢƠNG 2: TÌM HIỂU VI ĐIỀU KHIỂN AT89S8252
2.1 MÔ TẢ
AT89S8252 là một vi điều khiển do ATMEL sản xuất, chế tạo theo công nghệ
CMOS với 8KB Flash (Flash programmable and erasable read only memory) và 2KB
EEPROM. Thiết bị này đƣợc chế tạo bằng cách sử dụng kỹ thuật bộ nhớ không bốc
hơi mật độ cao của ATMEL và tƣơng thích với chuẩn công nghiệp MSC-52TM về lập
tập lệnh và các chân ra. AT89S8252 là một vi điều khiển mạnh có công suất lớn có
tính linh động cao và phù hợp về giá cả đối với các ứng dụng vi điều khiển.
Các đặc điểm của AT89S8252 đƣợc tóm tắt nhƣ sau:
Tƣơng thích hoàn toàn với họ MSC-52TM của Intel.
8 KB bộ nhớ có thể lập trình lại nhanh, có khả năng tới 1000 chu kỳ ghi
xóa.
Tần số hoạt động từ 0Hz đến 24 MHz.
3 mức khóa bộ nhớ lập trình.
3 bộ Timer/Counter 16 bit.
256 Byte RAM nội.
4 Port xuất nhập I/O 8 bít.
Giao tiếp nối tiếp.
2KB EEPROM bên trong dùng để lƣu trữ chƣơng trình.
Độ bền EEPROM: 100.000 lần ghi/xóa.
Chế độ hạ nguồn và chế độ lƣời tiêu tốn công suất thấp.
9 nguồn ngắt.
Điều khiển truyền dữ liệu trực tiếp qua các chân MISO, MOSI, SCK.
2.2 CẤU TRÚC VDK AT89S8252, CHỨC NĂNG TỪNG CHÂN
Chức năng hoạt động của từng chân (PIN) đƣợc tóm tắt nhƣ sau:
Điều khiển thiết bị qua PC Chƣơng 2: Tìm hiểu VDK AT89S8252
Trang 8
Hình 2.1: Sơ đồ chân AT89S8252
Từ chân 1†8 Port 1 (P1.0, P1.1, …, P1.7) dùng làm Port xuất nhập I/O để giao
tiếp bên ngoài với điện trở kéo lên bên trong. Các bộ đệm xuất của Port 1 có thể
cấp/hút dòng cho 4 ngõ vào TTL loại LS. Các chân Port 1 có các bit 1 đƣợc ghi để
đƣợc kéo lên mức cao bởi các điện trở kéo lên bên trong và trong trạng thái này chúng
đƣợc dùng làm các ngõ nhập. Khi là Port nhập các chân của Port 1 đang đƣợc kéo
xuống mức thấp do bên ngoài sẽ cấp dòng do các điện trở bên trong kéo lên. Các chân
P1.0 và P1.1 của Port 1 cũng đƣợc dùng cho các chức năng T2 và T2EX. Các chân
P1.5, P1.6, P1.7 là các chân đƣợc dùng cho các chức năng MOSI, MISO, SCK để điều
khiển truyền và xuất dữ liệu cho vi điều khiển. Công dụng chuyển đổi có liên hệ với
các đặt tính của AT89S8252 nhƣ sau:
Bảng 2.1: Chức năng chuyển đổi ở Port 1
Bit Tên Chức năng chuyển đổi
P1.0 T2 Ngõ vào của bộ định thời/đếm 2
P1.1 T2EX Nạp lại/thu nhận của bộ định thời 2
P1.4 ̅̅ ̅ Ngõ vào lựa chọn cổng Slave
P1.5 MOSI Chân xuất dữ liệu Master, nhập dữ liệu Slave
P1.6 MISO Chân nhập dữ liệu Master, xuất dữ liệu Slave
P1.7 SCK Ngõ ra xung clock của Master, ngõ vào xung clock Slave
Điều khiển thiết bị qua PC Chƣơng 2: Tìm hiểu VDK AT89S8252
Trang 9
Chân 9 (RST) là chân đề RESET cho AT89S8252. Bình thƣờng các chân này ờ
mức thấp. Khi ta đƣa tín hiệu lên mức cao (tối thiểu 2 chu kỳ máy), thì những thanh
ghi nội của AT89S8252 đƣợc LOAD những giá trị thích hợp để khởi động lại hệ
thống.
Từ chân 10†17 là Port 3 (P3.1, P3.1, …P3.7) dùng vào hai mục đích: dùng làm
Port xuất nhập I/O hoặc mỗi chân lại giữ một chức năng cá biệt đƣợc tóm tắt sơ bộ
nhƣ sau:
Bảng 2.2: Các chức năng chuyển đổi ở Port 3
Bit Tên Chức năng chuyển đổi
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu phát cho port nối tiếp
P3.2 ̅̅ ̅̅ ̅̅ ̅ Ngắt 0 bên ngoài
P3.3 ̅̅ ̅̅ ̅̅ ̅ Ngắt 1 bên ngoài
P3.4 T0 Ngõ vào của timer/counter 0
P3.5 T1 Ngõ vào của timer/counter 1
P3.6 ̅̅ ̅̅ ̅ Xung ghi bộ nhớ dữ liệu ngoài
P3.7 ̅̅ ̅̅ Xung đọc bộ nhớ dữ liệu ngoài
Các chân 18, 19 (XTAL2 và XTAL1) đƣợc nối với bộ dao động thạch anh 12
MHz để tạo dao động trên Chíp. Hai tụ 30 pF đƣợc thêm vào để ổn định dao động.
Hình 2.2 Dao động trên chip với thạch anh
Chân 20 (Vss) nối đất (Vss = 0).
Từ chân 21†28 là Port 2 ( P2.0, P2.1, …, P2.7) dùng vào hai mục đính: dùng
làm Port xuất nhập I/O hoặc dùng làm byte cao của bus địa chỉ thì nó không còn tác
Điều khiển thiết bị qua PC Chƣơng 2: