Giáo trình Thực hành vi xử lý - ĐH Sư Phạm Kỹ Thuật Nam Định

207 5 0
Giáo trình Thực hành vi xử lý - ĐH Sư Phạm Kỹ Thuật Nam Định

Đ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

Nội dung giáo trình được chia làm 8 bài, được trình bày chi tiết như sau: Sử dụng phần mềm EMU8086 viết chương trình cho vi xử lý 80x86; lập trình giao tiếp vi xử lý với các bộ chỉ thị; lập trình giao tiếp vi xử lý với các bộ điều khiển; sử dụng phần mềm Pinnacle 52 viết chương trình cho vi điều khiển họ 8051.

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 RD TD 1uF 11 12 10 U1 C1+ C1- T1IN R1OUT T2IN R2OUT T1OUT R1IN T2OUT R2IN CONN-D9F VS+ VS- MAX232 C2+ C2- C2 14 13 C3 1uF C4 1uF L1 L2 L3 L4 L5 L6 L7 L8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 R5 100 R4 R3 100 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 AT89C51 R2 100 OUT INDICATOR 100 L1 100 39 38 37 36 35 34 33 32 8051 AND PC INTERFACE TO PC R6 100 L2 R7 L3 100 L4 R8 L5 L7 L8 100 L6 R9 XTAL1 XTAL2 RST PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 19 18 C5 1u X1 CRYSTAL R1 10k IN 29 30 31 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 bé 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ý xuất 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 mét chiÒu 53 1.2 Phương pháp lựa chọn ®iỊu khiĨn ®éng c¬ 54 1.3 Sơ đồ nguyên lý mạch điều khiển động chiều 54 1.4 Lập trình ghép nối với điều khiển động 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 vỊ 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 LCD 132 3.2.1 S¬ ®å ch©n cđa LCD 133 3.2.2 Mô tả chân 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 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é chuyÓn đổ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 bé ®iỊu khiĨn ®éng c¬ mét chiỊu 167 Lập trình điều khiển chiều quay động c¬ mét chiỊu 169 Lập trình điều khiển tốc độ động mét 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 trun 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 nh­ 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 môn Kĩ thuật Đ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 TH1,#0FDh ;toc truyen la 9600 MOV TMOD,#20h ;Timer tu dong nap lai SETB TR1 ;khoi dong timer1 MOV P0,#00H ;tat het cac led port0 jnb ri,$ ;kiem tra co nhan ;************************ loop: clr ri ;xoa co nhan de nhan ki tu ke tiep jmp loop ;cho nhan mov p0,sbuf end ;dua du lieu tai bo dem noi tiep port0 ;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Õ 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 truyen va nhan du lieu tu PC ;Tan so anh su dung la 11.0592Mhz ;************************ mov scon,#52h ; MOV TH1,#0FDh ;toc truyen la 9600 MOV TMOD,#20h ;Timer tu dong nap lai SETB TR1 ;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; MSComm1.PortOpen:= True; // chän cæng Com // më cỉng MSComm1.Settings:= '9600,n,8,1'; // chän tèc ®ä trun 9600, không kiểm tra chẵn lẻ, bit liƯu, bit stop + ViÕt m· ngn 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 sjmp ssr0 ss100: cjne a,#100,$+3 jc loop0 mov tl0,#0 inc r0 ssr0: ;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 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 - 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 - 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ọ Nguyễn Tăng Cường, (2003), Máy tính cấu trúc lập trình, (tập 1+2), Đỗ Xuân Tiến, (2003), Kỹ thuật vi xử lý lập trình ASSEMBLY cho hệ vi diều khiĨn 8051”, NXB Khoa häc vµ Kü tht NXB Khoa häc vµ Kü tht 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 Ayala, K J.(1991), “The 8051 Microcontroller: Architecture, Programming, and Applications”,West Publishing Company, 1991 Daniel tabak (1995), “Advanced Microprocessor” McGrow Hill 206

Ngày đăng: 15/05/2021, 09:32

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan