Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
410,33 KB
Nội dung
Tiểu luận Đo tốc độ động Đề Tài : ĐO TỐC ĐỘ ĐỘNG CƠ Nhóm thực : Đồng Sỹ Cường Nguyễn Đức Hiếu Lớp :Điện Tử 2K-48 MỤC LỤC I Giới thiệu chung I.1.nhiệm vụ yêu cầu kĩ thuật I.2.ứng dụng khả phát triển II Giới thiệu linh kiện mạch II.1 Giới thiệu vi điều khiển AT89C51 II.1.1 Tổng quan vi điều khiển II.1.2 Kiến trúc phần cứng AT89C51 II.1.3 Hoạt động Timer II.1.4 Hệ thống ngắt II.2 Giới thiệu linh kiện sử dụng mạch II.2.1.Nguồn II.2.2 IC giải mã7447 II.2.3 Đèn LED II.2.4 Động II.2.5 Cảm biến III.Nguyên lý hoạt động thiết kế mạch điện III.2.1.Cảm biến III.2.2 Sơ đồ khối đếm III.2.3 Sơ đồ khối hiển thị IV.Sơ đồ nguyên lý mạch điện V.Lưu đồ thuật toán mã nguồn chương trình I Giới thiệu chung I.1.Nhiệm vụ yêu cầu kĩ thuật Thiết kế mạch điện cho phép ta đo tốc độ động dựa ứng dụng vi điều khiển Phần mềm lập trình nạp vào vi điều khiển Phần cứng bao gồm mạch điện động Cấu trúc chức phần đề cập chi tiết mục thiết kế Mạch điện có yêu cầu: Sử dụng chip vi điều khiển AT89S52 Động chiều có tốc độ tối đa 65535 vòng/phút tốc độ tối thiểu vòng/phút Mạch thực đếm tốc độ động vòng phút hiển thị đèn LED Khi động quay vòng có xung gửi tới chân P3.5 vi điều khiển vi điều khiển bắt đầu đếm I.3: Ứng dụng khả phát triển : -Mạch đo tốc độ động sử dụng để xác định tốc độ động chiều Sau đo tốc độ biết động chạy có với thiết kế hay không, kiểm tra xem động có bị hỏng hóc không Ngoài số trường hợp biết tốc độ động để điều chỉnh cho phù hợp Từ ứng dụng nên máy đo tốc độ động ngày phát triển, đại kết hợp với nhiều chức ngày có mặt nhiều sống II Giới thiệu linh kiện mạch II.1 Giới thiệu vi điều khiển AT89C51 II.1.1 Tổng quan vi điều khiển Bộ vi điều khiển MC (MicroController) chip lập trình để điều khiển hoạt động hệ thống Nhờ chương trình điểu khiển, vi điều khiển thực đọc tín hiệu từ bên vào, lưu trữ xử lý, sau dựa vào kết trình xử lý để đưa thông báo, tiến hành bật tắt thiết bị bên Vi điều khiển ứng dụng nhiều sản phẩm công nghiệp tiêu dùng Vi điều khiển xây dựng từ vi xử lý Năm 1971, tập đoàn Intel giới thiệu vi xử lý thành công 80x80 Sau thời gian ngắn, hãng Motorola, RCA, MOS Technology Zilog giới thiệu chip vi xử lý tương ứng 6800, 1801, 6502, Z80 Bản thân mạch tích hợp (IC:integrated Circuit) tự làm đứng riêng rẽ, nằm bo mạch chủ hệ thống, trở thành phận trung tâm sẳn phẩm có ích Xuất phát từ yêu cầo điều khiển giám sát hệ thống, IC tương tự với vi xử lý đời vi điều khiển Năm 1976, Intel giới thiệu chip vi điều khiển họ vi điều khiển MCS-48 8748 Mạch tích hợp chứa 17000 Transistor gồm CPU, 1Kbyte EPROM, 64 byte RAM, 27 chân I/O định thời bit IC chip xuất sau họ 48 nhanh chóng chuẩn công nghiệp ứng dụng điều khiển Các ứng dụng phổ biến máy giặt, hệ thống đèn giao thông xuất xe hơi, thiết bị công nghiệp, sản phẩm tiêu dùng thiết bị ngoại vi máy tính Về sau sức mạnh phức tạp MC nâng lên mức cao Năm 1980, Intel giới thiệu chip vi điều khiển họ MCS-61 8051 So với 8048, 8051 chưa 60000 Transistor bao gồm CPU, Kbyte ROM, 128 byte RAM, 32 chân I/O, cổng nối tiếp, định thời 16 bit Sơ đồ khối vi điều khiển: Nguồn đồng hồ Ngắt Thiết bị nối tiếp Thiết bị song song Giao tiếp nối tiếp Giao tiếp song song đồng hồ nội Timer Điều khiển ngắt CPU Bus liệu, địa chỉ, điều khiển RAM ROM II.1.2 Kiến trúc phần cứng AT89C51 AT89C51 phiên 8051 có ROM chip Flash Phiên thích hợp cho ứng dụng nhanh nhớ Flash xoá vài giây AT89C51 lập trình qua công COM máy tính IBM PC Các thành phần bên gồm có: - 128 byte RAM - 8Kbyte ROM - 32 đường xuất nhập - định thời đếm 16 bit - nguyên nhân ngắt - port nối tiếp song công - mạch dao động tạo xung clock chi a Cấu hình chân 89ATC51: U1 39 38 37 36 35 34 33 32 19 18 31 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 P1.0/T2 P3.0/RXD P1.1/T2-EX P3.1/TXD P1.2 P3.2/INT0 P1.3 P3.3/INT1 P1.4 P3.4/T0 P1.5 P3.5/T1 P1.6 P3.6/WR P1.7 P3.7/RD XTAL1 XTAL2 ALE/PROG PSEN 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 30 29 EA/VPP RST AT89C52 b Mô tả chân - Vcc (40) Chân cung cấp điện (5V) - GND (20) Chân nối đất (0V) Cổng Port định cổng I/O từ chân đến Chúng sử dụng cho mục đích giao tiếp với thiết bị cần thiết Ngoài chân P1.0, P1.1 chân liên quan đến hoạt động ngắt định thời Trong mô hình thiết kế không dùng nhớ ngoài, Port cổng I/O Còn hệ thống lớn có yêu cầu số lượng đáng kể nhớ Port trở thành đường truyền liệu bit thấp bus địa Ngoài chân P1.0(T2) ngõ vào đếm thời gian P1.1(T2EX) chân capture/reload đếm thời gian Cổng Port cổng I/O đường tryển bit cao bus địa cho mô hình thiết kế có nhớ chương trình nằm học có 256 byte nhỡ liệu Cổng Port mục đích chung cổng I/O, chân kiêm nhiều chức khác liên quan đến đặc tính đăc biệt vi điều khiển Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên RXD TXD ‘INTO ‘INT1 T0 T1 ‘WR ‘RD Địa bit B0H B1H B2H B3H B4H B5H B6H B7H Chức thứ hai Nhận liệu cho cổng nối tiếp Truyền liệu cho cổng nối tiếp Ngắt bên Ngắt bên Ngõ vào đếm thời gian Ngõ vào đếm thời gian Tín hiệu điều khiển ghi nhớ liệu Tín hiệu điều khiển đọc nhớ liệu Những chức thứ hai chân cổng Port - ‘PSEN tín hiệu điều khiển cho phép nhớ chương trình bên hoạt động Nó thường kết nối đến chân ‘OE (Output Enable) ‘EPROM để đọc byte chương trình Xung tín hiệu ‘PSEN mức thấp suốt phạm vi trình lệnh Còn thi hành chương trình từ ROM bên chip, chân ‘PSEN mức cao - Tín hiệu ALE có chức đặc biệt tách byte địa thấp bus liệu cổng P0 sử dụng cở chế độ hay gọi chế độ dồn kênh, nghĩa sử dụng đường truyền cho bit liệu byte thấp bus địa - Khi chân ‘EA mức cao, vi điều khiển thực chương trình lưu trữ ỏ vùng nhớ thấp 8Kbyte ROM bên chip Còn ‘EA mức thấp có chương trình lưu nhớ thực - AT89S52có dao động nội bên chip hoạt động theo tần số dao động thạch anh nằm bên Tần số thông dụng thạch anh 11,0592 MHZ - RST (9) Ngõ vào reset Mức cao chân chu kỳ máy dao động hoat động reset AT89S52 RST Mạch reset tác động tay tự động reset khởi động máy - XTAL1 XTAL2 XTAL1 XTAL2 hai ngõ vào khuếch đại đảo mạch dao động, cấu hình để dùng dao động chip Không có yêu cầu chu kỳ nhiệm vụ tín hiệu xung clock bên tín hiệu phải qua flip-flop chia hai trước đến mạch tạo xung clock bên trong, nhiên chi tiết kỹ thuật thời gian mức thấp mức cao, điện áp cực tiểu cực đại cần phải xem xét c Các chế độ đặc biệt c.1 Chế độ nghỉ Trong chế độ nghỉ, CPU tự vào trạng thái ngủ tất ngoại vi bên chip tích cực Chế độ điều khiển phần mềm Nội dung RAM chip tất ghi chức đặc biệt không đổi thời gian tồn chế độ Chế độ nghỉ kết thúc ngắt phép cách reset cứng Ta cần lưu ý chế độ nghỉ kết thúc reset cứng, chip vi điều khiển tiếp tục bình thường việc thực thi chương trình từ nơi chương trình bị tạm dừng, vòng chu kỳ máy trước giải thuật reset mềm nẵm quyền điều khiển Ở chế độ nghỉ, phần cứng chip cẫm truy xuất RAM nội cho phép truy xuất chân port Để tránh khả có thao tác ghi không mong muốn đến chân port chế độ nghỉ kết thúc reset, lệnh yêu cầu chế độ nghỉ không nên lệnh ghi đến chân port đến nhớ c.2 Chế độ nguồn giảm Trong chế độ này, mạch dao động ngừng hoạt động lệnh yêu cầu chế độ nguồn giảm lệnh sau thực thi RAM chip ghi chức đặc biệt trì giá trị chúng chế độ nguồn giảm kết thúc Chỉ có cách khỏi chế độ nguồn giảm, reset cứng Việc reset xác định lại ghi chức đặc biệt không làm thay đổi RAM chip Việc reset không nên xảy (chân reset mức tích cực) trước Vcc khôi phục lại mức điện áp bình thường phải kéo dài trạng thái tích cực chân reset đủ lâu phép mạch dao động hoạt động trở lại đạt trạng thái ổn định Trạng thái chân thời gian tồn chế độ nghỉ chế độ nguồn giảm cho bảng sau: Chế độ Bộ nhớ Chương trình ALE PSEN PORT O PORT PORT PORT Nghỉ Bên 1 Dữ liệu Dữ liệu Dữ liệu Dữ liệu Nghỉ Bên 1 Thả Dữ liệu Dữ liệu Dữ liệu Nguồn Bên 0 Dữ liệu Dữ liệu Dữ liệu Dữ liệu giảm Bên 0 Thả Dữ liệu Dữ liệu Dữ liệu c.3 Các bít khoá nhớ chương trình Trên chip có ba bit khoá, bít không cho phép lập trình cho phép lập trình, bit cho ta thêm số đặc trưng AT89C51 sau Khi bit khoá LB1 lập trình, mức logic chân EA lấy mẫu chốt reset Nếu việc cấp nguồn cho chip công dụng reset, mạch chốt khởi động giá trị ngẫu nhiên giá trị trì có tác động reset Điều cần thiết giá trị chốt EA phải phù hợp vơi mức logic hành chân Các bit khóa chương trình Loại bảo vệ Chế độ LB1 LB2 LB3 U U U Không có đặc trưng khóa chương trình P U U Các lệnh MOVC thực thi từ nhớ chương trình không phép tìm nạp lệnh từ nhớ nội, EA lấy mẫu chốt reset, việc lập trình Flash bị cấm P P U Như chế độ 2, cấm thêm việc kiểm tra chương trình P P P Như chế độ 3, cấm thêm việc thực thi chương trình d Tổ chức nhớ Không gian nhớ vi điều khiển phân chia thành phần: nhớ liệu nhớ chương trình Hầu hết IC MCS có nhớ chương trình nằm bên chip, nhiên mở rộng dung lượng lên đến 64K nhớ chương trình 64K liệu cách sử dụng số nhớ Bên chip vi điều khiển AT89C51 có 128 byte nhớ liệu Không gian nhớ bên chia thành bank ghi, RAM địa theo bit, RAM dùng chung ghi chức đặc biệt 7F FF RAM dùng chung 30 2F 2E 2D 2C 2B F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW CD TH2 CC TL2 CB RCAP2L CA RCAP2H C8 T2CON B8 - - - BC BB BA B9 B8 IP 7F 7E 7D 7C 7B 7A 79 78 B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 77 76 75 74 73 72 71 70 A8 AF - - AC AB AA A9 A8 IE 6F 6E 6D 6C 6B 6A 69 68 A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 67 66 65 64 63 62 61 60 99 5F 5E 5D 5C 5B 5A 59 58 98 SBUF F E 9D 9C 9B 9A 99 98 SCON 2A 29 28 27 26 25 24 23 22 21 20 1F 97 96 95 94 93 92 91 90 57 56 55 54 53 52 51 50 90 4F 4E 4D 4C 4B 4A 49 48 8D TH1 47 46 45 44 43 42 41 40 8C TH0 3F 3E 3D 3C 3B 3A 39 38 8B TL1 37 36 35 34 33 32 31 30 8A TL0 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 89 TMOD 1F 1E 1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00 Bank Register 88 8F 8E 8D 8C 8B 8A 89 88 83 DPH 82 DPL 81 SP e Các ghi chức đặc biệt AT89C51 có ghi R0 đến R7 21 ghi chức đặc biệt SFR (Special Function Register) nằm phần RAM từ địa 80H đến FFH - Thanh ghi trạng thái PSW(Program Status Word): Ký hiệu CY AC FO RS1 RS0 Địa D7H D6H D5H D4H D3H PSW.2 PSW.1 PSW.0 OV P D2H D1H D0H TCON PCON 00 80 87 86 85 84 83 82 81 80 Sơ đồ chi tiết không gian nhớ liệu bên vi điều khiển Bit PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 P1 Mô tả bit Cờ nhớ Cờ nhớ phụ Cờ Chọn dãy ghi(bit 1) Chọn dãy ghi(bit 0) 00=bank1: địa từ 00h đến 07h 01=bank2: địa từ 08h đến 0Fh 10=bank3: địa từ 10h đến 17h 01=bank2: địa từ 18h đến 1Fh Cờ tràn Dự trữ Cờ kiểm tra chẵn lẻ 10 P0 - Thanh ghi B: ghi sử dụng kèm theo ghi A để thực phép toán nhân chia Thanh ghi B xem ghi đệm dùng chung Nó có địa từ F0 đến F7 - Con trở ngăn xếp: ghi bit, chứa địa phần liệu diện đỉnh ngăn xếp Ngăn xếp hoạt động theo phương thức LIFO Hoạt động đẩy vào ngăn xếp làm tăng SP lên trước ghi liệu vào Hoạt động lấy khỏi ngăn xếp đọc liệu rồI giảm SP - Con trỏ liệu DPTR(Data Pointer): DPTR sử dụng để truy cập vào nhớ chương trình nhớ liệu ngoài, ghi 16 bot có bit thấp địa 82H (DPL) bit cao địa 83h (DPL) - Các ghi cổng: Các cổng I/O VDL bao gồm P0 địa 80H, P1 địa 90H, P2 địa A0H, P3 tạI địa B0H Tất cổng có địa bit nên cung cấp khả giao tiếp với bên mạnh - Các ghi đếm thời gian: AT89C51 có đếm thời gian 16 bit để định khoảng thời gian hay đếm kiện Timer0 có địa 8AH (TL0: bit thấp) 8CH(TH0: byte cao) Timer1 có địa 8BH (TL1: bit thấp) 8DH(TH1: byte cao) Timer2 có địa CCH (TL2: bit thấp) 8CD(TH2: byte cao) Hoạt động đếm thời gian thiết lập ghi TMOD,TCON, T2CON Ngoài ghi RCAP2L, RCAP2H sử dụng chế độ tự nạp 16 bitbộ định thời - Các ghi cổng tuần tự: IC AT89C51 chứa cổng nối tiếp để kết nối với thiết bị nối tiếp moderm để giao tiếp với IC khác sử dụng giao tiếp nối tiếp Bộ đệm liệu nối tiếp SBUF lưu giữ liệu truyền liệu nhận - Các ghi ngắt: AT89C51 có nguyên nhân ngắt ngắt ưu tiên Các ngắt bị cấm sau hệ thống khởi động lại để bật cách ghi vào ghi cho phep ngắt IE Mức ưu tiên thiết lập thông qua ghi ưu tiên IP - Thanh ghi điều khiển lượng PCON (Power Control Register): chứa nhiều bit điều khiển đảm bảo chức khác II.1.3 Hoạt động Timer a Giới thiệu chung Bộ định thời dãy flip-flop chia 2, chúng nhận tín hiệu đưa vào nguồn đồng hồ Tín hiệu từ nguồn đồng hồ đưa vao flipflop thứ ngõ flip-flop thứ lại làm tín hiệu đồng hồ cho flipflop thứ hai tiếp tục Do mỗI tầng chia cho 2, nên định thời với n tầng chia tần số tín hiệu đồng hồ ngõ vào cho 2n Ngõ tần cuốI dùng để điều khiển cho flip-flop tràn, hay gọi cờ tràn kiểm tra phần mềm, thường dùng để tạo 11 ngắt Giá trị nhị phân flip-flop hiểu số xung đồng hồ đếm( kiện) đếm thời gian bắt đầu hoạt động Bộ đếm thời gian 16 bit thực đếm từ 0000H đến FFFFH Cờ tràn lập nội dung đếm chuyển từ FFFFH 0000H Các định thời dùng hệ thống điều khiển Trong AT89C51 có định thời 16 bit Bộ định thời dùng để - Xác định khoảng thời gian Bộ định thời lập trình để tran khoảng thời gian cờ tràn bật lên - Tạo tốc độ baud cho việc truyền thông tin cổng nối tiếp - Đếm kiện, đo khoảng thời gian trôi qua kiện Mỗi kiện tác nhân kích thích tạo chuyển đổi từ qua chân chip b Các ghi định thời Để truy cập định thời, ta sử dụng 11 ghi SFR sau: SFR TCON TMOD TL0 TL1 TH0 TH1 T2CON RCAP2L RCAP2H TL2 TH2 Mục đích Điều khiển Chọn chế độ Byte thấp định thời Byte thấp đinh thời Byte cao đinh thời Byte cao đinh thời Điều khiển định thời Nhận byte thấp định thời Nhận byte cao định thời Byte thấp đinh thời Byte cao định thời Địa 88H 89H 8AH 8BH 8CH 8DH C8H CAH CBH CCH CDH Định địa bit Có Không Không Không Không Không Có Không Không Không Không - Thanh ghi kiểu thời gian TMOD (Timer Mode Register Bit Tên Timer Chức GATE Khi bit Gate=1 ‘INT1 cao Timer hoạt động C/’T Bit chọn counter/timer (1/0) M1 Bit mode M0 Bit mode GATE Bit GATE timer C/’T Bit chọn counter/timer (1/0) Timer M1 Bit mode Timer 0 M0 Bit mode Timer Các bít địa ghi TMOD 12 Thanh ghi TMOD chia thành nhóm bit bit dùng để thiết lập chế độc hoạt động Timer vàTimer Các chế độ hoạt động định thời + M1=0, M0=0: Mode (Chế độ định thời 13-bit) + M1=0, M0=1: Mode (Chế độ định thời 16 bit) + M1=1, M0=0: Mode (Chế độ tự động nạp bit) + M1=1, M0=1: Mode (Chế đô định thời chia xẻ) - Thanh ghi điều khiển định thời TCON (Timer Control Register) Bit Ký hiệu Địa bit Mô tả TCON.7 TF1 8FH Cờ tràn định thời TCON.6 TR1 8EH Bit điều khiển hoạt động định thời TCON.5 TF0 8DH Cờ tràn định thời TCON.4 TR0 8CH Bit điều khiển hoạt động định thời TCON.3 IE1 8BH Cờ ngắt bên TCON.2 IT1 8AH Cờ ngắt bên TCON.1 IE0 89H Cờ ngắt bên TCON.0 IT0 88H Cờ ngắt bên Thanh ghi điều khiển định thời TCON - Thanh ghi điều khiển định thời T2CON Bit T2CON.7 T2CON.6 T2CON.5 T2CON.4 T2CON.3 T2CON.2 T2CON.1 T2CON.0 Ký hiệu TF2 EXF2 RCLK TCLK EXEN2 TR2 C/’T2 CP/’RL2C Địa bit CFH CEH CDH C8CH C8BH CAH C9H C8H Mô tả Cờ tràn định thời Cờ định thời Clock phát định thời Clock thu định thời Cho phép từ bên Bit điều khiển hoạt động định thời Bit chọn Counter/Timer Timer Cờ thu nhận/nạp lại định thời c.Các chế độ Timer cờ tràn Chế độ định thời 13 bit (Mode 0): Mode sử dụng hệ thống Byte cao định thời THx kết hợp vớI bit có trọng số nhỏ vủa byte thấp định thời TLx để tạo nên định thời 13 bit #bit lạI TLx không sử dụng TLx (5bit) THx (8bit) TF 13 Mode định thời 13 bit Chế độ định thời 16 bit (Mode 1) Trong Mode 1, tín hiệu đồng hồ đưa vào byte cao thấp định thời (TLx,THx) Khi nhận xung đồng hồ, định thời bắt đầu đếm lên từ 0000H Hiện tượng tràn xảy có chuyển tiếp từ FFFFH 0000H làm bật cờ tràn Timer Clock TLx(8bit) THx(8bit) TFx(cờ tràn) Mode định thời 16 bit Chế độ tự động nạp lại bit (Mode 2) Trong Mode 2, ghi định thời TLx hoạt động dịnh thời bit byte cao dịnh thời lưu giá trị nạp lại Khi trình đếm TLx bị tràn từ FFH 00H cờ tràn bật lên mà giá trị tổng THx nạp vào TLx, tiếp tục trình đếm từ giá trị tới xảy chuyển đổi từ FFH 00H Timer Clock TFx(cờ tràn) TLx(8bit) THx(8bit) Mode định thời 16 bit Chế độ định thời phân chia (Mode 3) Mode mode định thời phân chia khác định thời Timer mode chia thành định thời 8b bit TL0 TH0 hoạt động định thời riêng rẽ sử dụng cờ tràn tương ứng TF0,TF1 Timer mode ngừng làm việc hoạt động cách chuyển sang mode khác Điều hạn chế cờ tràn Timer mode không bị ảnh hưởng xảy tràn Timer1, nối đến TH0 Timer Clock TL1(8bit) Timer Clock TL0(8bit) TH1(8bit) TF0(cờ tràn) 14 Mode định thời phân chia (Mode 3) II.1.4 Hệ thống ngắt a Giới thiệu chung Ngắt đóng vai trò việc thiết kế thực ứng dụng vi điều khiển Chúng cho phép hệ thống đáp ứng cách không đồng đến kiện giải kiện chương trình khác chương trình khác chạy Chương trình giải yêu cầu ngắt gọi thủ tục phục vụ ngắt ISR ISR dùng để đáp ứng lại ngắt thường thực hoạt động vào thiết bị vào nối với vi điều khiển Khi xảy ngắt chương trình tạm dừng công việc thi hành rẽ nhánh sang ISR, ISR hoạt động để đáp ứng yêu cầu ngắt kết thúc lệnh quay trở về, chương trình hoạt đông tiếp tạu sau điểm rẽ nhánh Chương trình thực mức ISR thực mức ngắt Chương trình Quá trình thực chương trình mà ngắt ISR ISR Quay CT thực ISR CT CT CT Quá trình thực chương trình mà có b Tổ chức ngắt: AT89C51 có tất nguyên nhân ngắt: hai ngắt bên ngoài, ba ngắt định thời, ngắt port nối tiếp Tất ngắt bị cấm sau hệ thống khởi động (reset) sau chúng cho phép phần mềm c Độ ưu tiên ngắt 15 Mỗi nguồn ngắt lập trình để đạt đươc mức ưu tiên thông qua ghi chức đặc biệt có địa bit IP tạI 0B8H Thanh ghi IP bị xoá sau hệ thống khởi động để đặt ngắt mức ưu tiên thấp so với mặc định Trong AT89C51 tồn tạI mức ưu tiên Khi ưu ngắt có mức ưu tiên cao xuất ISR có mức ưu tiên thấp thi hành ISR bị ngừng lại, ISR có mức ưu tiên cao thực Nếu ngắt có mức ưu tiên khác xảy lúc ngắt có mức ưu tiên cao hon phục vụ trước Bit TE.7 TE.6 TE.5 TE.4 TE.3 TE.2 TE.1 TE.0 Ký hiệu EA ET2 ES ET1 EX1 ET0 EX0 Địa bit AFH AEH ADH ACH ABH AAH A9H A8H Mô tả Bit bật/ tắt dùng chung Không định nghĩa Cho phép ngắt Timer Cho phép ngắt cổng nốI tiếp Cho phép ngắt Timer Cho phép ngắt Cho phép ngắt Timer Cho phép ngắt Các bit ghi IE (Interupt Enable) Bit IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0 Ký hiệu PY2 PS PT1 PX1 PT0 PX0 Địa bit BDH BCH BBH BAH B9H B8H Mô tả Không định nghĩa Không định nghĩa Ưu tiên cho ngắt Timer Ưu tiên cho ngắt cổng nốI tiếp Ưu tiên cho ngắt Timer Ưu tiên cho ngắt Ưu tiên cho ngắt Timer Ưu tiên cho ngắt Các bit ghi IP (Interrupt priority) d Cơ chế chọn lựa Nếu có ngắt mức ưu tiên xảy đồng thời, chế chọn lựa theo thứ tự có sẵn xác định ngắt đáp ứng trước Việc chọn lựa theo thứ tự là: External 0, Timer 0, External 1, Timer 1, Serial Port, Timer Quá trình xử lý ngắt: Khi ngắt xuất CPU chấp nhận, chương trình bị ngừng, hoạt động xảy sau: + Thực xong lệnh hành 16 + Bộ đếm chương trình PC lưu vào Stack + Lưu giữ tình trạng ngắt + Các nguồn ngắt giữ mức ngắt + Nap vào PC địa Vector ISR + ISR thực hiên ISR hoạt động để đáp ứng lại yêu cầu ngắt ISR kết thúc lệnh RETI có tác dụng quay trở chương trình chính, lệnh nạp lại giá trị cũ PC ngăn xếp khôi phục tình trạng ngắt cũ Việc thực chương trình tiếp tục diễn nơi tạm dừng e Vector ngắt: Khi ngắt chấp nhận giá trị nạp vào PC gọi vectơ ngắt Nó địa bắt đầu ISR tương ứng với ngắt chấp nhận Sau bảng vectơ ngắt Ngắt Cờ Địa Vector System reset RST 0000H External IE0 0003H Timer TF0 000BH External IE1 0013H Timer TF1 001BH Serial Port RI or TI 0023H Timer TF2 or EXF2 002BH Các vecto ngắt II.2 Giới thiêu linh kiện sử dụng II.2.1.Nguồn Mạch điện sử dụng nguồn 5V chiều.Trong khuôn khổ đề tài chúng em chọn cách sử dụng nguồn tháo từ máy tính II.2.2 IC giải mã 7447 U6 D0 D1 D2 D3 LT RBI A B C D E F G BI/RBO 13 12 11 10 15 14 7447 17 Bảng giải mã IC D0 0 0 0 0 1 D1 0 0 1 1 0 D2 0 1 0 1 0 D3 1 1 A 1 1 1 B 1 1 1 1 1 C 1 1 1 1 D 1 1 1 E 0 0 1 F 0 0 1 G 0 1 1 1 Các đầu IC giải mã nối chân tương ứng LED có Anốt chung II.2.3.LED Sử dụng Led loại Anốt chung để hiển thị tốc độ động U1 A B C D E F G LED U2 A B C D E F G LED U3 A B C D E F G LED U4 A B C D E F G LED U5 A B C D E F G LED Khi sử dụng chân a,b,c,d,e,f,g nối tới IC giải mã 7447 Khi chân mức thấp làm cho đèn hiển thị II.2.4 Động Động sử dụng mạch động chiểu có điện áp tối đa đặt vào động 24V Trên trục động có gắn đĩa tròn, đĩa tròn khoét lỗ cho ánh sang qua II.2.5 Cảm biến Cảm biến hai đèn Led phát thu hồng ngoại gắn với thành Đĩa đặt vào khe phát thu hồng ngoại Bộ 18 phát thu hồng ngoại có nhiệm vụ đếm số xung/vòng quay động quay Sau dãy xung đưa vi điểu khiển để xử lý U1A + 11 II.2.6 Bộ khuếch đại thuật toán Sử dụng IC LM324 IC có chứa khuếch đại thuật toán có nhiệm vụ so sánh hai mức điện áp ngõ vào điện áp ngõ mức cao hay thấp LM324 III Nguyên lý hoạt động thiết kế mạch điện III.1 Nguyên lý đo tốc độ động Để đo tốc độ động cơ, ta sử dụng phương pháp đo số xung phản hồi từ động Bằng cách gắn đồng trục với động đĩa ,trên đĩa có đục lỗ nhỏ cho phép ánh sang qua Đĩa đặt vào khe phát thu hồng ngoại Khi động quay làm cho đĩa quay theo Xung phát từ hồng ngoại mức “1” vật chắn mắt phát thu, mức “0” bị phần liền chắn mặt hồng ngoại Xung vi điều khiển để xử lý đưa tốc độ động Như vậy, ta có: 1vòng quay tạo xung Trong phút có n vong quay (n vong/phut) tạo n xung Giả sử 60 giay ta đếm a xung Vậy ta có tốc độ động n (vong/phut) Bằng cách sử dụng định thời có chức đếm xung, ta đếm số xung phản hồi thời gian xác định trước III.2.Thiết kế cụ thể III.2.1.Cảm biến Cảm biến phải có phần phát phần thu Phần phát phát ánh sáng hồng ngoại phần thu hấp thụ ánh sáng hồng ngoại ánh sáng hồng ngoại có đặc điểm bị nhiễu so với loại ánh sáng khác Khi có vật cản qua phần phát phần thu, ánh sáng hồng ngoại bị che LED thu không thông, hai mức điện áp khác đưa tới hai chân khuếch đại thuật toán đầu khuếch đại thuật toán có hai mức điện áp khác tương ứng với hai trạng thái thông, ngắt LED thu Tín hiệu đưa tới đầu vào đếm vi xử lí vi xử lí tiến hành đếm 19 Sơ đồ khối phần phát phần thu là: R3 R U10 VCC U11 VCC R2 R R4 R D2 LED D1 R1 R PHOTODIODE GND U6 GND U5 GND U4 U7 VCC U1A + 11 U9 VCC LM324 GND U2 Hình 1.4: Sơ đồ nguyên lý mạch thu phát IV.Sơ đồ nguyên lý mạch điện: 20 Hình 3.4: Sơ đồ toàn mạch IV.1.Hoạt động mạch: Ban đầu động bắt đầu quay, ánh sang hồng ngoại Led phát phát bị che khuất không đến Led thu, lúc Led thu không cho dòng điện qua, chân (-) khuếch đại thuật toán nối lên dương nguồn chân (+) nối với hai điện trở phân áp mức điện áp đặt vào nhỏ 5V dẫn đến đầu khuếch đại thuật toán mức thấp,vi xử lí chưa đếm Khi động quay vòng đến vị trí đĩa gắn trục động bị đục lỗ ánh sáng hồng ngoại chiếu xuyên qua, Led thu thu ánh sáng đồng thời cho dòng điện qua Điện trở nối với Led thu gây sụt áp lớn làm cho điện áp ngõ vào (+) lớn điện áp ngõ vào (-) dẫn đến đầu khuếch đại mức cao đưa đến vi xử lí vi xử lí bắt đầu đếm Tiến hành đếm đến đâu vi xử lí chuyển đổi giá trị đếm dạng thập phân đưa IC giải mã 7447 giải mã hiển thị Led Vi xử lí tiến hành đếm số xung vào phút ghi lại giá trị số xung vào phút đưa IC giải mã cho Led hiển thị cố định giá trị Khi bấm công tắc Reset trình lại bắt đầu lại từ đầu đo số vòng quay động phút 21 V.Lưu đồ thuật toán mã nguồn chương trình V.1 Lưu đồ thuật toán: MAIN CHƯƠNG TRÌNH CON ĐẾM XUNG KHỞI TẠO BỘ ĐỊNH THỜI R7 = 200, A = TH0 =0D8H TL0 = 0EFH SETB TR0 XUNG = 0 A = A+1 TF0=1 R7 =R7 -1 TF0 =0 TR = 0 R7 = CHƯƠNG TRÌNH CON TÍNH TOÁN B := 100 ; DIV AB R1 := A ; CHƯƠNG TRÌNH CON HIỂN THỊ A:=B, B:=10, DIV AB , R2:=A , R3:=B R1=R1+80H R2=R2+40H R3=R3+20H P2=R1 P2=R2 P2=R3 22 V.2 Mã nguồn chương trình: ; -Chuong trinh chinh Hundred equ 200D ORG 00H ; Bat dau chuong trinh chinh MAIN: CLR A ;Xoa ghi A MOV R5,#100 ;Khoi tao gia tri cho R5 MOV R1,#0H ; Xoa R1 MOV R2,#0H ; Xoa R2 MOV R3,#0H ; Xoa R3 LCALL DEM ; Goi chuong trinh Dem LCALL TINH ; Goi chuong trinh Tinh LCALL HIENTHI ; Goi chuong trinh Hien thi SJMP MAIN ; Tro ve dau chuong trinh chinh ; ; -Chuong trinh dem DEM: SETB P1.1 ;dua tin hieu vao cong P1.1 MOV TMOD,#01H ; che bo dinh thoi MOV R7,#hundred ; lap 100 lan AGAIN: MOV TH0,#03CH ; TF0 =1 thi ta duoc 10000 xung nhip =10000um MOV TL0,#0AFH SETB TR0 ; khoi tao bo timer WAIT: JB TF0,WAIT2 23 WAIT1: JNB P1.1,WAIT INC A ; bien A dung de dem xung vao JNB TF0,WAIT1 WAIT2: CLR TF0 CLR TR0 DJNZ R7,AGAIN ; giam R7 di mot va nhay den AGAIN den nao ; R7 = thi dung lai RET ; ; Tinh toan so lieu -TINH : MOV B,#10 DIV AB MOV B,#100 DIV AB MOV R1,A ; Luu so hang tram vao R1 MOV A,B MOV B,#10 DIV AB MOV R2,A ; Luu so hang chuc vao R2 MOV R3,B ; Luu so hang don vi vao R3 RET ; ; Dua LED -HIENTHI: LOOP: MOV A,R1 ADD A,#10000000B MOV P2,A ; Dua so hang tram LED thu nhat LCALL DELAY MOV A,R2 ADD A,#01000000B MOV P2,A ; Dua so hang chuc LED thu hai LCALL DELAY MOV A,R3 ADD A,#00100000B MOV P2,A ; Dua so hang don vi LED thu ba LCALL DELAY 24 ADD P2,#0E0H HERE: DJNZ R5,LOOP RET ; ; -; Chuong trinh hoan DELAY : MOV R0,#200 LOOP1 : MOV R4,#50 LOOP2 : NOP DJNZ R4,LOOP2 DJNZ R0,LOOP1 RET ; END 25