1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐIỀU KHIỂN VỊ TRÍGIAO TIẾP MÁY TÍNH

86 2 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

Uỷ Ban Nhân Dân Tp.Hồ Chí Minh Trường Đại Học Tôn Đức Thắng Luận Văn Tốt Nghiệp Đề Tài: ĐIỀU KHIỂN VỊ TRÍ – GIAO TIẾP MÁY TÍNH SVTH: Phạm Đồn Anh Tuấn MSSV: 610259D GVHD: TP Hồ Chí Minh 07/2008 PHẦN GIỚI THIỆU SƠ LƯỢC VĐK P89V51 I Khái quát tính năng: 1.khái quát: p89v51rb2 vi điều khiển 80c51 có 16kb flash 1024bytes nhớ liệu ram tính đặc biệt p89v51rb2 chế độ hoạt động mode x2 Người thiết kế chọn chạy ứng dụng chế độ để nâng đôi tốc độ hoạt động tần số dao động (một chu kì máy=6 chu kì xung nhịp) chức isp ( insystem -programming) isp khả nạp trực tiếp chương trình vào chip mạch mà khơng cần phải rút chíp khỏi mạch vdk atmel có avr ,và 89s52 có chức Nhờ chức ,mạch nạp cho chip philip đơn giản dễ chế tạo chức isp dung chân vdk (txd,rxd,rst ,vdd,vss) chức iap (in-application programmable), chức iap cho phép nhớ flash có khả cấu hình lại ứng dụng chạy định thời 16 bít chức philip giống hệt chíp 89c51 spi (serial peripheral interface) chức cho phép truyền liệu đồng với tốc độ cao chíp philip thiết bị ngoại vi khác ,hay chíp với pwm (pulse width modulation) chức đặc biệt philip ,khi chíp hoạt động chế độ chân chíp phát xung với tần số khác (tần số người lập trình xác định) Philip có chế độ băm xung bit (con avr cịn hỗ trợ băm xung 10 bít adc) với chân băm xung .chức ngắt , philip ngắt với mức ưu tiên ngắt ,nó có ngắt ,ngắt timer , nối tiếp 89c ,ngoài cịn có chức ngắt pca ,uart/spi Hình 1: sơ đồ khối mcu p89v51rb2 hình 2: sơ đồ chân mcu p89v51rb2 2 Sơ qua chân vi điều khiển: port 0, port 1, port 2, port 3: cấu trúc 8051 kinh điển p1.0 - t2: ngõ vào counter cho timer/counter ngõ cho counter/timer p1.1 - t2ex: điều khiển hướng cạnh kích chức capture cho timer/counter p1.2 – eci: ngõ vào xung nhịp Tín hiệu nguồn xung nhịp cho chức pca p1.3 –cex0: ngõ vào xung nhịp cho chức capture/compare modul p1.4: Ss: chọn cổng phụ vào cho spi Cex1: ngõ vào xung nhịp cho chức capture/compare modul p1.5: Mosi: phục vụ spi Cex2: ngõ vào xung nhịp cho chức capture/compare modul p1.6: Miso: phục vụ spi Cex3: ngõ vào xung nhịp cho chức capture/compare modul p1.7: Sck: phục vụ spi Cex4: ngõ vào xung nhịp cho chức capture/compare modul Psen: cho phép dùng nhớ chương trình ngồi Khi mcu sử dụng nhớ chương trình chip, psen khơng tích cực Khi sử dụng nhớ chương trình ngồi, psen thường mức tích cực lần chu kì máy Sự chuyển mức cao sang thấp psen cưỡng từ bên ngõ vào rst mức cao 10 chu kì máy đưa mcu vào chế độ lập trình host từ bên ngồi Rst: nguồn dao động hoạt động, mức cao chân rst chu kì máy reset lại hệ thống Nếu chân psen chuyển mức rst mức cao, mcu vào chế độ lập trình host từ bên ngồi, khơng, hoạt động bình thường Ea: cho phép sử dụng nhớ chương trình ngồi Ea=’0’ nhớ ngồi Ea=’1’ nhớ chip Ale/prog: cho phép khóa địa chỉ ngồi chân cịn dùng để đưa vào chế độ lập trình flash II Tạo chương trình giao tiếp PC-MCU: Bit tclk và/hoặc rclk ghi t2con cho phép chọn nguồn sinh sinh tốc độ baud uart truyền phát từ timer1 2: scon: sm0-sm1=0-1: uart mode 1: 8-bit uart variable ti: cờ ngắt truyền phát ri: cờ ngắt thu nhận ren: cho phép thu sm2=’0’ mode tclk = 0, timer nguồn sinh tốc độ baud, tclk = 1, timer nguồn sinh tốc độ baud hình 3: timer chế độ sinh tốc độ baud III Chức PCA: Chức bật p89v51rd2 có kênh pca, ghi chịu tác động: cmod, ccon, ccapmn hình 4: hệ thống ngắt chức pca Thanh ghi chức đặc biệt CMOD: cmod pca counter mode d9h cidl wdte - - - cps1 cps0 ecf Không can thiệp vào bit Bit Kí hiệu Chức Điều khiển trạng thái rỗi counter pca Cidl=0 cho counter pca Cidl tiếp tục hoạt động bất chấp trạng thái rỗi Cidl=1 lập trình cho khơng hoạt động trạng thái rỗi Wdte Cho phép watchdog timer modul 5-3 2-1 Chưa khai báo Cps1-cps0 Lựa chọn nguồn xung đếm cho pca Ecf Cho phép ngắt tràn counter pca bảng 2: bit định nghĩa cho ghi cmod Ta lợi dụng chức pwm pca để điều xung, nhằm chỉnh mức áp đặt vào động cơ, qua đó, thay đổi tốc độ Pca timer 16bit đặc biệt, gồm modul Mỗi modul lập trình để vận hành chế độ: capture cạnh lên/xuống, timer, ngõ tốc độ cao, hay pwm Timer pca vận hành nhờ nguồn xung nhịp: ½ oscfreq ; 1/6oscfreq; tốc độ tràn timer 0; hay từ ngõ vào chân eci(p1.2) Nguồn xung nhịp pca chọn nhờ bit cps1-cps0 ghi đa dụng cmod Cps1 Cps0 Chọn xung nhịp cho pca 0 Fosc/6 Fosc/2 Tràn từ timer 1 Xung nhịp (eci) tốc độ lớn fosc/4 bảng : quy định cách chọn xung nhịp cho pca Thanh ghi chức đặc biệt CCON: Ccon pca counter control d8h Cf cr - ccf4 ccf3 ccf2 ccf1 ccf0 Có thể can thiệp vào bit Bit Kí hiệu Chức Cf Cờ đếm tràn pca Cr Bit điều khiển chạy counter pca - Chưa định nghĩa Ccf4 Cờ ngắt modul pca Ccf3 Cờ ngắt modul pca Ccf2 Cờ ngắt modul pca Ccf1 Cờ ngắt modul pca Ccf0 Cờ ngắt modul pca Bảng 4: bit định nghĩa ghi ccon Thanh ghi chức so sánh/capture cho modul PCA:CCAPMN Không can thiệp vào bit Bit Kí hiệu Chức - Ecomn Cho phép so sánh Cappn Cho phép capture cạnh lên Capnn Cho phép capture cạnh xuống Matn Cho phép kết nối với cờ ngắt ccfn ghi Chưa định nghĩa ccon Togn Lật mức ngõ Tác động đến chân cexn Pwmn Chế độ điều xung Tác động đến chân cexn Excfn Cho phép ngắt ccfn Bảng 5: bit định nghĩa ghi ccapmn Các chế độ hoạt động modul PCA Xem bảng sau: Ecom Capp Capn Mat Tog Pwm Eccf Chế độ hoạt động 0 0 0 Không hoạt động X 0 0 X Capture 16 bit kích cạnh lên cex X 0 X Capture 16 bit kích cạnh xuống cex X 1 0 X Capture 16 bit kích cạnh cex 0 0 X Timer 16 bit 0 1 X Ngõ tốc độ cao 16 bit 0 0 Pwm bit 0 X X Đồng hồ watchdog Bảng 6: chế độ hoạt động modul pca Chế độ Capture củaÂPC: Phải có bit capp capn bật; chuyển mức cex thành ngõ vào capture cho modul này.khi có chuyển mức hợp lệ cex, phần cứng modul pca tự nạp cácgiá trị ghi timer/counter pca (ch cl) vào ghi capture modul pca Xem hình vẽ để thấy rõ chức II Phần điều khiển: * Mạch công suất ta sử dụng Mosfet 9540 540 thiết kế theo dạng cầu H để điều khiển động Tín hiệu điều khiển từ VĐK đưa vào IC 74LS02 (NOR), ngõ 74LS02 đưa vào điều khiển gián tiếp Opto để điều khiển Mosfet * Mạch điều khiển ta sử dụng IC RS232 để giao tiếp Máy Tính VĐK thơng qua ta nạp chương trình trực tiếp cho VĐK * Cấu trúc bên 74LS02 nguyên tắc hoạt động Y = A+B Input Output A B Y L L H L H L H L L H H L H: high logic level L: low logic level 71 72 R15 R 74LS02 U5A nguon dong co Vm = 12VDC - 100VDC NGUON 24 VDC 74LS02 U5B KET NOI BO DIEU KHIEN THUAN/NGHICH Vcc CHAY /DUNG THUAN/NGHICH Vcc R16 R CHAY /DUNG Vcc CON4 Vm Vcc R14 100 R12 1.2K R13 100 R11 1.2K 74LS02 10 U5C Vcc Q6 2n2222 Q5 2n2222 PC817 A2 PC817 A1 MACH CONG SUAT Vm Vm R4 5.6K R3 8.2K R2 8.2K R1 5.6K Vm Q2 IRF540 Q1 IRF9540 1 10V D1 2 10V D3 D8 1N4001 MOTOR D6 MOTOR DC 1N4001 Vm D9 1N4001 D7 1N4001 2 Vm 10V D2 10V D4 Q3 IRF540 Q4 IRF9540 Vm Vm A4 R8 5.6K R7 8.2K PC817 A3 R6 PC817 8.2K R5 5.6K Vcc Vcc R10 330 R9 330 MACH DIEU KHIEN VCC VCC J6 COM9 R1IN T1OUT R1OUT T1IN T2OUT R2IN T2IN R2OUT CON2 12 11 TXD RXD 10 VCC C7 C1+ V+ C1C2+ C2- MAX232 GND 13 14 C V- VCC 15 VCC U4 P1 16 C8 R1 R C VCC D3 J4 RXD TXD 10 11 12 13 14 15 16 17 31 X2 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RXD TXD INT0 INT1 T0 T1 WR RD P89V51 RESET P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 18 EA/VP J2 X1 VSS C2 C VCC U1 19 20 C1 40 LED ALE/P PSEN 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 30 29 VCC VCC C3 C R3 R 73 III Lưu đồ giải thuật: Nhập vị trí START giây máy tính gửi VĐK gửi lại máy tính yêu cầu xuống VĐK vị trí Truyền liệu xuống VĐK Hiển thị máy tính N VĐK nhận ? Động không chạy Y Động chạy Hiển thị thông báo “DA TRUYEN DU LIEU” VĐK đếm xung trả Nhận xung từ encoder tăng SOXUNG lên Nhấn STOP N So sánh số xung có giá trị đặt ? Động dừng Y Hiển thị thông báo “DA DUNG DONG CO” 74 IV Viết chưong trình: * Chương trình điều khiển máy tính: Dim GTDAT As Byte Dim BUFFER As String Dim X As Integer Dim GTHT As Byte Dim SX As Integer Private Sub Form_Load() GTDAT = START.Enabled = False Timer1.Interval = 1000 'mot giay doc xung mot lan MSComm1.CommPort = 'dung cong com MSComm1.RThreshold = 'dung su kien oncomm nhan MSComm1.OutBufferSize = 1024 'dat kich thuoc bo dem truyen MSComm1.InBufferSize = 1024 'dat kich thuoc bo dem nhan MSComm1.Settings = "9600,n,8,1" 'thiet lap toc baud 'khong bit chan le, bit du lieu va bit stop MSComm1.InputLen = ' doc het bo dem nhan MSComm1.InputMode = comInputModeText If MSComm1.PortOpen = False Then 'thiet lap va tra lai tinh trang cua cong MSComm1.PortOpen = True End If Label4.Caption = Time End Sub 75 Private Sub START_Click() MSComm1.Output = "R" GTDAT = CByte(Val(txtGTD.Text)) X = (GTDAT * 400) / MSComm1.Output = Chr(X) End Sub Private Sub STOP_Click() MSComm1.Output = "S" End Sub Private Sub BACK_Click() MSComm1.Output = "N" End Sub Private Sub CLOSE_Click() MSComm1.Output = "S" End End Sub Private Sub Timer1_Timer() MSComm1.Output = "D" End Sub Private Sub txtGTD_Change() START.Enabled = True End Sub 76 Private Sub MSComm1_OnComm() If MSComm1.CommEvent = comEvReceive Then BUFFER = MSComm1.Input End If SX = Asc(BUFFER) GTHT = (SX * 2) / 400 txtGTHT.Text = GTHT If BUFFER = "r" Then thongbao = "DA TRUYEN DU LIEU" End If If BUFFER = "s" Then thongbao = "DA DUNG DONG CO" End If If BUFFER = "b" Then thongbao = "DANG TRO VE VI TRI DAU" End If End Sub 77 * Chương trình điều khiển VĐK: #include "p89v51rx2.h" sbit CHAY = P1^6; sbit DAOCHIEU = P1^7; int NHAN; int TRUYEN; int SOXUNG; int SOVONG; int uart_data; void delay (unsigned char giay) { while(giay ) { unsigned char i =121; while(i ); }; } void SetupEx0(void) { SCON = 0x50; TMOD = 0x20; TH1 = 0xFD; TR1=1; EX0 = 1; IT0 = 1; EA = 1; ES0=1; } 78 void main(void) { CHAY=1; DAOCHIEU=0; SetupEx0(); while(1); } void serial(void)interrupt { if(RI= =1) { RI=0; NHAN = SBUF; } if (NHAN= ='R') { CHAY = 0; delay(8); CHAY = 1; delay(12); DAOCHIEU = 0; TRUYEN = 'r'; SBUF = TRUYEN; TI=0; } if (NHAN= ='N') { CHAY = 0; delay(8); 79 CHAY = 1; delay(12); DAOCHIEU = 1; TRUYEN = 'b'; SBUF = TRUYEN; TI=0; } if(NHAN= ='S') { CHAY=1; DAOCHIEU=0; TRUYEN = 's'; SBUF = TRUYEN; TI=0; } if(RI= =1) { RI=0; uart_data=SBUF; } } void NGATNGOAI(void)interrupt { SOXUNG++; if(SOXUNG= =400) { SOXUNG=0; SOVONG++; if(SOVONG= =uart_data) 80 { CHAY=1; DAOCHIEU=0; NHAN='S' ; } } } 81 * Giao diện điều khiển: 82 PHẦN TÀI LIỆU THAM KHẢO C51 Primer Cx51 Compiler Programming Embedded Systems Writing C Code for the 8051 Ngôn ngữ lập trình C - (internet) Đo lường điền khiển máy tính - TS Nguyễn Đức Thành Lập trình VB - (internet) Các diễn đàn điện tử: www.dientuvietnam.net www.vagam.dieukhien.net www.kysubachkhoa.com số diễn đàn khác 83 MỤC LỤC Đề mục Trang Phần 1: giới thiệu sơ lược VĐK P89V51 I Khái quát tính 1 Khái quát Sơ qua chân VĐK II Tạo chương trình giao tiếp PC-MCU III Chức PCA Thanh ghi chức đặc biệt CMOD Thanh ghi chức đặc biệt CCON Thanh ghi chức capture cho modul PCA:CCAPMN Chế độ hoạt động modul PCA Chế độ capture PCA Chức PWM PCA 10 Phần 2: lập trình C cho VĐK 12 I Giới thiệu 12 II Cơ C 12 Các thị trước xử lý Keil C 12 Các toán tử 13 Các kiểu liệu 16 Cấu trúc chương trình C 17 Các lệnh C 18 Phần 3: giao tiếp cổng nối tiếp: 23 I Cấu trúc cổng nối tiếp 23 Phần 4: hàm VB giao tiếp máy tính 27 I Các tính chất Mscomm 27 II Các thuộc tính nhận liệu 29 III Các thuộc tính xuất lieu 30 Phần 5: phần mềm lập trinh Keil C, Flash magic 33 1 Cách sử dụng phần mềm Keil C 33 Phần mềm Flash magic 46 Phần 6: động điện chiều 49 I Đặc tính tĩnh cử động điện chiều 49 II Sơ lược phương pháp điều khiển động điện chiều 53 Điều khiển điện áp phần ứng 54 Điều khiển từ thông 55 Điều khiển hỗn hơp điện áp phần ứng từ thơng kích từ 56 Điều khiển điện trở phần ứng 56 III Khởi động 57 IV Các trạng thái hãm 58 Hãm tái sinh 58 Hãm động 59 Hãm ngược 62 Phần 7: Encoder 64 I Encoder số 64 Encoder tiếp xúc 64 Encoder từ trường 64 3.encoder quang 65 II Ưu điểm encoder số 68 Phần 8: thi công 69 I Phần khí 69 II Phần điều khiển 71 Mạch công suất 72 Mạch điều khiển 73 III Lưu đồ giải thuật 74 IV Viết chương trinh 75 Chương trình máy tính 75 Chương trình VĐK 78 Giao diên điều khiển 82 Phần 9: Tài liệu tham khảo 83 ... bật p89v51rd2 có kênh pca, ghi chịu tác động: cmod, ccon, ccapmn hình 4: hệ thống ngắt chức pca Thanh ghi chức đặc biệt CMOD: cmod pca counter mode d9h cidl wdte - - - cps1 cps0 ecf Không can thiệp... Tràn từ timer 1 Xung nhịp (eci) tốc độ lớn fosc/4 bảng : quy định cách chọn xung nhịp cho pca Thanh ghi chức đặc biệt CCON: Ccon pca counter control d8h Cf cr - ccf4 ccf3 ccf2 ccf1 ccf0 Có thể... ngắt modul pca Ccf1 Cờ ngắt modul pca Ccf0 Cờ ngắt modul pca Bảng 4: bit định nghĩa ghi ccon Thanh ghi chức so sánh/capture cho modul PCA:CCAPMN Không can thiệp vào bit Bit Kí hiệu Chức - Ecomn

Ngày đăng: 30/10/2022, 18:13

Xem thêm:

Mục lục

    PHẦN 1: GIỚI THIỆU SƠ LƯỢC VĐK P89V51

    I. Khái quát các tính năng:

    II. Tạo chương trình giao tiếp PC-MCU:

    PHẦN 2: LẬP TRÌNH C CƠ BẢN CHO VĐK

    PHẦN 3: GIAO TIẾP CỔNG NỐI TIẾP

    I. Cấu trúc cổng nối tiếp

    II. Các thuộc tính nhận dữ liệu:

    III. Các thuộc tính xuất dữ liệu:

    PHẦN 5: PHẦN MỀM LẬP TRÌNH KEIL C PHẦN MỀM NẠP CHƯƠNG TRÌNH FLASH MAGIC

    I. Cách sử dụng phần mềm keil c

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w