Đồ án Thiết kế mạch điện gồm 16 Led ghép nối với 8051

Vào năm 1971 tập đoàn Intel đã giới thiệu 8080, bộ vi xử lí thành công đầu tiên.Sau đó không lâu, Motorola, RCA cũng giới thiệu các bộ vi xử lí tương tự: 6800, 1801 Các vi mạch này trở thành một phần của máy tính đơn board, và trở thành thành phần trung tâm trong các sản phẩm có ích dùng để nghiêm cứu và thiết kế. Năm 1976 Intel giới thiệu bộ vi điều khiển 8748, một chip tương tự như các bộ vi xử lí và là chip đầu tiênt rong họ MCS-48. 8748 chứa trên 17000 transitor bao gồm 1 CPU, 1 K byte EPROM, 64 byte RAM, 27 chân xuất nhập và một bộ định thời 8-bit.IC này và các IC tiếp theo của họ MCS-48 đã nhanh chóng trở thành chuẩn công nghiệp trong các ứng dụng hướng điều khiển. Độ phức tạp, kích thước và khả năng của các bộ vi điều khiển được tăng thêm một bậc quan trọng vào năm 1980 khi Intel công bố chip 8051, bộ vi điều khiển đầu tiên của họ của họ vi điều khiển MCS-51.Các nhà sản xuất IC khác như Siemens, Advanced Micro Devices, Fujiitsu và Philips được cấp phép làm các nhà cung cấp thứ hai cho các chip của họ MCS-51. Chip 8051 có các dặc trưng cơ bản như sau: + 4KB ROM + 128 byte RAM + 4 port xuất nhập ( I/O port ) 8-bit + 2 bộ định thời 16-bit + Mạch giao tiếp nối tiếp + Không gian nhớ chương trình ( mã ) ngoài 64K + Không gian nhớ dữ liệu ngoài 64K + Bộ xử lí bit ( thao tác trên các bit riêng rẽ ) + 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit + Nhân/chia trong 4 μs Các thành viên khác của họ MCS-51 có các tổ hợ ROM ( EPROM ), RAM trên chip khác nhau hoặc có thêm bộ định thời thứ ba. Mỗi một IC của họ MCS-51 cũng có phiên bản CMOS công suất thấp

doc24 trang | Chia sẻ: ngtr9097 | Lượt xem: 2238 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế mạch điện gồm 16 Led ghép nối với 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐỂ TÀI: Thiết kế mạch điện gồm 16 Led ghép nối với 8051. Viết chương trình thực hiện các hiệu ứng sáng dần từ trái qua phải, từ phải qua trái, từ hai đầu vào, từ giữa ra. Nhóm sinh viên : Triệu Minh Chính Nguyễn Văn Chung Nguyễn Quốc Hưng Nguyễn Sỹ Hiệp Vũ Đình Dũng Vũ Đình Duy Lớp : DTVT K7B Thái Nguyên, ngày 15 tháng 05 năm 2010 I-Tổng quan về vi điều khiển 8051 Vào năm 1971 tập đoàn Intel đã giới thiệu 8080, bộ vi xử lí thành công đầu tiên.Sau đó không lâu, Motorola, RCA… cũng giới thiệu các bộ vi xử lí tương tự: 6800, 1801… Các vi mạch này trở thành một phần của máy tính đơn board, và trở thành thành phần trung tâm trong các sản phẩm có ích dùng để nghiêm cứu và thiết kế. Năm 1976 Intel giới thiệu bộ vi điều khiển 8748, một chip tương tự như các bộ vi xử lí và là chip đầu tiênt rong họ MCS-48. 8748 chứa trên 17000 transitor bao gồm 1 CPU, 1 K byte EPROM, 64 byte RAM, 27 chân xuất nhập và một bộ định thời 8-bit.IC này và các IC tiếp theo của họ MCS-48 đã nhanh chóng trở thành chuẩn công nghiệp trong các ứng dụng hướng điều khiển. Độ phức tạp, kích thước và khả năng của các bộ vi điều khiển được tăng thêm một bậc quan trọng vào năm 1980 khi Intel công bố chip 8051, bộ vi điều khiển đầu tiên của họ của họ vi điều khiển MCS-51.Các nhà sản xuất IC khác như Siemens, Advanced Micro Devices, Fujiitsu và Philips được cấp phép làm các nhà cung cấp thứ hai cho các chip của họ MCS-51. Chip 8051 có các dặc trưng cơ bản như sau: + 4KB ROM + 128 byte RAM + 4 port xuất nhập ( I/O port ) 8-bit + 2 bộ định thời 16-bit + Mạch giao tiếp nối tiếp + Không gian nhớ chương trình ( mã ) ngoài 64K + Không gian nhớ dữ liệu ngoài 64K + Bộ xử lí bit ( thao tác trên các bit riêng rẽ ) + 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit + Nhân/chia trong 4 μs Các thành viên khác của họ MCS-51 có các tổ hợ ROM ( EPROM ), RAM trên chip khác nhau hoặc có thêm bộ định thời thứ ba. Mỗi một IC của họ MCS-51 cũng có phiên bản CMOS công suất thấp.  Sơ đồ khối của chip 8051 Thuật ngữ “8051” được dùng để chỉ rộng rãi các chip của họ MCS-51. Khi việc thảo luận tập trung vào một cải tiến từ chip 8051 cơ bản, chip cải tiến được chỉ ra rõ ràng.  Sơ đồ chân của 8051 Ta thấy rẳng,trong số 40 chân của 8051,có 32 chân có công dụng nhập/xuất dữ liệu,tuy nhiên 24 trong 32 đường này có 2 mục đích. 32 chân này hình thành 4 port 8-bit. Với các thiết kế yêu cầu một mức tói thiểu bộ nhớ ngoài hoặc các thành phần bên ngoài khác, ta có thể sử dụng các port này làm nhiệm vụ nhập/xuất. 8 đường cho mỗi port có thể xử lí nư một đơn vị giao tiếp với các thiếp bị song song như máy in, bộ biến đổi D-A….hoặc mỗi đường có thể hoạt động độc lập giao tiếp với 1 thiết bị đơn bit như chuyển mạch, LED, BJT, FET, cuộn dây, động cơ, loa… 1 – Port 0 ( các chân từ 32 đến 39 trên 8051 ) Có hai công dụng: + Trong các thiết kế có tối thiểu thành phần, port 0 được sử dụng làm nhiệm vụ xuất/nhập. + Trong các thiết kế lớn hơn có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus dữ liệu đa hợp. 2 – Port 1 ( các chân từ 1 đến 8 trên 8051 ) Chỉ có 1 công dụng là xuất/nhập.Kí hiệu lầm lượt là P1.0, P1.1….P1.7 và được dùng để giao tiếp với các thiết bị bên ngoài khi có yêu cầu. Port 1 chỉ có chức năng sử dụng để giao tiếp với các thiết bị ngoại vi. 3 – Port 2 ( các chân từ 21 đến 28 trên 8051 ) Có 2 công dụng: + Làm nhiệm vụ xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16-bit cho các thiết kế có bộ nhớ chương trình ngoài . + Các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài. 4 – Port 3 ( các chân từ 10 đến 17 trên 8051 ) Có 2 công dụng. Khi không hoạt động nhập/xuất, các chân của port 3 có nhiều chức năng riêng liên quan đến các riêng. Bit  Tên  Địa chỉ bit  Chức năng   P3.0  RxD  B0H  Chân nhận dữ liệu của port nối tiếp   P3.1  TxD  B1H  Chân phát dữ liệu của port nối tiếp   P3.2  INT0  B2H  Ngõ vào ngắt ngoài 0   P3.3  INT1  B3H  Ngõ vào ngắt ngoài 1   P3.4  T0  B4H  Ngõ vào của bộ định đếm thời/đếm 0   P3.5  T1  B5H  Ngõ vào của bộ định thời/đếm 1   P3.6  WR  B6H  Điều khiển ghi bộ nhớ dữ liệu ngoài   P3.7  RD  B7H  Điều khiển đọc bộ nhớ dữ liệu ngoài   P1.0  T2  90H  Ngõ vào của bộ định thời/đếm 2   P1.1  T2EX  91H  Nạp lại/thu nhận của bộ định thời 2   Chức năng của các chân của Port 3 và Port 1 5 – Chân cho phép bộ nhớ chương trình PSEN 8051 cung cấp cho ta 4 tín hiệu điều khiển bus.Tín hiệu cho phép bộ nhớ chương trình PSEN là tín hiệu xuất trên chân 29.Chân này thường được nối với chân cho phép xuất OE của EPROM để cho phép đọc các byte lệnh.Khi thực thi 1 chương trình chứa ở 1 ROM nội, PSEN được duy trì ở logic ko tích cực.Tín hiệu PSEN ở logic 0 trong suất quá trình tìm/nạp lệnh. 6 – Chân cho phép chốt địa chỉ ALE 8051 sử dụng chân 30, chân xuất tín hiệu để giải đa hợp bus dữ liệu và bus địa chỉ. Nếu mạch có tần số 12MHz thì tín hiệu ALE có tần số 2MHz. Trong tgian thực thi lệnh MOVX,một xung ALE sẽ bị bỏ qua. 7 – Chân truy xuất ngoài EA (chân 31) Có thể được nối với 5V(logic 1) hoặc GND(logic 0). EA nối 5V, 8051/8052 thực thi chương trình trong ROM nội EA nối GND, chương trình cần thực thi chứa ở bộ nhớ ngoài. Ngoài ra,chân EA còn nhận điện áp 21V cho việc lập trình EPROM nội. 8 – Chân reset (chân 9) Là ngõ vào xóa chính của 8051 dùng để thiết lâp lại trạng thái ban đầu cho hệ thống (reset hệ thống ).  Với vi điều khiển sử dụng thạch anh có tần số 12 MHz thì dùng C = 10 μF và R = 10 kΩ. 9 – Các chân XTAL1 và XTAL2 (chân 18 và 19 ) Dùng để ghép nối với mạch dao động bên trong 8051 với thạch anh bên ngoài.  Tần số danh định của thạch anh là 12 MHz cho hầu hết các chip họ MCS-51. ( Trên thực tế, tần số này có giá trị là 11,0592 MHz ) Với tần số danh định của thạch anh là 12 MHz sẽ tạo ra chu kì máy ( chu kì máy là khoảng thời gian cần thiết được qui định để vi điều khiển thực hiện hoàn thành một lệnh cơ bản ) Các tụ C1 = C2 = 33 pF dùng ổn định dao động cho thạch anh. II – Vi điều khiển 89S52 Là vi điều khiển họ MCS-51 do hãng Atmel sản xuất, tên gọi vi điều khiển được thay đổi chút ít (mã số 80 chuyển thành 89) ,80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (AT 89C52).Các vi điều khiển 890Sxx được cải tiến từ dòng 89Cxx. Hầu hết các vi điều khiển thuộc họ MCS-51 đều có đặc tính cơ bản giống nhau về phần mềm ( các tập lệnh lập trình như nhau ), còn phần cứng được bổ xung với chip có mã hai số cuối cao hơn, các vi điều khiển sau này có nhiều tính năng vượt trội hơn vi điều khiển thế hệ trước. Ưu điểm của VDK 89Sxx: + Chương trình viết cho 89Cxx đều chạy được cho 90Sxx. + 89Sxx rẻ hơn 89Cxx + 89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay trên bo mạch khác mà không cần tháo chip VDK sang mạch khác để nạp chương trình và nhiều tính năng cải tiến khác.  Bảng so sánh một số loại vi điều khiển họ MCS-51  Sơ đồ chân của vi điều khiển 89S52 Về cơ bản, các chân của 89S52 có chức năng giống với các VDK thế hệ trước: + Port 0,1,2,3 có chức năng cơ bản xuất/nhập + Riêng P0,P2 còn có chức năng kết nối bộ nhớ mở rộng. + Chân T2 và T2EX dùng cho timer/counter 2. + Chân MOSI, MISO, SCK truyênd dữ liệu theo chuẩn SPI đồng thời có chức năng kết nối với mạch nạp chương trình  P3 : tích hợp các chức năng đặc biệt  Sơ đồ điều kiện để 89S52 hoạt động và sơ đồ mạch nạp Kết nối các Port với các LED Các Port khi xuất tín hiệu ở mức logic 1 thường không đạ đến 5V mà dao động trong khoảng từ 3,5V đến 4,9V và dòng xuất ra rất nhỏ dưới 5mA (P0,P2 dòng xuất ra khoảng 1mA ; P3,P1 dòng xuất ra trong khoảng 1mA đến 5mA ) vì vậydongf xuất này ko đủ để có thể làm LED sáng Tuy nhiên các Port xuất tín hiệu ở mức logic 0 dòng điện cho phép đi qua lớn hơn rất nhiều: Chân VDK ở mức 0: + Dòng lớn nhất qua P0 : -25mA + Dòng lớn nhất qua P1, P2, P3 : -15mA Do đó khi kết nối với LED hoặc các thiết bị khác, vi điều khiển sẽ gặp nhiều trở ngại là nếu tác động làm LED sángkhi VDK xuất ở mức 1, lúc này dòng và áp ko đủ để LED có thể sáng rõ (LED đỏ sáng ở điện áp 1,6 – 2,2 V và dòng trong khoảng 10mA ). Cách khắc phục: 1 – Cho LED sáng khi VDK ở mức 0: Px.x thay cho các chân xuất của các Port. (P1.1, P2.0 …..) + Khi Px.x ở mức 1 : LED ko sáng. + Khi Px.x ở mức 0 : LED sáng.  2 – Cho LED sáng khi vi điều khiển xuất ở mức 1: Như đã trình bày, vì ngõ ra VDK khi xuất ở mức 1 ko đủ để cho LED sáng, để LED sáng được cần đặt thêm một điện trở kéo lên nguồn Vcc ( gọi là điện trở treo ).  Tùy từng trường hợp mà chịn R2 để dòng và áp phù hợp với thiết bi nhận. + Khi Px.x ở mức 0, có sự chênh lệch áp giữa nguồn Vcc và chân Px.x ; dòng điện đi từ Vcc qua R2 và Px.x về Mass, do đó hiệu điện thế giữa 2 chân LED gần như bằng 0, LED ko sáng. + Khi Px.x ở mức 1 (+5V), dòng điện ko chạy qua chân vi điều khiển để về Mass được, có sự chênh lệch áp giữa hai chân LED, dòng điện trong trường hợp này qua LED về Mass do đó LED sáng. R2 thường được sử dụng với giá trị từ 4,7K đến 10k . Nếu tất cả các chân trong 1 Port đều kết nối để tác động ở mức cao thì điện trở R2 có thể thay bằng điện trở thanh 9 chân vì nó có hình dáng và sử dụng dễ hơn khi lamg mạch điện. III – Bài tập lớn Đề bài : Thiết kế mạch điện gồm 16 Led ghép nối với 8051. Viết chương trình thực hiện các hiệu ứng sáng dần từ trái qua phải, từ phải qua trái, từ hai đầu vào, từ giữa ra. 1 – Các linh kiện để làm mạch - 1 bảng mạch - 1 vi điều khiển 89S52 - 16 đèn LED đỏ - 1 thạch anh 12 MHz - 16 điện trở 47kΩ - 16 điện trở 220kΩ - 16 transitor H1061 - 2 tụ 33 pF - 1 tụ 10 μF - 1 điện trở 10 kΩ - Mỏ hàn, thiếc hàn cùng các dây dẫn 2 – Mạch điện mô phỏng  Code chương trình : org 0000h start: acall khoidong acall nhay1 acall delay acall nhay2 acall delay acall nhay3 acall delay acall nhay4 acall delay ljmp start khoidong: mov P1,#00000000b mov P3,#00000000b ret nhay1: mov P3,#10000000b acall delay mov P3,#11000000b acall delay mov P3,#11100000b acall delay mov P3,#11110000b acall delay mov P3,#11111000b acall delay mov P3,#11111100b acall delay mov P3,#11111110b acall delay mov P3,#11111111b acall delay mov P1,#10000000b acall delay mov P1,#11000000b acall delay mov P1,#11100000b acall delay mov P1,#11110000b acall delay mov P1,#11111000b acall delay mov P1,#11111100b acall delay mov P1,#11111110b acall delay mov P1,#11111111b acall delay mov P1,#11111110b acall delay mov P1,#11111100b acall delay mov P1,#11111000b acall delay mov P1,#11110000b acall delay mov P1,#11100000b acall delay mov P1,#11000000b acall delay mov P1,#10000000b acall delay mov P1,#00000000b acall delay mov P3,#11111110b acall delay mov P3,#11111100b acall delay mov P3,#11111000b acall delay mov P3,#11110000b acall delay mov P3,#11100000b acall delay mov P3,#11000000b acall delay mov P3,#10000000b acall delay mov P3,#00000000b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#00000000b mov P1,#00000000b acall delay ret nhay2: mov P1,#00000001b acall delay mov P1,#00000011b acall delay mov P1,#00000111b acall delay mov P1,#00001111b acall delay mov P1,#00011111b acall delay mov P1,#00111111b acall delay mov P1,#01111111b acall delay mov P1,#11111111b acall delay mov P3,#00000001b acall delay mov P3,#00000011b acall delay mov P3,#00000111b acall delay mov P3,#00001111b acall delay mov P3,#00011111b acall delay mov P3,#00111111b acall delay mov P3,#01111111b acall delay mov P3,#11111111b acall delay mov P3,#01111111b acall delay mov P3,#00111111b acall delay mov P3,#00011111b acall delay mov P3,#00001111b acall delay mov P3,#00000111b acall delay mov P3,#00000011b acall delay mov P3,#00000001b acall delay mov P3,#00000000b acall delay mov P1,#01111111b acall delay mov P1,#00111111b acall delay mov P1,#00011111b acall delay mov P1,#00001111b acall delay mov P1,#00000111b acall delay mov P1,#00000011b acall delay mov P1,#00000001b acall delay mov P1,#00000000b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#00000000b mov P1,#00000000b acall delay ret nhay3: mov P1,#10000000b mov P3,#00000000b acall delay mov P1,#11000000b mov P3,#00000011b acall delay mov P1,#11100000b mov P3,#00000111b acall delay mov P1,#11110000b mov P3,#00001111b acall delay mov P1,#11111000b mov P3,#00011111b acall delay mov P1,#11111100b mov P3,#00111111b acall delay mov P1,#11111110b mov P3,#01111111b acall delay mov P1,#11111111b mov P3,#11111111b acall delay mov P1,#11111110b mov P3,#01111111b acall delay mov P1,#11111100b mov P3,#00111111b acall delay mov P1,#11111000b mov P3,#00011111b acall delay mov P1,#11110000b mov P3,#00001111b acall delay mov P1,#11100000b mov P3,#00000111b acall delay mov P1,#11000000b mov P3,#00000011b acall delay mov P1,#10000000b mov P3,#00000001b acall delay mov P1,#00000000b mov P3,#00000000b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#00000000b mov P1,#00000000b acall delay ret nhay4: mov P1,#00000001b mov P3,#10000000b acall delay mov P1,#00000011b mov P3,#11000000b acall delay mov P1,#00000111b mov P3,#11100000b acall delay mov P1,#00001111b mov P1,#11110000b acall delay mov P1,#00011111b mov P3,#11111000b acall delay mov P1,#00111111b mov P3,#11111100b acall delay mov P1,#01111111b mov P3,#11111110b acall delay mov P1,#11111111b mov P3,#11111111b acall delay mov P1,#01111111b mov P3,#11111110b acall delay mov P1,#00111111b mov P3,#11111100b acall delay mov P1,#00011111b mov P3,#11111000b acall delay mov P1,#00001111b mov P3,#11110000b acall delay mov P1,#00000111b mov P3,#11100000b acall delay mov P1,#00000011b mov P3,#11000000b acall delay mov P1,#00000001b mov P3,#10000000b acall delay mov P1,#00000000b mov P3,#00000000b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#10101010b mov P1,#01010101b acall delay mov P3,#01010101b mov P1,#10101010b acall delay mov P3,#00000000b mov P1,#00000000b acall delay ret delay: mov R1,#250 D1: mov R2,#200 D2: djnz R2,D2 djnz R1,D1 ret end

Các file đính kèm theo tài liệu này:

  • docLPTRNH~1.DOC
  • opjbaitaplon.opj
  • pptLPTRNH~1.PPT
  • asmmach1.asm
  • hexmach1.hex
  • dsnport13b.DSN