1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng họ vi điều khiển 8051 ghép nối 04 led bảy thanh để hiển thị số đo và cảnh báo tần số lưới điện công nghiệp,khoảng đo [45-55] hz - do tan so ac - Vi xử lý, vi điều khiển

39 30 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 39
Dung lượng 893,46 KB

Nội dung

MỤC LỤC LỜI NÓI ĐẦU 2 CHƯƠNG I : PHÂN TÍCH YÊU CẦU CÔNG NGHỆ 4 1.1. Phân tích và giới hạn về đặc điểm thiết bị và tham sô 4 1.1.1. Tổng quan về họ vđk 8051 4 1.1.2. Cấu trúc và chức năng trong 8051 4 1.1.3. Hoạt động của timer trong 8051 9 1.1.4. Ngắt và sử lý ngắt 13 1.1.5. Sơ lược về led 7 thanh 14 1.1.6. Kết nối với vi điều khiển 16 1.1.7. Chuẩn RS232 18 1.1.8. Sơ đồ ghép nối RS232 22 1.2. Trình bày về đo tần số bằng phương pháp số 23 CHƯƠNG II : THIẾT KẾ HỆ THỐNG 25 2.1. Phân tích giới hạn tính toán: 25 2.2 Lựa chọn thiết bị 26 2.2.2 Tổng quan về opto PC817 28 2.3 Mạch nguyên lý 30 2.3.1 Khối nguồn 31 2.3.2 Khối cấp xung cho vi xử lí 31 2.3.3 Khối cảnh báo và điều khiển 32 2.3.4 Khối hiển thị LED 7 thanh 33 2.3.5 Khối vi xử lí AT89C52 34 2.4 Thực hiện mô phỏng 35 CHƯƠNG III : TỔNG KẾT 38 3.1. Ưu điểm 38 3.2. Nhược điểm 38 LỜI NÓI ĐẦU Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả cao. Các bộ điều khiển sử dụng vi điều khiển tuy đơn giản nhưng để vận hành và sử dụng được lại là một điều rất phức tạp. Các bộ vi điều khiển theo thời gian cùng với sự phát triển của công nghệ bán dẫn đã tiến triển rất nhanh, từ các bộ vi điều khiển 4 bit đơn giản đến các bộ vi điều khiển 32 bit, rồi sau này là 64 bit. Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Điện tử đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Một trong những ứng dụng thiết thực trong đó là ứng dụng về nhiệt kế điện tử. Với môn học Vi điều khiển này, em đã quyết định nhận làm bài tập lớn với đề tài ứng dụng họ vi điều khiển 8051 ghép nối 04 led bảy thanh để hiển thị số đo và cảnh báo tần số lưới điện công nghiệp,khoảng đo [45-55] hz Nội dung báo cáo gồm 3 phần: I – Cơ sở lý thuyết II – Nội dung thiết kế III – kết luận Mặc dù đã rất cố gắng thiết kế và làm mạch nhưng do thời gian ngắn và năng lực còn hạn chế nên mạch vẫn còn những sai sót. Em mong thầy giáo và các bạn góp ý để việc học tập của em được tốt hơn. Em xin chân thành cảm ơn! CHƯƠNG I : PHÂN TÍCH YÊU CẦU CÔNG NGHỆ Phân tích và giới hạn về đặc điểm thiết bị và tham sô Tổng quan về họ vđk 8051 AT89C51 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and erasable read only memory). Các đặc điểm của 8951 được tóm tắt như sau: - 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa tới 1000 chu kỳ - Tần số hoat động từ 0 Hz đến 24 MHz - 3 mức khóa bộ nhớ lập trình - 2 bộ Timer/Counter 16 bit - 128 Byte RAM nội - 4 Port xuất/nhập (I/O) 8 bit - Giao tiếp nối tiếp - 64 KB vùng nhớ mã ngoài - 64 KB vùng nhớ dữ liệu ngoài - Xử lý Boolean (hoạt động trên bit đơn) - 210 vị trí nhớ có thể định vị bit - 4μs cho hoạt động nhân hoặc chia Cấu trúc và chức năng trong 8051 Sơ đồ cấu trúc của 8051 ROM : là loại bộ nhớ không mất dữ liệu khi mất nguồn cung cấp, được gọi là bộ nhớ chương trình bên trong có dung lương 4Kbytes dùng để lưu giừ các mã lệnh của chương trình (phần mềm ứng dụng). RAM : Bộ nhớ dữ liệu bên trong có dung lượng 128 Bytes đối với 8051, 256 Bytes với 8052 dùng đẻ lưu trữ dữ liệu như biển số, hằng số, bộ đệm, truyền thông… Timer0, Timer1(T0,T1) : là loại bộ đếm thời gian hoặc là bộ đếm xung. Sẻial port : là cổng truyền thông nối tiếp. OSC : Bộ phát xung nhịp nhằm tạo sự làm việc một cách đồng bộ cho cả hệ thống vi điều khiển. BUS : Khối điều khiển các bus địa chỉ, bus dữ liệu(data bus),và bus điều khiển (control bus). Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập ra, port 0 còn là bus đa hợp dữ liệu và địa chỉ (AD0 – AD7), chức năng này sẽ được sử dụng khi AT89C51 giao tiếp với thiết bị ngoài có kiến trúc bus. Port 0 + Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo bit và byte. Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2. Port 1 + Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng kép. Là đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng. Port 2 + Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài chức năng xuất nhập ra còn có một số chức năng đặc biệt sau: Bit Tên Chức năng chuyển đổi P3.0 RXD Dữ liệu nhận cho port nối tiếp P3.1 TXD Dữ liệu truyền cho port nối tiếp P3.2 INT0 Ngắt bên ngoài 0 P3.3 INT1 Ngắt bên ngoài 1 P3.4 T0 Ngõ vào của Timer/Counter 0 P3.5 T1 Ngõ vào của Timer/Counter 1 P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài Port 3 + RST (Reset – chân 9): mức tích cực của chân này là mức 1, để reset ta phải đưa mức 1 (5V) đến chân này với thời gian tối thiểu 2 chu kỳ máy (tương đương 2µs đối với thạch anh 12MHz. + XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó thường được nối với một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thôn thường là 12MHz. + EA (External Access): EA thường được mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, bộ vi điều khiển thi hành chương trình từ ROM nội. Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. + ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó các đường port 0 dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ. + PSEN (Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối với đến chân /OE (Output Enable) của một EPROM để cho phép đọc các bytes mã lệnh. PSEN sẽ ở mức thấp trong thời gian đọc lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua Bus và được chốt vào thanh ghi lệnh của bộ vi điều khiển để giải mã lệnh. Khi thi hành chương trình trong ROM nội, PSEN sẽ ở mức thụ động (mức cao). + Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V được cấp qua chân 40 (Vcc) và chân 20 (GND). Hoạt động của timer trong 8051 Bộ định thời của timer là một chuỗi các Flip Flop được chia làm 2, nó nhận tín hiệu vào là một nguồn xung clock, xung clock được đưa vào flip flop thứ nhất là xung clock của flip flop thứ hai mà nó cũng chia tần xố clock này cho 2 và cứ tiếp tục như thế. Hoạt động của timer đơn giản 3 bit được minh họa như sau: Timer Flip Flops Các timer được ứng dụng thực tế cho các hoạt động định hướng. 8951 có 2 bộ timer 16 bit, mỗi Timer có 4 mode hoạt động. Các Timer dùng để đếm giờ, đếm các kiện cần thiết và sự sinh ra tốc độ của tốc độ Baud bởi sự gắn liền Port nối tiếp. mỗi sự định thời là một timer 16 bit, do đó tầng cuối cùng là tầng thứ 16 sẽ chia tần số clock vào cho 216=65.536. Các timer của 8951 được truy xuất bởi việc dùng 6 thanh ghi chức năng đặc biệt như sau: Timer SPR Perpose Address Bit - Addressable TCON Control 88H YES TMOD Mode 89H NO TL0 Timer 0 low-byte 8AH NO TL1 Timer 1 low-byte 8BH NO TH0 Timer 0 high-byte 8CH NO TH1 Timer 1 high-byte 8DH NO Các thanh ghi điều khiển Các thanh ghi điều khiển timer 0,1 Thanh ghi chế độ định thời Timer TMOD: Thanh ghi TMOD gồm hai nhóm 4 bit là : 4 bit thấp đặt mod hoạt động của timer 0 và 4 bit cao đặt hoạt động của timer 1. 8 bit thanh ghi TMOD được tóm tắt như sau: Thanh ghi điều khiển Timer (Timer Control) Thanh ghi TCON chức các bit tràng thái và các bit điều khiển Timer 0 và Timer 1. 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IT1 IE1 IT0 IE0 Thanh ghi TCON Các thanh ghi chứa giá trị của các bộ định thời Các Timer 0 và Timer 1 dều là các Timer 16 bit, mỗi Timer có thanh ghi 8 bit để chúa các giá trị khởi tạo hoặc giá trị hiện thời của các Timer. Cụ thể Timer 0 có TH0 và TL0; Timer 1 có TH1 và TL1. Và các thanh ghi này thì không được định địa chỉ bit. Các thanh ghi điều khiển Timer 2 Thanh ghi T2CON 7 6 5 4 3 2 1 0 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/#t2 CP/#RL Hình cụ thể tùng bit Thanh ghi T2MOD T2MOD có địa chỉ 0C9H, thanh ghi này không định địa chỉ bit. Bit Kí hiệu Mô tả 7 Không sử dụng 6 Không sử dụng 5 Không sử dụng 4 Không sử dụng 3 Không sử dụng 2 Không sử dụng 1 T2OE Cho phép đầu ra sử dụng timer 2 để tạo xung (chế độ tạo xung – clock out) 0 DCEN Bit cho phép timer 2 hoạt động nhu một bộ đếm tiến/lùi Thanh ghi TH2,TL2, RCAP2H, RCAP2L Cũng giống như TH0,1, TL0,1, TH2 và TL2 chứa giá trị đếm của timer 2, tuy nhiên khác nhau ở chỗ timer 0,1 dùng THx chứa các giá trị nạp lại còn timer 2 dùng RCAP2H và RCAP2L để chứa. Các chế độ của bộ định thời Các chế độ định thời của timer 0, 1. Chế độ 0 Chế độ 0 là chế độ định thời dùng 13 bit (8bit của TH và 5 bit của TL ) để chứa giá trị đếm. tuy nhiên trong các ứng dụng ngày nay chế độ này không còn thích hợp. Chế độ 1 Trong chế độ 1, timer dùng cả hai thanh ghi TH và TL để chứa các giá trị đếm. vì vậy nó còn được gọi là chế độ định thoài 16 bit. Chế độ 2 Chế độ 2 này bộ timer ùng TL để chứa giá trị đếm và TH chứa giá trị vì vậy chế độ này còn được gọi là chế độ tự nạp lại 8 bit. Chế độ 3 Trong chế độ 3, timer 0 được tách thành hai bộ timer hoạt động độc lập, chế độ này cung cấp cho bộ vi điều khiển thêm một bộ timer Các chế độ của timer 2 Timer 2 có 3 chế độ hoạt động và được môt tả trong bảng sau: TCLK TR2 CP/#RL2 Chế độ 0 0 1 16 bit Auto reload: 16 bit tự nạp lại. 0 1 1 16 bit capture: 16 bit thu nhận. 1 x 1 Baud Rate General: cung cấp tốc độ baud Ngắt và sử lý ngắt Trong thực tế người ta rất muốn tận dụng khả năng của CPU để làm thêm được nhiều việc nữa nên, chỉ khi nào có cần trao đổi dữ liệu thì mới yêu cầu CPU tạm dừng công việc hiện tại để phục vụ việc trao đổi dưc liệu. sau khi hoàn thành công việc trao đổi dữ liệu thì CPU phải quay lại công việc đang gián đoạn để thực hiện tiếp. Cách làm việc này gọi là ngắt CPU (gián đoạn haotj động của CPU). Các nguồn ngắt của 8951 8951 có 6 nguồn ngắt: Ngắt ngoài đến từ chân #INT0. Ngắt ngoài đến từ chân # INT1. Ngắt do bộ timer 0 Ngắt do bộ timer 1 Ngắt do bộ timer 2 Ngắt do port nối tiếp. 6 nguồn ngắt này được xóa khi Reset và được dặt riêng bằng phần mềm bởi các bit trong các thanh ghi cho phép ngắt (IE) và thanh ghi ưu tiên ngắt (IP). Các thanh ghi phục vụ ngắt + Thanh ghi cho phép ngắt IE (Interupt enable) Bit Kí hiệu Địa chỉ bit Mô tả 7 EA AFH Cho phép hoặc cấm toàn bộ 6 - AEH Không được định nghĩa 5 ET5 ADH Cho phép ngát từ timer 2(8052) 4 ES ACH Cho phép ngát port nối tiếp 3 ET1 ABH Cho phép ngắt từ timer 1 2 EX1 AAH Cho phép ngắt ngoài 1 1 ET0 A9H Cho phép ngắt từ timer 1 0 EX0 A8H Cho phép ngắt ngoài 0 + Thanh ghi ưu tiên ngắt (interrupt priority) Bit Kí hiệu Địa chỉ bit Mô tả 7 Không được định nghĩa 6 - Không được định nghĩa 5 PT2 BDH Cho phép ngát từ timer 2(8052) 4 PS BCH Cho phép ngát port nối tiếp 3 PT1 BBH Cho phép ngắt từ timer 1 2 PX1 BAH Cho phép ngắt ngoài 1 1 PT0 B9H Cho phép ngắt từ timer 1 0 PX0 B8H Cho phép ngắt ngoài 0 Các ngắt được ưu tiên xóa khi reset hệ thống để đặt tất cả các ngắt ở mức ưu tiên thấp hơn. Xử lí ngắt Khi có một ngắt xảy ra và được CPU chấp nhận, chương trình chính bị ngắt quãng những hoạt động sau xảy ra Thi hành hoàn chỉnh lệnh đang hiện hành. Các DC vào ngăn xếp. Trạng thái ngắt hiện hành được cất vào trong. Các ngắt được chặn tại mức ngắt. Nạp vào DC địa chỉ Vector của ISR. ISR thực thi. ISR thực thi và đáp ứng ngắt. ISR hoàn tất bằng lệnh RETS. Điều này làm lấy lại các giá trị cũ của DC từ ngăn xếp và lấy lại trạng thái ngắt cũ. Chương trình lại tiếp tực tại nơi mà nó dừng. Vector ngắt. Khi ngắt được chấp nhận giá trị được đưa vào PC (Program Counter) goi là vector ngắt (interrupt vector). Ngắt Cờ Địa chỉ vector Số hiệu Reset hệ thống Bên ngoài 0 Timer 0 Bên ngoài 1 Timer 1 Port nối tiếp Timer 2 RST IE0 TF0 IE1 TF1 TI hoặc RI TX2 hoặc EXF2 0000H 0003H 000BH 0013H 001BH 0023H 002BH 0 1 2 3 4 5 Sơ lược về led 7 thanh Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của led 7 đoạn. 8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện. Nếu led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0. Nếu led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1. Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển Sơ đồ vị trí các led Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng điện qua led nếu led 7 đoạn được nối với nguồn 5V. Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b. Tương tự với các chân và các led còn lại. Kết nối với vi điều khiển Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng 1 Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7 đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1). Bảng mã hiển thị led 7 đoạn: Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a, Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h. Dữ liệu xuất có dạng nhị phân như sau : hgfedcba Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Anode chung (các led đơn sáng ở mức 0): Số hiển thị trên led 7 đoạn Mã hiển thị led 7 đoạn dạng nhị phân Mã hiển thị led 7 đoạn dạng thập lục phân h g f e d c b a 0 1 1 0 0 0 0 0 0 C0 1 1 1 1 1 1 0 0 1 F9 2 1 0 1 0 0 1 0 0 A4 3 1 0 1 1 0 0 0 0 B0 4 1 0 0 1 1 0 0 1 99 5 1 0 0 1 0 0 1 0 92 6 1 1 0 0 0 0 1 0 82 7 1 1 1 1 1 0 0 0 F8 8 1 0 0 0 0 0 0 0 80 9 1 0 0 1 0 0 0 0 90 A 1 0 0 0 1 0 0 0 88 B 1 0 0 0 0 0 1 1 83 C 1 1 0 0 0 1 1 0 C6 D 1 0 1 0 0 0 0 1 A1 E 1 0 0 0 0 1 1 0 86 F 1 0 0 0 1 1 1 0 8E - 1 0 1 1 1 1 1 1 BF Bảng mã hiển thị led 7 đoạn dành cho led 7 đoạn có Cathode chung (các led đơn sáng ở mức 1) Số hiển thị trên led 7 đoạn Mã hiển thị led 7 đoạn dạng nhị phân Mã hiển thị led 7 đoạn dạng thập lục phân 0 0 0 1 1 1 1 1 1 3F 1 0 0 0 0 0 1 1 0 06 2 0 1 0 1 1 0 1 1 5B 3 0 1 0 0 1 1 1 1 4F 4 0 1 1 0 0 1 1 0 66 5 0 1 1 0 1 1 0 1 6D 6 0 1 1 1 1 1 0 1 7D 7 0 0 0 0 0 1 1 1 07 8 0 1 1 1 1 1 1 1 7F 9 0 1 1 0 1 1 1 1 6F A 0 1 1 1 0 1 1 1 77 B 0 1 1 1 1 1 0 0 7C C 0 0 1 1 1 0 0 1 39 D 0 1 0 1 1 1 1 0 5E E 0 1 1 1 1 0 0 1 79 F 0 1 1 1 0 0 0 1 71 - 0 1 0 0 0 0 0 0 40 Chuẩn RS232 Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng điều khiển, đo lường... Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt. Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theo đường truyền. Có hia phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là chuẩn RS232 Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường...Trên main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính. Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế độ hoạt động là không đồng bộ và tốc độ truyền dữ liệu thấp. Ưu điểm của giao diện nối tiếp RS232 + Khả năng chống nhiễu của các cổng nối tiếp cao + Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện + Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp Những đặc điểm cần lưu ý trong chuẩn RS232 + Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-12V. Hiện nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm + Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V đến 12V + Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngày nay có thể lớn hơn) + Các lối vào phải có điện dung nhỏ hơn 2500pF + Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm + Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp RS232 không vượt qua 15m nếu chúng ta không sử model + Các giá trị tốc độ truyền dữ liệu chuẩn : 50,75,110,750,300,600,1200,2400,4800,9600,19200,28800,38400....56600,115200 bps Các mức điện áp đường truyền RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ đầu tiên ra đời nó đã mang vẻ lỗi thời của chuẩn TTL, nó vấn sử dụng các mức điện áp tương thích TTL để mô tả các mức logic 0 và 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát. Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả như sau: + Mức logic 0 : +3V , +12V + Mức logic 1 : -12V, -3V Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến. Chính vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua quãng quá độ trong một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ với tốc độ 19,2 kBd . Cổng RS232 trên PC Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng Com hay cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy từng loại main máy tính. Khi đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com 3...Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân (DB9) hoặc 25 chân (DB25). Tuy hai loại đầu nối này có cùng song song nhưng hai loại đầu nối này được phân biệt bởi cổng đực (DB9) và cổng cái (DB25) Ta xét sơ đồ chân cổng Com 9 chân: Trên là các kí hiệu chân và hình dạng của cổng DB9 Chức năng của các chân như sau: + chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu + chân 2: Receive Data (RxD) : Nhận dữ liệu + chân 3 : Transmit Data (TxD) : Truyền dữ liệu + chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích hoạt bởi bộ phận khi muốn truyền dữ liệu + chân 5 : Singal Ground ( SG) : Mass của tín hiệu + chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu + chân 7 : Request to Send : yêu cầu gửi,bô truyền đặt đường này lên mức hoạt động khi sẵn sàng truyền dữ liệu + chân 8 : Clear To Send (CTS) : Xóa để gửi ,bô nhận đặt đường này lên mức kích hoạt động để thông báo cho bộ truyền là nó sẵn sàng nhận tín hiệu + chân 9 : Ring Indicate (RI) : Báo chuông cho biết là bộ nhận đang nhận tín hiệu rung chuông Còn DB28 bây giờ hầu hết các main mới ra đều không có cổng này nữa. Nên tôi không đề cập đến ở đây. Quá trình dữ liệu Quá trình truyền dữ liệu Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên tại một thời điểm chỉ có một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt đầu (bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit tiếp the . Bit này luôn bắt đầu bằng mức 0.. Tiếp theo đó là các bit dữ liệu (bits data) được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể là 1, 1,5 hay 2 bit dừng. Tốc độ Baud Đây là một tham số đặc trưng của RS232. Tham số này chính là đặc trưng cho quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay còn gọi là tốc độ bit. Tốc độ bit được định nghĩa là số bit truyền được trong thời gian 1 giây hay số bit truyền được trong thời gian 1 giây. Tốc độ bit này phải được thiết lập ở bên phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển và máy tính phải chung nhau 1 tốc độ truyền bit) Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được truyền còn tôc độ bit thì phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng tốc độ là 19200 Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic càng phải nhỏ. Điều này làm giới hạn tốc Baud và khoảng cách truyền. Bit chẵn lẻ hay Parity bit Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn lẻ. Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các bit "1" được gửi trong một khung truyền là chẵn hay lẻ. Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9... Nếu như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp không mắc lỗi vì thế không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này không được sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi. Còn cách thức truyền dẫn. Phần này tôi không đề cập các bạn vui lòng xem trong giáo trình. Sơ đồ ghép nối RS232 Mạch chuẩn giao RS232 dùng IC Max232 Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi. Max232 là IC của hãng Maxim. Đây là IC chay ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232. Giá thành của Max232 phù hợp (12K hay 10K) và tích hợp trong đó hai kênh truyền cho chuẩn RS232. Dòng tín hiệu được thiết kế cho chuẩn RS232 . Mỗi đầu truyền ra và cổng nhận tín hiệu đều được bảo vệ chống lại sự phóng tĩnh điện ( hình như là 15KV). Ngoài ra Max232 còn được thiết kế với nguồn +5V cung cấp nguồn công suất nhỏ. Trình bày về đo tần số bằng phương pháp số Đo tần số có tương đối nhiều phương pháp nhưng ở đây ta lực chọn phương pháp số để thực hiện đo Cấu trúc đo tần số bằng phương pháp sô x(t): tín hiệu cần đo đưa tới đầu vào máy Mạch vào: truyền dẫn tín hiệu từ đầu vào tới Thiết bị biến đổi. Thựchiện tiền xử lý tín hiệu vào như tiền khuếch đại, suy giảm, giới hạn băngtần, lọc nhiễu, phối hợp trở kháng,… nhưng không làm mất thông tin đo. Mạch vào thường là bộ KĐ tải catốt (Zvào cao), thực hiện phối hợp trở kháng. Thiết bị biến đổi: thực hiện so sánh và phân tích. Có thể tạo ra tín hiệu cần thiết để so sánh tín hiệu cần đo với tín hiệu mẫu. Có thể phân tích tín hiệu đo về biên độ, tần số, hay chọn lọc theo thời gian. Thường là các mạch KĐ, tách sóng, biến đổi dạng điện áp tín hiệu, chuyển đổi dạng năng lượng,... Thiết bị chỉ thị: biểu thị kết quả đo dưới dạng thích hợp với giác quan giao tiếp của sinh lí con người hay với tin tức đưa vào bộ phận điều chỉnh, tính toán,... VD: Các cơ cấu chỉ thị , Ống tia điện tử, cơ cấu chỉ thị số dùng LED 7 đoạn hay LCD 7 đoạn… Nguồn cung cấp: cung cấp năng lượng cho máy và làm nguồn tạo tín hiệu chuẩn CHƯƠNG II : THIẾT KẾ HỆ THỐNG 2.1. Phân tích giới hạn tính toán: - Ở bài này ta đo tín hiệu tần số và dải đo từ 45-55Hz - Nên chu kỳ của của tần số đo sẽ dao động từ ~18 ms - ~ 22 ms tương ứng với 18000 đến 22000 chu kì máy của vi điều khiển - Có 2 phương pháp đo tần số + Cách 1: Lấy trực tiêp tần số Ta sẽ sử dụng một timer để tạo một khỏang thời T gọi là thời gian lấy mẫu Trong khoảng thời gian đấy ta sẽ nhận xung từ mạch chuẩn hóa khi đó tần số sẽ được tính theo công thức F= (a ×1000(ms))/(t_(mẫu ) (ms)) Trong đó: F: Tần số lưới điện a : xung nhận được từ mạch chuẩn hóa t_(mẫu ): thời gian lấy mẫu (ms) +Cách 2: Lấy gián tiếp tần số Ta sẽ không đo trực tiếp tần số mà sẽ đo qua chu kì giữa 2 xung trả về từ mạch chuẩn hóa vì theo công thức f=1/t do vậy ta có thể đo gián tiếp tần số qua chu kỳ Khi đó tần số sẽ được tính theo công thức F= (1(s))/(t(s)) F: tần số lưới điện t: thời gian giữa 2 xung Thời gian giữa 2 xung của bài này sẽ nằm trong khoảng từ ~18ms-~22ms tương ứng vơi ~18000 đến ~22000 chu kỳ máy. Khi đó công thức sẽ thành F= 1000000us/(t(us)) t(us) : ~18000 đến ~22000 Để tránh phải tính toán với số liệu quá lớn như vậy ta chia cho cả tử và mẫu của phép tính trên cho 100 , khi đó công thức sẽ thành F= 10000us/(t(us)) t(us) : ~180 đến ~220 Khi đó số liệu đã nhỏ đi đáng kể để ta nhập vào các thanh ghi dữ liệu trong khi lập tình, nhưng ta phải chấp nhận sai số khi dùng cách này. 2.2 Lựa chọn thiết bị 2.2.1 Cấu trúc chung về VĐK AT89C52 VĐK 89C52 mà chúng ta sử dụng có những đặc điểm sau: · 4KB ROM bên trong · 256 Byte ngoài · 4 Port xuất nhập dữ liệu I/O · Giao tiếp nối tiếp · 64 KB vùng nhớ mã ngoài · 64 KB vùng nhớ dữ liệu ngoài · Xử lý Boolean 2.Khảo sát sơ đồ chân. Trên sơ đồ chân trên có các nhóm chân sau: 1. Nhóm chân nguồn nuôi. + nguồn nuôi 5V (chân số 40) . + nối đất (chân số 20). 2. Nhóm chân điều khiển. Nhóm này còn phân biệt các tín hiệu vào, ra. a. Nhóm tín hiệu vào điều khiển. + Xtal1 (chân số 18), Xtal2 (chân số 19): nối tinh thể thạch anh cho mày phát xung nhịp chu trình. + RST(Reset): (chân số 9): nối chuyển mạch để xóa về trạng thái ban đầu hay khởi động lại. + /EA/CPP: (chân số 31) chọn nhớ ngoài (nối đất) hay chọn nhớ trong (nối nguồn nuôi 5V). + T2 hay P1.0: (chân số 1) tín hiệu vào đếm cho Timer2/ Counter2 của 8952 + T2EX: (chân số 2) tín hiệu vào ngắt ngoài 2 cho 8950. + /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt ngoài 0 cho 8051. + /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt ngoài 1 cho 8051. + T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0. + T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1. b. Nhóm tín hiệu ra điều khiển. + ALE//PROG: (chân số 30) dùng để đưa tín hiệu chốt dịa chỉ (ALE) khi có nhớ ngoài hay điều khiển ghi chương trình /PROG. + /PSEN: (chân số 29) dùng để đưa tín hiệu điều khiển đọc bộ nhớ chương trình ROM ngoài. + /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài + /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài. c. Nhóm các tín hiệu địa chỉ, dữ liệu. + cổng vào, ra địa chỉ/ dữ liệu P0 hay P0.0-P0.7: (chân số 39-32) dùng để trao đổi tin về dữ liệu D0-D7, hoặc đưa ra các địa chỉ thấp (A0-A7) theo chế độ dồn kênh (kết hợp với tín hiệu chốt địa chỉ ALE). + cổng vào ra địa chỉ/ dữ liệu P2 hay P2.0-P2.7: (chân số 21-28) dùng để trao đổi tin song song về dữ liệu (D0-D7) hoặc đưa ra địa chỉ cao (A8-A15). + cổng vào ra dữ liệu P1 hay P1.0-P1.7: (chân số 1-8) dùng để trao đổi tin song song dữ liệu (D0-D7). + cổng vào, ra P3 hay P3.0-P3.7: (chân số 10-17). - P3.0: (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD - P3.1: (chân số 11) đưa ra tín hiệu truyền tin nối tiếp TXD - /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt 0 của VĐK - /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt 1 của VĐK - T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0 cho VĐK 8051/8052. - T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1 cho VĐK 8051/8052. - /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài. - /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài. - T2 hay P1.0: (chân số 1)tín hiệu vào đếm cho Timer2/ Counter2 cho VĐK 8052. - T2EX: (chân số 2) tín hiệu vào gây ngắt 2 của VĐK 8052. Ngoài các tín hiệu chuyên dùng trên, cổng vào/ ra P3 này còn dùng để trao đổi tin về dữ liệu D7-D0. 2.2.2 Tổng quan về opto PC817 Opto là một trong những linh kiện điện tử cơ bản được người dùng sử dụng rộng rãi trong lĩnh vực điện tử. -Opto hay còn được gọi là bộ cách ly quang dùng để truyền tín hiệu điện bằng cách chuyển tín hiệu ánh sáng và sau đó mới truyền đi. -Nó dùng để cách ly điện giữa đầu vào và đầu ra. -PC 817 cũng là dạng opto nó hoạt động tượng tự như các opto khác. -khi cung cấp 5V vao chân số 1, LED phía trong Opto nối giữa chân số 1 và 2 sáng, xảy ra hiệu ứng quang điện dẫn đến 3-4 thông,mức logic sẽ bị chuyển từ 1 sang 0 mà không cần tác động trực tiếp từ IC Sơ đồ chân PC817 -Chân 1: Anode -Chân 2: Cathode -Chân 3: Emitter-Phát -Chân 4: Collector –Thu Opto rất hay được sử dụng trong các hệ thống điện-điện tử công suất lớn dùng để ngăn các xung điện áp cao hay các phần mạch điện công suất lớn có thể làm hư hỏng các ngõ điều khiển công suất nhỏ trên một bo mạch . Opto PC817 dùng để cách ly giữa bo điều khiển và Motor DC. Sơ lược về hoạt động của mạch này như sau: khi nhận được tín hiệu điện kích vào chân 1 của Opto PC817 > chân 3 -4 Opto thông mạch >FET IRF540 dẫn dòng làm cho motor quay. 2.2.3 Biến áp. Chúng ta sử dụng biến áp hạ áp 220v xuống 12v để cách ly điện áp giữa điểm đo với mạch điều khiển giupa cho quá trình đo được an toàn và chuẩn sác hơn Thông tin sản phẩm Điện áp vào: 220V-50Hz Điện áp ra: 12V-10A và 24V-5A Xuất xứ: Powertrans- Việt Nam 2.2.4 Nút ấn Sử dụng nút ấn công nghiệp có đèn báo trạng thái bên trong 2.3 Mạch nguyên lý Khối nguồn Khối nguồn bao gồm : 1 nguồn xoay chiều 220 V 1 máy biến áp giảm áp nhưng không làm thay đổi giá trị tần số. 1 bộ biến đổi xung hình sin thành tín hiệu xung vuông. Đưa điện áp lưới vào cuộn sơ cấp của máy biến áp thì bên kia cuộn thứ cấp cho ra dòng điện xoay chiều cỡ 12 Volt. Dòng điện này qua 1 điện trở có giá trị khoảng 220Ω và được đưa vào bộ biến đổi sóng hình sin thành sóng xung vuông. Hoạt động của bộ biến điện áp xoay chiều hình sin thành sóng dạng xung vuông để đưa vào chân ngắt ngoài của vi xử lí AT89C52. Bộ biến đổi bao gồm 01 diode phát quang và 01 Tranzitor bóng ngược NPN được tích hợp sẵn trong 1 khối. Trong nửa chu kì dương của điện áp, diode cho dòng điện đi qua và phát sáng chiếu vào tranzitor. Khi có ánh sáng thì tranzitor mở, dòng điện 0V đi từ đất vào chân 3 của tranzitor, lúc này tín hiệu ở chân 4 là 0 được đưa qua cổng NOT thành 1 và được đưa vào chân ngắt ngoài của vi xử lí. Trong nửa chu kì âm điện áp, diode không cho dòng điện đi qua Khối cấp xung cho vi xử lí Khối cảnh báo và điều khiển Khối cảnh báo và điều khiển bao gồm : 02 nút ấn : RUN để khởi động hệ thống và đo tần số Nút STOP để dừng hệ thống Đèn LED D3 để cảnh báo tần số cao lớn hơn 55 Hz Đèn LED D4 để cảnh báo tần số thấp nhỏ hơn 45 Hz Khối hiển thị LED 7 thanh Để hiện thị 1 đèn LED 7 đoạn thì cần 8 đường điều khiển ( 7 đường cho 7 đoạn và 1 đương cho dấu chấm.) khi điều khiển trực tiếp hoặc cần 4 đương khi dùng vi mạch giải mã BCD-7 đoạn 7447/7448. Nguyên lí hiển thi quét LED : để điều khiển cho Led 7 đoạn cần 8 đường dây số liệu cho các LED(7 đường nếu không cần dấu chấm). Việc hiển thị được thực hiện bằng cách lần lượt cấp nguồn cho các LED và đưa số liệu tương ứng của LED đó ra 8 đương dây số liệu. Như vậy thực chất tại 1 thời điểm chỉ có 1 LED hoạt động, còn các LED khác không hoạt động vì không được cấp nguồn. Tuy nhiên, do đặc tính lưu ảnh của mắt người mà ta nhìn thấy tất cả các LED đều hoạt động. Ta cấp nguồn cho LED ở cổng P2 từ P2.0 đến P2.3 Đồng thời xuất số liệu ra cổng P0 để điều khiển và hiển thị Khối vi xử lí AT89C52 Khối điều khiển có chức năng xử lí tín hiệu đầu vào.Đưa ra các chân tín hiệu để hiện thị , cảnh báo ngưỡng cao thấp của lưới điện,Ngắt Thực hiện mô phỏng Tần số = 44 Hz đèn LED sáng báo tần số thấp Tần số = 56 Hz đèn LED sáng báo tần số cao   2.5 Lưu đồ thuật toán   S Đ S Đ S Đ CHƯƠNG III : TỔNG KẾT Sau khi thực hiện đồ án chúng em rút ra được những ưu,nhược điểm của mạch như sau: 3.1. Ưu điểm Mạch có cấu tạo gồm những thành phần gồm những linh kiện đơn giản,rẻ tiền Khả năng đáp ứng nhanh với sự thay đổi của đối tượng cần đo Mạch hiển thị LED 7 đoạn nên dễ dàng cho người sử dụng theo dõi tần số ở mức khác nhau Dễ sử dụng, tiện lợi 3.2. Nhược điểm Còn có sai số về giá trị đo được do sai số linh kiện và những sai số trong khi tính toán thiêt kế mạch nhưng chấp nhận được. Mạch chưa có chức năng bảo vệ ngắn mạch Chưa có các khối nguồn tạo điện áp ra cho IC rõ ràng Độ tin cậy của mạch chưa được cao do hạn chế về kinh nghiệm cũng như giới hạn về trình độ chuyên môn còn yếu

BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN MỤC LỤC LỜI NÓI ĐẦU .2 CHƯƠNG I : PHÂN TÍCH U CẦU CƠNG NGHỆ 1.1 Phân tích giới hạn đặc điểm thiết bị tham sô 1.1.1 Tổng quan họ vđk 8051 1.1.2 Cấu trúc chức 8051 .4 1.1.3 Hoạt động timer 8051 1.1.4 Ngắt sử lý ngắt 13 1.1.5 Sơ lược led 14 1.1.6 Kết nối với vi điều khiển .16 1.1.7 Chuẩn RS232 18 1.1.8 Sơ đồ ghép nối RS232 22 1.2 Trình bày đo tần số phương pháp số 23 CHƯƠNG II : THIẾT KẾ HỆ THỐNG 25 2.1 Phân tích giới hạn tính tốn: .25 2.2 Lựa chọn thiết bị 26 2.2.2 Tổng quan opto PC817 .28 2.3 Mạch nguyên lý 30 2.3.1 Khối nguồn 31 2.3.2 Khối cấp xung cho vi xử lí .31 2.3.3 Khối cảnh báo điều khiển 32 2.3.4 Khối hiển thị LED .33 2.3.5 Khối vi xử lí AT89C52 34 2.4 Thực mô .35 CHƯƠNG III : TỔNG KẾT 38 3.1 Ưu điểm 38 3.2 Nhược điểm 38 Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu cao Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng lại điều phức tạp Các vi điều khiển theo thời gian với phát triển công nghệ bán dẫn tiến triển nhanh, từ vi điều khiển bit đơn giản đến vi điều khiển 32 bit, sau 64 bit Điện tử trở thành ngành khoa học đa nhiệm vụ Điện tử đáp ứng địi hỏi khơng ngừng từ lĩnh vực công – nông – lâm – ngư nghiệp nhu cầu cần thiết hoạt động đời sống ngày Một ứng dụng thiết thực ứng dụng nhiệt kế điện tử Với môn học Vi điều khiển này, em định nhận làm tập lớn với đề tài ứng dụng họ vi điều khiển 8051 ghép nối 04 led bảy để hiển thị số đo cảnh báo tần số lưới điện công nghiệp,khoảng đo [45-55] hz Nội dung báo cáo gồm phần: I – Cơ sở lý thuyết II – Nội dung thiết kế III – kết luận Mặc dù cố gắng thiết kế làm mạch thời gian ngắn lực hạn chế nên mạch cịn sai sót Em mong thầy giáo bạn góp ý để việc học tập em tốt Em xin chân thành cảm ơn! Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN CHƯƠNG I : PHÂN TÍCH U CẦU CƠNG NGHỆ 1.1 Phân tích giới hạn đặc điểm thiết bị tham sô 1.1.1 Tổng quan họ vđk 8051 AT89C51 vi điều khiển bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với KB PEROM (Flash Programeable and erasable read only memory) Các đặc điểm 8951 tóm tắt sau: - 4KB nhớ, lập trình lại nhanh, có khả ghi xóa tới - Tần số hoat động từ Hz đến 24 MHz - mức khóa nhớ lập trình - Timer/Counter 16 bit - 128 Byte RAM nội - Port xuất/nhập (I/O) bit - Giao tiếp nối tiếp - 64 KB vùng nhớ mã - 64 KB vùng nhớ liệu - Xử lý Boolean (hoạt động bit đơn) - 210 vị trí nhớ định vị bit - 4μs cho hoạt động nhân chia 1.1.2 Cấu trúc chức 8051 Trang 1000 chu kỳ BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN Sơ đồ cấu trúc 8051 - ROM : loại nhớ không liệu nguồn cung cấp, gọi nhớ chương trình bên có dung lương 4Kbytes dùng để lưu giừ mã lệnh chương trình (phần mềm ứng dụng) RAM : Bộ nhớ liệu bên có dung lượng 128 Bytes 8051, 256 Bytes với 8052 dùng đẻ lưu trữ liệu biển số, số, đệm, truyền thông… Timer0, Timer1(T0,T1) : loại đếm thời gian đếm xung Sẻial port : cổng truyền thông nối tiếp OSC : Bộ phát xung nhịp nhằm tạo làm việc cách đồng cho hệ thống vi điều khiển BUS : Khối điều khiển bus địa chỉ, bus liệu(data bus),và bus điều khiển (control bus) Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN Port (P0.0 – P0.7 hay chân 32 – 39): Ngồi chức xuất nhập ra, port cịn bus đa hợp liệu địa (AD0 – AD7), chức sử dụng AT89C51 giao tiếp với thiết bị ngồi có kiến trúc bus Port Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN + Port (P1.0 – P1.7 hay chân – 8): có chức xuất nhập theo bit byte Ngoài ra, chân P1.5, P1.6, P1.7 dùng để nạp ROM theo chuẩn ISP, chân P1.0 P1.1 dùng cho Timer Port + Port (P2.0 – P2.7 hay chân 21 – 28): port có cơng dụng kép Là đường xuất nhập byte cao bus địa thiết kế dùng nhớ mở rộng Port + Port (P3.0 – P3.7 hay chân 10 – 17): chân port ngồi chức xuất nhập cịn có số chức đặc biệt sau: Trang BÀI TẬP LỚN VI XỬ LÍ, 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 INT0 INT1 T0 T1 WR RD Chức chuyển đổi Dữ liệu nhận cho port nối tiếp Dữ liệu truyền cho port nối tiếp Ngắt bên Ngắt bên Ngõ vào Timer/Counter Ngõ vào Timer/Counter Xung ghi nhớ liệu Xung đọc nhớ liệu Port + RST (Reset – chân 9): mức tích cực chân mức 1, để reset ta phải đưa mức (5V) đến chân với thời gian tối thiểu chu kỳ máy (tương đương 2µs thạch anh 12MHz + XTAL 1, XTAL 2: AT89S52 có dao động chip, thường nối với dao động thạch anh có tần số lớn 33MHz, thôn thường 12MHz + EA (External Access): EA thường mắc lên mức cao (+5V) mức thấp (GND) Nếu mức cao, vi điều khiển thi hành chương trình từ ROM nội Nếu mức thấp, chương trình thi hành từ nhớ mở rộng + ALE (Address Latch Enable): ALE tín hiệu để chốt địa vào ghi bên nửa đầu chu kỳ nhớ Sau đường port dùng để xuất nhập liệu nửa chu kỳ sau nhớ Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN + PSEN (Program Store Enable): PSEN điều khiển phép nhớ chương trình mở rộng thường nối với đến chân /OE (Output Enable) EPROM phép đọc bytes mã lệnh PSEN mức thấp thời gian đọc lệnh Các mã nhị phân chương trình đọc từ EPROM qua Bus chốt vào ghi lệnh vi điều khiển để giải mã lệnh Khi thi hành chương trình ROM nội, PSEN mức thụ động (mức cao) + Vcc, GND: AT89S52 dùng nguồn chiều có dải điện áp từ 4V – 5.5V cấp qua chân 40 (Vcc) chân 20 (GND) 1.1.3 Hoạt động timer 8051 Bộ định thời timer chuỗi Flip Flop chia làm 2, nhận tín hiệu vào nguồn xung clock, xung clock đưa vào flip flop thứ xung clock flip flop thứ hai mà chia tần xố clock cho tiếp tục Hoạt động timer đơn giản bit minh họa sau: Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN  Timer Flip Flops Các timer ứng dụng thực tế cho hoạt động định hướng 8951 có timer 16 bit, Timer có mode hoạt động Các Timer dùng để đếm giờ, đếm kiện cần thiết sinh tốc độ tốc độ Baud gắn liền Port nối tiếp định thời timer 16 bit, tầng cuối tầng thứ 16 chia tần số clock vào cho 216=65.536 Các timer 8951 truy xuất việc dùng ghi chức đặc biệt sau: Timer SPR Perpose Address TCON TMOD TL0 TL1 TH0 TH1 Control Mode Timer low-byte Timer low-byte Timer high-byte Timer high-byte 88H 89H 8AH 8BH 8CH 8DH Bit Addressable YES NO NO NO NO NO -  Các ghi điều khiển - Các ghi điều khiển timer 0,1 Thanh ghi chế độ định thời Timer TMOD: Thanh ghi TMOD gồm hai nhóm bit : bit thấp đặt mod hoạt động timer bit cao đặt hoạt động timer bit ghi TMOD tóm tắt sau: Trang BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN - Thanh ghi điều khiển Timer (Timer Control) Thanh ghi TCON chức bit tràng thái bit điều khiển Timer Timer TF1 TR1 TF0 TR0 IT1 IE1 IT0 IE0 Thanh ghi TCON - Các ghi chứa giá trị định thời Các Timer Timer dều Timer 16 bit, Timer có ghi bit để chúa giá trị khởi tạo giá trị thời Timer Cụ thể Timer có TH0 TL0; Timer có TH1 TL1 Và ghi khơng định địa bit - Các ghi điều khiển Timer Thanh ghi T2CON TF2 EXF2 RCLK TCLK EXEN2 TR2 Hình cụ thể tùng bit C/#t2 CP/#RL Thanh ghi T2MOD T2MOD có địa 0C9H, ghi không định địa bit Bit Kí hiệu T2OE Mô tả Không sử dụng Không sử dụng Không sử dụng Không sử dụng Không sử dụng Không sử dụng Cho phép đầu sử dụng timer để tạo xung (chế độ Trang 10 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN F= : ~18000 đến ~22000 Để tránh phải tính tốn với số liệu q lớn ta chia cho tử mẫu phép tính cho 100 , cơng thức thành F= : ~180 đến ~220 Khi số liệu nhỏ đáng kể để ta nhập vào ghi liệu lập tình, ta phải chấp nhận sai số dùng cách 2.2 Lựa chọn thiết bị 2.2.1 Cấu trúc chung VĐK AT89C52 VĐK 89C52 mà sử dụng có đặc điểm sau: · 4KB ROM bên · 256 Byte · Port xuất nhập liệu I/O · Giao tiếp nối tiếp · 64 KB vùng nhớ mã · 64 KB vùng nhớ liệu · Xử lý Boolean 2.Khảo sát sơ đồ chân Trên sơ đồ chân có nhóm chân sau: Nhóm chân nguồn ni + nguồn ni 5V (chân số 40) + nối đất (chân số 20) Nhóm chân điều khiển Nhóm cịn phân biệt tín hiệu vào, a Nhóm tín hiệu vào điều khiển + Xtal1 (chân số 18), Xtal2 (chân số 19): nối nhịp chu trình tinh thể thạch anh cho mày phát xung + RST(Reset): (chân số 9): nối chuyển mạch để xóa trạng thái ban đầu hay khởi động lại Trang 25 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN + /EA/CPP: (chân số 31) chọn nhớ (nối đất) hay chọn nhớ (nối nguồn nuôi 5V) + T2 hay P1.0: (chân số 1) tín hiệu vào đếm cho Timer2/ Counter2 8952 + T2EX: (chân số 2) tín hiệu vào ngắt ngồi cho 8950 + /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt cho 8051 + /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt ngồi cho 8051 + T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0 + T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1 b Nhóm tín hiệu điều khiển + ALE//PROG: (chân số 30) dùng để đưa tín hiệu chốt dịa (ALE) có nhớ ngồi hay điều khiển ghi chương trình /PROG + /PSEN: (chân số 29) dùng để đưa tín hiệu điều khiển đọc nhớ chương trình ROM ngồi + /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi liệu vào nhớ + /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc liệu từ nhớ ngồi c Nhóm tín hiệu địa chỉ, liệu + cổng vào, địa chỉ/ liệu P0 hay P0.0-P0.7: (chân số 39-32) dùng để trao đổi tin liệu D0-D7, đưa địa thấp (A0-A7) theo chế độ dồn kênh (kết hợp với tín hiệu chốt địa ALE) + cổng vào địa chỉ/ liệu P2 hay P2.0-P2.7: (chân số 21-28) dùng để trao đổi tin song song liệu (D0-D7) đưa địa cao (A8-A15) + cổng vào liệu P1 hay P1.0-P1.7: (chân số 1-8) dùng để trao đổi tin song song liệu (D0-D7) + cổng vào, P3 hay P3.0-P3.7: (chân số 10-17) - P3.0: (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD - P3.1: (chân số 11) đưa tín hiệu truyền tin nối tiếp TXD - /INT0 hay P3.2: (chân số 12) tín hiệu vào gây ngắt VĐK - /INT1 hay P3.3: (chân số 13) tín hiệu vào gây ngắt VĐK T0 hay P3.4: (chân số 14) tín hiệu vào đếm cho Timer0/ Counter0 cho VĐK 8051/8052 T1 hay P3.5: (chân số 15) tín hiệu vào đếm cho Timer1/ Counter1 cho VĐK 8051/8052 Trang 26 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN - /WR hay P3.6: (chân số 16) để đưa tín hiệu ghi liệu vào nhớ - /RD hay P3.7: (chân số 17) để đưa tín hiệu đọc liệu từ nhớ ngồi T2 hay P1.0: (chân số 1)tín hiệu vào đếm cho Timer2/ Counter2 cho VĐK 8052 - T2EX: (chân số 2) tín hiệu vào gây ngắt VĐK 8052 Ngồi tín hiệu chuyên dùng trên, cổng vào/ P3 dùng để trao đổi tin liệu D7-D0 2.2.2 Tổng quan opto PC817 Opto linh kiện điện tử người dùng sử dụng rộng rãi lĩnh vực điện tử -Opto hay gọi cách ly quang dùng để truyền tín hiệu điện cách chuyển tín hiệu ánh sáng sau truyền -Nó dùng để cách ly điện đầu vào đầu -PC 817 dạng opto hoạt động tượng tự opto khác -khi cung cấp 5V vao chân số 1, LED phía Opto nối chân số sáng, xảy hiệu ứng quang điện dẫn đến 3-4 thông,mức logic bị chuyển từ sang mà không cần tác động trực tiếp từ IC Sơ đồ chân PC817 -Chân 1: Anode Trang 27 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN -Chân 2: Cathode -Chân 3: Emitter-Phát -Chân 4: Collector –Thu Opto hay sử dụng hệ thống điện-điện tử công suất lớn dùng để ngăn xung điện áp cao hay phần mạch điện công suất lớn làm hư hỏng ngõ điều khiển công suất nhỏ bo mạch Opto PC817 dùng để cách ly bo điều khiển Motor DC Sơ lược hoạt động mạch sau: nhận tín hiệu điện kích vào chân Opto PC817 > chân -4 Opto thơng mạch >FET IRF540 dẫn dịng làm cho motor quay 2.2.3 Biến áp Chúng ta sử dụng biến áp hạ áp 220v xuống 12v để cách ly điện áp điểm đo với mạch điều khiển giupa cho trình đo an tồn chuẩn sác Thơng tin sản phẩm Điện áp vào: 220V-50Hz Điện áp ra: 12V-10A 24V-5A Xuất xứ: Powertrans- Việt Nam 2.2.4 Nút ấn Sử dụng nút ấn cơng nghiệp có đèn báo trạng thái bên Trang 28 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN 2.3 Mạch nguyên lý Trang 29 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN 2.3.1 Khối nguồn Khối nguồn bao gồm : - nguồn xoay chiều 220 V - máy biến áp giảm áp không làm thay đổi giá trị tần số - biến đổi xung hình sin thành tín hiệu xung vuông Đưa điện áp lưới vào cuộn sơ cấp máy biến áp bên cuộn thứ cấp cho dòng điện xoay chiều cỡ 12 Volt Dịng điện qua điện trở có giá trị khoảng 220Ω đưa vào biến đổi sóng hình sin thành sóng xung vng Hoạt động biến điện áp xoay chiều hình sin thành sóng dạng xung vng để đưa vào chân ngắt ngồi vi xử lí AT89C52 - Bộ biến đổi bao gồm 01 diode phát quang 01 Tranzitor bóng ngược NPN tích hợp sẵn khối - Trong nửa chu kì dương điện áp, diode cho dịng điện qua phát sáng chiếu vào tranzitor Khi có ánh sáng tranzitor mở, dịng điện 0V từ đất vào chân tranzitor, lúc tín hiệu chân đưa qua cổng NOT thành đưa vào chân ngắt vi xử lí - Trong nửa chu kì âm điện áp, diode khơng cho dịng điện qua 2.3.2 Khối cấp xung cho vi xử lí Trang 30 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN 2.3.3 Khối cảnh báo điều khiển Trang 31 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN Khối cảnh báo điều khiển bao gồm : - 02 nút ấn : RUN để khởi động hệ thống đo tần số Nút STOP để dừng hệ thống - Đèn LED D3 để cảnh báo tần số cao lớn 55 Hz - Đèn LED D4 để cảnh báo tần số thấp nhỏ 45 Hz 2.3.4 Khối hiển thị LED Để thị đèn LED đoạn cần đường điều khiển ( đường cho đoạn đương cho dấu chấm.) điều khiển trực tiếp cần đương dùng vi mạch giải mã BCD-7 đoạn 7447/7448 Nguyên lí hiển thi quét LED : để điều khiển cho Led đoạn cần đường dây số liệu cho LED(7 đường không cần dấu chấm) Việc hiển thị thực cách cấp nguồn cho LED đưa số liệu tương ứng LED đương dây số Trang 32 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN liệu Như thực chất thời điểm có LED hoạt động, cịn LED khác khơng hoạt động khơng cấp nguồn Tuy nhiên, đặc tính lưu ảnh mắt người mà ta nhìn thấy tất LED hoạt động - Ta cấp nguồn cho LED cổng P2 từ P2.0 đến P2.3 - Đồng thời xuất số liệu cổng P0 để điều khiển hiển thị 2.3.5 Khối vi xử lí AT89C52 Trang 33 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN Khối điều khiển có chức xử lí tín hiệu đầu vào.Đưa chân tín hiệu để thị , cảnh báo ngưỡng cao thấp lưới điện,Ngắt 2.4 Thực mô Tần số = 44 Hz đèn LED sáng báo tần số thấp Trang 34 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN Mức tần sô 50hz đèn không báo Tần số = 56 Hz đèn LED sáng báo tần số cao Trang 35 BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN 2.5 Lưu đồ thuật toán MAIN INT_T0 INT_EX0 XÓA CỜ TF0 Tắt ngắt Khai báo timer2 Khai bao timer0 Khai bao timer1 Khơi tao gia tri Khởi tạo timer Vho phep ngat Đợi ngắt END Nạp lại giá trị TH0,TL0 XÓA CỜ IE0 XOA CỜ TR1 Lấy FR_H,FR_L chia 100 FR_H=TH1 FR_L=TL1 TH1=0 TL1=0 Lấy 10000 chia cho kq FH =thương Dư *100 =tich Tich / (FL/100) Phần nguyên lưu vào FL RET Trang 36 TR1=1 RETI BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN HIEN_THI INT_T2 Gọi Hàm TACH _SO Gọi Hàm SO2LED7 Gọi Hàm QUET_LED B_START=1 B_STOP=1 EX0=1 TR0=1 Gọi KT_TANSO Gọi HIEN_THI RET EX0=1 TR0=1 RETI RETI QUET_LED SO2LED7 TACH_SO FL/10 DV= dư CHUC=thương FH/10 TRAM=thương NGHIN=dư P2=01H P0=D0 D0=SEG7(DV) D1=SEG7(CHUC) D2=SEG7(TRAM) D3=SEG7(NGHIN) R7=0 P2=02H P0=D1 RET R7=1 RET P2=04H P0=D2 R7=1 P2=08H P0=D3 R7=0 R7=3 RET Trang 37 R7=2 RET R7=1 RET BÀI TẬP LỚN VI XỬ LÍ, VI ĐIỀU KHIỂN KT_TANSO 45

Ngày đăng: 22/06/2021, 09:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w