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 từng chữ từ trái sang phải, từ phải sang trái,sang đồng thời nhấp nháy

LỜI NÓI ĐẦU: Ngày nay,các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi và thâm nhập ngày càng nhiều trong các lĩnh vực kĩ thuật và đời sống xã hội.Hầu hết các thiết bị kĩ thuật từ phức tạp cho đến đơn giản như thiết bị điều khiển tự động,thiết bị văn phòng cho đến các thiết bị trong gia đình đều có dùng các bộ vi điều khiển.Và một số ứng dụng đơn giản nhất cho các hệ thống nhúng là đ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 trên matrix led hay điều khiển ON_OF của động cơ Và với những kiến thức cơ bản nhất về vi điều khiển và kĩ thuật lập trình nhóm chúng em xin trình bầy một trong những ứng dụng đơn giản của bộ vi điều khiển.Đó là lập trình cho vi điều khiển 89C51 điều khiển dòng chữ chạy “ĐTVT-K7A” được xếp bởi các led đơn với nhiều hiệu ứng khác nhau. Mặc dù đã cố gắng rất nhiều trong thời gian thực hiên bài tập lớn nhưng chúng em cũng không thể tránh khỏi những sai sót do kiến thức cũng như kinh nghiệm còn hạn chế.Chúng em rất mong nhận được sự đóng góp của thầy giáo và các bạn để bài tập lớn của chúng em được hoàn thiện hơn. YÊU CẦU: Lập trình cho vi điều khiển 8051 bằng ngôn ngữ ASM hoặc 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 nhau.

doc24 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2608 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu 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 từng chữ từ trái sang phải, từ phải sang trái,sang đồng thời nhấp nháy, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 từng 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: 1. Dương Vũ Kiên 2. Vũ Thúy Hằng 3. Nguyễn Văn Hiển 4. Phùng Thị Bích Liên 5. Phạm Thanh Thông 6. 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 bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi và thâm nhập ngày càng nhiều trong các lĩnh vực kĩ thuật và đời sống xã hội.Hầu hết các thiết bị kĩ thuật từ phức tạp cho đến đơn giản như thiết bị điều khiển tự động,thiết bị văn phòng cho đến các thiết bị trong gia đình đều có dùng các bộ vi điều khiển.Và một số ứng dụng đơn giản nhất cho các hệ thống nhúng là đ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 trên matrix led hay điều khiển ON_OF của động cơ…………… Và với những kiến thức cơ bản nhất về vi điều khiển và kĩ thuật lập trình nhóm chúng em xin trình bầy một trong những ứng dụng đơn giản của bộ vi điều khiển.Đó là lập trình cho vi điều khiển 89C51 điều khiển dòng chữ chạy “ĐTVT-K7A” được xếp bởi các led đơn với nhiều hiệu ứng khác nhau. Mặc dù đã cố gắng rất nhiều trong thời gian thực hiên bài tập lớn nhưng chúng em cũng không thể tránh khỏi những sai sót do kiến thức cũng như kinh nghiệm còn hạn chế.Chúng em rất mong nhận được sự đóng góp của thầy giáo và các bạn để bài tập lớn của chúng em được hoàn thiện hơn. YÊU CẦU: Lập trình cho vi điều khiển 8051 bằng ngôn ngữ ASM hoặc 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 nhau. Phần I: Sơ lược cấu trúc vi điều khiển 8051 Hiện nay có rất nhiều họ Vi điều khiển trên thị trường với nhiều ứng dụng khác nhau, trong đó họ Vi điều khiển họ MCS-51 được sử dụng rất rộng rãi trên thế giới và ở Việt nam. Vào năm 1980 Intel công bố chíp 8051(80C51), bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. Tiếp theo sau đó là sự ra đời của chip 8052, 8053, 8055 với nhiều tính năng được cải tiến. Hiện nay Intel không còn cung cấp các loại Vi điều khiển họ MCS-51 nữa, thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens, Matra & Dallas, Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51. Chip vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là vi điều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác nhau. Hãng Atmel có các chip vi điều khiển có tính năng tương tự như chip vi điều khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau. Tương tự 8051, 8053, 8055 có mã số tương đương ở Atmel là 89C51, 89C53, 89C55.Vi điều khiển Atmel sau này ngày càng được cải tiến và được bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng. Các đặc điểm của 89C51 được tóm tắt như sau : 4 KB EPROM bên trong. 128 Byte RAM nội. 4 Port xuất /nhập I/O 8 bít. 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 bít đơn). 210 vị trí nhớ có thể định vị bít. 4 μs cho hoạt động nhân hoặc chia. 89C51 của Atmel 8051 của Intel Sơ đồ khối của 89C51 Sơ đồ các chân của 89C51: Phần II: Sơ đồ và các linh kiện trong mạch Các linh kiện sử dụng: AT89S52 LED Thạch Anh 12MHz Tụ gốm 33pF Tụ hóa 10μF Trở 10KΩ, 4,7KΩ, 220Ω Transistor H1061 (NPN) Hình ảnh và chức năng của các linh kiện: AT89S52 Chức năng: Là vi điều khiển chính của mạch. 8 KB EPROM bên trong. 256 Byte RAM nội. 4 Port xuất /nhập I/O 8 bít. 3 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. 2 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 ra 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, khi đó toàn bộ hệ thống sẽ được nạp lại từ đầu. Khi đang vận hành thì tụ hóa ngăn dòng đi vào chân reset. Transistor H1061 Là loại transistor công suất lớn. Có công dụng như một khóa. Với 1 là cực B, 2 là cực C và 3 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 1 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 ra 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 1. 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 1 trở 4,7KΩ để phân cực. Transistor ở đây mang nhiệm vự như 1 khóa. Cực C của H1061 nối với nguồn +5V, cực E sẽ ra LED. Khi tín hiệu điều khiển của IC ra 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 đi đế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 7 A. Mỗi chữ được ghép từ 9 đế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 đi vào LED (Mỗi LED chịu được dòng tối đa là 10mA). Mạch sau khi 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 của giảng viên

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

  • docBAI TAP LON NHUNG.doc
  • rar80674_Xếp led thành dòng chữ _.rar