Đề số 1.ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU VÀ HIỂN THỊ LÊN LCDMôn học : Vi xử lý trong Đo lường và Điều khiểnSTTTên sinh viênMSSVLớpKhoá1TRẦN VĂN BÍNH 2017602524TĐH 2K122ĐẶNG TRẦN MINH2017602674TĐH 2K123NGUYỄN VĂN HÒA2017602627TĐH 2K12I. ĐỀ TÀI: Đo và hiển thị tốc độ động cơ •ấn start động cơ chạy, ấn up tăng tốc, ấn dơn giảm tốc, ấn left quay thuận, ấn right quay nghịch, ấn stop dừngII. YÊU CẦU VỀ NỘI DUNGChương 1: Tổng quan về Vi xử lý trong Đo lường và Điều khiển1.1.Cấu trúc hệ thống đo lường điều khiển có sử dụng Vi xử lý1.2.Cấu trúc chung họ 80521.3.Tổng quan về ngôn ngữ C và các hàm, kiểu dữ liệu hay dùng cho việc lập trình cho Vi điều khiểnChương 2: Tổng quan về ENCODER và đọng cơ 1 chiều2.1. Tổng quan về encoder2.2. Tổng quan LCD2.3. Mạch cầu HChương 3: Xây dựng ứng dụng trên cơ sở 8051 3.1.Chương trình điều khiển xây dựng trên keil C xây dựng trên keil C3.2. Kết quả mô phỏng, thiết kế mạch nguyên lý và Thực nghiệm trên mạch thựcKết luận: Sinh viên tổng kết những vấn đề đã làm được và chưa làm đượcIII. YÊU CẦU VỀ HÌNH THỨC VÀ THỜI GIAN+ Báo cáo in trên giấy A4, 2 mặt, in màu ảnh chụp mạch thực + Nội dung báo cáo (bản word) nộp về email: hungpv1812gmail.com trước khi bảo vệ ít nhất 2 ngày.+ Về thời gian thực hiện: Ngày giao đề:………………. Ngày hoàn thành : ……………….. Hà Nội, ngày……tháng…….năm…….. Trưởng bộ môn Giáo viên hướng dẫn Phạm Văn HùngLời nói đầuTrong những năm gần đây với sự phát triển mạnh mẽ của khoa học – kĩ thuật.Đặc biệt của ngành công nghiệp chế tạo các linh kiện bán dẫn,các các vi mạch tích hợp IC một hướng phát triển mới của Vi xử lý đã hình thành đó là Vi Điều Khiển.Với những ưu điểm to lớn về tốc độ, độ chính xác cao, khả năng sử lý các bìa toán, tính linh hoạt nên các Vi Điều khiển đã được ứng dụng trên hầu hết các lĩnh vực trong cuộc sống. Bằng cách áp dụng Vi Điều Khiển trong sản xuất và xử lý, Vi Điều Khiển đã thực sự thể hiện được các ưu điểm của mình so với các thiết bị thông thường khác. Vì những ứng dụng to lớn của Vi điều khiển, do đó mà ở các trường Đại Học, Cao Đẳng, TCCN…. Về khoa học – công nghệ. Môn vi xử lý đã trở thành một môn học không thể thiếu được trong trương trình đào tạo.vi điều khiển 8051 sẽ cung cấp cho sinh viên những khái nhiện cơ bản cách thức hoạt động của Vi xử lý qua đó sinh viên có tư duy, kiến thức nền tảng, để có thể giải quyết các bài toán ứngdụng thực tế trong cuộc sống, cũng như là cơ sở để học tập nghiên cứu các dòng Vi xử lý khác như: PIC, AVR…. Qua đồ án này chúng em có cái nhìn thực tế hơn, sâu sắc hơn về vi điều khiển. chúng em cũng đã hiểu thêm nhiều về cách thức xử lý một bài toán thực tế phức tạp. Với sự hường đẫn tận tình của thầy: PHẠM VĂN HÙNG chúng em hi vọng chúng em có thể hoàn thành tốt đồ án này.CHƯƠNG 1: TỔNG QUAN VỀ VI XỬ LÝ TRONG ĐO LƯỜNG ĐIỀU KHIỂN1.1.Cấu trúc của hệ thống đo lường và điều khiểnChức năng và nhiệm vụ của từng khốiĐông cơ: động cơ được sử dụng là động cơ điện một chiều có điện áp đặt vào tối đa 24V.Trên trục động cơ có gắn encoder để có thể đo được tốc độ động cơ ở đây chúng ta dùng động cơ DC 12V.Encoder: dùng để đo số vòng quay của động cơ và phát hiện chiều quay của động cơ encoder nó sẽ đo tốc độ động cơ thông qua sự liên lạc, mất liên lạc của led phát quang và bộ phận thu quang rồi chuyển thành các xung điện áp vuông gửi tới chân ngắt của Vi Xử Lý.Vi xử lý: nhận các tín hiệu từ encoder thông qua cơ chế ngắt từ đó căn cứ vào xung do đó nó sẽ tính toán và xử lý để Vi Xử Lý:nhận các tín hiệu từ encoder thông qua cơ chế ngắt từ đó căn cứ vào Đưa ra tốc độ động cơ hiển thị lên led 7 thanh. Điều chế độ rộng xung PWM để điều khiển tốc độ động cơ cho phù hợp với yêu cầu. Khối xử lý là trái tim của của hệ thống là phấn quan trọng nhất của điều khiển mọi hoạt động của mạch. Khối điều khiển: điều khiển hướng của động cơ diện một chiều trong bài này chúng em xử dụng mạch cầu H để điều khiển hướng của động cơ.Khối hiển thị:nhận số liệu về tốc độ động cơ từ vi xử lý rồi hiển thị lên các led 7Khối hiển thị: Nhận số liệu về tốc độ động cơ từ vi xử lý rồi hiển thị lên các lên LCD theo sự điều khiển của vi xử lý Khối nguồn 5V: có chức năng cung cấp điện áp ổn định cho các khối trong trong mạch mạch.Cụ thể trong mạch ta sử dụng hai nguồn riêng biệt: Nguồn 5V DC dùng để nuôi các IC trong mạch hoạt động tạo ra các tín hiệu xuất ra chuẩn TTL, tránh các trường hợp nhiễu điện áp không đúng với điện áp cấp cho IC => tránh IC không hoạt động, hỏng hóc, chập cháy. Nguồn 12V DC dùng để cung cấp cho động cơ một chiều DC CHƯƠNG II: CẤU TRÚC AT89S52AT89S52 LÀ PHIÊN BẢN 8051 CÓ ROM trên chip là Flash> phiên bản nayd thích hợp cho ứng dụng nhanh vì bộ nhớ flash có thể xáo trong vòng vài giây. AT89S52 có thể lập trình qua cổng COM của máy tính IBM PCCác thành phần bên trong nó bao gồm128 byte RAM8K byte ROM32 đường nhập xuất3 bộ định thời8 chế độ ngắtSơ đồ khối của AT89S52Sơ đồ chân của AT89S52Chức năng của các chân Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu. Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao tiếp với thiết bị bên ngoài nếu cần. Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng kép dùng như các đường xuấtnhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng kép. Các chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của 89S52 như ở bảng sau:BitTênChức năng chuyển đổiP3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXDTXDINT0INT1T0T1WRRDNgõ vào dữ liệu nối tiếp.Ngõ xuất dữ liệu nối tiếp.Ngõ vào ngắt ngoài thứ 0.Ngõ vào ngắt ngoài thứ 1.Ngõ vào TIMER COUNTER thứ 0.Ngõ vào của TIMER COUNTER thứ 1.Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.Tín hiệu đọc bộ nhớ dữ liệu ngoài.PSEN (Program store enable):PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE của Eprom cho phép đọc các byte mã lệnh.PSEN ở mức thấp trong thời gian 89S52 lấy lệnh. Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89S52 để giải mã lệnh. Khi 89S52 thi hành chương trình trong ROM nội, PSEN ở mức cao.ALE (Address Latch Enable): Khi 89S52 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt.Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 89S52 thi hành chương trình từ ROM nội. Nếu ở mức 0, 89S52 thi hành chương trình từ bộ nhớ mở rộng. Chân EA được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89S52.RST (Reset): Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch phải tự động reset.Các giá trị tụ và điện trở được chọn là:
Trang 1Đề số 1 ĐIỀU KHIỂN ĐỘNG CƠ MỘT CHIỀU VÀ HIỂN THỊ LÊN LCD
Môn học : Vi xử lý trong Đo lường và Điều khiển
Đo và hiển thị tốc độ động cơ
ấn start động cơ chạy, ấn up tăng tốc, ấn dơn giảm tốc, ấn left quaythuận, ấn right quay nghịch, ấn stop dừng
II YÊU CẦU VỀ NỘI DUNG
Chương 1: Tổng quan về Vi xử lý trong Đo lường và Điều khiển
1.1 Cấu trúc hệ thống đo lường điều khiển có sử dụng Vi xử lý
1.2 Cấu trúc chung họ 8052
1.3 Tổng quan về ngôn ngữ C và các hàm, kiểu dữ liệu hay dùng cho việc lập
trình cho Vi điều khiển
Chương 2: Tổng quan về ENCODER và đọng cơ 1 chiều
2.1 Tổng quan về encoder
2.2 Tổng quan LCD
2.3 Mạch cầu H
Trang 2Chương 3: Xây dựng ứng dụng trên cơ sở 8051
3.1.Chương trình điều khiển xây dựng trên keil C xây dựng trên keil C
3.2 Kết quả mô phỏng, thiết kế mạch nguyên lý và Thực nghiệm trên mạch thực
Kết luận: Sinh viên tổng kết những vấn đề đã làm được và chưa làm được
III YÊU CẦU VỀ HÌNH THỨC VÀ THỜI GIAN
+ Báo cáo in trên giấy A4, 2 mặt, in màu ảnh chụp mạch thực
+ Nội dung báo cáo (bản word) nộp về email: hungpv1812@gmail.com trước khibảo vệ ít nhất 2 ngày
+ Về thời gian thực hiện:
Ngày giao đề:……… Ngày hoàn thành : ………
Hà Nội, ngày……tháng…….năm……
Trưởng bộ môn Giáo viên hướng dẫn
Phạm Văn Hùng
Trang 3Lời nói đầu
Trong những năm gần đây với sự phát triển mạnh mẽ của khoa học – kĩ
thuật.Đặc biệt của ngành công nghiệp chế tạo các linh kiện bán dẫn,các các vi mạch tích hợp IC một hướng phát triển mới của Vi xử lý đã hình thành đó là Vi Điều Khiển.Với những ưu điểm to lớn về tốc độ, độ chính xác cao, khả năng sử lý các bìa toán, tính linh hoạt nên các Vi Điều khiển đã được ứng dụng trên hầu hết các lĩnh vực trong cuộc sống Bằng cách áp dụng Vi Điều Khiển trong sản xuất và
xử lý, Vi Điều Khiển đã thực sự thể hiện được các ưu điểm của mình so với các thiết bị thông thường khác
Vì những ứng dụng to lớn của Vi điều khiển, do đó mà ở các trường Đại
Học, Cao Đẳng, TCCN… Về khoa học – công nghệ Môn vi xử lý đã trở thành một môn học không thể thiếu được trong trương trình đào tạo.vi điều khiển 8051 sẽcung cấp cho sinh viên những khái nhiện cơ bản cách thức hoạt động của Vi xử lý qua đó sinh viên có tư duy, kiến thức nền tảng, để có thể giải quyết các bài toán ứngdụng thực tế trong cuộc sống, cũng như là cơ sở để học tập nghiên cứu các dòng Vi xử lý khác như: PIC, AVR…
Qua đồ án này chúng em có cái nhìn thực tế hơn, sâu sắc hơn về vi điều
khiển chúng em cũng đã hiểu thêm nhiều về cách thức xử lý một bài toán thực tế phức tạp
Với sự hường đẫn tận tình của thầy: PHẠM VĂN HÙNG chúng em hi vọng chúng em có thể hoàn thành tốt đồ án này
CHƯƠNG 1: TỔNG QUAN VỀ VI XỬ LÝ TRONG ĐO LƯỜNG ĐIỀU KHIỂN1.1 Cấu trúc của hệ thống đo lường và điều khiển
Trang 4Chức năng và nhiệm vụ của từng khối
Đông cơ: động cơ được sử dụng là động cơ điện một chiều có điện áp đặt
vào tối đa 24V.Trên trục động cơ có gắn encoder để có thể đo được tốc độ
động cơ ở đây chúng ta dùng động cơ DC 12V
Encoder: dùng để đo số vòng quay của động cơ và phát hiện chiều quay của động cơ encoder nó sẽ đo tốc độ động cơ thông qua sự liên lạc, mất liên lạc của led phát quang và bộ phận thu quang rồi chuyển thành các xung điện áp vuông gửi tới chân ngắt của Vi Xử Lý
Vi xử lý: nhận các tín hiệu từ encoder thông qua cơ chế ngắt từ đó căn cứ
vào xung do đó nó sẽ tính toán và xử lý để Vi Xử Lý:nhận các tín hiệu từ
encoder thông qua cơ chế ngắt từ đó căn cứ vào
- Đưa ra tốc độ động cơ hiển thị lên led 7 thanh
- Điều chế độ rộng xung PWM để điều khiển tốc độ động cơ cho phù hợp với yêu cầu Khối xử lý là trái tim của của hệ thống là phấn quan trọng nhất của điều khiển mọi hoạt động của mạch
NGUỒN 12VNÚT ẤN
HIỂN THỊ
LCD
ĐỘNG CƠ 12V
DC-ĐIỀU KHIỂNĐỘNG CƠ
VI XỬ LÝ8051NGUỒN
5V
ENCODER
Trang 5 Khối điều khiển: điều khiển hướng của động cơ diện một chiều trong bài nàychúng em xử dụng mạch cầu H để điều khiển hướng của động cơ.
Khối hiển thị:nhận số liệu về tốc độ động cơ từ vi xử lý rồi hiển thị lên các led 7
Khối hiển thị: Nhận số liệu về tốc độ động cơ từ vi xử lý rồi hiển thị lên các lên LCD theo sự điều khiển của vi xử lý
Khối nguồn 5V: có chức năng cung cấp điện áp ổn định cho các khối trong trong mạch mạch.Cụ thể trong mạch ta sử dụng hai nguồn riêng biệt:
- Nguồn 5V DC dùng để nuôi các IC trong mạch hoạt động tạo ra các tín hiệu xuất ra chuẩn TTL, tránh các trường hợp nhiễu điện áp không đúng với điện áp cấp cho IC => tránh IC không hoạt động, hỏng hóc, chập cháy
- Nguồn 12V DC dùng để cung cấp cho động cơ một chiều DC
CHƯƠNG II: CẤU TRÚC AT89S52
AT89S52 LÀ PHIÊN BẢN 8051 CÓ ROM trên chip là Flash> phiên bản naydthích hợp cho ứng dụng nhanh vì bộ nhớ flash có thể xáo trong vòng vài giây.AT89S52 có thể lập trình qua cổng COM của máy tính IBM PC
Các thành phần bên trong nó bao gồm
Trang 6 Sơ đồ khối của AT89S52
Sơ đồ chân của AT89S52
Trang 8 Chức năng của các chân
Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7) Port 0 có 2 chức năng: trong các thiết
kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường IO, đối vớithiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu.Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7) Port 1 là port IO dùng cho giaotiếp với thiết bị bên ngoài nếu cần
Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7) Port 2 là một port có tác dụngkép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với cácthiết bị dùng bộ nhớ mở rộng
Port 3: từ chân 10 đến chân 17 (P3.0 _ P3.7) Port 3 là port có tác dụng kép.Các chân của port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đếncác đặc tính đặc biệt của 89S52 như ở bảng sau:
Bit Tên Chức năng chuyển đổi
Ngõ vào dữ liệu nối tiếp
Ngõ xuất dữ liệu nối tiếp
Ngõ vào ngắt ngoài thứ 0
Ngõ vào ngắt ngoài thứ 1
Ngõ vào TIMER/ COUNTER thứ 0
Ngõ vào của TIMER/ COUNTER thứ1
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
Tín hiệu đọc bộ nhớ dữ liệu ngoài
PSEN (Program store enable):
Trang 9PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình
mở rộng và thường được nối đến chân OE của Eprom cho phép đọc các byte
mã lệnh
PSEN ở mức thấp trong thời gian 89S52 lấy lệnh Các mã lệnh của chươngtrình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong89S52 để giải mã lệnh Khi 89S52 thi hành chương trình trong ROM nội, PSEN ởmức cao
ALE (Address Latch Enable):
Khi 89S52 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và
dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ
30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kếtnối chúng với IC chốt
Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò
là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động
EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên mức
1 hoặc mức 0 Nếu ở mức 1, 89S52 thi hành chương trình từ ROM nội Nếu ở mức
0, 89S52 thi hành chương trình từ bộ nhớ mở rộng Chân EA được lấy làm châncấp nguồn 21V khi lập trình cho Eprom trong 89S52
RST (Reset): Khi ngõ vào tín hiệu này đưa
lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi
bên trong được nạp những giá trị thích hợp để
khởi động hệ thống Khi cấp điện mạch phải tự
động reset
Các giá trị tụ và điện trở được chọn là:
R1=10, R2=220, C=10 F
Các ngõ vào bộ dao động X1, X2:
Trang 10Bộ tạo dao động được tích hợp bên trong 89S52 Khi sử dụng 89S52, người ta chỉcần nối thêm thạch anh và các tụ Tần số thạch anh tùy thuộc vào mục đích củangười sử dụng, giá trị tụ thường được chọn là 22p
- Thanh ghi TIMER
Vi Điều Khiển 89S52 có 3 timer 16 bit, mỗi timer có bốn cách làm việc.Người ta sử dụng các timer để:
o Định khoảng thời gian
o Đếm sự kiện
o Tạo tốc độ baud cho port nối tiếp trong 89S52
Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở nhữngkhoảng đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình
để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện
ra các ngõ ra Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn củatimer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung)
- Thanh ghi ngắt (INTERRUPT)
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thờithời chương trình chính trong khi điều kiện đó được phục vụ bởi một chương trìnhkhác
Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng
vi điều khiển Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện vàgiải quyết sự kiện đó trong khi một chương trình khác đang thực thi
Tổ chức ngắt của 89S52:
Có 5 nguồn ngắt ở 89S52: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port
Trang 11nối tiếp Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và đượccho phép từng cái một bằng phần mềm Mức độ ưu tiên của các ngắt được lưutrong thanh ghi IP (Interrupt Priority) hay nói cách khác thanh ghi IP cho phépchọn mức ưu tiên cho các ngắt (giá trị thanh ghi IP khi reset là 00h)
IP.5 ET2 BDH Chọn mức ưu tiên cao (=1) hay thấp (=0)
tại timer 2IP.4 ES BCH Chọn mức ưu tiên cao (=1) hay thấp (=0)
tại cổng nối tiếp
IP.3 ET1 BBH Chọn mức ưu tiên cao (=1) hay thấp (=0)
tại timer 1IP.2 EX1 BAH Chọn mức ưu tiên cao (=1) hay thấp (=0)
tại ngắt ngoài 1IP.1 ET0 B9H Chọn mức ưu tiên cao (=1) hay thấp (=0)
tại timer 0IP.0 EX0 B8H Chọn mức ưu tiên cao (=1) hay thấp (=0)
tại ngắt ngoài 0
Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có nào có mức ưu tiên cao hơn sẽđược phục vụ trước
Trang 12 Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên thì thứ tự ưu tiên đượcthực hiện từ cao đến thấp như sau: ngắt ngoài 0 – timer 0 – ngắt ngoài 1 – timer 1 –cổng nối tiếp – timer 2.
Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà có mộtngắt xảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để chạy mộtchương trình khác có mức ưu tiên cao hơn
Cho phép và cấm ngắt:
Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năngđặt biệt có định địa chỉ bit IE (Interrupt Enable: cho phép ngắt) ở địa chỉ A8H
IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052)
IE.4 ES ACH Cho phép ngắt port nối tiếp
Tóm tắt thanh ghi IE
- Các cờ ngắt:
Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặtlên mức cao để xác nhận ngắt
Trang 13Ngắt Cờ Thanh ghi SFR và vị trí bit
Hoạt động của timer
a, Các thanh ghi của bộ định thời
Trang 14SFR Mục đích
TL0 Byte thấp của bộ định thời 0
TL1 Byte thấp của bộ định thời 1
TH0 Byte cao của bộ định thời 0
TH1 Byte cao của bộ định thời 1
T2CON Điều khiển bộ định thời 2
RCAP2L Nhận byte thấp của bộ định thời 2
RCAP2H Nhận byte cao của bộ định thời 2
TL2 Byte thấp của bộ định thời 2
TH2 Byte cao của bộ định thời 2
- Thanh ghi TMOD (Timer Moder Register)
Các bit M1, M0 được dùng để thiết lập chế độ hoạt động cho các bộ Timer/Counter
Các chế độ hoạt động của Timer/Counter được mô tả như trong bảng sau
Bit C/T được sử dụng để chon xung clock
Trang 15Khi bit C/T = 0 Bộ Timer/Counter hoạt động dựa vào xung clock nội bên trong chip Tần số của xung clock này được tính bằng 1/12 của tần số thạch anh Ví dụ nếu sử dụng thạch anh 12MHz, thì tần số của Timer/Counter sẽ là (1/12)*12MHz =1MHz.
Khi bit C/T = 1 Bộ Timer/Counter hoạt động dựa vào xung clock cấp từ bên ngoàiđưa vào trên chân T0 (sử dụng cho Timer/Counter 0), chân T1 (sử dụng cho Timer/Counter 1)
Bit GATE được sử dụng để xác định việc điều khiển khởi động/dừng hoạt động của bộ Timer
Nếu GATE = 0 Bộ Timer/Counter được khởi động bằng cách set bit TRx lên 1 (TR0 cho Timer/Counter 0, TR1 cho Timer/Counter 1) Bộ Timer/Counter dừng hoạt động nếu bit TRx được xóa về 0
Nếu GATE = 1 Bộ Timer/Counter được khởi động bằng cách set bit TRx lên 1 và chân INTx được set lên mức 1 Ngược lại nếu TRx không được set lên 1 hoặc chânINTx không được set lên 1 thì bộ Timer/Counter dừng hoạt động
Trong phạm vi bài học này, chúng ta sẽ viết các chương trình với bit GATE = 0 cónghĩa là không cần khởi động và dừng các bộ định thời bằng phần cứng từ bên ngoài
- Thanh ghi điều khiển: TCON
Trang 16ó 4 bit trong thanh ghi TCON được sử dụng cho bộ Timer/Counter.
Có 2 bit để điều khiển khởi động/dừng hoạt động của Timer/Counter Đó là:
Bit TR0 dùng để khởi động/dừng Timer/Counter 0 TR0 =1: khởi động TR0 = 0: dừng
Bit TR1 dùng để khởi động/dừng Timer/Counter 1 TR1 =1: khởi động TR1 = 0: dừng
Có 2 bit cờ báo trạng thái tràn của bộ Timer/Counter Đó là:
Bit TF0 báo tràn cho bộ Timer/Counter 0 Khi giá trị trong thi ghi chứa giá trị đếm TL0, TH0 bị tràn, thì bit TF0 sẽ được bật lên 1
Bit TF1 báo tràn cho bộ Timer/Counter 1 Khi giá trị trong thi ghi chứa giá trị đếm TL1, TH1 bị tràn, thì bit TF1 sẽ được bật lên 1
Cả hai bit TF0, TF1 được bật bằng phần cứng, và phải xóa bằng phần mềm
CHƯƠNG III: TỔNG QUAN VỀ THIẾT BỊ
1.ENCODER
Cấu tạo và nguyên lý hoạt động của encoder
Trang 17o Một bộ thu phát quang (LED phát – LED thu)
o Một hệ thống lỗ (rãnh) được bố trí trên một đĩa tròn hoặc một thanh thẳng theo một quy tắc nào đó
Encoder tương đối cung cấp một lượng xung xác định trong một vòng quay Đầu ra
có thể là một dòng xung duy nhất (kênh A) hoặc hai dòng xung (kênh A và kênh B) được bù để xác định xoay Pha này giữa hai tín hiệu được gọi là cầu phương
Trang 182.Màn hình LCD
2.Màn hình LCD
Trang 19Mô-đun LCD 16 × 2 có một bộ lệnh mỗi lệnh để thực hiệnmột công việc cụ thể vớimàn hình Chúng ta sẽ thảo luận chi tiết về các lệnh sau Nếu mức logic cao đưa
Trang 20vào chân RS thì sẽ chọn thanh ghi dữ liệu và mức logic thấp ở chân RS thì sẽ chọnthanh ghi lệnh Nếu chúng ta đặt chân RS lên cao và đặt dữ liệu vào dòng dữ liệu 8bit (DB0 đến DB7), mô-đun LCD sẽ nhận ra đó là dữ liệu sẽ được hiển thị Nếuchúng ta làm cho chân RS ở mức thấp và đặt dữ liệu trên đường dữ liệu, mô-đun sẽnhận ra đó là một lệnh.
Chân R / W có nghĩa là để chọn giữa chế độ đọc và ghi Mức cao ở chân này chophép chế độ đọc và mức thấp ở chân này cho phép chế độ ghi
Chân E là để kích hoạt các mô-đun Chuyển đổi từ cao xuống thấp ở chân này sẽcho phép mô-đun
DB0 đến DB7 là các chân dữ liệu Dữ liệu được hiển thị và lệnh được đặt trên cácchân này
LED+ là cực dương của đèn LED phía sau và chân này phải được kết nối với Vccthông qua một điện trở giới hạn dòng thích hợp LED- là cực âm của đèn LED phíasau và chân này phải được nối đất
Các lệnh cho mô-đun LCD 16x2
Mô-đun LCD 16 × 2 có một bộ hướng dẫn lệnh đặt trước Mỗi lệnh sẽ làm cho đun thực hiện một nhiệm vụ cụ thể Các lệnh thường được sử dụng và chức năngcủa chúng được đưa ra trong bảng dưới đây
Trang 21mô-Khởi tạo LCD
Các bước phải được thực hiện để khởi tạo màn hình LCD được đưa ra dưới đây vàcác bước này là phổ biến cho hầu hết các ứng dụng
B1: Gửi 38H đến dòng dữ liệu 8 bit để khởi tạo
B2: Gửi 0FH để bật LCD, con trỏ BẬT và con trỏ nhấp nháy ON
B3:Gửi 06H để tăng vị trí con trỏ
B4: Gửi 01H để xóa màn hình và trả về con trỏ
Đưa dữ liệu vào LCD
80 Bắt con trỏ trở về vị trí đầu tiên của hàng 1
C0 Bắt con trỏ trở về vị trí đầu tiên của hàng 2
Trang 22Các bước để gửi dữ liệu đến mô-đun LCD được đưa ra dưới đây Mô-đun LCD cócác chân RS, R / W và E Chính trạng thái logic của các chân này làm cho mô-đunxác định xem đầu vào dữ liệu đã cho là lệnh hay dữ liệu được hiển thị.
Đặt R / W mức thấp
Đặt RS = 0 nếu byte dữ liệu là lệnh và tạo RS = 1 nếu byte dữ liệu là dữ liệu sẽđược hiển thị
Đặt byte dữ liệu trên thanh ghi dữ liệu
Xung E từ cao xuống thấp
Lặp lại các bước trên để gửi dữ liệu khác
2 Mạch cầu H
Đảo chiều quay được thực hiệ
bằng cách đảo chiều dòng điện
cấp vào động cơ hoặc đảo chiều
dòng điện cấp vào cuộn kích
từ( do sử dụng động cơ kích từ
bằng nam châm vĩnh cửu nên
không dùng đước cách này) là có thể thay đổi chiều quay Một số phương phápdảo chiều quay: dùng công tắc 3 cực, hùng mạch cầu H và trong bài này emchọn mạch cầu H
Mạch nguyên lý gồm 4 role dùng để điều chiều động cơ và có thêm mộttransitor để điều khiển tốc độ động cơ
Khi role A đóng role B mở thì dộng cơ quay thuận và ngược lại khi role Bđóng và đọng cơ A mở thì động cơ quay nghịch
Mạch cầu H
3 Động cơ 1 chiều
BAA
B