Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,58 MB
Nội dung
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 VI XỬ LÝ TRONG ĐIỀU KHIỂN HÀ NỘI – 2014 BÀI THIẾT KẾ VÀ MÔ PHỎNG MẠCH ĐIỂN TỬ BẰNG PHẦN MỀM PROTEUS - SỬ DỤNG PHẦN MỀM KEIL C LẬP TRÌNH VI ĐIỀU KHIỂN I.Thiết kế mô mạch điện tử phần mềm Proteus Giới thiệu chung: Proteus phần mềm hãng Labcenter dùng để vẽ sơ đồ nguyên lý, mô vẽ mạch điện Proteus gồm có hai phần: - ISIS dùng để vẽ sơ đồ nguyên lý mô - ARES dùng để thiết kế mạch in Thiết kế mô mạch điện tử ISIS: Khởi động ISIS có giao diện sau: Hình 1.1 Giao diện ISIS Proteus Phần phía bên phải công cụ dùng để vẽ mạch nguyên lý Phần màu xám nơi vẽ mạch a Một số công cụ bản: Selection mode:chức để chọn linh kiện Component mode: Lấy linh kiện thư viện Terminal: chứa Ground, Power,… Wire Lable mode: đặt nhãn cho wire Graph: dùng để vẽ đồ thị dòng, áp,… General Mode: chứa nguồn điện, nguồn xung,nguồn dòng Voltage Probe mode: dùng đo điện điểm mạch, thiết bị thực thực tế Current Probe mode: dùng để đo dòng điện điểm mạch, thiết bị thực thực tế Virtual Instrument mode: chứa dụng cụ đo dòng áp mô thực tế b Các bƣớc vẽ mạch điện tử ISIS: Bước 1: Khởi động ISIS có giao diện hình H1.1 Bước 2: Lấy linh kiện từ thư viện - Chọn biểu tượng P (Pick from libraries): Hình H1.2 - Giao diện Pick Device hình H1.3: Có thể chọn linh kiện cách chọn trực tiếp từ Category gõ keyword linh kiện cần sử dụng vào mục Keyword Linh kiện chọn xuất cửa sổ Result bôi đen - Click double chọn linh kiện sổ Result Khi linh kiện chọn xuất cửa sổ Device - Sau chọn hết linh kiện cần sử dụng mạch đóng cửa sổ Pick device Hình 1.3 Hình 1.4 Bước 3: Vẽ mạch điện: Chọn linh kiện cửa sổ Device selector Di chuyển chuột đến vị trí cần đặt linh kiện cửa sổ thiết kế Click double linh kiện xuất cửa sổ thiết kế (Hình 1.5) Để nối dây chân ta click chuột vào chân cần nối dây di chuyển chuột đến chân cần nối dây Click chuột chân 2, dây hai chân nối Bước 4: Hiểu chỉnh: - Có thể di chuyển linh kiện đến vị trí khác cửa sổ thiết kế - Thực thao tác quay, lấy đối xứng,….linh kiện - Thay đổi thông số linh kiện cách click double vào linh kiện cần hiệu chỉnh mở cửa sổ Edit component - Đối với vi điều khiển cần đổ chương trình vào vi điều khiển trước mô cách chọn Program file Edit component, mở link có file hex biên dịch từ chương trình viết đổ vào vi điều khiển Bước 5: Mô phỏng: Để mô chọn Debug (trên Toolbar) Execute Hình 1.6 Dừng mô chọn Debug Stop Hình 1.5 II Sử dụng phần mềm Keil C lập trình vi điều khiển: Bước 1: Khởi động phần mềm Keil C, giao diện sau: Hình 1.7 Bước 2: Mở New project: Hình 1.8 Đặt tên lưu Project mới: Bước 3: Lựa chọn vi điều khiển sử dụng: Ví dụ chọn vi điều khiển AT89C51 hãng Atmel Bƣớc 4: Mở New File Save New file với đuôi c s/.scr/.a tùy vào ngôn ngữ sử dụng để lập trình C hay Assembly Add file vào project thực hiện: Chọn loại file nguồn (đuôi c viết C đuôi s/.src/.a viết Assembly) click vào file muốn Add click button Add Newfile xuất project viết chương trình Bước 5: Viết chương trình Bước 6: Biên dịch sang File hex Các File nguồn viết ngôn ngữ C hay Assembly phải biên dịch sang file có đuôi hex vi xử lý hiểu thực thi chương trình Quá trình thực sau: - Chọn Option for Target cửa sổ Option for Target xuất chọn mục Output click vào mục Create hex file hinh OK chọn Build target để biên dịch chương trình Khi chương trình lỗi File hex tạo lưu thư mục chứa project thực Trong trường hợp chương trình có lỗi, trình biên dịch báo lỗi Quay lại bước để tìm sửa lỗi Biên dịch lại III Yêu cầu: Cho sơ đồ mô hình: Yêu cầu: Thiết kế mạch mô phần mềm proteus lưu lại file với tên mophong89C51 Từ sơ đồ mô chuyển sang sơ đồ nguyên lý, bổ sung thêm linh kiện cần thiết khác sơ đồ nguyên lý Lắp ráp mạch thực Chú ý: - Có thể sử dụng linh kiện tương đương khác thay - Điện áp cung cấp cho vi điều khiển 5V - Sử dụng pin 9V để tạo nguồn 5V cấp cho mạch điều khiển - Chọn nguồn phù hợp với loa chip - Các chân port phải treo lên mức cao trước sử dụng BÀI TẬP LỆNH CỦA AT89C51 VÀ PORT XUẤT NHẬP I Tóm tắt lý thuyết Các Port xuất nhập AT89C51 AT89C51 có Port xuất nhập tương ứng P0, P1, P2, P3 hình H.2.1 Port Có chức năng: Port Chỉ có chức làm đýờng xuất nhập -Khi dùng nhớ bên trong: P0 làm đườnng xuất nhập -Khi dùng nhớ bên ngoài: P0 làm bus địa liệu thấp (AD7 – AD0) Port Có chức năng: -Khi dùng nhớ Port Có nhiều chức (Xem bảng 2.1) bên trong: P0 làm đýờng xuất nhập -Khi dùng nhớ bên H.2.1.Sơ đồ chân AT89C51 ngoài: P0 làm bus địa liệu cao (AD15 – AD8) Bảng 2.1 Chức chân Port - Port dùng làm Port xuất nhập cần phải sử dụng điện trở kéo lên bên Port0 hình H.2.2 Hình H.2.2 Điện trở kéo lên Port - Port P1, P2, P3 cấu hình làm port xuất nhập mà không cần dùng điện trở kéo lên bên tích hợp sẵn điện trở - Port P0, P2, P3 chức làm Port xuất nhập có thêm chức khác (Hình H.2.1 Bảng 2.1) Tập lệnh AT89C51 Lệnh AT89C51 có độ dài 8bit, tương ứng có 256 câu lệnh, chia thành nhóm sau: • Nhóm lệnh di chuyển liệu • Nhóm lệnh số học • Nhóm lệnh logic • Nhóm lệnh nhảy • Nhóm lệnh xử lý bit Chi tiết lệnh tham khảo Phụ lục II Nội dung thực hành: Sử dụng file sodomophong có Hãy thực công việc sau: Cấu hình port P1 Port đầu vào, port P0 Port đầu Khi ấn Button (P1.0) gửi P0 giá trị 45 Khi ấn Button (P1.1) gửi xung từ cao xuống thấp lên chân P0.0 Sử dụng lệnh nhảy lặp viết chương trình để led chân P0.0 nhấp nháy Viết chương trình để Led Port sáng xen kẽ nhau: led 1,3,5,7 sáng – 2,4,6,8 tắt ngược lại Quá trình lặp lặp lại Viết chương trình để led Port sáng từ 1-8 Quá trình lặp lại không ngừng BÀI GIAO TIẾP VI ĐIỀU KHIỂN VỚI LED7 THANH I.Tóm tắt lý thuyết Giới thiệu Led Hình 3.1 Led đoạn Led gồm loại: loại có anot chung loại có catot chung, thực chất đèn led nối với sau: a) Loại nối anot chung b) Loại nối catot chung Hình 3.2 Phân loại Led đoạn Đối với loại có anot chung, chân COM phải đưa lên mức logic muốn led sáng phải đặt chân tương ứng từ a-f xuống mức thấp Ví dụ: Muốn hiển thị số Led đoạn có anot chung, led a – f – g – c – d phải sáng Để thực điều chân a – f – g – c – d phải đặt mức logic Do ta có mã hiển thị số sau: Số dp g f e d c b a Mã hex 0 0 92h Tương tự số khác Đối với Led7 có catot chung ta làm ngược lại, chân COM đặt mức muốn led sáng phải đặt chân tương ứng với Led lên mức cao Ví dụ muốn hiển thị số led có catot chung, ta phải đặt chân a – f – g – c – de lên mức cao Tương ứng có mã hiển thị sau: Số dp g f e d c b a Mã hex 1 1 1 7Dh Bảng 3.1 Bảng mã hiển thị Led có anot chung: Bảng 3.2 Bảng mã hiển thị Led có catot chung: Hiển thị nhiều Led đoạn: Trong ứng dụng thực tế thường phải sử dụng nhiều Led đoạn để hiển thị số liệu, Led đoạn đòi hỏi phải có đường liệu, số port xuất nhập vi xử lý có hạn Để tiết kiệm đường truyền liệu vi xử lý người ta thường sử dụng Port truyền liệu chung cho tất led (Hình 3.3, Hình 3.4) Điều làm xuất vấn đề làm để gửi xác liệu cần hiển thị đến led Có hai phương pháp phổ biến sử dụng phương pháp quét Led phương pháp chốt led a Phƣơng pháp quét Led: Phương pháp dựa tượng lưu ảnh võng mạc, tức hình ảnh xuất tối thiểu 24 lần/s tạo cho người quan sát cảm giác hình ảnh liên tục Khi nhiều led dùng chung đường liệu Hình 3.3, liệu từ vi xử lý đồng thời gửi đến tất Led, ta để Led sáng lúc Tại thời điểm có led sáng, led lại tắt Sau thời gian trì, Led tắt Led sáng Do tượng lưu ảnh mắt nên người quan sát nhìn thấy led hiển thị đồng thời với số khác Quá trình quét LED hiển thị sau: Bật led sáng – Hiển thị liệu Trễ Tắt Led xóa liệu Việc lựa chọn Led sáng/tắt thực cách đóng mở Tranzitor (xem Hình 3.3) Thông thường chọn tần số sáng/tối cho led 25Hz (Tức led hiển thị 25 lần/s) Hình 3.3 Phương pháp quét Led Do tính thời gian trì cho led sáng sau: Giả sử có n Led cần hiển thị -Tần số cho chu kỳ quét n led = 25hz X n -Thời gian trì cho lần sáng led = 1/Tần số chu kỳ quét led Phương pháp tiện dụng phần cứng lẫn phần mềm, nhiên số lượng led nhiều thời gian sáng trung bình dành cho led giảm Điều kéo theo led suy giảm độ sáng Mặt khác phải tích hợp thêm IC giải mã, nhiều việc phát sinh cho thiết kế mạch lẫn lập trình Phương pháp ứng dụng cho hiển thị thông tin ít, khoảng 20 led bảy đoạn trở xuống thông tin nhiều bảng tỉ giá ngoại tệ cần vài trăm led không b Phƣơng pháp chốt Led: Vẫn chia sẻ bus liệu cho tất led phương pháp quét , đồng thời led có chân A (hoặc C) chung nối sẵn lên nguồn (hoặc đất) nghĩa Led lúc sẵn sàng hiển thị Mỗi led bảy đoạn kết hợp với IC chốt, vi xử lý điều khiển chốt liệu cho xác Dữ liệu cho led đưa lên Bus, ứng với liệu led IC chốt led chốt liệu lại, động tác vi xử lý thực Sau lượt liệu xuất đầy đủ tất led bảy đoạn, kể từ vi xử lý không cần công hiển thị nữa, led sáng liên tục không phương pháp quét Như hình ảnh phương pháp chốt sáng không nhấp nháy Hạn chế phương pháp tốn nhiều IC chốt, mạch điều khiển chốt phức tạp (có thể dùng IC giải mã 74138, 74154 phương pháp quét) II Nội dung thí nghiệm Hãy viết chương trình đếm số xung đưa vào chân P1.0 hiển thị lên Led đoạn Khi đếm đến reset Quá trình lặp lặp lại Vẽ sơ đồ mô hình 3.3 thự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 Vẽ sơ đồ mô hình 3.4 thực công việc tương tự câu BÀI TIMER /COUNTER – NGẮT I.Tóm tắt lý thuyết Timer/Counter: a Thanh ghi định thời - 8051 có hai điều khiển định thời Timer Timer - Mỗi Timer có ghi định thời 16bit, chia thành hai ghi 8bit: Timer high (TH) Timer Low (TL) Hình 4.1 Các ghi định thời b.Thanh ghi điều khiển TCON: - TFx: Cờ tràn Timerx Được set clear phần cứng Dùng 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 0,1 - ITx:Ngắt nối tiếp 0,1 c.Thanh ghi chế độ định thời TMOD: Để thiết lập chế độ làm việc Timer ta sử dụng ghi TMOD 8bit Cả Timer Timer dùng chung ghi TMOD để điều khiển, đó: 4bit thấp thiết lập chế độ điều khiển cho Timer 4bit cao thiết lập chế độ điều khiển cho Timer -Gate: Khi Gate =1 Timer/Counter làm việc TRx =1 INTx=1 Khi Gate = Timer/Counter làm việc 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 2 Ngắt: 89C51 có nguồn ngắt: ngắt ngoài, ngắt timer 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 - 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 1, ngắt Muốn cho phép ngắt xảy phải set bit: Bit cho phép ngắt toàn cục bit cho phép ngắt riêng rẽ Dưới vector ngắt vị trí ngắt tương ứng: II Nội dung thí nghiệm Viết lại chương trình đếm từ 0-9 dùng Timer/counter Viết lại chương trình tạo xung vuông có tần số 4Khz chân P3.7 dùng ngắt Timer Viết chương trình tạo đàn điện tử với phím tạo âm có tần số sau: Các phím tương ứng từ button Button [...]... 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 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... sẵn sàng hiển thị Mỗi led bảy đoạn kết hợp với 1 IC chốt, vi xử lý điều khiển chốt dữ liệu cho chính xác Dữ liệu cho từng led sẽ lần lượt đưa lên Bus, ứng với dữ liệu của led nào thì IC chốt của led đó sẽ chốt dữ liệu lại, động tác này do vi xử lý thực hiện Sau một lượt dữ liệu sẽ xuất hiện đầy đủ trên tất cả các led bảy đoạn, kể từ đó vi xử lý không cần mất công hiển thị nữa, các led sẽ sáng liên tục... chung: 2 Hiển thị nhiều Led 7 đoạn: Trong các ứng dụng thực tế thường phải sử dụng nhiều Led 7 đoạn để hiển thị số liệu, nhưng mỗi Led 7 đoạn đòi hỏi phải có 8 đường dữ liệu, trong khi số port xuất nhập của vi xử lý có hạn Để tiết kiệm đường truyền dữ liệu của vi xử lý người ta thường sử dụng một Port truyền dữ liệu chung cho tất cả các led (Hình 3.3, Hình 3.4) Điều này làm xuất hiện vấn đề là làm... project đang thực hiện Trong trường hợp chương trình có lỗi, trình biên dịch sẽ báo lỗi Quay lại bước 5 để tìm và sửa lỗi Biên dịch lại III Yêu cầu: Cho sơ đồ mô phỏng như hình: Yêu cầu: 1 Thi t kế mạch mô phỏng trên bằng phần mềm proteus và lưu lại file với tên mophong89C51 2 Từ sơ đồ mô phỏng chuyển sang sơ đồ nguyên lý, bổ sung thêm các linh kiện cần thi t khác trong sơ đồ nguyên lý 3 Lắp ráp mạch... ý: - Có thể sử dụng các linh kiện tương đương khác thay thế - Điện áp cung cấp cho vi điều khiển là 5V - Sử dụng pin 9V để tạo nguồn 5V cấp cho mạch điều khiển - Chọn nguồn phù hợp với loa chip - Các chân của port 0 phải được treo lên mức cao trước khi sử dụng BÀI 2 TẬP LỆNH CỦA AT89C51 VÀ PORT XUẤT NHẬP I Tóm tắt lý thuyết 1 Các Port xuất nhập của AT89C51 AT89C51 có 4 Port xuất nhập tương ứng P0,... là tốn nhiều IC chốt, mạch điều khiển chốt phức tạp (có thể dùng IC giải mã 74138, 74154 như phương pháp quét) II Nội dung thí nghiệm 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 3.3 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... hình 3.4 và thực hiện các công vi c tương tự ở câu 2 BÀI 4 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ác Led trên Port 0 sáng xen kẽ nhau: led 1,3,5,7 sáng – 2,4,6,8 tắt và ngược lại Quá trình được lặp đi lặp lại 4 Vi t chương trình để các led trên Port 0 lần lượt sáng từ 1-8 Quá trình trên lặp lại không ngừng BÀI 3 GIAO TIẾP VI ĐIỀU KHIỂN VỚI LED7 THANH I.Tóm tắt lý thuyết 1 Giới thi u về Led 7 thanh Hình 3.1 Led 7 đoạn Led 7 thanh gồm 2 loại: loại có anot chung và loại có catot chung, thực chất... bên trong đã tích hợp sẵn điện trở - Port P0, P2, P3 ngoài chức năng làm Port xuất nhập còn có thêm các chức năng khác (Hình H.2.1 và Bảng 2.1) 2 Tập lệnh của AT89C51 Lệnh của AT89C51 có độ dài 8bit, tương ứng có 256 câu lệnh, được chia thành các nhóm cơ bản như sau: • Nhóm lệnh di chuyển dữ liệu • Nhóm lệnh số học • Nhóm lệnh logic • Nhóm lệnh nhảy • Nhóm lệnh xử lý bit Chi tiết các lệnh tham khảo trong. .. led a Phƣơng pháp quét Led: Phương pháp này dựa trên hiện tượng lưu ảnh trên võng mạc, tức là nếu một hình ảnh xuất hiện tối thi u 24 lần/s sẽ tạo cho người quan sát cảm giác là một hình ảnh liên tục Khi nhiều led cùng dùng chung một đường dữ liệu như Hình 3.3, dữ liệu từ vi xử lý sẽ đồng thời được gửi đến tất cả các Led, do đó ta không thể để các Led sáng cùng một lúc Tại mỗi thời điểm chỉ có duy nhất