1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo trình Kỹ thuật vi điều khiển (Nghề Điện tử dân dụng): Phần 1 - CĐ nghề Vĩnh Long

145 24 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 145
Dung lượng 2,95 MB

Nội dung

(NB) Giáo trình Kỹ thuật vi điều khiển (Nghề Điện tử dân dụng): Phần 1 do CĐ nghề Vĩnh Long biên soạn nhằm trình bày sơ lược về lịch sử và hướng phát triển của vi điều khiển, cấu trúc họ vi điều khiển 8051, tập lệnh 8051 và bộ định thời. Mời các bạn tham khảo!

ỦY BAN NHÂN DÂN TỈNH VĨNH LONG TRƯỜNG CAO ĐẲNG NGHỀ VĨNH LONG GIÁO TRÌNH MƠ ĐUN: KỸ THUẬT VI ĐIỀU KHIỂN NGHỀ: ĐIỆN TỬ DÂN DỤNG TRÌNH ĐỘ: TRUNG CẤP (Ban hành theo Quyết định số 171 /QĐ – CĐNVL ngày 14 tháng năm 2017 Hiệu trưởng trường Cao đẳng nghề Vĩnh Long) (Lưu hành nội bộ) NĂM 2017 ỦY BAN NHÂN DÂN TỈNH VĨNH LONG TRƯỜNG CAO ĐẲNG NGHỀ VĨNH LONG Tác giả biên soạn: ThS Trương Nguyễn Thịnh Cương GIÁO TRÌNH MƠ ĐUN: KỸ THUẬT VI ĐIỀU KHIỂN NGHỀ: ĐIỆN TỬ DÂN DỤNG TRÌNH ĐỘ: TRUNG CẤP NĂM 2017 LỜI MỞ ĐẦU  Quyển sách đề cập đến vấn đề liên quan đến chip họ 8051, cấu trúc phần cứng, nhiệm vụ chân chip họ 8051, sơ đồ mạch điện, tập lệnh, hoạt động đặc trưng chip vi điều khiển: hoạt động định thời, hoạt động port nối tiếp hoạt động ngắt Các vấn đề lập trình hợp ngữ cấu trúc chương trình, giúp cho người đọc dể dàng tiếp cận Các thí dụ chương trình minh họa cách rõ ràng, đồng thời giúp người đọc dể dàng tiếp cận lập trình theo ý riêng Quyển sách tài liệu tổng hợp từ nhiều nguồn sách khác nhau, nên không thiếu sót nội dung lẫn tả mong học sinh đóng góp để sách hồn thiện MỤC LỤC  BÀI 1: SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN CỦA VI ĐIỀU KHIỂN1 Lịch sử phát triển .1 Vi điều khiển 2.1.Nguyên lý cấu tạo .1 2.2 Các kiểu cấu trúc nhớ 2.3 Tổ chức nhớ 3 Lĩnh vực ứng dụng Hướng phát triển Câu hỏi ôn tập BÀI 2: CẤU TRÚC HỌ VI ĐIỀU KHIỂN 8051 Tổng quan .5 Sơ đồ chân Cấu trúc Port I/O Tổ chức nhớ 10 4.1.Vùng RAM đa 12 4.2.Vùng RAM địa bit 13 4.3 Các dãy ghi 13 Các ghi chức đặc biệt 14 5.1.Từ trạng thái chương trình PSW .15 5.2.Thanh ghi B 16 5.3.Con trỏ Stack 16 5.4.Con trỏ liệu DPTR .16 5.5 Các ghi Port 16 5.6.Các ghi định thời .17 5.7.Các ghi Port nối tiếp 17 5.8.Các ghi ngắt 17 5.9.Thanh ghi điều khiển nguồn .17 Bộ nhớ 17 6.1.Truy xuất nhớ chương trình ngồi .17 6.2.Truy xuất nhớ liệu 18 6.3 Giải mã địa 18 Các cải tiến 8032/8052 19 Hoạt động Reset .20 Thực hành ứng dụng 21 Câu hỏi ôn tập 21 BÀI 3: TẬP LỆNH 8051 .22 Mở đầu 22 Các cách định địa .22 Các nhóm lệnh 24 3.1 Nhóm lệnh số học 24 3.2 Nhóm lệnh logic 36 3.3 Nhóm lệnh truyền liệu 47 3.5.Nhóm lệnh rẽ nhánh chương trình 71 Bài tập 86 Câu hỏi ôn tập 99 BÀI 4: BỘ ĐỊNH THỜI 100 Mở đầu 100 Thanh ghi SFR timer .102 2.1.Thanh ghi chế độ TMOD 102 2.2 Thanh ghi điều khiển TCON 105 Các chế độ làm việc .106 3.1.Chế độ Timer 13 bit 106 3.2.Chế độ Timer 16 bit 107 3.4.Chế độ tách biệt Timer 108 Nguồn cung cấp xung cho Timer 110 4.1.Chức định thời 110 4.2.Chức đếm kiện 111 Khởi động, dừng, điều khiển Timer .112 Khởi tạo truy xuất ghi Timer 113 Timer 8052 114 Câu hỏi ôn tập 139 BÀI 5: CỔNG NỐI TIẾP 140 Mở đầu 140 2.Thanh ghi điều khiển .141 Chế độ làm việc 141 3.1.Thanh ghi dịch bit 144 3.2 Chế độ UART bit có tốc độ baud thay đổi 146 3.3.UART bit với tốc độ baud cố định 148 3.4.Chế độ UART với tốc độ baud cố định 149 Khởi tạo truy suất ghi PORT nối tiếp 149 Truyền thông đa xử lý 152 Tốc độ BAUD 153 Bài tập 153 Câu hỏi ôn tập 186 BÀI 6: NGẮT 188 Mở đầu 188 Tổ chức ngắt 8051 190 Xử lý ngắt .190 Thiết kế chương trình dùng ngắt 193 Ngắt cổng nối tiếp 196 Các cổng ngắt .201 Đồ thị thời gian ngắt 207 Bài tập 207 Câu hỏi ôn tập 216 BÀI 7: PHẦN MỀM HỢP NGỮ 224 Mở đầu 224 Hoạt động ASSEMBLER 225 Cấu trúc chương trình liệu 227 Tính biểu thức hợp dịch 229 Các điều khiển ASSEMBLER .233 Hoạt động liên kết 234 MACRO .237 Bài tập 242 Câu hỏi ôn tập 243 TÀI LIỆU THAM KHẢO 244 BÀI 1: SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN CỦA VI ĐIỀU KHIỂN Mục tiêu - Trình bày cấu trúc chung vi điều khiển - Phát biểu ứng dụng vi điều khiển hướng phát triển vi điều khiển Nội dung Lịch sử phát triển - 1971 tập đoàn Intel giới thiệu 8080, vi xử lý(micro processor) thành công Sau motorola, RCA, MOS Technology Zilog giới thiệu vi xử lý tương tự: 6800, 1801, 6502 Z80 - 1976 Intel giới thiệu vi điều khiển (microcontroller) 8748 8748 chứa 17,000 transistor bao gồm CPU, Kbyte EPROM, 64 byte Ram, 27 chân xuất nhập định thời bit - 1980 Intel công bố chip 8051, vi điều khiển họ vi điều khiển MCS-51 8051 chứa 60,000 transistor bao gồm 4Kbyte ROM, 128 byte Ram, 32 đường xuất nhập, port nối tiếp địn thời 16 bit Vi điều khiển 2.1.Nguyên lý cấu tạo Hình 1-2 Sơ đồ khối máy tính cổ điển Hình 1-3 Sơ đồ khối hệ vi xử lý 2.2 Các kiểu cấu trúc nhớ Bộ nhớ MCS-51 gồm ROM RAM RAM bao gồm nhiều vùng có mục đích khác nhau: vùng RAM đa dụng (địa byte từ 30h – 7Fh có thêm vùng 80h – 0FFh ứng với 8052), vùng địa hóa bit (địa byte từ 20h – 2Fh, gồm 128 bit định địa bit từ 00h – 7Fh), bank ghi (từ 00h – 1Fh) ghi chức đặc biệt (từ 80h – 0FFh) Các ghi chức đặc biệt (SFR – Special Function Registers): Bảng 3-2 Các ghi chức đặc biệt Các ghi định địa bit có địa bit bắt đầu địa byte trùng Ví dụ như: ghi P0 có địa byte 80h có địa bit 80h (ứng với P0.0) đến 87h (ứng với P0.7) Chức ghi mô tả phần sau a RAM nội: Chia thành vùng phân biệt: vùng RAM đa dụng (30h – 7Fh), vùng RAM định địa bit (20h – 2Fh) bank ghi (00h – 1Fh) Bảng 3-3 Địa RAM nội 8051 b RAM đa dụng: RAM đa dụng có 80 byte từ địa 30h – 7Fh truy xuất lần bit cách dùng chế độ địa trực tiếp hay gián tiếp Các vùng địa thấp từ 00h – 2Fh sử dụng cho mục đich chức đề cập phần sau c RAM định địa bit: Vùng địa từ 20h – 2Fh gồm 16 byte (= 128 bit) thực giống vùng RAM đa dụng (mỗi lần bit) hay thực truy xuất lần bit lệnh xử lý bit Vùng RAM có địa bit bắt đầu giá trị 00h kết thúc 7Fh Như vậy, địa bắt đầu 20h (gồm bit) có địa bit từ 00h – 07h; địa kết thúc 2Fh có địa bit từ 78h – Fh d Các bank ghi: Vùng địa từ 00h – 1Fh chia thành bank ghi: bank từ 00h07h, bank từ 08h – 0Fh, bank từ 10h – 17h bank từ 18h – 1Fh Các bank ghi đại diện ghi từ R0 đến R7 Sau khởi động hệ thống bank ghi sử dụng bank Do có bank ghi nên thời điểm có bank ghi truy xuất ghi R0 đến R7 Việc thay đổi bank ghi thực thơng qua ghi từ trạng thái chương trình (PSW) Các bank ghi truy xuất bình thường vùng RAM đa dụng nói 2.3 Tổ chức nhớ ngồi - Bộ nhớ chương trình ngồi - Bộ nhớ liệu ngồi - Bộ nhớ chương trình liệu dùng chung - Giải mã địa Lĩnh vực ứng dụng Trong sản phẩm dân dụng: + Nhà thơng minh: Cửa tự động Khóa số +Tự động điều tiết ánh sáng thông minh (bật/tắt đèn theo thời gian, theo cường độ ánh sáng, ) Trong quảng cáo: Các loại biển quảng cáo nháy chữ Quảng cáo ma trận LED Trong sản phẩm công nghiệp: + Điều khiển động + Điều khiển số (PID, mờ, ) Hướng phát triển - Trong sản phẩm dân dụng: Nhà thông minh: Cửa tự động Khóa số Tự động điều tiết ánh sáng thơng minh (bật/tắt đèn theo thời gian, theo cường độ ánh sáng, ) Điều khiển thiết bị từ xa (qua điều khiển, qua tiếng vỗ tay, ) Điều tiết ẩm, điều tiết nhiệt độ, điều tiết khơng khí, gió Hệ thống vệ sinh thông minh, - Trong quảng cáo: Các loại biển quảng cáo nháy chữ Quảng cáo ma trận LED (một màu, màu, đa màu) Điều khiển máy bạt quảng cáo, - Các máy móc dân dụng Máy điều tiết độ ẩm cho vườn Buồng ấp trứng gà/vịt Đồng hồ số, đồng hồ số có điều khiển theo thời gian - Các sản phẩm giải trí Máy nghe nhạc Máy chơi game Đầu thu kỹ thuật số, đầu thu set-top-box, - Trong thiết bị y tế: Máy móc thiết bị hỗ trợ: máy đo nhịp tim, máy đo đường huyết, máy đo huyết áp, điện tim đồ, điện não đồ,… Máy cắt/mài kính Máy chụp chiếu (city, X-quang, ) Câu hỏi ơn tập Trình bày nguyên lý vi điều khiển? Trình bày kiểu cấu trúc nhớ VCC C57 104 R94 10M U41 11 10 12 Y5 32.768 KHz C55 220p CLK OSC RST OSC VCC C56 220p 16 VCC GND U40A D J248 CLOCK OUT 4060 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q12 Q13 Q14 14 13 15 3 Q Q R S J246 GND +5V GND VCC POWER Hz Hz Hz J249 CLOCK OUT 4013 CLK 2048 Hz 1024 Hz 512 Hz 256 Hz 128 Hz 64 Hz 32 Hz Hz VCC VCC VDD GND 14 C149 104 Hình 0.1: Sơ đồ nguyên lý khối phát xung vuông (Square Wave Generator) - Sơ đồ bố trí linh kiện Hình 0.2: Khối phát xung vuông (Square Wave Generator) BÀI THỰC HÀNH Viết chương trình, mơ lắp ráp mạch điều khiển đếm liên tục số lượng xung (0000 – 9999) đưa vào chân T1 vi điều khiển hiển thị số lượng xung lên LED đoạn (PULSE nối với chân T1, LED7 – LED4 nối với Port0, SEL IN1 nối với Port1) - Lưu đồ giải thuật 125 ❖ Bước 1: Vẽ lưu đồ giải thuật chương trình điều khiển Hình 0.3: Lưu đồ giải thuật chương trình - Chương trình điều khiển Sử dụng phần mềm Topview Simulation để thực việc viết chương trình biên dịch, kiểm tra lỗi cú pháp chương trình ❖ Bước 2: Khởi động phần mềm Topview Simulation ❖ Bước 3: Mở chức soạn thảo chương trình đặt tên tập tin chương trình là: K1.ASM ❖ Bước 4: Viết chương trình điều khiển vào máy tính ;*************************************************** ;CHUONG TRINH DIEU KHIEN TIMER/COUNTER DEM (0000 - 9999) VA HIEN THI XUNG TAI CHAN T1 ;*************************************************** ;KET NOI: PORT0 -> SEGMENT (DP -> A) ; PORT1 -> SELECT LED ; PULSE -> T1 PIN ;*************************************************** ORG 00H MAIN: MOV TMOD,#50H ;COUNTER 16 BIT (MODE 1) MOV TH1,#0 MOV TL1,#0 ;XOA COUNTER 126 SETB TR1 ;CHO PHEP COUNTER BAT DAU HOAT DONG MP1: MOV R7,TH1 ;CHUYEN SO XUNG DEM DUOC (TH1, TL1) RA HIEN THI MOV R6,TL1 ACALL ACALL BIN16TOBCD BCD4TO7SEG ;DOI MA BIN SANG MA BCD ;DOI MA BCD SANG MA DOAN ACALL DISP7SEGMUL4 SJMP MP1 ;HIEN THI GIA TRI LEN LED ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (= SJMP A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = TRONG R6 A_GREATER_EQ_B: SUBB A,B XCH ORL XCH BELOW: DJNZ XCH A,R6 A,#1 A,R6 ;Y: SO DU CAT TRONG A ;THUONG SO = ;CAT TRONG R6 R2,DIVIDE ;DICH TIEP DEN 16 LAN A,B ;SAU 16 LAN DICH TA DUOC B = SO DU POP ACC POP 02H RET ;*************************************************** BCD4TO7SEG: ;CTC GIAI MA TU SO BCD NEN SANG MA DOAN (2 SO BCD NEN) PUSH DPH ;CATTAM THOI GIA TRI CAC THANH GHI PUSH DPL PUSH ACC MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA DOAN MOV A,R6 ;LAY SO BCD CAN GIAI MA 128 ANL A,#0FH MOVC ;XOA BIT CAO A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 60H,A ;CAT BCD HANG DON VI VAO O NHO MOV A,R6 ANL A,#0F0H ;LAY SO BCD CAN GIAI MA ;XOA BIT THAP SWAP MOVC A ;HOAN CHUYEN CAO - THAP A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 61H,A MOV A,R7 ;CAT BCD HANG CHUC VAO O NHO ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA BIT CAO MOVC A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 62H,A ;CAT BCD HANG TRAM VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 63H,A ;CAT BCD HANG NGAN VAO O NHO POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL POP DPH RET CODE7SEG: ;VUNG CHUA MA DOAN (0 -> 9) DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;*************************************************** DISP7SEGMUL4: ;CTC QUET HIEN THI LED DOAN (4 LED DOAN) PUSH ACC ;CATTAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#0F7H MOV R0,#63H ;MA QUET ;DIA CHI VUNG MA HIEN THI DISP: MOV P0,@R0 ;XUAT MA HIEN THI MOV P1,A ;XUAT MA QUET LCALL DELAYLED MOV P1,#0FFH ;CHONG LEM DEC R0 ;LAY MA HIEN THI KE TIEP RR A ;CHUYEN SANG LED KE TIEP CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA 129 POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET END ❖ Bước 5: Lưu chương trình vào máy tính ❖ Bước 6: Thực biên dịch kiểm tra lỗi chương trình • Nếu có lỗi xuất thực việc hiệu chỉnh khắc phục lỗi Nguyên nhân phát sinh lỗi thông thường cú pháp lệnh khơng xác, cần phải kiểm tra lại Sau hoàn tất việc hiệu chỉnh sai sót quay trở thực từ Bước • Nếu khơng có lỗi xuất phần mềm tự động tạo tập tin mã máy với tên là: K1.HEX thực phần nội dung - Mô hoạt động Sử dụng phần mềm ISIS Professional (Protues 7.10) để thực việc mơ q trình hoạt động hệ thống vi điều khiển ❖ Bước 7: Khởi động phần mềm ISIS Professional (Protues 7.10) ❖ Bước 8: Vẽ sơ đồ thiết kế mạch mô điều khiển xxx Hình 4.6.4 130 33p X1 12MHz C1 33p +5V 18 C3 XTAL1 XTAL2 10uF RST R1 10k P1.0 P1.1 P1.2 P1.3 29 30 31 R4 R5 R6 R7 R8 R9 R10 10K U1 19 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 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/WR P3.7/RD 39 AD0 38 AD1 37 AD2 36 AD3 35 AD4 34 AD5 33 AD6 32 AD7 AD0 AD1 AD2 AD3 AD4 AD5 AD6 56 56 56 56 56 56 56 A B C D E F G +5V P1.0 P1.1 +5V +5V +5V R2 Q1 R3 Q2 R11 Q3 R12 Q4 1K A1015 1K A1015 1K A1015 1K A1015 A B C D E F G A B C D E F G LED7 21 22 23 24 25 26 27 28 P1.2 +5V C2 P1.3 RP1 A B C D E F G LED6 A B C D E F G LED5 LED4 MẠCH ĐIỀU KHIỂN TIMER/COUNTER (ĐẾM XUNG) 10 11 12 13 14 15 16 17 U1(P3.5/T1) AT89C51 A B Hình 0.4: Sơ đồ ngun lý mơ hệ thống điều khiển  Mạch mô thiết kế sẵn lưu máy tính với tên tập tin là: xxx.DSN Vì người học tự vẽ thiết kế mạch mô lấy mạch mơ có sẵn sở liệu môn học ❖ Bước 9: Chọn tập tin chương trình cần mơ (tập tin mã máy tạo từ Bước 6) cho hệ thống vi điều khiển: K1.HEX ❖ Bước 10: Thực chạy mô quan sát trực tiếp kết hình máy tính • Nếu có lỗi xuất thực việc hiệu chỉnh khắc phục lỗi Nguyên nhân phát sinh lỗi thông thường giải thuật chương trình khơng xác mạch mơ vẽ khơng xác, cần phải kiểm tra lại Sau hoàn tất việc hiệu chỉnh sai sót quay trở thực từ Bước (do giải thuật chương trình khơng xác) Bước (do mạch mơ vẽ khơng xác) • Nếu khơng có lỗi xuất thực phần nội dung - Lắp mạch nạp chương trình điều khiển Sử dụng khối "Microcontroller Unit Slot", "Square Wave Generator", "7 Segment Display" "Power Supply" có sẵn mơ hình thực hành vi điều khiển để lắp ráp mạch theo thiết kế bên ❖ Bước 11: Kết nối khối mô Hình 4.6.5 để tạo thành hệ thống mạch điều khiển bên • Tắt nguồn AC cấp cho mơ hình thực hành 131 • Dùng dây bus nối J64 (PORT1) khối vi điều khiển với J1 (SEL IN1) khối LED đoạn (chú ý ta nối bit thấp J64 với J1) • Dùng dây bus nối J63 (PORT0 / DATA) khối vi điều khiển với J4 (7SEG IN MUL) khối giải mã • Dùng dây bus nối J33 (PULSE) khối tạo xung với J66 (PORT3 / FUNCTION) khối vi điều khiển (chú ý ta nối bit (chân T1) J66 J33 lại với nhau) • Dùng dây bus nối J113 (POWER) khối tạo xung J110 (POWER) khối LED đoạn với nguồn +5V khối nguồn Hình 0.5: Sơ đồ kết nối mạch mơ hình Sử dụng phần mềm Flash Magic để thực việc nạp chương trình cho vi điều khiển P89V51RB2 mơ hình thực hành ❖ Bước 12: Bật nguồn AC cấp cho mơ hình thực hành ❖ Bước 13: Khởi động phần mềm Flash Magic ❖ Bước 14: Kiểm tra cấu hình phần mềm (loại vi điều khiển, cổng COM, tốc độ truyền, chuẩn giao tiếp, ❖ Bước 15: Chọn tập tin chương trình điều khiển (tập tin mã máy tạo từ Bước 6): K1.HEX ❖ Bước 16: Nạp chương trình vào vi điều khiển ❖ Bước 17: Nhấn nút "Master Reset" khối "Microcontroller Unit Slot" để chạy chương trình quan sát trực tiếp kết mơ hình thực hành • Nếu có lỗi xuất thực việc hiệu chỉnh khắc phục lỗi Nguyên nhân phát sinh lỗi thường việc lắp ráp phần cứng khơng xác linh kiện bị hư hỏng, cần phải kiểm tra lại Sau 132 hoàn tất việc kiểm tra hiệu chỉnh sai sót quay trở thực từ Bước 15 • Nếu khơng có lỗi xuất hồn tất thực hành BÀI TẬP THỰC HÀNH Nội dung: "Chương trình điều khiển đo tần số xung (0000 – 9999, đơn vị Hz) đưa vào chân T1 vi điều khiển hiển thị tần số xung lên LED đoạn (PULSE nối với chân T1, LED7 – LED4 nối với Port0, SEL IN1 nối với Port1)" Lưu đồ giải thuật: 133 Chương trình điều khiển: ;*************************************************** ;CHUONG TRINH DIEU KHIEN TIMER/COUNTER DO TAN SO XUNG TAI CHAN T1 ;*************************************************** ;KET NOI: PORT0 -> SEGMENT (DP -> A) PORT1 -> SELECT LED; PULSE -> T1 PIN ;*************************************************** ORG 00H ;DIEM NHAP RESET SJMP MAIN 134 ORG 0BH ;DIEM NHAP ISR TIMER0 LJMP T0ISR ORG 30H ;DIEM NHAP CHUONG TRINH CHINH MAIN: MOV TMOD,#51H ;TIMER1: COUNTER 16 BIT (MODE 1), TIMER0: TIMER 16 BIT (MODE 1) MOV TH0,#HIGH(-50000) ;NAP GIA TRI THOI GIAN TRE 50 MS MOV TL0,#LOW(-50000) SETB TR0 ;CHO TIMER BAT DAU CHAY MOV IE,#82H ;CHO PHEP NGAT TIMER0 HOAT DONG MP1: MOV 40H,#0 MOV HIEN THI MOV MOV TIEP THEO MOV ;NAP GIA TRI BIEN DEM SO LAN NGAT TIMER0 R7,TH1 ;CHUYEN SO XUNG DEM DUOC (TH1, TL1) RA R6,TL1 TH1,#0 ;XOA COUNTER 1, CHUAN BI CHO LAN DEM XUNG TL1,#0 SETB TR1 ACALL ;COUNTER BAT DAU DEM BIN16TOBCD ;DOI MA BIN SANG MA BCD ACALLBCD4TO7SEG ;DOI MA BCD SANG MA DOAN MP2: ACALL DISP7SEGMUL4 ;HIEN THI GIA TRI LEN LED MOV A,40H CJNE A,#20,MP2 ;KIEM TRA DU 20 LAN NGAT = 1S CLR TR1 ;DUNG COUNTER SAU 1S -> SO XUNG TRONG 1S = TAN SO XUNG SJMP MP1 ;*************************************************** BIN16TOBCD: ;CTC CHUYEN DOI SO BINARY 16 BIT (= A_GREATER_EQ_B ;SO CHIA CHUA ? NOT_EQUAL: JC BELOW ;N: THUONG SO = TRONG R6 136 A_GREATER_EQ_B: SUBB A,B ;Y: SO DU CAT TRONG A XCH A,R6 ORL A,#1 XCH A,R6 ;THUONG SO = ;CAT TRONG R6 BELOW: DJNZ R2,DIVIDE ;DICH TIEP DEN 16 LAN XCH A,B POP ACC ;SAU 16 LAN DICH TA DUOC B = SO DU POP 02H RET ;*************************************************** BCD4TO7SEG: (2 SO BCD NEN) PUSH DPH PUSH DPL PUSH ACC ;CTC GIAI MA TU SO BCD NEN SANG MA DOAN ;CATTAM THOI GIA TRI CAC THANH GHI MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA DOAN MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA BIT CAO MOVC A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 60H,A ;CAT BCD HANG DON VI VAO O NHO MOV A,R6 ;LAY SO BCD CAN GIAI MA ANL A,#0F0H ;XOA BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 61H,A ;CAT BCD HANG CHUC VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA ANL A,#0FH ;XOA BIT CAO MOVC A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 62H,A ;CAT BCD HANG TRAM VAO O NHO MOV A,R7 ;LAY SO BCD CAN GIAI MA 137 ANL A,#0F0H ;XOA BIT THAP SWAP A ;HOAN CHUYEN CAO - THAP MOVC A,@A+DPTR ;LAY MA DOAN TUONG UNG MOV 63H,A ;CAT BCD HANG NGAN VAO O NHO POP ACC POP DPL ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPH RET CODE7SEG: ;VUNG CHUA MA DOAN (0 -> 9) DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;*************************************************** DISP7SEGMUL4: PUSH ACC PUSH 00H MOV A,#0F7H MOV R0,#63H DISP: MOV P0,@R0 MOV P1,A ;CTC QUET HIEN THI LED DOAN (4 LED DOAN) ;CATTAM THOI GIA TRI CAC THANH GHI ;MA QUET ;DIA CHI VUNG MA HIEN THI ;XUAT MA HIEN THI ;XUAT MA QUET LCALL DELAYLED MOV P1,#0FFH ;CHONG LEM DEC R0 ;LAY MA HIEN THI KE TIEP RR A ;CHUYEN SANG LED KE TIEP CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI POP ACC RET ;*************************************************** DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL 138 POP 01H POP 00H RET ;*************************************************** T0ISR: ;ISR TIMER0 - 50MS CLR TR0 CLR TF0 MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) INC 40H ;NAP GIA TRI THOI GIAN TRE 50 MS ;TANG BIEN DEM SO LAN NGAT - LAN = 50MS SETB TR0 RETI END Câu hỏi ôn tập BÀI TẬP ỨNG DỤNG Bài 1: Hãy viết chương trình điều khiển tạo xung Hz (sử dụng Timer) chân P1.0 hiển thị mức logic chân lên LED Tự lựa chọn phương pháp kết nối LED Bài 2: Hãy viết chương trình điều khiển tạo xung Hz (sử dụng Timer) chân P1.0 hiển thị mức logic chân lên LED Tự lựa chọn phương pháp kết nối LED Bài 3: Hãy viết chương trình điều khiển tạo xung Hz Hz (sử dụng Timer) chân P1.0 tùy thuộc vào ta nhấn hay nhả nút nhấn KEY0 hiển thị mức logic chân lên LED Tự lựa chọn phương pháp kết nối LED nút nhấn Bài 4: Hãy viết chương trình điều khiển đếm liên tục số lượng xung đưa vào chân T0 vi điều khiển hiển thị số lượng xung lên LED đoạn Tự lựa chọn phương pháp kết nối thiết bị tạo xung LED đoạn Bài 5: Hãy viết chương trình điều khiển đo tần số xung (đơn vị tính Hz) đưa vào chân T0 vi điều khiển hiển thị giá trị tần số lên LED đoạn Tự lựa chọn phương pháp kết nối thiết bị tạo xung LED đoạn Bài 6: Hãy viết chương trình điều khiển đo độ rộng xung (đơn vị tính ms) đưa vào chân T0 vi điều khiển hiển thị giá trị độ rộng xung lên LED đoạn Tự lựa chọn phương pháp kết nối thiết bị tạo xung LED đoạn 139 ... DÂN TỈNH VĨNH LONG TRƯỜNG CAO ĐẲNG NGHỀ VĨNH LONG Tác giả biên soạn: ThS Trương Nguyễn Thịnh Cương GIÁO TRÌNH MƠ ĐUN: KỸ THUẬT VI ĐIỀU KHIỂN NGHỀ: ĐIỆN TỬ DÂN DỤNG TRÌNH ĐỘ: TRUNG CẤP NĂM 2 017 ... MCS- 51 Trong họ MCS- 51 vi điều khiển 80C 31 khơng có nhớ bên khơng tích hợp Vi điều khiển 80C 51 tích hợp kbyte nhớ Prom Chỉ lập trìnnh lần khơng thể xóa để lập trình lại Vi điều khiển 87C 51 tích... 244 BÀI 1: SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN CỦA VI ĐIỀU KHIỂN Mục tiêu - Trình bày cấu trúc chung vi điều khiển - Phát biểu ứng dụng vi điều khiển hướng phát triển vi điều khiển Nội dung

Ngày đăng: 19/01/2022, 10:15

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w