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

Giáo trình Thực hành vi xử lý

207 22 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

Thông tin cơ bản

Định dạng
Số trang 207
Dung lượng 6,13 MB

Nội dung

Bộ lao động thương binh xà hội Trường đại học sư phạm kỹ thuật nam định KHOA ĐIệN - đIệN Tử chủ biên: phạm xuân Bách Giản quốc anh Trần văn hạnh Giáo trình thực hành Vi xử lý D8 D7 D6 D5 D4 D3 D2 D1 LED-RED LED-RED LED-RED LED-RED LED-RED LED-RED LED-RED LED-RED C1 1uF RD TD 11 12 10 C1+ C1- T1IN R1OUT T2IN R2OUT T1OUT R1IN T2OUT R2IN CONN-D9F VS+ VS- MAX232 C2+ C2- C2 L1 L2 L3 L4 L5 L6 L7 L8 U1 14 13 C3 1uF C4 1uF 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 R4 R3 R2 100 L2 100 L3 100 C5 U2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/W R P3.7/RD OUT INDICATOR 100 L1 R5 100 39 38 37 36 35 34 33 32 8051 AND PC INTERFACE TO PC R6 100 L6 L7 L8 R7 100 L4 R8 100 L5 R9 XTAL1 XTAL2 19 18 1u X1 CRYSTAL R1 10k RST IN PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 29 30 31 AT89C51 1uF IN TEST nam định, năm 2011 Giáo trình thực hµnh Vi xư lý Mơc lơc Mơc lơc Bài 1: Sử dụng phần mềm EMU8086 viết chương trình cho Vi xử lý 80x86 I Mục tiêu học Yªu cầu vật tư thiết bị II Néi dung bµi häc H­íng dÉn sư dơng phÇn mỊm EMU8086 1.1 Hướng dẫn cài đặt phần mềm EMU8086 1.2 Sư dơng phÇn mỊm EMU8086 11 1.2.1 Khởi động chương trình menu chương trình 11 1.2.2 Soạn thảo chương trình 16 1.2.3 Dịch liên kết chương trình 19 1.2.4 Mô chạy chương trình 22 1.3 VÝ dụ tập lập trình cho vi xö lý 8086 28 Bài 2: Giao tiếp vi xử lý với chØ thÞ 36 I Mục tiêu học 36 Yªu cầu vật tư, thiết bị 36 II Néi dung bµi häc 36 Sơ đồ phần cứng 36 1.1 CÊu tróc cỉng song song 36 1.1.1 Sơ đồ khối giao tiÕp ®iỊu khiĨn cỉng song song 36 Hình 2.1 Sơ đồ giao tiếp ®iỊu khiĨn cỉng song song 36 1.1.2 Nhãm c¸c tÝn hiƯu giao diƯn song song 36 1.1.3 Các chế độ hoạt động cổng song song 38 1.2 Giao tiÕp PC víi PC 41 1.2.1 Giao tiÕp chÕ ®é chuÈn 41 H×nh 2.5 Chức chân giao tiếp chế độ chuẩn 42 1.2.2 ChÕ ®é më réng 42 1.3 Giao tiÕp PC với thiết bị ngoại vi 43 LËp tr×nh cho vi xư lý xt d÷ liƯu qua cỉng song song 45 Mét sè lỗi thường gặp 51 Bµi 3: Giao tiÕp vi xư lý với điều khiển 53 I Mục tiêu học 53 Yêu cầu vật tư, thiết bị 53 II Néi dung bµi häc 53 Giáo trình thực hành Vi xử lý Động chiều 53 1.1 Cấu tạo động chiÒu 53 1.2 Phương pháp lựa chọn điều khiển động 54 1.3 Sơ đồ nguyên lý mạch điều khiển ®éng c¬ mét chiỊu 54 1.4 Lập trình ghép nối với điều khiển ®éng c¬ mét chiỊu 55 Động bước 56 2.1Cấu tạo động bước 56 2.1.1.§éng nam châm vĩnh cửu 56 2.1.2 Động bước cã tõ trë thay ®ỉi 56 2.1.3 Động bước hỉn hỵp : 57 2.2 Đặc điểm chung động bước 60 2.3 Phương pháp điều khiển bước đủ nửa bước 61 2.3.1 Phương pháp điều khiển bước ®ñ 61 2.3.2.Phương pháp điều khiển nửa bước 62 2.4 LËp trình điều khiển động bước thông qua cổng song song 63 Bµi 4: H­íng dÉn sử dụng phần mềm Pinnacle 52 viết chương trình cho vi ®iỊu khiĨn hä 8051 68 I Mục tiêu học 68 Yêu cầu vËt t­, thiÕt bÞ 68 II Néi dung bµi häc 68 H­íng dÉn sư dơng phÇn mÒm Pinnacle 52 68 1.1 Giíi thiƯu vỊ phÇn mỊm Pinnacle 52 68 1.2.Giao diƯn cđa Pinnacle 52 69 1.3 C¸c bước viết chương trình Pinnacle 52 70 Viết chương trình cho vi ®iỊu khiĨn 76 2.1 Giíi thiƯu Vi ®iỊu khiÓn 8051 76 2.1.1 Sơ đồ cấu trúc 77 2.1.2 Các thông số 78 2.1.3 Tỉ chøc bé nhí cđa 8051 79 2.2 Sử dụng phần mềm Pinnacle 52 viết chương trình cho Vi điều khiển 83 Nạp chương trình cho MCS 85 Chän Program_Unlock ®Ĩ nạp chương trình 88 Bài 5: Lập trình 8051 ghép nối với thị 91 Giáo trình thực hành Vi xử lý I Mục tiêu học 91 Yªu cầu vật tư, thiết bị 91 II Néi dung bµi häc 91 Lập trình điều khiển cổng làm chức vào/ 91 1.1 Giíi thiƯu vỊ c¸c cỉng vào song song vi điều khiển 8051 91 1.2 Lập trình cho cổng vi điều khiển làm chức đầu 91 1.3 Lập trình cho cổng vi điều khiển làm chức đầu vào 97 LËp tr×nh ghÐp nèi Led đoạn 104 2.1.Giới thiệu phương pháp hiển thị liệu Led đoạn theo phương ph¸p quÐt 104 2.2 Giíi thiƯu vỊ c¸c bé timer cđa vi ®iỊu khiĨn 8051 109 2.2.1 Các ghi điều khiển trạng tháI cña timer 110 2.2.2 Mô tả hoạt động Timer 112 2.3 LËp trình cho Timer 8051 làm chức đếm 113 2.4 LËp tr×nh cho vi điều khiển chức định thời 116 2.5 Lập trình điều khiển ng¾t 119 2.5.1 Giới thiệu hoạt động ngắt ngắt vi điều khiển 119 2.5.2 Các ghi điều khiển trạng thái ngắt 120 2.5.3 Lập trình với ngắt Timer 121 2.5.4 Lập trình với ngắt 126 Giao tiÕp vi ®iỊu khiĨn víi LCD 16x2 131 3.1 Giíi thiƯu LCD 16x2 131 3.2 Ho¹t ®éng cña LCD 132 3.2.1 Sơ đồ ch©n cđa LCD 133 3.2.2 Mô tả ch©n cđa LCD 133 3.2.3 Các thành phần chức LCD1602A 134 3.2.4 Đặc tính điện chân giao tiếp 136 3.3 Lược đồ thời gian: 137 3.4 LËp tr×nh cho vi ®iỊu khiĨn 89C51 giao tiÕp víi LCD 16x2 139 Giao tiÕp vi ®iỊu khiĨn víi Led ma trËn 141 4.1 Giíi thiƯu Led ma trËn 141 4.2 Phương pháp quét 143 4.2 Lập trình cho vi điều khiển 89C51 giao tiÕp ma trËn Led 144 Giáo trình thực hành Vi xử lý Bài 6: Lập trình 8051 ghép nối với chuyển đổi 146 I Mơc tiªu bµi häc 146 Yêu cầu vật tư, thiết bÞ 146 II Néi dung bµi häc 146 Giíi thiƯu: 146 1.1 LÊy mÉu mét tÝn hiƯu t­¬ng tù 148 1.2 §Þnh lý lÊy mÉu 150 1.3 L­ỵng tử hóa tín hiệu biên độ liên tục 152 Giíi thiệu chuyển đổi ADC, DAC thường dùng 154 2.1 Bé chun ®ỉi số tương tự sử dụng vi mạch DAC 0808 154 2.2 Sơ đồ mạch nguyªn lý DAC0808 156 2.3 Viết chương trình cho vi ®iỊu khiĨn 89C51 chun ®ỉi DAC 156 Giíi thiƯu ADC0809 159 3.1 Sơ đồ mạch nguyên lý ADC0809 161 Hình 6.10 Sơ đồ mạch nguyên lý ADC 0809 161 3.2 Lược đồ thời gian hoạt động ADC0809 161 3.3 Viết chương trình cho vi điều khiĨn 8051 chun ®ỉi ADC 162 Bài 7: Lập trình 8051 điều khiển động ®iÖn 167 I Mục tiêu học 167 Yêu cầu vật t­, thiÕt bÞ 167 II Néi dung bµi häc 167 Kết nối điều khiển động mét chiÒu 167 Lập trình điều khiển chiều quay động mét chiÒu 169 Lập trình điều khiển tốc độ động chiÒu 171 Lập trình ghép nối với điều khiển động c¬ b­íc 174 4.1 Sơ đồ nguyên lý mạch điều khiển động bước 176 H×nh 7.7 Sơ đồ mạch nguyên lý mạch 176 4.2 VÝ dô 176 Bµi 8: Giao tiÕp qua cæng nèi tiÕp (COM) 180 I Mục tiêu học 180 Yêu cầu vật tư, thiết bị 180 II Néi dung bµi häc 180 CÊu tróc cỉng nèi tiÕp 180 1.1 CÊu tạo phân bố chân tín hiệu 180 1.2 Địa cổng tốc độ truyền cổng nối tiếp 182 Giáo trình thực hành Vi xử lý 1.3 Phương pháp truyÒn 183 1.4 Khung d÷ liƯu nèi tiÕp 184 Giao tiÕp PC víi PC 184 Giao tiÕp PC víi thiÕt bị ngoại vi 185 Lập trình cho vi điều khiển 8051 giao tiếp với PC điều khiển thiết bị ngoại vi sử dụng phần mềm Visual Delphi tạo ứng dụng Pinnacle 52 lập trình cho 8051 186 4.1 LËp tr×nh truy xt trùc tiÕp cỉng 186 4.2 Lập trình truy xuất gián tiếp thông qua driver 186 4.3 Các ví dụ lập trình cho PC giao tiếp với thiết bị ngoại thông qua 8051 189 Tài liệu tham khảo .206 Giáo trình thực hành Vi xử lý Lời nói đầu Các chip vi xử lý, vi điều khiển ứng dụng rộng rÃi thiết bị điện, điện tử từ đơn giản đến phức tạp, công nghiệp dân dụng, từ thiết bị văn phòng đến khí tài quân Các hệ thống xây dựng chip vi xử lý, vi điều khiển sử rộng rÃi chúng có đặc điểm ưu việt tính linh hoạt cao, mức độ tích hợp lớn khả sản xuất hàng loạt với giá thành hạ Môn học Vi xử lý môn học sở ngành Công nghệ Điện-Điện tử, Công nghệ Kỹ thuật điện, Công nghệ Tự động Việc phổ biến máy tính vi điều khiển với giá thành hạ đà tạo điều kiện cho sinh viên tiếp cận với môn học qua tập thực hành Trên sở chương trình chi tiết môn học thực hành Vi xử lý đà trường ĐHSPKT Nam Định phê duyệt, nhóm tác giả biên soạn giáo trình môn học thực hành Vi xử lý làm tài liệu giảng dạy cho học sinh, sinh viên ngành Công nghệ Điện- Điện tử, Công nghệ Kỹ thuật điện, Công nghệ Tự động Giáo trình trọng giíi thiƯu phÇn øng dơng bao gåm tỉ chøc phÇn cứng phương pháp lập trình cho hệ thực tÕ nh»m gióp cho häc sinh, sinh viªn nhanh chãng nắm kiến thức kỹ ứng dụng vi xử lý, vi điều khiển Giáo trình chia làm xếp sau Bài 1: Sử dụng phần mềm EMU8086 viết chương trình cho Vi xử lý 80x86 Bài 2: Lập trình giao tiếp vi xử lý với thị Bài 3: Lập trình giao tiếp vi xử lý với điều khiển Bài 4: Sử dụng phần mềm Pinnacle 52 viết chương trình cho vi điều khiển họ 8051 Bài 5: Lập trình ghép nối vi điều khiển họ 8051 với thị Bài 6: Lập trình ghép nối vi điều khiển họ 8051với chuyển đổi ADC, DAC Bài 7: Lập trình vi điều khiển họ 8051 điều khiển động điện Bài 8: Lập trình vi điều khiển họ 8051 giao tiếp với máy tính Giáo trình dùng làm tài liệu giảng dạy bậc đại học ngành Điện, Điện tử làm tài liệu tham khảo cho ngành khác liên quan Quá trình biên soạn chắn không tránh nhiều thiếu sót, tác giả mong nhận ý kiến đóng góp bạn đọc để giáo trình hoàn chỉnh Giáo trình thực hành Vi xử lý Th­ gãp ý xin gưi vỊ bé m«n KÜ tht §iƯn tư- khoa §iƯn-§iƯn tư- tr­êng §¹i häc S­ ph¹m Kỹ thuật Nam Định Nhóm tác giả Giáo trình thực hành Vi xử lý Bài 1: Sử dụng phần mềm EMU8086 viết chương trình cho Vi xử lý 80x86 I Mục tiêu học - Cài đặt số phần mềm lập trình hợp ngữ - Sử dụng thành thạo phần mềm EMU8086 để soạn thảo, hợp dịch, sửa lỗi mô cho VXL 80x86 - Vận dụng làm ví dụ, tập cho vi xử lý EMU8086 Yêu cầu vật tư thiết bị - Máy tính cài đặt hệ điều hành Windows XP - Bộ cài đặt phần mềm EMU8086 II Nội dung häc H­íng dÉn sư dơng phÇn mỊm EMU8086 1.1 Hướng dẫn cài đặt phần mềm EMU8086 - Nháy đúp chuột vào File có tên Setup.exe có cài EMU8086 Một cửa sổ lên thông báo chào mừng bạn đến với chương trình mô cho vi xử lý báo chương trình chuẩn bị cài đặt, để tiếp tục bạn chon Next Hình 1.1 Cửa sổ chào mừng phần mềm cài đặt EMU8086 - Tiếp theo phần mềm đưa thông báo yêu cầu người sử dụng đọc kỹ trước tiến hành cài đặt tiếp, để tiếp tục bạn chọn Next Giáo trình thực hành Vi xử lý Hình 1.2 Các thông tin sử dụng phần mềm - Hộp thoại thông báo cho người cài đặt thiết lập đường dẫn cho thư mục mà chương trình cài đặt ra, bạn nên để mặc định chọn Next Hình 1.3 Thông báo lựa chọn đường dẫn cài đặt - Hộp thoại báo chương trình đà sẵn sàng cài đặt, bạn tiếp tục chọn Install Hình 1.4 Các thông tin cài đặt Giáo trình thực hành Vi xử lý Hình 8.8 ứng dụng chạy WINDOW * Viết chương trình cho VĐK 89C51 ( Chương trình viết Pinnacle 52) + Khởi động phần mềm lập trình Pinnacle 52và soạn thảo chương trình sau: ;Chuong trinh nhan du lieu tu PC ;Tan so anh su dung la 11.0592Mhz ;************************ mov scon,#50h ; MOV TMOD,#20h ;Timer tu dong nap lai MOV TH1,#0FDh SETB TR1 ;toc truyen la 9600 ;khoi dong timer1 ;************************ MOV P0,#00H ;tat het cac led port0 loop: jnb ri,$ ;kiem tra co nhan clr ri ;xoa co nhan de nhan ki tu ke tiep mov p0,sbuf ;dua du lieu tai bo dem noi tiep port0 jmp loop ;cho nhan end ;ket thuc chuong trinh + Hợp dịch nội dung chương trình vừa soạn thảo nạp vào vi điều khiển +Kết nối phần cứng để chạy ứng dụng quan sát kết - Kết nối Com1 với hệ Kit thùc tËp - Chän trun th«ng nèi tiÕp víi khèi VĐK 192 Giáo trình thực hành Vi xử lý - Dùng bus để nối đầu Port với Led đơn - Chạy ứng dụng nhập ký tự cần truyền từ bàn phím nhấn truyền sau quan sát Led đơn - Ví dụ 2: Viết chương trình Delphi tạo ứng dụng để truyền ký tự gõ vào từ bàn phím led đơn thông qua vi điều khiển 89c51 để điều khiển LED đơn gắn Port sáng tắt theo mà ASSCII phím nhấn đồng thời hiển thị ký tự nhấn từ bên ứng dụng 193 Giáo trình thực hành Vi xử lý * Tạo ứng dụng Delphi + Khởi động phần mềm Delphi tạo giao diện sau: Để tạo giao diện ta cần lấy thư viện Delphi gồm: + textbox để hiển thị có ký hiệu Memo1 Memo2 hình đồng thời để phân biệt rõ textbox ta dán nhÃn cho chóng b»ng c¸ch lÊy label th­ viƯn gán tên cho chúng liệu cần truyền liệu nhận + nút bấm lấy cách vào Commandbutton thư viện gán tên truyền, nhận thoát + ViÕt m· ngn cho c¸c sù kiƯn nh­ sau: unit TRUYENNHAN; //CHUONG TRINH TRUYEN NHAN DU LIEU NOI TIEP TU PC THONG QUA VDK VOI THIET BI NGOAI VI // SU DUNG CONG COM1, TOC DO TRUYEN 9600B/S interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, MSCommLib_TLB; type TForm1 = class(TForm) Memo1: TMemo; Memo2: TMemo; Label1: TLabel; Label2: TLabel; 194 Giáo trình thực hành Vi xö lý MSComm1: TMSComm; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button3Click(Sender: TObject); begin MSComm1.PortOpen:= false; //DONG CONG close //DONG UNG DUNG end; procedure TForm1.FormCreate(Sender: TObject); begin //TRHIET LAP THUOC TINH CONG COM MSComm1.CommPort:= 1; //CHONG CONG COM1 MSComm1.PortOpen:= True; //MO CONG MSComm1.Settings:= '9600,n,8,1'; MEMO1.Text:=''; //XOA CAC MEMO MEMO2.Text:=''; end; procedure TForm1.Button1Click(Sender: TObject); 195 Giáo trình thực hành Vi xử lý begin //SU KIEN KHI NHAN NUT TRUYEN mscomm1.output:=memo1.Text; //TRUYEN DI end; procedure TForm1.Button2Click(Sender: TObject); begin //SU KIEN KHI NHAN NUT NHAN memo2.Text:=memo2.Text+mscomm1.Input; // NHAN VAO end; end + Sau thiết kế viết mà nguồn xong ta hợp dịch tạo ứng dụng chạy Windows có giao diện sau: * Viết chương trình cho VĐK 89C51 ( Chương trình viết Pinnacle 52) + Khởi động phần mềm lập trình Pinnacle 52và soạn thảo chương trình sau: ;Chuong trinh truyen va nhan du lieu tu PC ;Tan so anh su dung la 11.0592Mhz ;************************ mov scon,#52h ; MOV TMOD,#20h ;Timer tu dong nap lai MOV TH1,#0FDh SETB TR1 ;toc truyen la 9600 ;khoi dong timer1 ;************************ mov p2,#0ffh ;dat p2 lam dau vao MOV P1,#00H ;tat het cac led port0 196 Giáo trình thực hành Vi xử lý loop: jnb ti,$ clr ti mov a,p2 mov sbuf,a jnb ti,$ jnb ri,loop clr ri mov p1,sbuf jmp loop end ;ket thuc chuong trinh + Hợp dịch nội dung chương trình vừa soạn thảo nạp vào vi điều khiển +Kết nối phần cứng để chạy ứng dụng quan sát kết qu¶ - KÕt nèi Com1 víi hƯ Kit thùc tËp - Chọn truyền thông nối tiếp với khối VĐK - Dùng bus để nối đầu Port với Led đơn - Nối Port với bàn phím hexa - Chạy ứng dụng nhập ký tự cần truyền từ bàn phím nhấn truyền sau quan sát Led đơn ứng dụng - Ví dụ 3: Viết chương trình Visual tạo ứng dụng để nhận liệu số đếm từ vi điều khiển 89c51 hiển thị số đếm giao diện Visual Led đoạn * Tạo ứng dụng Visual + Khởi động phần mềm Visual tạo giao diện sau: 197 Giáo trình thực hành Vi xư lý ThiÕt lËp th«ng sè cho Mscomm1 nh­ sau: MSComm1.CommPort:= 1; // chän cæng Com MSComm1.PortOpen:= True; // mở cổng MSComm1.Settings:= '9600,n,8,1'; // chọn tốc đọ truyền 9600, không kiểm tra chẵn lẻ, bit liệu, bit stop + ViÕt m· nguån cho c¸c sù kiÖn nh­ sau: Dim x As Integer Private Sub Command1_Click() com.PortOpen = False ' dong cong noi tiep End 'ket thuc chuong trinh End Sub Private Sub Command2_Click() com.Output = Text2.Text + "@" 'gui gia tri dat cong com cung voi ky tu @ End Sub Private Sub Command3_Click() Text1.Text = "0000" End Sub Private Sub Form_Load() Timer1.Interval = "1" 'dat timer1 cu 100ms xay lan Timer1.Enabled = True 'cho phep timer lam viec ' Xac lap thong so cho cong cong com com.CommPort = 'chon cong com com.Settings = "1200,n,8,1" 'chonm toc truyen la 1200, khong kiem tra chan le, bit du lieu, bit dung com.PortOpen = True 'mo cong com 'xac lap thong so cho timer Text1.Text = "0000" Text2.Text = "9999" End Sub Private Sub Timer1_Timer() Text3.Text = com.Input If Text3.Text = "@" Then 198 Giáo trình thùc hµnh Vi xư lý Text1.Text = Text4.Text Text4.Text = "" Else Text4.Text = Text4.Text + Text3.Text End If End Sub + Sau thiÕt kÕ vµ viÕt m· nguån xong ta hợp dịch tạo ứng dụng chạy Windows có giao diện sau: * Viết chương trình cho VĐK 89C51 ( Chương trình viết Pinnacle 52) + Khởi động phần mềm lập trình Pinnacle 52và soạn thảo chương trình sau: ;chuong trinh viet cho VDK 8051 dem xung ngoai su dung bo dem ;gia tri so dem lon nhat la 9999 ;gia tri so dem can dem dat duoc tren may tinh ;gia tri so dem dem duoc hien thi tren led doan va tren may tinh ;port noi voi cac doan ;p2.0 den p2.3 quet led ;p3.4 cap xung dem ;p3.0 noi voi TXD cua may tinh qua cong com ( su dung vi mach MAX232) ;p3.1 noi voi RXD cua may tinh qua cong com ;thach anh su dung la 11.0592Mhz ;toc truyen la 1200, bit du lieu, bit dung, khong kiem tra chan le ; org jmp main 199 Giáo trình thực hành Vi xử lý ; ;khai bao dia chi ngat noi tiep org 23h push acc push psw jnb ri,kt_truyen mov a,sbuf cjne a,#'@',doc_du_lieu ;@ la ky tu danh dau vi tri ket thuc cua chuoi ky tu nhan duoc mov r1,#50h ;50h-53h la cac vi tri cat gia tri so dem nhan duoc tu may tinh jmp thoat_ngat doc_du_lieu: clr c subb a,#30h ;chuyen tu ma ASSCII so bcd mov @r1,a inc r1 thoat_ngat: clr ri pop psw pop acc reti kt_truyen: jnb ti,$ clr ti pop psw pop acc reti ; -main: mov dptr,#ma_7doan mov ie,#10010000b ;cho phep ngat noi tiep ;thiet lap tham so cho cong noi tiep MOV TMOD,#20h ;timer mode tu dong nap lai 200 Giáo trình thùc hµnh Vi xư lý MOV TH1,#0E8h SETB TR1 mov scon,#50h mov a,#00000101b orl tmod,a mov tl0,#0 mov th0,#0 mov r0,#0 mov r1,#50h mov 50h,#9 mov 51h,#10 mov 52h,#9 mov 53h,#9 sanh voi 9999 setb tr0 loop0: call xu_ly_so_so_sanh tinh sang so thap phan call tach_giai_ma call hien_thi call chuyen_ma_ascii call truyen_noi_tiep mov a,tl0 cjne a,61h,ss100 ;toc truyen 1200 ;khoi dong timer1 ;cho phep nhan du lieu noi tiep' ;timer0 mode1 che bo dem ;vi tri cat du lieu doc duoc tu may tinh ;mac dinh chay chuong trinh se so ;chuong trinh chuyen so dem nhan duoc tu may ;tach va chuyen sang ma doan de hien thi tren ;led doan ;goi chuong trinh hien thi tren led doan ;chuyen tu so bcd sang ma ASSCII de truyen len ;may tinh ;truyen gia tri dem duoc len may tinh ;so sanh gia tri dem duoc voi so can so nhan ;duoc tu may tinh sjmp ssr0 ss100: cjne a,#100,$+3 jc loop0 mov tl0,#0 inc r0 ssr0: 201 Giáo trình thực hành Vi xử lý mov a,r0 cjne a,60h,loop0 mov r0,#0 mov tl0,#0 jmp loop0 ; -xu_ly_so_so_sanh: mov a,50h mov b,#10 mul ab add a,51h mov 60h,a mov a,52h mov b,#10 mul ab add a,53h mov 61h,a ret ; -tach_giai_ma: mov a,tl0 mov b,#10 div ab mov 41h,a mov 40h,b movc a,@a+dptr mov 30h,a mov a,b movc a,@a+dptr mov 31h,a mov a,r0 mov b,#10 div ab mov 43h,a ;cat byte cao can so sanh vao o nho 60h ;cat byte thap can so sanh vao o nho 61h 202 Giáo trình thực hành Vi xử lý mov 42h,b movc a,@a+dptr mov 32h,a mov a,b movc a,@a+dptr mov 33h,a ret ; chuyen_ma_ascii: mov a,40h add a,#30h mov 40h,a mov a,41h add a,#30h mov 41h,a mov a,42h add a,#30h mov 42h,a mov a,43h add a,#30h mov 43h,a ret ; truyen_noi_tiep: mov a,#'@' mov sbuf,a call delay mov a,43h mov sbuf,a call delay mov a,42h mov sbuf,a call delay mov a,41h 203 Giáo trình thực hành Vi xö lý mov sbuf,a call delay mov a,40h mov sbuf,a call delay ret ; ;chuong trinh hien thi tren led doan hien_thi: mov p0,31h mov p2,#11111110b call delay100us mov p2,#0ffh mov p0,30h mov p2,#11111101b call delay100us mov p2,#0ffh mov p0,33h mov p2,#11111011b call delay100us mov p2,#0ffh mov p0,32h mov p2,#11110111b call delay100us mov p2,#0ffh ret ; delay100us: mov r5,#50 djnz r5,$ ret ; -delay: mov r6,#1 204 Giáo trình thực hành Vi xö lý dl1: mov r7,#255 lap_hien_thi: call hien_thi djnz r7,lap_hien_thi djnz r6,dl1 ret ; ma_7doan: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h end + Hợp dịch nội dung chương trình vừa soạn thảo nạp vào vi điều khiển +Kết nối phần cứng để chạy ứng dụng quan sát kÕt qu¶ - KÕt nèi Com1 víi hƯ Kit thùc tập - Chọn truyền thông nối tiếp với khối VĐK - Dùng bus để nối đầu Port với cac đoạn a,b,c,d,e,f,g - Nối Port với quét led Chạy ứng dụng quan sát phần hiển thị Led đoạn máy tính Bài tập: Bài tập 1: Viết chương trình Visual tạo ứng dụng để truyền ký tự gõ vào từ bàn phím led đơn thông qua vi điều khiển 89c51 để điều khiển LED đơn gắn Port sáng tắt theo yêu cầu: - Khi nhấn phím led đơn sáng dần - Khi nhấn phím A led đơn tắt dần - Khi nhấn phím B led đơn chớp tắt Bài tập 2: Viết chương trình Visual tạo ứng dụng để nhận liệu nhiệt độ từ cảm biến qua ADC đến vi điều khiển 89c51 205 Giáo trình thực hành Vi xử lý Tiếng việt Tài liệu tham khảo Nguyễn Tăng Cường, Phan Quốc Thắng (2004), Cấu trúc lập trình họ vi diều khiển 8051, NXB Khoa học Kỹ thuật Nguyễn Tăng Cường, (2003), Máy tính cấu trúc lập trình, (tập 1+2), NXB Khoa học Kỹ thuật Đỗ Xuân Tiến, (2003), Kỹ thuật vi xử lý lập trình ASSEMBLY cho hƯ vi xư lý”, NXB Khoa häc vµ Kü thuËt TiÕng anh Barry B Bray (1995), “The Intel Microprocessor 32 bit”, Prentice Hall Daniel tabak (1995), “Advanced Microprocessor” McGrow Hill Ayala, K J.(1991), “The 8051 Microcontroller: Architecture, Programming, and Applications”,West Publishing Company, 1991 206 ... chương trình dạng trình gỡ rối debug 24 Giáo trình thực hành Vi xử lý Chọn Stack để quan sát ngăn xếp Chọn Flags để quan sát cờ Các công cụ hỗ trợ cho trình mô 25 Giáo trình thực hành Vi xử lý +... chương trình cho Vi xử lý 80x86 Bài 2: Lập trình giao tiếp vi xử lý với thị Bài 3: Lập trình giao tiếp vi xử lý với điều khiển Bài 4: Sử dụng phần mềm Pinnacle 52 vi? ??t chương trình cho vi điều... tổng lên hình 35 Giáo trình thực hành Vi xử lý Bài 2: Giao tiếp vi xử lý với thị I Mục tiêu học - Sinh vi? ?n phân tích sơ đồ phần cứng, kết nối phần cứng mạch giao tiếp vi xử lý với thí nghiệm

Ngày đăng: 12/10/2021, 12:19

TỪ KHÓA LIÊN QUAN

w