KHOA CÔNG NGHỆ THÔNG TIN ĐẠI HỌC THÁI NGUYÊN ………….…O….…………… BÀI TẬP LỚN BÀI TẬP 6: Xếp led thành dòng chữ DTVT-K7A ghép lối với vi điều khiển 8051 Viết chương trình điều khiển cho chạy chữ từ trái sang phải, từ phải sang trái,sang đồng thời nhấp nháy, Giáo viên hướng dẫn: Th.S PHẠM QUỐC THỊNH Lớp: Kỹ thuật nhúng N01.TL1 Sinh viên trình bày: Dương Vũ Kiên Vũ Thúy Hằng Nguyễn Văn Hiển Phùng Thị Bích Liên Phạm Thanh Thơng Nông Lệ Thủy Thái Nguyên, tháng 05 năm 2010 LỜI NĨI ĐẦU: Ngày nay,các vi điều khiển có ứng dụng ngày rộng rãi thâm nhập ngày nhiều lĩnh vực kĩ thuật đời sống xã hội.Hầu hết thiết bị kĩ thuật từ phức tạp đơn giản thiết bị điều khiển tự động,thiết bị văn phòng thiết bị gia đình có dùng vi điều khiển.Và số ứng dụng đơn giản cho hệ thống nhúng điều khiển đèn nhấp nháy,đếm số người vào/ra,hiển thị dịng thơng báo matrix led hay điều khiển ON_OF động cơ…………… Và với kiến thức vi điều khiển kĩ thuật lập trình nhóm chúng em xin trình bầy ứng dụng đơn giản vi điều khiển.Đó lập trình cho vi điều khiển 89C51 điều khiển dòng chữ chạy “ĐTVT-K7A” xếp led đơn với nhiều hiệu ứng khác Mặc dù cố gắng nhiều thời gian thực hiên tập lớn chúng em tránh khỏi sai sót kiến thức kinh nghiệm hạn chế.Chúng em mong nhận đóng góp thầy giáo bạn để tập lớn chúng em hoàn thiện YÊU CẦU: Lập trình cho vi điều khiển 8051 ngơn ngữ ASM ngôn ngữ C NỘI DUNG: Xếp led thành dòng chữ DTVTK-7A ghép lối với vi điều 8051.Điều khiển cho chạy với nhiều hiệu ứng khác Phần I: Sơ lược cấu trúc vi điều khiển 8051 Hiện có nhiều họ Vi điều khiển thị trường với nhiều ứng dụng khác nhau, họ Vi điều khiển họ MCS-51 sử dụng rộng rãi giới Việt nam Vào năm 1980 Intel cơng bố chíp 8051(80C51), vi điều khiển họ vi điều khiển MCS-51 Tiếp theo sau đời chip 8052, 8053, 8055 với nhiều tính cải tiến Hiện Intel khơng cịn cung cấp loại Vi điều khiển họ MCS-51 nữa, thay vào nhà sản xuất khác Atmel, Philips/signetics, AMD, Siemens, Matra & Dallas, Semiconductors cấp phép làm nhà cung cấp thứ hai cho chip họ MSC-51 Chip vi điều khiển sử dụng rộng rãi giới Việt Nam vi điều khiển hãng Atmel với nhiều chủng loại vi điều khiển khác Hãng Atmel có chip vi điều khiển có tính tương tự chip vi điều khiển MCS-51 Intel, mã số chip thay đổi chút Atmel sản xuất Mã số 80 chuyển thành 89, chẳng hạn 80C52 Intel sản xuất Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính chương trình tương tự Tương tự 8051, 8053, 8055 có mã số tương đương Atmel 89C51, 89C53, 89C55.Vi điều khiển Atmel sau ngày cải tiến bổ sung thêm nhiều chức tiện lợi cho người dùng Các đặc điểm 89C51 tóm tắt sau : KB EPROM bên 128 Byte RAM nội Port xuất /nhập I/O bít Giao tiếp nối tiếp 64 KB vùng nhớ mã 64 KB vùng nhớ liệu ngoại Xử lí Boolean (hoạt động bít đơn) 210 vị trí nhớ định vị bít μs cho hoạt động nhân chia 89C51 của Atmel Sơ đồ khối của 89C51 8051 của Intel Sơ đồ các chân của 89C51: Phần II: Sơ đồ và các linh kiện mạch R10 0R1 R2 4.7K R11 0R1 R3 C1 10K C2 R1 12M CRYSTAL 19 18 XTAL1 XTAL2 30p 29 30 31 C3 10uF RST PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 LED-YELLOW D2 LED-YELLOW D3 4.7K U1 30p R12 D1 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 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 0R1 R4 4.7K R13 0R1 R5 4.7k R14 0R1 R6 4.7k R15 0R1 R7 4.7k R16 0R1 AT89C51 R8 4.7k R17 0R1 R9 Vcc 4.7k Các linh kiện sử dụng: o AT89S52 o LED o Thạch Anh 12MHz o Tụ gốm 33pF o Tụ hóa 10μF o Trở 10KΩ, 4,7KΩ, 220Ω o Transistor H1061 (NPN) Hình ảnh và chức của các linh kiện: LED-YELLOW D4 LED-YELLOW D5 LED-YELLOW D6 LED-YELLOW D7 LED-YELLOW D8 LED-YELLOW AT89S52 Chức năng: Là vi điều khiển chính của mạch KB EPROM bên 256 Byte RAM nội Port xuất /nhập I/O bít bộ định thời 16 bit Watch dog timer Các đặc điểm khác giống AT89C51 LED Các loại LED thực tế Cấu tạo và kí hiệu Thạch anh 12 MHz Chức năng: Là nguồn tạo xung nhịp dao động clock ổn định (12 MHz) cho dao động của 8051 Thạch anh sẽ được gắn vào chân XTAL1 và XTAL2 (Chân số 18 và 19) của 8051 Tụ gốm 33pF Chức năng: Lọc nhiễu cho dao động thạch anh tụ gốm 33pF sẽ được nối một đầu với chân của thạch anh, đầu còn lại đấu Mass Tụ hóa 10μF Chức năng: Tụ hóa 10μF được gắn đầu âm vào chân reset, đầu dương lên nguồn Khi cấp điện cho mạch, tụ sẽ phóng điện khiến chân reset bật lên mức cao, đó toàn bộ hệ thống sẽ được nạp lại từ đầu Khi vận hành thì tụ hóa ngăn dòng vào chân reset Transistor H1061 Là loại transistor công suất lớn Có công dụng một khóa Với là cực B, là cực C và là cực E H1061 có tần số hoạt động tầm 10MHz, β = 60-200 (Tùy thuộc vào dòng điện vào cực C) Điện trở Có tác dụng hạn chế dòng điện và phân cực cho transistor Phần III – Nguyên lý hoạt động của mạch Mạch điện được thiết kế gôm IC điều khiển chính 89S52 đhiều khiển toàn bộ hoạt động của mạch, chương trình code được nạp vào IC (code được dịch file hex rồi đưa vào IC qua bộ nạp nối cổng LPT bằng chương trình nạp Aec_isp.exe) Code lập trình cho cổng P2 của IC 89S52, điều khiển đèn LED sáng ở mức Mỗi chân từ P2.0 đến P2.7 sẽ được nối với cực B của transistor H1061 loại NPN thông qua trở 4,7KΩ để phân cực Transistor ở mang nhiệm vự khóa Cực C của H1061 nối với nguồn +5V, cực E sẽ LED Khi tín hiệu điều khiển của IC mức 1, transistor sẽ được phân cực thuận, khóa sẽ đóng cho phép dòng điện từ cực C đến cực E Khi tín hiệu điều khiển ở mức 0, khóa mở, dòng điện sẽ bị cắt Đèn LED được ghép thành các chữ D T V T - K A Mỗi chữ được ghép từ đến 11 LED song song Đầu Kathode của tất cả các LED được nối chung xuống Mass Các chữ được nối thêm một trở 220Ω để hạn chế dòng điện vào LED (Mỗi LED chịu được dòng tối đa là 10mA) Mạch sau hoàn thành: Phần IV – Chương trình Asembler lập trình cho mạch ORG 0000H START: ACALL NHAYTIEN ACALL NHAYLUI ACALL NHAY3 ACALL NHAYCACHQUANG1 ACALL NHAYCACHQUANG2 ACALL NHAYCACHQUANG1 ACALL NHAYCACHQUANG2 ACALL NHAYDANXEN ACALL NHAYHIEN ACALL NHAYHIEN1 ACALL NHAYHIEN2 ACALL NHAYHIEN2 ACALL NHAYHIEN1 ACALL NHAY3 ACALL NHAYCHURIENG ACALL NHAY2 ACALL NHAY1 ACALL NHAY2BENNGOAI ACALL NHAY2BEN1 ACALL NHAY2BENTRONG ACALL NHAY2BEN2 ACALL NHAY3 ACALL NHAY2 ACALL XEPCHUMOT ACALL XEPCHUHAI ACALL NHAYXEP3 ACALL NHAYXEP4 ACALL NHAYXEP5 ACALL NHAYXEP6 ACALL NHAY3 SJMP START ; DELAY: MOV R1, #2 L1: MOV R2, #200 L2: MOV R3, #200 L3 : DJNZ R3, L3 DJNZ R2, L2 DJNZ R1, L1 RET ; NHAYTIEN: MOV P2, #00000001B ACALL DELAY MOV P2, #00000011B ACALL DELAY MOV P2, #00000111B ACALL DELAY MOV P2, #00001111B ACALL DELAY MOV P2, #00011111B ACALL DELAY MOV P2, #00111111B ACALL DELAY MOV P2, #01111111B ACALL DELAY MOV P2, #11111111B ACALL DELAY RET ; NHAYLUI: MOV P2, #10000000B ACALL DELAY MOV P2, #11000000B ACALL DELAY MOV P2, #11100000B ACALL DELAY MOV P2, #11110000B ACALL DELAY MOV P2, #11111000B ACALL DELAY MOV P2, #11111100B ACALL DELAY MOV P2, #11111110B ACALL DELAY MOV P2, #11111111B ACALL DELAY RET ; NHAYCACHQUANG1: MOV P2, #00000000B ACALL DELAY MOV P2, #00000001B ACALL DELAY MOV P2, #00000010B ACALL DELAY MOV P2, #00000101B ACALL DELAY MOV P2, #00001010B ACALL DELAY MOV P2, #00010101B ACALL DELAY MOV P2, #00101010B ACALL DELAY MOV P2, #01010101B ACALL DELAY MOV P2, #10101010B ACALL DELAY RET ; NHAYCACHQUANG2: MOV P2, #00000000B ACALL DELAY MOV P2, #10000000B ACALL DELAY MOV P2, #01000000B ACALL DELAY MOV P2, #10100000B ACALL DELAY MOV P2, #01010000B ACALL DELAY MOV P2, #10101000B ACALL DELAY MOV P2, #01010100B ACALL DELAY MOV P2, #10101010B ACALL DELAY MOV P2, #01010101B ACALL DELAY RET ; NHAYDANXEN: MOV R5, #4 HG1: MOV P2, #01010101B ACALL DELAY MOV P2, #10101010B ACALL DELAY DJNZ R5, HG1 RET ; NHAY1: MOV P2, #10000000B ACALL DELAY MOV P2, #01000000B ACALL DELAY MOV P2, #00100000B ACALL DELAY MOV P2, #00010000B ACALL DELAY MOV P2, #00001000B ACALL DELAY MOV P2, #00000100B ACALL DELAY MOV P2, #00000010B ACALL DELAY MOV P2, #00000001B ACALL DELAY RET ; NHAY2: MOV P2, #00000001B ACALL DELAY MOV P2, #00000010B ACALL DELAY MOV P2, #00000100B ACALL DELAY MOV P2, #00001000B ACALL DELAY MOV P2, #00010000B ACALL DELAY MOV P2, #00100000B ACALL DELAY MOV P2, #01000000B ACALL DELAY MOV P2, #10000000B ACALL DELAY RET ; NHAY3: MOV R6, #4 HG: MOV P2, #00000000B ACALL DELAY1 MOV P2, #11111111B ACALL DELAY1 DJNZ R6, HG RET ; DELAY1: MOV R1, #255 TN1: MOV R2, #250 TN2: DJNZ R2, TN2 DJNZ R1, TN1 RET ; NHAY2BENNGOAI: MOV P2, #00000000B ACALL DELAY MOV P2, #10000001B ACALL DELAY MOV P2, #01000010B ACALL DELAY MOV P2, #00100100B ACALL DELAY MOV P2, #00011000B ACALL DELAY RET ; NHAY2BEN1: MOV P2, #00000000B ACALL DELAY MOV P2, #10000001B ACALL DELAY MOV P2, #11000011B ACALL DELAY MOV P2, #11100111B ACALL DELAY MOV P2, #11111111B ACALL DELAY RET ; NHAY2BENTRONG: MOV P2, #00000000B ACALL DELAY MOV P2, #00011000B ACALL DELAY MOV P2, #00100100B ACALL DELAY MOV P2, #01000010B ACALL DELAY MOV P2, #10000001B ACALL DELAY RET ; NHAY2BEN2: MOV P2, #00000000B ACALL DELAY MOV P2, #00011000B ACALL DELAY MOV P2, #00111100B ACALL DELAY MOV P2, #01111110B ACALL DELAY MOV P2, #11111111B ACALL DELAY RET ; NHAYCHURIENG: MOV P2, #00000000B ACALL DELAY ACALL DELAY MOV P2, #00001111B ACALL DELAY ACALL DELAY MOV P2, #00010000B ACALL DELAY ACALL DELAY MOV P2, #11100000B ACALL DELAY ACALL DELAY MOV P2, #11111111B ACALL DELAY ACALL DELAY MOV P2, #11111111B ACALL DELAY ACALL DELAY RET ; XEPCHUMOT: ACALL DELAY MOV P2, #10000000B ACALL DELAY MOV P2, #10000001B ACALL DELAY MOV P2, #10000010B ACALL DELAY MOV P2, #10000100B ACALL DELAY MOV P2, #10001000B ACALL DELAY MOV P2, #10010000B ACALL DELAY MOV P2, #10100000B ACALL DELAY RET ; XEPCHUHAI: ACALL DELAY MOV P2, #11000000B ACALL DELAY MOV P2, #11000001B ACALL DELAY MOV P2, #11000010B ACALL DELAY MOV P2, #11000100B ACALL DELAY MOV P2, #11001000B ACALL DELAY MOV P2, #11010000B ACALL DELAY MOV P2, #11100000B ACALL DELAY RET ; NHAYHIEN: MOV P2, #00000011B ACALL DELAY ACALL DELAY ACALL DELAY MOV P2, #00001100B ACALL DELAY ACALL DELAY ACALL DELAY MOV P2, #00010000B ACALL DELAY ACALL DELAY ACALL DELAY MOV P2, #11100000B ACALL DELAY ACALL DELAY ACALL DELAY MOV P2, #00000000B ACALL DELAY MOV P2, #11101111B ACALL DELAY ACALL DELAY ACALL DELAY MOV P2, #11111111B ACALL DELAY ACALL DELAY ACALL DELAY RET ; NHAYHIEN1: ACALL DELAY MOV P2, #11111110B ACALL DELAY MOV P2, #11111101B ACALL DELAY MOV P2, #11111011B ACALL DELAY MOV P2, #11110111B ACALL DELAY MOV P2, #11101111B ACALL DELAY MOV P2, #11011111B ACALL DELAY MOV P2, #10111111B ACALL DELAY MOV P2, #01111111B ACALL DELAY MOV P2, #11111111B ACALL DELAY RET ; NHAYHIEN2: ACALL DELAY MOV P2, #11111111B ACALL DELAY MOV P2, #01111111B ACALL DELAY MOV P2, #10111111B ACALL DELAY MOV P2, #11011111B ACALL DELAY MOV P2, #11101111B ACALL DELAY MOV P2, #11110111B ACALL DELAY MOV P2, #11111011B ACALL DELAY MOV P2, #11111101B ACALL DELAY MOV P2, #11111110B ACALL DELAY RET ; NHAYXEP3: ACALL DELAY MOV P2, #11100000B ACALL DELAY MOV P2, #11100001B ACALL DELAY MOV P2, #11100010B ACALL DELAY MOV P2, #11100100B ACALL DELAY MOV P2, #11101000B ACALL DELAY MOV P2, #11110000B ACALL DELAY RET ; NHAYXEP4: ACALL DELAY MOV P2, #11110000B ACALL DELAY MOV P2, #11110001B ACALL DELAY MOV P2, #11110010B ACALL DELAY MOV P2, #11110100B ACALL DELAY MOV P2, #11111000B ACALL DELAY RET ; NHAYXEP5: ACALL DELAY MOV P2, #11111000B ACALL DELAY MOV P2, #11111001B ACALL DELAY MOV P2, #11111010B ACALL DELAY MOV P2, #11111100B ACALL DELAY RET ; NHAYXEP6: ACALL DELAY MOV P2, #11111100B ACALL DELAY MOV P2, #11111101B ACALL DELAY MOV P2, #11111110B ACALL DELAY MOV P2, #11111111B ACALL DELAY MOV P2, #11111110B ACALL DELAY MOV P2, #11111111B ACALL DELAY RET ; END Nhận xét giảng viên ... thức vi điều khiển kĩ thuật lập trình nhóm chúng em xin trình bầy ứng dụng đơn giản vi điều khiển. Đó lập trình cho vi điều khiển 89C51 điều khiển dòng chữ chạy “ĐTVT-K7A” xếp led đơn với nhiều... DUNG: Xếp led thành dòng chữ DTVTK-7A ghép lối với vi điều 8051.? ?iều khiển cho chạy với nhiều hiệu ứng khác Phần I: Sơ lược cấu trúc vi điều khiển 8051 Hiện có nhiều họ Vi điều khiển thị... cung cấp thứ hai cho chip họ MSC-51 Chip vi điều khiển sử dụng rộng rãi giới Vi? ??t Nam vi điều khiển hãng Atmel với nhiều chủng loại vi điều khiển khác Hãng Atmel có chip vi điều khiển có tính