1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng kỹ thuật vi xử lý

124 5 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

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA ĐIỆN-ĐIỆN TỬ BÀI GIẢNG KỸ THUẬT VI XỬ LÝ Hưng Yên 2015 (Tài liệu lưu hành nội bộ) ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ CHƢƠNG 1: Tổng quan hệ vi xử lý 1.1 Hệ thống số có liên quan đến vi xử lý  Hệ đếm thập phân (Decimal): Hệ đếm thập phân gọi hệ đếm số mƣời đƣợc biểu diễn 10 số từ (0,1,2,3,4,5,6,7,8,9 ) số đƣợc sử dụng nhiều khoa học kỹ thuật nhƣ đời sống hàng ngày, biểu diễn số thập phân dứng sau dãy số thƣờng có chữ D Ví dụ: Ba nghìn Chín trăm Bảy mƣơi Tám đƣợc biểu diễn nhƣ sau 3978 = 3x10 + 9x10 + 7x10 + 8x10 = 3000 + 900 + 70 +  Hệ đếm thập lục phân (Hexadecimal): Hệ đếm thập phân gọi hệ đếm số mƣời sáu đƣợc biểu diễn 16 ký số (0,1,2,3,4,5,6,7,8,9,B,C,D,E,F) số đƣợc sử dụng nhiều khoa học kỹ thuật đặc biệt khoa học máy tính biểu diễn mã Hexa ngắn gọn, biểu diễn số thập lục phân sau dãy số phải có chữ H Ví dụ: 3978h , 12CCh, 1998h, ABCDh, 2008h …  Hệ đếm nhị phân (Binary): Hệ đếm nhị phân cịn gọi hệ đếm số hai đƣợc biểu diễn số 1, kỹ thuật điện tử số số gọi mức logic thấp ứng với điện áp thấp, số 1gọi mức logic cao tƣơng ứng với điện áp cao Mỗi ký hiệu đƣợc gọi Bit (Binary Digit), biểu diễn số nhị phân dứng sau dãy số phải có chữ B Ví dụ: 1100b ; gọi nibble 10011001b ; gọi Byte 1010101111001101b ; gọi Word Trong dãy số nhị phân đƣợc biểu diễn số nhị phân sát phải gọi bít LSB cịn số nhị phân sát trái gọi bít MSB Ví dụ: 1010101010101010 MSB LSB Số nhị phân thƣờng đƣợc biểu diễn dạng số nhị phân có dấu số nhị phân không dấu, số nhị phân không dấu biểu diễn số không âm (0) cịn số nhị phân có dấu biểu diễn đƣợc giá trị âm Ví dụ : (1101) = 1x2 + 1x2 + 0x2 + 1x2 = + + + = 13 Dải giá trị số có dấu bít [-128, +127 ] Dải giá trị số có dấu 16 bít [-32768, +32767 ] Trong biểu diễn dãy số nhị phân có dấu ngƣời ta sử dụng bít MSB để quy ƣớc cho bít dấu, với bít cho dãy số nhị phân dƣơng cịn bít cho dãy số nhị phân âm  Hệ đếm BCD (Binary Coded Decimal): Số đếm BCD đƣợc định nghĩa số thập phân nhƣng đƣợc biểu diễn dƣới dạng nhị phân bít, nhƣng dãy số nhị phân bít quy sang hệ thập phân giá trị phải  Trong kỹ thuật điện tử nói chung mã BCD đƣợc sử dụng để giải mã hiển thị LED bảy thanh… KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MƠN HỌC KỸ THUẬT VI XỬ LÝ Ví dụ: (0011), (0100), (0101), (0110), …(1001) ; gọi số BCD khơng nén Ví dụ: (00110100), (01010110), … (01111000) ; gọi số BCD nén Dƣới bảng mã BCD Thập phân BCD Thập phân BCD 0000 0101 0001 0110 0010 0111 0011 1000 0100 1001 Ví dụ: Cho số thập phân 15 , biểu diễn dƣới dạng số BCD 00010101  Số bù 2: Trong kỹ thuật Vi xử lý để biểu diễn số dƣới dạng dãy số nhị phân ngồi việc biểu diễn số khơng dấu, số có dấu ngƣời ta cịn sử dụng cách biểu diễn số bù Vậy số bù biểu diễn nhƣ nào? Ví dụ: Hãy biểu diễn dãy số A = 10011001 sang số bù nó: - b1: Tìm số bù A(bằng cách lấy bù tất bit A): 01100110 - b2: Tìm số bù A (bằng cách lấy số bù cộng cho 1) : 01100111 đến ta nhận thấy số bù số số đối tổng = 1.2 Các phép biến đổi hệ đếm  Phép cộng nhị phân khơng dấu : Ví dụ : Cho số nhị phân nhƣ sau A = 10010011 ; B = 00111001 tìm tổng Y số nhị phân cho 0+0=1 A=10010011b 0+1=1 B=00111001b 1+0=1 Y=A+B=11001100b 1+1=0;nhớ  Phép trừ nhị phân: Ví dụ : Cho số nhị phân nhƣ sau A = 10010011 ; B = 00111001 tìm hiệu Z số nhị phân cho (Lƣu ý phép trừ thực cách biến thành phép cộng) 0-0=0 A=10010011b 0-1=1;mƣợn B=00111001b 1-0=1 Z=A -B=01011010b 1-1=0  Phép nhân nhị phân : Ví dụ : Cho số nhị phân nhƣ sau A = 00100101 ; B = 00000100 tìm tích F Khi nhân dãy số nhị phân với ta đặt phép toán nhân giống nhƣ nhân số thập phân, kết phép nhân dãy số nhị phân bít thu đƣợc dãy số nhị phân 16 bít, nhƣ ta có F = A*B = 0000000010010100b  Phép chia nhị phân : Ví dụ : Cho số nhị phân nhƣ sau A = 10010110 ; B = 00000100 tìm thƣơng KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Khi chia dãy số nhị phân với ta đặt phép tốn chia giống nhƣ chia số thập phân, kết phép chia nhƣ phần dƣ (nếu có) thu đƣợc tƣơng tự nhƣ làm phép chia số thập phân, nhƣ ta có M = A/B = 00100101b dƣ 0010b  Chuyển đổi số thập phân sang nhị phân : Để chuyển đổi số thập phân sang số nhị phân ngƣời ta thƣờng dùng phƣơng pháp lấy số thập phân cần chuyển chia liên tiếp đến khơng thể chia đƣợc dừng Ví dụ : Chuyển số thập phân 25 sang số nhị phân không dấu Chia Thƣơng số Dƣ số 25/2 = 12 LSB 12/2 = 6/2 = 3/2 = 1 1/2 = MSB Kết thu đƣợc là: 11001 với số dƣ lần thứ bít có trọng số nhỏ  Chuyển đổi số nhị phân sang thập phân : Để chuyển đổi số nhị phân sang số thập phân ngƣời ta thƣờng dùng phƣơng pháp lấy tổng tích n số nhị phân cần chuyển nhân với đến N-1 hay theo biểu thức tổng quát nhƣ sau: A = B(N-1)* (N-1) + B(N-2)* (N-2) + B(N-3)* (N-3) + … + B(1)* (1) + B(0)* (0) Ví dụ : Chuyển số nhị phân không dấu 01011110b sang số thập phân A = 0*2 + 1*2 +0*2 + 1*2 4+ 1*2 + 1*2 + 1*2 + 0*2 = 94 nhƣ ta có 01011110b = 94  Chuyển đổi số nhị phân sang Hexa : Ví dụ : Chuyển số nhị phân 1100101011111110 sang số hexa Trƣớc hếtta chia số nhị phân cho thành nhóm 4-bit tính từ bít có trọng số nhỏ nhất, sau thay nhóm 4-bit ký hiệu hexa tƣơng ứng với ta thu đƣợc kết nhƣ sau: 1100 C 1010 A 1111 F 1110 hay 1100101011111110b = CAFEh E  Chuyển đổi số Hexa sang nhị phân: Ví dụ : Chuyển số hexa 2F8h ABBAh sang số nhị phân Tƣơng tự nhƣ trƣờng hợp ta thay ký hiệu hexa 4-bit nhị phân tƣơng ứng với ta thu đƣợc kết nhƣ sau: F 0010 1111 1000 hay 2F8h = 001011111000b A B B A 1010 1011 1011 1010 KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 hay ABBAh = 1010101110111010b Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ  Mã ASCII: (American Standard Code for Information Interchange ) Quá trình trao đổi thơng tin máy tính nói chung nhƣ q trình xử lý thơng tin vi xử lý, tất thông tin đƣợc biểu diễn dƣới dạng số Mỗi tổ hợp số đƣợc gán ký tự chữ cái, chữ số ký tự đặc biệt Khi thơng tin đƣợc truyền đi, đƣợc lƣu giữ nhớ hiển thị hình dƣới dạng ký tự tuân theo loại mã chuẩn đƣợc sử dụng rộng rãi gọi mã ASCII  BẢNG Mà ASSII (American Standard Code for Information Interchange) KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ BẢNG Mà ASSII mở rộng KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ 1.3 Lịch sử phát triển hệ Vi xử lý Kiến trúc hệ Vi xử lý thuật ngữ dùng để rõ đặc trƣng hệ vi xử lý bao gồm có cấu trúc phần cứng tổ chức phần mềm đƣợc cài đặt hệ Một hệ thống vi xử lý hay gọi ngắn hệ vi xử lý thƣờng bao gồm thành phần nhƣ: Bộ xử lý trung tâm CPU (Central Processing Unit ) trung tâm đầu não hệ Bộ nhớ tâm bao gồm thành phần ROM RAM Thiết bị vào/ra liệu Các kênh thông tin hay Bus hệ thống… Tất thiết bị có chức nhƣ đƣợc gọi hệ vi xử lý.Trong thực tế có nhiều hãng chế tạo vi xử lý cho máy vi tính nhƣ: IBM, Intel, Cyrix, AMD, Motorola nhƣng thơng dụng vi xử lý Intel Các vi xử lý Intel đƣợc phát triển qua thời kỳ nhƣ sau: Năm 1971, Intel đƣa vi xử lý 4004 với bit liệu, 12 bit địa chỉ; 0,8MHz Năm 1972, vi xử lý Intel 8080 đời với 8bit liệu, 12 bit địa chỉ; tốc độ 0,8 -5MHz Năm 1978, vi xử lý Intel 8086 đời với 16bit liệu, 20 bit địa chỉ; tốc độ 10MHz Năm 1979, vi xử lý Intel 8088 đời nhƣng tƣơng thích với hệ thống 8086 Năm 1982 vi xử lý 80286 đời với 16bit liệu, 20 bit địa chỉ, tốc độ 20MHz Năm 1985-1988, vi xử lý 80386 đời với 32 bit liệu 32 bit địa … Năm 1989, vi xử lý 80486 đời với 32 bit liệu 32 bit địa tốc độ 50-60MHz Năm 1993, vi xử lý Pentium đời với 64 bit liệu, tốc độ xử lý 100MHz sau vi xử lý Pentium Pro,Pentium II, Pentium III, Celeron, Pentium 4… Hình 1.1 Đƣờng tăng trƣởng số lƣợng transistor vi xử lý (dot) Intel định luật Moore (đƣờng với chu kỳ 18 tháng, đƣờng dƣới chu kỳ 24 tháng KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ 1.4 Chức vi xử lý Vi xử lý dùng cổng logic giống nhƣ cổng logic đƣợc sử dụng đơn vị xử lý trung tâm máy tính số Do cấu trúc giống nhƣ CPU đƣợc xây dựng từ mạch vi điện tử nên có tên vi xử lý: microprocessor Giống nhƣ CPU, microprocessor có mạch điện tử cho việc điều khiển liệu tính tốn điều khiển chƣơng trình Ngồi microprocessor đơn vị xử lý liệu Công việc xử lý liệu chức vi xử lý Việc xử lý liệu bao gồm tính tốn điều khiển liệu Việc tính tốn đƣợc thực mạch điện logic đƣợc gọi đơn vị xử lý logic số học thực phép toán nhƣ Add, Subtract, And, Or Compare, Increment, Decrement ALU khơng thể thực phép tốn mà khơng có liệu , ví dụ ALU cộng liệu với liệu phải đặt vị trí trƣớc cộng ALU khơng thể thực việc chuyển liệu từ nơi đến nơi khác Để ALU có liệu cho việc xử lý ngồi mạch điện ALU, vi xử lý cịn có mạch điện logic khác để điều khiển liệu Các mạch điện logic điều khiển liệu di chuyển liệu vào vị trí để khối ALU xử lý liệu Sau thực xong, khối điều khiển di chuyển liệu đến nơi mong muốn Để xử lý liệu, vi xử lý phải điều khiển mạch logic , để vi xử lý điều khiển mạch logic cần phải có chƣơng trình Chƣơng trình tập hợp lệnh để xử lý liệu thực lệnh đƣợc lƣu nhớ , công việc thực bao gồm bƣớc nhƣ sau: đón lệnh từ nhớ, sau mạnh logic điều khiển giải mã lệnh sau mạch logic điều khiển thực sau giải mã Do lệnh lƣu trữ nhớ nên thay đổi lệnh cần Khi thay đổi lệnh vi xử lý tức thay đổi cách thức xử lý liệu Các lệnh lƣu trữ nhớ định công việc mà vi xử lý làm Tóm tắt: chức vi xử lý xử lý liệu Để làm đƣợc điều vi xử lý phải có mạch logic cho việc xử lý điều khiển liệu mạch logic điều khiển Các mạch logic xử lý di chuyển liệu từ nơi đến nơi khác thực phép toán liệu, mạch logic điều khiển định mạch điện cho việc xử lý liệu Vi xử lý thực lệnh với trình tự nhƣ sau: đón lệnh từ nhớ , mạch logic điều khiển giải mã lệnh để xem lệnh yêu cầu vi xử lý thực cơng việc gì, sau vi xử lý thực công việc lệnh yêu cầu , trình đƣợc gọi chu trình đón – – thực lệnh Ngồi chức đón thực lệnh , mạch logic điều khiển điều khiển mạch điện giáo tiếp giao tiếp bên kết nối với vi xử lý Vi xử lý cần phải có trợ giúp mạch điện bên Các mạch điện dùng để lƣu trữ lệnh để vi xử lý xử lý đƣợc gọi nhớ, mạch điện giao tiếp để di chuyển liệu từ bên vào bên xử lý xuất liệu từ bên vi xử lý đƣợc gọi thiết bị I/O hay thiết bị ngoại vi KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ 1.5 Cấu trúc vi xử lý 1.5.1 Sơ đồ khối tổng quát hệ Vi xử lý  Sơ đồ khối : Hình 1.2 Sơ đồ khối tổng quát hệ VXL  Chức khối : Bộ xử lý trung tâm CPU (Central Processing Unit ) trung tâm đầu não hệ, có chức thu thập, xử lý thông tin điều khiển hoạt động hệ vi xử lý Bộ nhớ trung tâm có nhiệm vụ lƣu trữ thông tin liệu trƣớc CPU xử lý Thiết bị I/O thực việc nhận liệu từ kênh thơng tin từ bên ngồi vào CPU xử lý xuất tín hiệu điều khiển hệ thống Các kênh thơng tin hay Bus hệ thống cầu nối liên kết khối thực việc liên kết Bus địa chỉ, Bus điều khiển Bus liệu 1.5.2 Tổ chức kênh thông tin hệ Vi xử lý Memory Memory Addres s Bus CPU Data Bus Program Memory Data Memory Kiến trúc Von Neumann Memory Addres s Bus CPU Fetc h Bus Addres s Bus Data Bus Program Kiến trúc Harvard Data Hình 1.3 Cấu trúc kênh thơng tin hệ VXL KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Trên cách tổ chức nhớ theo kiểu Von Neumann Harvard Với kiểu tổ chức nhớ chƣơng trình liệu tách biệt cho phép tốc độ truy xuất thông tin nhanh đáng kể Các kênh liệu kênh song song dùng chung cho tất nhớ, nhiên phải đƣợc kiểm sốt thơng qua cổng lơgic trạng thái Cổng có nhiệm vụ tạo trạng thái đặc biệt có thành phần khơng đƣợc kích hoạt làm việc, trạng thái đặc biệt cách ly mặt tín hiệu kênh thông tin với thành phần hệ chúng đƣợc kết nối với mặt vật lý 1.5.3 Khối xử lý trung tâm (Central Processing Unit) Bộ vi xử lý hạt nhân hệ vi xử lý, thành phần quan trọng kiểm soát tất hoạt động hệ thực thao tác liệu Hầu hết CPU đƣợc hình thành từ mạch lơgic nhằm thực liên tục thao tác tìm nạp lệnh từ nhớ để giải mã thực thi lệnh CPU có khả hiểu thực thi lệnh dựa tập mã nhị phân gọi mã máy mã nhằm thực thao tác đó.Tổ hợp lệnh cho loại CPU gọi tập lệnh thƣờng chia thành nhóm lệnh nhƣ: - Nhóm lệnh chuyển liệu - Nhóm lệnh số học - Nhóm lệnh Lơgic - Nhóm lệnh rẽ nhánh chƣơng trình - Nhóm lệnh xử lý bít Cấu trúc đơn giản loại CPU đƣợc minh họa nhƣ sau: CPU Registe r PC Adress Bus MAR Data Bus TM AC C I P R ALU CU Control Bus FLAG S Hình 1.4 Cấu trúc chung CPU - PC (Program Couter): Bộ đếm trƣơng trình có vai trị nhƣ trỏ, trỏ đến ô nhớ chứa lệnh mà CPU cần truy nhập KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Kết quả: Bài tập 1: Viết chƣơng trình chuyển nội dung địa 1010h RAM ngoại trú vào vùng nhớ có địa từ 20h đến 60h RAM nội trú Bài tập 2: Viết chƣơng trình chuyển nội dung vùng nhớ có địa từ 20h đến 50h RAM nội trú vào vùng nhớ có địa bắt đầu 1000h RAM ngoại trú (Lƣu ý: thực nhiều phƣơng pháp khác nhau) 5.3.3 Di chuyển liệu nhớ ngồi Bài tập: Viết chƣơng trình chuyển nội dung vùng nhớ có địa từ 1000h đến 1020h vào vùng nhớ có địa từ 1040h đến 1060h RAM ngoại trú Cho biết có phƣơng pháp để thực tập ? 5.2 Vi xử lý giao tip vi Led n/7 thanh/LCD 5.2.1 Led đơn Port t¹o 5V – 20 mA LED = 2.5V 20 mA mmAmA Hình 5.1 Sơ đồ kết nối VĐK với LED đơn KHOA IN IN T - ĐHSPKT-HY_01/2017 109 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI X Lí - Cực d-ơng Led đ-ợc nối với điện trở, điện trở đ-ợc nối với chân vi điều khiển Cực âm Led đ-ợc nối với GND vi điều khiển Nh- vậy, chân vi ®iỊu khiĨn ë møc cao ( tøc lµ 5V), ®Ìn Led sáng Khi chân vi điều khiển mức thấp ( 0V) đèn LED tắt - L-u ý hình: Giá trị điện trở đ-ợc xác định dựa vào dòng tối đa vi điều khiển, điện áp dòng tối đa Led Nh- vậy, giá trị nhỏ điện trở đ-ợc dùng đ-ợc tính toán nhtrong hình R = 125 - Tuy nhiên, để đảm bảo hoạt động đèn Led, nâng giá trị điện trở lên thành 220 Bài : Viết ch-ơng trình điều khiển hệ thống đèn sáng dần - Viết ch-ơng trình Port sáng dần tắt hết - Viết ch-ơng trình Port sáng dần tắt dần - Viết ch-ơng trình Port Port sáng dần tắt dần - Viết ch-ơng trình sáng dần 16 Led từ sáng tắt từ vào Bài : Viết ch-ơng trình điều khiển hệ thống đèn sáng dồn - Viết ch-ơng trình P0 sáng dồn - Viết ch-ơng trình P0 P1 sáng dồn từ d-ới lên Bài : Viết ch-ơng trình đếm nhị phân Port VĐK - Viết ch-ơng trình đếm lên nhị phân từ 00 FFh hiển thị Port P1 - Viết ch-ơng trình đếm xuống nhị phân từ FFh 00h hiển thị Port P1 5.2.2 Led Cấu trúc mà hiển thị liệu Led - D¹ng Led: - Led anode chung Víi loại Led anode chung chân COM phải có mức logic 1(+5V), Led muốn sáng t-ơng ứng chân A-F,H ph¶i cã møc logic KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 110 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ B¶ng 3.1: B¶ng m· cho Led anode chung: Sè h 1 1 1 1 1 g 1 0 0 0 f 1 0 0 e 1 1 1 d 0 0 0 c 0 0 0 0 b 0 0 1 0 a 0 0 0 HEX 0C0h 0F9h 0A4h 0B0h 99h 92h 82h 0F8h 80h 90h - Led cathode chung Víi lo¹i Led cathode chung chân COM phải có mức logic 0, Led muốn sáng t-ơng ứng chân A-F,H phải có mức logic B¶ng 3.2: B¶ng m· cho Led cathode chung: Sè h 0 0 0 0 0 g 0 1 1 1 f 0 1 1 e 1 0 1 d 1 1 1 c 1 1 1 1 b 1 1 0 1 a 1 1 1 1 HEX 03Fh 06h 5Bh 4Fh 66h 6Dh 7Dh 07h 7Fh 6Fh Khi kết nối chung liệu Led ta cho Led sáng đồng thời ảnh h-ởng cđa c¸c Led víi Mn c¸c Led s¸ng ta phải sử dụng ph-ơng pháp quét, nghĩa thời điểm có Led đ-ợc sáng Led khác tắt Vì khoảng thời gian tắt mở rÊt KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 111 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ nhanh (cỡ ms) t-ợng l-u ảnh mắt ta thấy Led sáng đồng thời Dựa vào t-ợng l-u ảnh đó, thiết kế phần cứng nh- sau: - Sơ đồ kết nối phần cứng vi điều khiển với Led loại cathode chung Hình 5.2 Sơ đồ kết nối phần cứng vi điều khiển với Led loại cathode chung - Sơ ®å kÕt nèi phÇn cøng vi ®iỊu khiĨn víi Led loại anode chung Hình 5.3 Sơ đồ kết nối phần cứng vi điều khiển với Led loại anode chung Bài 1: Viết ch-ơng trình đồng hồ: hiển thị giờ, phút, giây Led Bài 2: Làm lại với xung Clock xác 1s sử dụng ngắt Timer Bài 3: Viết ch-ơng trình đếm sản phẩm sử dụng ngắt ngoài, hiển thị số sản phẩm Led 5.2.3 LCD phn ta mô tả chế độ hoạt động LCD sau mơ tả cách lập trình phối ghép LCD tới 8951 a) Hoạt động LCD Trong năm gần LCD ngày đƣợc sử dụng rộng rãi thay dần cho đèn LED (các đèn LED đoạn hay nhiều đoạn) Đó ngun nhân sau: Các LCD có giá thành hạ KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 112 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Khả hiển thị số, ký tự đồ hoạ tốt nhiều so với đèn LED (vì đèn LED hiển thị đƣợc số số ký tự) Nhờ kết hợp điều khiển làm tƣơi vào LCD làm giải phóng cho CPU cơng việc làm tƣơi LCD Trong đèn LED phải đƣợc làm tƣơi CPU (hoặc cách đó) để trì việc hiển thị liệu Dễ dàng lập trình cho ký tự đồ hoạ b) Mô tả chân LCD LCD đƣợc nói mục có 14 chân, chức chân , Vị trí chân đƣợc mơ tả bảng cho nhiều LCD khác Chân VCC, VSS VEE: Các chân VCC, VSS VEE: Cấp dƣơng nguồn - 5v đất tƣơng ứng VEE đƣợc dùng để điều khiển độ tƣơng phản LCD Chân chọn ghi RS (Register Select) Có hai ghi quan trọng bên LCD, chân RS đƣợc dùng để chọn ghi nhƣ sau: Nếu RS = ghi mà lệnh đƣợc chọn phép ngƣời dùng gửi lệnh chẳng hạn nhƣ xoá hình, đƣa trỏ đầu dịng v.v… Nếu RS = ghi liệu đƣợc chọn cho phép ngƣời dùng gửi liệu cần hiển thị LCD Chân đọc/ ghi (R/W) Giáo trình Vi xử lý – Vi điều khiển - Trƣờng Đại học Sao Đỏ - Bộ Cơng thƣơng ©khactoan.kshq@gmail.com 90 Đầu vào đọc/ ghi cho phép ngƣời dùng ghi thông tin lên LCD R/W = đọc thông tin từ R/W = Chân cho phép E (Enable) Chân cho phép E đƣợc sử dụng LCD để chốt thông tin hữu chân liệu Khi liệu đƣợc cấp đến chân liệu xung mức cao xuống thấp phải đƣợc áp đến chân để LCD chốt liệu chân liêu Xung phải rộng tối thiểu 450ns Chân D0 - D7 Đây chân liệu bít, đƣợc dùng để gửi thơng tin lên LCD đọc nội dung ghi LCD Để hiển thị chữ số, gửi mã ASCII chữ từ A đến Z, a đến f số từ - đến chân bật RS = Cũng có mã lệnh mà đƣợc gửi đến LCD để xố hình đƣa trỏ đầu dịng nhấp nháy trỏ KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 113 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Bảng 5.1: Mô tả chân LCD KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 114 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Bảng 5.2: Liệt kê mã lênh Chúng ta sử dụng RS = để kiểm tra bít cờ bận để xem LCD có sẵn sàng nhân thơng tin Cờ bận D7 đƣợcđọc R/W = RS = nhƣ sau: Nếu R/W = 1, RS = D7 = (cờ bận 1) LCD bận công việc bên không nhận thông tin Khi D7 = LCD sẵn sàng nhận thơng tin Lƣu ý nên kiểm tra cờ bận trƣớc ghi liệu lên LCD KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 115 Trang ĐỀ CƢƠNG MƠN HỌC KỸ THUẬT VI XỬ LÝ Hình 5.4 Ghép nối LCD với VĐK 5.3 Vi xử lý giao tiếp với biến dổi ADC Các chuyển đổi ADC thuộc thiết bị đƣợc sử dụng rộng rãi để thu liệu Các máy tính số sử dụng giá trị nhị phân, nhƣng giới vật lý đại lƣợng dạng tƣơng tự (liên tục) Nhiệt độ, áp suất (khí chất lỏng), độ ẩm vận tốc số trọng đại lƣợng vật lý giới thực mà ta gặp hàng ngày Một đại lƣợng vật lý đƣợc chuyển dòng điện điện áp qua thiết bị đƣợc gọi biến đổi Các biến đổi đƣợc coi nhƣ cảm biến Mặc dù có cảm biến nhiệt, tốc độ, áp suất, ánh sáng nhiều đại lƣợng tự nhiên khác nhƣng chúng cho tín hiệu dạng dịng điện điện áp dạng liên tục Do vậy, ta cần chuyển đổi tƣơng tự số cho vi điều khiển đọc đƣợc chúng Một chíp ADC đƣợc sử dụng rộng rãi ADC 0804 Chíp ADC 0804 chuyển đổi tƣơng tự số đƣợc nhiều hãng khác sản xuất, làm việc với +5v có độ phân giải bít Ngồi độ phân giải thời gian chuyển đổi c ũng yếu tố quan trọng khác đánh giá ADC Thời gian chuyển đổi đƣợc định nghĩa nhƣ thời gian mà ADC cần để chuyển đầu vào tƣơng tự thành số nhị phân Trong ADC 0804 thời gian chuyển đổi thay đổi phụ thuộc vào tần số đồng hồ đƣợc cấp tới chân CLK CLK IN nhƣng nhanh 110 ADC 0804 đƣợc mô tả nhƣ sau: Chân CS - chọn chíp: Là đầu vào tích cực mức thấp đƣợc sử dụng để kích hoạt chíp ADC 804 Để truy cập ADC 804 chân phải mức thấp Chân RD (đọc): Đây tín hiệu đầu vào đƣợc tích cực mức thấp Các ADC chuyển đổi đầu vào tƣơng tự thành số nhị phân tƣơng đƣơng với giữ ghi RD đƣợc sử dụng để nhận liệu đƣợc chuyển đổi đầu ADC 0804 Khi CS = xung cao - xuống - thấp đƣợc áp đến chân RD đầu số bít đƣợc hiển diện chân liệu D0 - D7 Chân RD đƣợc coi nhƣ cho phép đầu KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 116 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Chân ghi WR (thực tên xác “Bắt đầu chuyển đổi”) Đây chân đầu vào tích cực mức thấp đƣợc dùng để báo cho ADC 0804 bắt đầu trình chuyển đổi Nếu CS = WR tạo xung cao - xuống - thấp ADC 0804 bắt đầu chuyển đổi giá trị đầu vào tƣơng tự Vin số nhị phân bít Lƣợng thời gian cần thiết để chuyển đổi thay đổi phụ thuộc vào tần số đƣa đến chân CLK IN CLK R Khi việc chuyển đổi liệu đƣợc hoàn tất chân INTR đƣợc ép xuống thấp ADC 0804 Chân CLK IN CLK R Chân CLK IN chân đầu vào đƣợc nối tới nguồn đồng hồ đồng hồ đƣợc sử dụng để tạo thời gian Tuy nhiên 0804 có máy tạo xung đồng hồ Để sử dụng máy tạo xung đồng hồ (cũng đƣợc gọi máy tạo đồng hồ riêng) 0804 chân CLK IN CLK R đƣợc nối tới tụ điện điện trở Trong trƣờng hợp tần số đồng hồ đƣợc xác định biểu thức: f  1,1RC Với R= 10k  , C = 150pF tần số nhận đƣợc 606KHz thời gian chuyển đổi 110s Chân ngắt INTR(ngắt hay gọi xác “kết thúc chuyển đổi‟) Đây chân đầu tích cực mức thấp Bình thƣờng trạng thái cao việc chuyển đổi hồn tất xuống thấp để báo cho CPU biết liệu đƣợc chuyển đổi sẵn sàng để lấy Sau INTR xuống thấp, ta đặt CS = gửi xung cao xuống - thấp tới chân RD lấy liệu 0804 Chân Vin (+) Vin (-) Đây đầu vào tƣơng tự vi sai mà Vin = Vin (+) - Vin (-) Thông thƣờng Vin (-) đƣợc nối xuống đất Vin (+) đƣợc dùng nhƣ đầu vào tƣơng tự đƣợc chuyển đổi dạng số Chân VCC Đây chân nguồn nuối +5v, đƣợc dùng nhƣ điện áp tham chiếu đầu vào Vref/2 (chân 9) để hở Chân Vref/2 Chân điện áp đầu vào đƣợc dùng cho điện áp tham chiếu Nếu chân hở (khơng đƣợc nối) điện áp đầu vào tƣơng tự cho ADC 804 nằm dải đến +5v (giống nhƣ chân VCC) Tuy nhiên, có nhiều ứng dụng mà đầu vào tƣơng tự áp đến Vin cần phải khác dải đến 5v Chân Vref/2 đƣợcdùng để thực thi điện áp đầu vào khác ngồi dải - 5v Ví dụ, dải đầu vào tƣơng tự cần phải đến 4v Vref/2 đƣợc nối với +2v KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 117 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Bảng 5.3 Điện áp Vref liên hệ với Vin Ghi chú: - VCC = 5V - Khi Vref/2 hở đo đƣợc khoảng 2,5V - Kích thƣớc bƣớc (độ phân dải) thay đổi nhỏ mà ADC phân biệt đƣợc Các chân liệu D0 - D7 Các chân liệu D0 - D7 (D7 bít cao MSB D0 bít thấp LSB) chân đầu liệu số Đây chân đƣợc đệm ba trạng thái liệu đƣợc chuyển đổi đƣợc truy cập chân CS = chân RD bị đƣa xuống thấp Để tính điện áp đầu ta sử dụng công thức sau: Dout  Vin kich thuoc buoc Với Dout đầu liệu số (dạng thập phân) Vin điện áp đầu vào tƣơng tự độ phân dải thay đổi nhỏ đƣợc tính Vref/2) chia cho 256 ADC bít.nhƣ ( (2x Vref ) / 256 ADC bít 10.Chân đất tƣơng tự chân đất số Đây chân đầu vào cấp đất chung cho tín hiệu số tƣơng tự Đất tƣơng tự đƣợc nối tới đất chân Vin tƣơng tự, đất số đƣợc nối tới đất chân Vcc Lý mà ta phải có hai đất để cách ly tín hiệu tƣơng tự Vin từ điện áp ký sinh tạo việc chuyển mạch số đƣợc xác Trong phần trình bày chân đƣợc nối chung với đất Tuy nhiên, thực tế thu đo liệu chân đất đƣợc nối tách biệt KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 118 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Hình 5.5 Sơ đồ kiểm tra ADC chế độ chạy tự Từ điều ta kết luận bƣớc cần phải thực chuyển đổi liệu ADC 0804 là: a) Bật CS = gửi xung thấp lên cao tới chân WR để bắt đầu chuyển đổi b) Duy trì hiển thị chân INTR Nếu INTRxuống thấp việc chuyển đổi đƣợc hồn tất ta sang bƣớc Nếu INTRcao tiếp tục thăm dò xuống thấp c) Sau chân INTRxuống thấp, ta bật CS = gửi xung cao - xuống - thấp đến chân RD để lấy liệu khỏi chíp ADC0804 Phân chia thời gian cho trình đƣợc trình bày hình Hình 5.6 Phân chia thời gian KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 119 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ Hình 5.7 Sơ đồ ghép nối ADC với VĐK Chƣơng trình để hiển thị chân INTR lấy đầu vào tƣơng tự vào ghi A Sau gọi chƣơng trình chuyển đổi mã Hex ASCII chƣơng trình hiển thị liệu Thực điều liên tục ;Đặt P2.6 = WR (bắt đầu chuyển đổi cần xung thấp lên cao) ; Đặt chân P2.7 = kết thúc chuyển đổi ; Đặt P2.5 = RD (xung cao - xuống - thấp đọc liệu từ ADC) ; P1.0 – P1.7 ADC 0804 MOV P1, # 0FFH ; Chọn P1 cổng đầu vào BACK: CLR P2.6 ; Đặt WR = SETB P2.6 ; Đặt WR = để bắt đầu chuyển đổi HERE: JB P2.7, HERE ; Chờ cho P2.7 to để kết thúc chuyển đổi CLR P2.5 ; Kết thúc chuyển đổi, cho phép đọc RD MOV A, P1 ; Đọc liệu vào ghi A ACALL CONVERSION ; Chuyển đổi số Hex mã ASCII ACALL DATA-DISPLAY ; Hiển thị liệu SETB P2.5 ; Đƣa RD = lần đọc sau SJMP BACK 5.4 Vi xử lý giao tiếp với ng c /relay - Cấu tạo động b-ớc: KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 120 Trang ĐỀ CƢƠNG MễN HC K THUT VI X Lí Hình 5.8 Sơ đồ cấu tạo động b-ớc Bảng 1.1: Chuỗi b-ớc thông th-ờng góc b-ớc động b-íc B-íc Cn Cn Cn Cn d©y A d©y B d©y C d©y D 1 0 1 0 1 0 với động b-ớc: 1.2 Sơ4đồ ghép0nối 89C51 Gãc b-íc 0.72 1.8 2.0 2.5 5.0 7.5 15 Sè b-ớc/ vòng 500 200 180 144 72 48 24 Hình 5.9 Sơ đồ ghép nối 89C51 với động b-ớc - Ch-ơng trình điều khiển động b-ớc: Ví dụ 1: $include(reg51.inc) Org 0000H KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 121 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ MOV BACK: A, # 01100110B MOV P1, A RR A ACALL DELAY SJMP BACK ; Nạp chuỗi xung b-ớc ; Xuất chuỗi xung đến động ; Quay theo chiỊu kim ®ång hå ; Chê ; TiÕp tơc ch¹y DELAY W1: W2: MOV MOV DJNZ DJNZ RET R2, # 100 R3, # 255 R3, W2 R2, W1 H·y thay đổi giá trị DELAY để đặt tốc độ quay Ta sử dụng lệnh đơn bít SETB CLR thay cho lệnh RRA để tạo chuỗi xung - Chuỗi xung bốn b-ớc số rô to: Chuỗi xung chuyển mạch đ-ợc trình bày bảng 1.1 đ-ợc gọi chuỗi chuyển mạch bước sau bước hai cuộn dây giống bật ON Vậy độ dịch chuyển b-ớc bao nhiêu? Sau thực b-ớc rô to dịch đ-ợc b-ớc Do vậy, động b-ớc với 200 b-ớc/ vòng rô to có 50 50 = 200 b-ớc cần để quay hết vòng Điều dẫn đến kết luận góc b-ớc tối thi ểu hàm số rô to Hay nói cách khác góc b-ớc nhỏ rô to quay đ-ợc nhiều HÃy xét ví dụ Ví dụ 2: HÃy tính số lần chuỗi b-ớc bảng 1.1 phải cấp cho động b-ớc để tạo dịch chuyển 80 động góc b-ớc Lời giải: Một động có góc b-ớc phải có ®Ỉc tÝnh sau: gãc b-íc , sè b-íc/ vòng 180, số rô to 45, độ dịch chuyển sau chuỗi b-ớc Vậy để dịch chuyển 80 cần 40 chuỗi b-ớc 10 = 80 Bi 1: - Thiết kế lại phần cứng ghép nối 89C51 với động b-ớc sử dụng phần tử bán dẫn - Cho động b-ớc có góc b-ớc o, viết ch-ơng trình điều khiển dừng ®éng c¬ ë 90 o, 45 o - ViÕt ch-¬ng trình điều khiển động b-ớc có nút đảo chiều quay, tăng tốc/giảm tốc Bi 2: - Viết ch-ơng trình điều khiển động DC có nút Start/Stop, tăng tèc/gi¶m tèc KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 122 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ TÀI LIỆU THAM KHẢO [1] Đỗ Xuân Tiến Kỹ thuật Vi xử lý lập trình Assembly cho hệ VXL_ NXBKH&KT 2001 [2] Tống Văn On Vi điều khiển 8051 _ NXB Lao động & xã hội 2001 [3] Văn Thế Minh Kỹ thuật Vi xử lý _ NXBGD 1997 [4] Ngô Diên Tập Vi xử lý đo lƣờng điều khiển – NXB KHKT – 2000 [5] Nguyễn Mạnh Giang Cấu trúc, lập trình ghép nối ứng dụng VĐK – NXB LĐ&XH - 2005 [6] Nguyễn Tăng Cƣờng Cấu trúc lập trình họ vi điều khiển 8051 – NXB KH&KT - 2004 KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 123 Trang ... lệnh vi xử lý tức thay đổi cách thức xử lý liệu Các lệnh lƣu trữ nhớ định công vi? ??c mà vi xử lý làm Tóm tắt: chức vi xử lý xử lý liệu Để làm đƣợc điều vi xử lý phải có mạch logic cho vi? ??c xử lý. .. MÔN HỌC KỸ THUẬT VI XỬ LÝ BẢNG Mà ASSII mở rộng KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ 1.3 Lịch sử phát triển hệ Vi xử lý Kiến trúc hệ Vi xử lý thuật ngữ... bên vi xử lý đƣợc gọi thiết bị I/O hay thiết bị ngoại vi KHOA ĐIỆN – ĐIỆN TỬ - ĐHSPKT-HY_01/2017 Trang ĐỀ CƢƠNG MÔN HỌC KỸ THUẬT VI XỬ LÝ 1.5 Cấu trúc vi xử lý 1.5.1 Sơ đồ khối tổng quát hệ Vi xử

Ngày đăng: 22/05/2021, 09:50

Xem thêm: