Ứng dụng họ điều khiển 8051 ghép nối 04 LED 7 thanh để hiển thị tần số lưới điện với dải đo [45-55]HzFile mô phỏng, lưu đồ thuật toán: https://www.mediafire.com/?5e6zaqbb4bhsyi4
BÀI TẬP LỚN VXL & VĐK Đề tài Ứng dụng họ điều khiển 8051 ghép nối 04 LED để hiển thị tần số lưới điện với dải đo [45-55]Hz BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Mục Lục Lời nói đầu Với tiến người, với phát triển khoa học kỹ thuật nghành cơng nghiệp phát triển mạnh mẽ, hệ thống ứng dụng đời, điều đặt yêu cầu cao chất lượng, độ xác Một hệ thống ứng dụng nhiều là: hệ thống đo điều khiển hiển thị led thanh.Các hệ thống ngày dần tự động hóa với kỹ thuật vi xử lý, vi điều khiển… ngày làm cho tự động dần trở nên tốt đảm bảo yêu cầu Trong trình sản xuất nhà máy,xí nghiệp; q trình điều khiển nhiệt độ phòng, hội nghị, khu chung cư, việc đo khống chế nhiệt độ tự động yêu cầu cần thiết quan trọng Vì nắm bắt nhiệt độ làm việc hệ thống, dây chuyền sản xuất… giúp biết tình trạng làm việc theo u cầu có xử lý kịp thời để tránh hư hỏng giải cố sảy ra.Yêu cầu hệ thống phải đảm bảo xác, kịp thời nhanh, hệ thống làm việc ổn định có nhiễu tác động khác Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Hà Nội ngày 28 tháng 12 năm 2013 Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Quá trình thực hiện: Xây dựng mạch nguyên lý Xây dựng thuật toán Viết chương trình Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng PHẦN I: CƠ SỞ LÝ THUYẾT Chương I: Tổng quan vi điều khiển Giới thiệu họ vi xử lý họ điều khiển thông dụng Lịch sử phát triển vi xử lý vi điều khiển Sự đời phát triển nhanh chóng kĩ thuật vi điện tử mà đặc trưng kĩ thuật vi xử lý tạo bước ngoặt quan trọng phát triển khoa học tính tốn, điều khiển vi xử lý thông tin.Kĩ thuật vi xử lý đóng vai trị rât quan trọng tất lĩnh vực sống khoa học kĩ thuật, đặc biệt lĩnh vực tin học tự động hoá Năm 1971, hãng Intel cho đời vi xử lý( microprocessor ) giới tên gọi Intel – 4004/4 bit, nhằm đáp ứng nhu cầu cấp thiết công ty kinh doanh hãng truyền thông BUSICOM Intel-4004 kết ý tưởng quan trọng kĩ thuật vi xử lý số Đó kết cấu logic mà thay đổi chức chương trình ngồi khơng phát triển theo hướng tạo cấu trúc cứng thực số chức định trước Sau đó, vi xử lý liên tục đưa thị trường ngày phát triển, hoàn thiện hệ sau Vào năm 1972, hãng Intel đưa vi xử lý bit với tên Intel 8008/8 bit Từ năm 1974 – 1975, Intel chế tạo vi xử lý 8-bit 8080 8085A Cũng vào khoảng thời gian này, loạt hãng khác giới cho đời vi xử lý tương tự : 6800 Motorola với 5000 Tranzitor, signetics 6520, 1801 RCA, 6502 hãng MOS Technology Z80 hãng Zilog Các vi điều khiển 2.1 Các vi điều khiển xử lý nhúng Trong mục bàn nhu cầu vi điều khiển (VĐK ) so sánh chúng với vi xử lý dạng chung Pentium vi xử lý 86 khác Chúng ta xem xét vai trò vi điều khiển thị trường sản phẩm nhúng Ngồi ra, cịn cung cấp số tiêu chuẩn vể cách lựa chọn vi điều khiển Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng 2.2 Bộ vi điều khiển so với vi xử lý dùng chung Sự khác vi điều khiển vi xử lý gì? Bộ xử lýở cá vi xử lý công dụng chung họ Intel 86(8086, 80286, 80386, 80486 Pentium) họ Motorola 680 ( 68000, 68010, 68020, 68030, 68040 vv ) Những vi xử lý khơng có RAM, ROM khơng có cổng vào chíp.Với lý mà chúng gọi chung vi xử lý cơng dụng chung Hình: Hệ thống vi xử lý so sánh với hệ thống vi điều khiển a)Hệ thống vi xử lý công dụng chung b) Hệ thống vi điều khiển Như thiết kế hệ thống sử dụng vi xử lý công dụng chung chẳng hạn Pentium hay 68040 phải bổ xung thêm RAM, ROM, cổng vào định thời để làm cho chúng hoạt động Mặc dù việc bổ sung RAM, ROM cổng vào bên làm cho hệ thống cồng kềnh đắt hơn, chúng có ưu điểm linh hoạt chẳng hạn người thiết kế có quyền định số lượng RAM, ROM cổng vào cần thiết phù hợp với tốn tam tay Điều khơng thể có với vi điều khiển Một vi điều khiển có CPU (một vi xử lý) với lượng cố định RAM, ROM, cổng vào định thời tất chíp Hay nói cách khác xử lý RAM, ROM cổng vào định thời nhúng với chíp; người thiết kế khơng thể bổ xung thêm nhớ , cổng vào đinh thời cho Số lượng cố định RAM, ROM chíp số cổng vào – vi điều khiển làm cho chúng trở nên lý tưởng với nhiều ứng dụng mà giá Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng thành không gian lại hạn chế Trong nhiều ứng dụng , ví dụ điều khiển TV từ xa khơng cần cơng suất tính tốn vi xử lý 486 thâm chí 8086 Trong nhiều ứng dụng khơng gian chiếm, cơng suất tiêu tốn giá thành đợn vie cân nhắc nghiêm ngặt nhiều so với cơng suất tính toán Những ứng dụng thường yêu cầu số thao tác vào-ra để đọc tín hiệu tắt- mở bit định Điều thú vị số nhà sản xuất vi điều khiển xa tích hợp chuyển đổi ADC ngoại vi khác vào điều khiển Chương II:Tổng quan họ vi điều khiển 8051 I Họ vi điều khiển 8051 Giới thiệu chung Họ vi điều khiển 8051(còn gọi C51) họ vi điều khiển thông dụng Bộ vi điều khiển có 128 byte RAM,4K byte ROM chíp, hai định thời, cổng nối tiếp cổng (đều rộng bit) vào rat ấ t c ả đ ợ c đ ặ t t r ê n m ộ t c h íp L ú c ấ y n ó đ ợ c c o i l m ộ t “ h ệ t h ố n g t r ê n chíp” 8051 xử lý bit có nghĩa CPU làm việc với bit liệu thời điểm Dữ liệu lớn bit chia thành liệu bit xử lý 8051 có tất cổng vàora I/O cổng rộng b i t Mặ c d ù có t h ể có m ộ t R O M t r ê n c h íp c ự c đ i l K b yt e , n hư n g c c n hà s ả n x uấ t l ú c đ ó đ ã c ho x uấ t x n g c h ỉ vớ i K b y t e R O M chíp 8051 trở nên phổ biến sau Intel cho phép nhà sản xuất khác sản xuất bán dạng biến thể 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051.Điều dẫn đến đ i n h i ề u p h i ê n b ả n c ủ a vớ i cá c t ố c đ ộ k há c n u d un g l ợ n g ROM chíp khác bán nửa nhà sản xuất Điềunày quan trọng có nhiều biến thể khác 8051 tốc độ dung lương nhớ ROM chíp, tất chúng tương thích với 8051 ban đầu lệnh Điều có nghĩa ta viết chương trình cho phiên chạy với phiên khác mà khơng phân biệt từ hãng sản xuất Nhóm : Page BTL VXL & VĐK • • • • • • • • • • • GVHD: Ts Phạm Văn Hùng Sơ đồ cấu trúc chung họ 8051 Interrupt control : Điều khiển ngắt Other registers : Các ghi khác ROM : loại nhớ không liệu nguồn cung cấp, gọi nhớ chương trình bên RAM : nhớ liệu bên có dung lượng 128Byte dùng để lưu trữ liệu biến số, số, đệm truyền thông Timer 2, , : Bộ định thời , , CPU : Đơn vị điều khiển trung tâm Oscillator : Mạch dao động Bus control: Điều khiển Bus I/O ports: Các ports vào/ Serial port: port nối tiếp Address/data : địa chỉ/ liệu Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Sơ đồ chân 8051 - Chức : - Chân 40 nối dương nguồn 5V - Chân 20 nối đất (Mass,GND) - Chân 29 (PSEN): tín hiệu điều khiển xuất 8051, cho phép chọn nhớ nối chung với chân OE (output) EPROM phép đọc byte chương trình ( đọc lệnh- khác với đọc liệu) - Chân 30 (ALE) tín hiệu điều khiển xuất 8051, cho phép kênh Bus địa Bus liệu Port - Chân 31 (EA) đưa xuống thấp cho phép chọn nhớ mã 8051 - P0 từ chân 39-> 32 tương ứng chân P0_0 -> P0_7 - P1 từ chân 1->8 tương ứng với chân P1_0 -> P1_7 P2 từ chân 21->28 tương ứng chân P2_0->P2_7 P3 từ chân 10->17 tương ứng chân P3_0->P3_7 Riêng cổng có chức chân hình vẽ : P3.0 – RxD : chân nhận liệu nối tiếp giao tiếp với RS232 (COM) P3.1 – TxD : phân truyền liệu nối tiếp giao tiếp RS232 P3.2 – INT0 : interupt 0, ngắt P3.3 – INT1 : interupt ngắt P3.4 – T0 : Timer đầu vào timer P3.5 – T1 : Timer đầu vào timer P3.6 – WR : Điều khiển ghi liệu P3.7 – RD : Điều khiển đọc liệu Nhóm : Page BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng - Chân 18,19 nối với thạch anh tạo thành mạch dao động cho vi điều khiển, vi xử lý - Tần số thạch anh thường dùng ứng dụng 12Mhz 11.092MHz (Giao tiếp với cổng COM), tần số tối đa 24Mhz • - Cổng vào song song (I/O Port) 8051 có cổng vào song song có tên P0, P1, P2, P3 tất cổng cổng vào chiều bit Các bít cổng chân chíp cổng có chân chíp Hướng liệu dùng cổng làm cổng hay cổng vào độc lập cổng chân cổng Các chân P0 điện trở treo cao (pullup resistor) bên trong, mạch lái tạo mức cao chi có sử dụng cổng với tính bus dồn kênh địa chỉ/ liệu Như với chức thông thường, P0 cổng open drain, với chức vào, P0 cổng cao trở Nếu muốn sử dụng cổng P0 làm cổng vào /ra thơng dụng ta phải thêm trở tử 4K7 đến 10K Các cổng P1, P2, P3 có điện trở pullup bên trong, dùng với chức cổng vào/ra thơng thường mà khơng cần thêm điện trở bên ngồi Cổng truyền thông nối tiếp ( Serial Port) : Cổng nối tiếp 8051 chủ yếu dùng ứng dụng có u cầu truyền thơng với máy tính, với vi điều khiển khác Liên quan đến cổng nối tiếp chủ yếu có ghi : SCON SBUF Ngoài ra, ghi khác ghi PCON (khơng đánh địa bít) có bít tên SMOD quy định tốc độ truyền cổng nối tiếp có gấp đơi lên (SMOD=1) hay khơng (SMOD=0) Cổng có đặc điểm : Truyền song cơng : có nghĩa thời điểm vừa truyền vừa nhận liệu Phương thức truyền không đồng bộ: liệu truyền theo kí tự Bộ đệm truyền nhận liệu có tên SBUF SCON ghi bit dùng để lập trình việc đóng khung liệu, xác định chế độ làm việc cổng truyền thông nối tiếp Bảng mô tả chi tiết bit khác ghi SCON : Bit Nhóm : Tên Địa Chức Page 10 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Nút nhấn nối đầu với vi điều khiển đầu nối mass sau: d Khối xử lý Khối xử lý vi xử lý 89C52 Nhóm : Page 18 BTL VXL & VĐK Nhóm : GVHD: Ts Phạm Văn Hùng Page 19 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng e Khối hiển thị Khối hiển thị bao gồm giải mã BCD sử dụng 74LS247 Led Anot chung Sau có khối, thực ghép nối ta có mạch mơ hồn chỉnh sau: Nhóm : Page 20 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Viết Chương trình điều khiển a Phần mềm lập trình Phần mềm lập trình Keil C Các bước tạo project: Chạy chương trình Keil C: Nhóm : Page 21 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Vào Project->New Project: Chọn đường dẫn để lưu đặt tên cho project: Nhóm : Page 22 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Sau ấn Save Tiếp theo ta chọn loại Chip: ta lựa chọn Atmel->chọn AT89C51 Nhóm : Page 23 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Ấn Yes ta hoàn thành bước – tạo project 2.Tạo File.C Nhóm : Page 24 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Tiếp theo ta cần tạo File.C để viết chương trình cho Chip lên file Vào File->New: Nhóm : Page 25 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Sau chọn Save: Chọn đường dẫn vào thư mục với Project vừa tạo bước Sau đặt tên, với phần mở rộng C: Nhóm : Page 26 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Chọn Save, ta hoàn thành xong bước – Tạo File.C 3 Add File.C vào Project Ta cần phải liên kết File.C với Project vừa tạo với nhau: Trong giao diện Keil C, không gian làm việc Project: Chuột phải vào phần “Source Group 1” -> Add files to Group “Source Group 1”: Nhóm : Page 27 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng Chọn đường dẫn đến thư mục Project -> chọn file.C vừa tạo bước -> Add: Vậy project tạo Nhóm : Page 28 BTL VXL & VĐK GVHD: Ts Phạm Văn Hùng b Giải pháp đo Vì tần số lưới điện nhỏ nên sử dụng biện pháp đếm xung khoảng thời gian gây sai số lớn Vì nên ta sử dụng giải pháp đo chu kỳ xung Dùng timer0 chế độ 16 bit, đếm xem chu kỳ xung hết thời gian Sau lấy nghịch đảo chu kỳ tần số c Chương trình #include #include sbit sbit sbit Xung=0x90; LED1=0x96; LED2=0x97; sbit RUN =0xB7; sbit STOP =0xB6; char MaBCD(unsigned char ThapPhan) { return(ThapPhan/10)|((ThapPhan%10)