đề tài lập trình cho họ vi điều khiển

69 740 0
đề tài lập trình cho họ vi điều khiển

Đ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

BỘ CÔNG NGHIỆP TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN TỬ  Đồ Án Tốt nghiệp Đề Tài: LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 GVHD :ThS. HUỲNH MINH NGỌC LỚP :CDDT6K SINH VIÊN :LÊ VĂN LONG MSSV :04CDDT406 ĐẶNG ĐỨCTRUNG MSSV : 04CDDT439 Tp. HCM ,Tháng 8 Năm 2007 Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 2 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN SVTH : Lê Văn Long MSSV : 04CDDT406 Đặng Đức Trung MSSV : 04CDDT439 GVHD : ThS. Huỳnh Minh Ngọc Ngày Tháng Năm 2007 Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 3 LỜI CẢM ƠN Chúng tôi xin chân thành cảm ơn Thầy Huỳnh Minh Ngọc đã tận tình giúp đỡ chúng em trong suốt quá trình thực hiện đồ án này. Chúng tôi xin chân thành cảm ơn các thầy cô giáo đã khổ công truyền thụ kiến thức cho chúng em giúp chúng em phục vụ công tác tốt khi ra trường. Cuối cùng chúng tôi cảm ơn chân thành đến ba mẹ , người thân, cùng bạn bè. Những người luôn động viên, hỗ trợ để chúng tôi hoàn thành đồ án này. SVTH: Lê Văn Long & Đặng Đức Trung. Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 4 PHẦN I TỔNG QUAN về ĐỀ TÀI I. ĐẶT VẤN ĐỀ: Ngày nay, những ứng dụng của Vi điều khiển đã đi sâu vào đời sống sinh hoạt và sản xuất của con người. Thực tế hiện nay là hầu hết các thiết bị điện dân dụng hiện nay đều có sự góp mặt của Vi Điều Khiểnvi xử lí . Ứng dụng vi điều khiển trong thiết kế hệ thống làm giảm chi phí thiết kế và hạ giá thành sản phẩm đồng thời nâng cao tính ổn định của thiết bị và hệ thống.Trên thị trường có rất nhiều họ vi điều khiển: họ 8051 của Intel, 68HC11 của Motorola, Z80 của hãng Zilog, PIC của hãng Microchip, H8 của Hitachi,vv… Việc phát triển ứng dụng các hệ vi xử lý đòi hỏi những hiểu biết cả về phần cứng cũng như phần mềm, nhưng cũng chính vậy mà các hệ vi xử lý được sử dụng để giải quyết những bài toán rất khác nhau. Tính đa dạng của các ứng dụng phụ thuộc vào việc lựa chọn các hệ vi xử lý cụ thể cũng như vào kỹ thuật lập trình. Ngày nay các bộ vi xử lý có mặt trong rất nhiều thiết bị điện tử hiện đại: từ đầu đĩa CD, máy thu hình, máy ghi hình, dàn âm thanh HiFi, bộ điều khiển lò sưởi cho đến các thiết bị điều khiển dùng trong công nghiệp. Lĩnh vực ứng dụng của các hệ vi xử lý cũng rất rộng lớn: từ nguyên cứu khoa học, truyền dữ liệu, đến công nghiệp, năng lượng, giao thông và y tế… Tùy theo kinh nghiệm và mức độ thông thạo mà chúng ta có thể sử dụng các ngôn ngữ khác ngoài hợp ngữ như: C, C ++ , Visual basic để có những chương trình chất lượng cao hơn. II. NỘI DUNG CỦA ĐỀ TÀI:  Sơ lược về vi điều khiển AT89C51.  Khảo sát vi điều khiển AT89C2051 của hãng ATMEL. • Gồm sơ đồ chân linh kiện. • Sơ đồ khối của AT89C2051. • Các nội dụng ứng dụng của AT89C2051.  Giới thiệu phần mềm Keil Software µViSion 2  Ứng dụng ngôn ngữ C và Assembly điều khiển lập trình led. • Ứng dụng cho led đơn, led 7 đoạn, led ma trận…  Kết luận và hướng phát triển của đề tài. Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 5 PHẦN II NỘI DUNG ĐỀ TÀI CHƯƠNG 1: GIỚI THIỆU BỘ VI ĐIỀU KHIỂN 89C2051 và 89C51 I.GIỚI THIỆU BỘ VI ĐIỀU KHIỂN 89C2051 I.1 CÁC ĐẶC ĐIỂM  Tương thích với các sản phẩm của họ MSC-51.  2K byte bộ nhớ Flash lập trình được.  Khả năng :1000 chu kì ghi/xóa.  Tầm điện áp hoạt động từ 2,7 V đến 6V  Tầm tần số hoạt động từ 0 Hz đến 21 MHz  2 mức khóa bộ nhớ chương trình (program memory).  RAM bên trong (internal RAM) có dung lượng 128 x 8 bit.  15 đường I/O lập trình được.  2 bộ định thời /đếm 16 bit.  6 nguồn (nguyên nhân ) ngắt.  Kênh nối tiếp UART lập trình được.  Các ngõ ra kích LED trực tiếp.  Mạch so sánh tương tự trên chip (on-chip analog comparator).  Các chế độ nghỉ công suất thấp và chế độ giảm công suất. I.2 MÔ TẢ Chip AT89C2051 là chip vi điều khiển CMOS 8 bit điện áp thấp, hiệu suất cao có 2K byte bộ nhớ Flash chỉ đọc, xóa được và lập trình được PEROM (Flash programmable and erasable readonly memory). Linh kiện này được sản xuất bằng cách sử dụng công nghệ bộ nhớ không thay đổi mật độ cao của Atmel và tương thích với tập tệp của MCS-51 chuẩn công nghiệp. Bằng cách kết hợp một CPU 8-bit đa năng và linh hoạt với Flash trên chip đơn tinh thể , Atmel AT89C2051 là chip vi điều khiển mạnh cung cấp giải pháp linh động cao và mang lại hiệu quả về giá thành cho nhiều ứng dụng điều khiển nhúng (embedded control application). AT89C2051 cung cấp các đặc tính chuẩn sau đây : bộ nhớ Flash 2K byte , 128 byte RAM , 15 đường I/O, 2 bộ định thời/đếm 16-bit , kiến trúc ngắt hai mức 5 vector, port nối tiếp hoàn toàn song công , mạch so sánh tương tự chính xác, mạch dao động và tạo xung clock trên chip . Ngoài ra AT89C2051 được thiết kế có mạch logic tĩnh cho hoạt động giảm đến tần số 0 Hz và hỗ trợ 2 chế độ tiết kiệm công suất lựa chọn được bằng phần mềm. Chế dộ nghĩ ( idle mode ) sẽ dùng CPU nhưng vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ giảm công suất duy trì nội dung của RAM nhưng làm dừng mạch dao động, không cho phép mọi chức năng khác của chip hoạt động cho đến lần reset cứng kế tiếp (nghĩa là ta thiết lập lại trạng thái ban đầu [reset] cho chiop bằng mạch điện bên ngoài). Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 6 I.3 CẤU HÌNH CHÂN Hình 1.1 I.4 SƠ ĐỒ KHỐI Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 7 Hình 1.2 RAM ADDR. REGISTER: thanh ghi địa chỉ RAM . RAM: vùng nhớ truy cập ngẫu nhiên (RAM). FLASH: vùng nhớ FLASH. B REGISTER:thanh ghi B. ACC: thanh chứa. STACK POINTER: con trỏ vùng nhớ xếp chồng. PROGRAM ADDRESS REGISTER: thanh ghi địa chỉ chương trình. TMP1: thanh ghi tạm 1 TMP2: thanh ghi tạm 2 ALU: đơn vị số học/logic. BUFFER: bộ đệm. PC INCREMENTER: bộ tăng thanh ghi đếm chương trình PC. INTERRUPT, SERIAL PORT AND TIMER BLOCKS: các khối ngắt, port nối tiếp và định thời. PROGRAM COUNTER: bộ đếm chương trình PC. Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 8 PSW: từ trạng thái chương trình . TIMING AND CONTROL:mạch logic điều khiển và định thời. INSTRUCTION REGISTERED: thanh ghi lệnh. DPTR: con trỏ dữ liệu . PORT1 LATCH: bộ chốt port 1. PORT3 LATCH: bộ chốt port 3. ANALOG COMPARTOR:bộ so sánh tương tự . OSC:mạch dao động. PORT 1 DRIVERS: các mạch kích port 1. PORT 3 DRIVERS: các mạch kích port 3. I.5 MÔ TẢ CHÂN VCC Chân cấp điện áp Vcc cho chip. GND Chân nối đất. Port 1 Port 1 là port I/O (port nhập/xuất: input/output port) hai chiều 8-bit. Các chân của port từ P1.2 đến P1.7 cung cấp các mạch kéo lên bên trong (internal pull-ups). Các chân P1.0 và P1.1 yêu cầu các mạch kéo lên bên ngoài . P1.0 và P1.1 cũng còn được sử dụng làm ngõ vào dương (AIN0) và ngõ vào âm (ÁIN), theo thứ tự, của mạch so sánh tương tự chính xác trên chip (on – chip precision analog comparator). Các mạch đệm ngõ ra (output buffer) của port 1 có thể hút dòng 20mA và kích trực tiếp các bộ hiện thị LED. Khi các logic 1 được ghi đến các chân của port 1, các chân này có thể được sử dụng làm các ngõ vào. Khi các chân từ P1.2 đến P1.7 được sử dụng làm các ngõ vào và được kéo xuống mức thấp từ bên ngoài, chúng sẽ cung cấp dòng (I IL ) do các mạch kéo lên bên trong. Port 1 cũng nhận dữ liệu chương trình hay dữ kiệu mã (code data) trong thời gian lập trình và kiểm tra bộ nhớ Flash. Port 3 Các chân của port 3 từ P3.0 đến P3.5, P3.7 là chân I/O hai chiều với các mạch kéo lên bên trong. P3.6 được nối dây cứng làm ngõ vào nối đến ngõ ra của mạch so sánh trên chip và không thể truy cập như một chân I/O có mục đích tổng quát. Các mạch đệm ngõ ra của port 3 có thể hút dòng 20mA.Khi các logíc được ghi đến các chân của port 3, các chân này được kéo lên mức cao bởi các mạch kéo lên bên trong và có thể được sử dụng làm các ngõ vào. Khi là các ngõ vào, các chân nào của port 3 được kéo xuống mức thấp bởi mạch bên ngoài sẽ cung cấp dòng (I IL ) do các mạch kéo lên. Các chân của port 3 còn được sử dụng cho các chức năng đặc biệt khác của AT89C2051 như được liệt kê dưới đây ( bảng 11,1). Port 3 cũng nhận một số tín hiệu điều khiển để lập trình và kiểm tra bộ nhớ Flash. Bảng 1.1 RST Ngõ vào reset (thiết lập lại trạng thái ban đầu). Tất cả các chân I/O được reset đến mức logíc ngay sau khi RST lên mức cao. Việc duy trì chân RST ở mức cao trong 2 chu kỳ máy trong khi mạch dao động đang hoạt động sẽ reset chip. Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 9 XTAL 1 Ngõ vào đến mạch khuếch đại dao động đảo và ngõ vào đến mạch tạo xung clock bên trong. XTAL 2 Ngõ ra từ mạch khuếch đại dao động đảo. I.6 CÁC ĐẶC TÍNH CỦA MẠCH DAO ĐỘNG. XTAL 1 và XTAL 2 là ngõ vào và ngõ ra, theo thứ tự, của mạch khuếch đại đảo có thể được cấu hình để trở thành mạch dao động trên chip như được trình bày ở hình 1.3. Một tinh thể thạch anh hoặc mạch cộng hưởng gốm đều có thể sử dụng được. Để kích chip từ nguồnxung clock bên ngoài, chân XTAL 2 sẽ không kết nối trong khi chân ATAL 1 được kích như được trình bày ở hình 1.4. Không có yêu cầu nào về chu kỳ nhiệm vụ (duty cycle) của tín hiệu xung clock bên ngoài ngõ vào đến mạch ngõ vào đến mạch tạo xung clock bên trong sẽ đi qua một flipflop làm nhiệm vụ chia 2 tần số, nhưng các đặc tính về điện áp tối thiểu và tối đa của mức cao và mức thấp phải được xem xét. Hình 1.3 các kết nối của mạch dao động. Lưu ý: C1,C2=30pF ± 10pF đối với các thạch anh ; C1,C2=40pF ± 10pF đối với các bộ cộng hưởng gốm. Hình 1.4: Cấu hình kích xung clock bên ngoài. I.7CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR Đồ Án Tốt Nghiệp GVHD:Huỳnh Minh Ngọc SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 10 Bảng 1.2 Các giá trị khi reset và bản đồ các SFR của AT89C2051 Một bản đồ vùng nhớ trên chip được gọi là không gian thanh ghi chức năng đặc biệt SFR (special function registor) được trình bày ở bản trên đây (bảng 1.2). Lưu ý rằng không phải tất cả địa chỉ đều bị chiếm bởi các thanh ghi này, các địa chỉ không bị chiếm có thể không được thực hiện trên chip. Các truy cập đọc đến các địa chỉ này trong trường hợp tổng quát, sẽ trả về dữ liệu ngẫu nhiên và các truy cập ghi sẽ có tác động không rõ ràng. Phần mêm của người sử dụng không nên ghi các logic 1 đến các vị trí nhớ không được liệt kê chúng có thể được sử dụng trong các sản phẩm tương lai để đáp ứng các đặt tính mới. Trong trường hợp đó, các giá trị do reset hoặc các giá trị không tích cực của các bit mới sẽ luôn luôn bằng 0. I.8 CÁC GIỚI HẠN TRÊN MỘT SỐ LỆNH AT89C2051 là một thành viên tiết kiệm và có hiệu quả về giá thành của họ vi đièu khiển đang phát triển của Atmel. Chip này chứa 2K bộ nhớ chương trình Flash. Chip này hoàn toàn tương thích với kiến trúc MCS-51và có thể được lập trình bằng cấch sử dụng tập lệnh MCS-51. tuy nhiên, có vài cân nhắc mà ta ohải chú ý khi sử dụng một số lập trình của chip này. Tất cả các lệnh liên quan đến các hoạt động nhảy và rẽ nhánh sẽ bị giới hạn, chẳn hạn như địa chỉ đíh rơi vào trong không gian nhớ của chip, không gian này là 2K byte với AT89C2051. Vấn đề này là trách nhiệm của nguowif lập trình phần mềm. Thí dụ, lệnh LJMP 7E0H sẽ là lệnh hợp lệ đối với AT89C2051 (có 2K byte bộ nhớ chương trình)trong khi đó lệnh LJMP 900H là lệnh không hợp lệ. Các lệnh rẽ nhánh [...]... ng batch ho c dựng àVison trờn windown v i cỏc t p tin chng trỡnh Ph n c ng cho ch HELLO d a vo CPU 8051 chu n M t con chip ngo i vi c s d ng cho cỏc dóy port Tuy nhiờn, v i àVision b n khụng c n ph i cú 1 CPU vỡ chng trỡnh ó úng vai trũ ph n c ng yờu c u cho chng trỡnh ny T p tin chng trỡnh HELLO Trong àVision, nh ng ng d ng c lu trong t p tin chng trỡnh M t chng trỡnh c vi t cho ch HELLO m chng... ngu n assembly v nh ng file cho trỡnh d ch Macro Assembler) Executable files of the àVision/C51 tool chain.( nh ng t p tin ch y c a àVision/C51) Example programs ( nh ng chng trỡnh vớ d ) Configuration files for Flash Monitor and pre-configured versions.( C u hỡnh cho Flash Monitor v nh ng phiờn b n nh hỡnh On-Line documentation for àVision/C51.(ti li u tr c tuy n cho àVision/C51) Include files for... nh chng trỡnh (cỏc v trớ nh t 00H n 7FFH i v i AT89C2051) Vi c vi ph m cỏc gi i h n khong gian v t lý cú th gõy ra hnh vi khụng bi t c c a chng trỡnh CJNE [ ], DJNZ [ ], JB, JNB, JC, JNC, JBC, JZ, JNZ - V i cỏc l nh r nhỏnh cú i u ki n ny, cỏc quy lu t gi ng nh trờn cng c ỏp d ng M t l n n a, vi c vi ph m cỏc giis h n b nh v t lý s lm cho chng trỡnh th c hti khụng ỳng i v i cỏc ng d ng bao g... m t Folder riờng cho m i Project n gi n hn t o m t Project m i ch n bi u t ng t o ra m t Procject m i àVision t o ra m t Procject m i v i tờn PROCJECT1.UV2 ch a ng m t tờn nhúm v h s m c nh Ta cú th th y tờn ny trong Project Workspace Files Khi ta t o ra m t Procject m i uVision h i ta l a ch n CPU cho Procject h p tho i l a ch n thi t b xu t hi n cho ta th y c s d li u thi t b uVision , ch c n l... cỏc chng trỡnh nh riờng bi t cho RTX 51 cng c cung c p trong m c RTX 51 B ng sau l danh sỏch cỏc chng trỡnh m u trong C51 v tờn th m c c a chỳng Ki u m u Mụ t Cỏc chng trỡnh dựng cho cỏc thi t b tng t ADuC83x v ADI 83x ADuC84x m nú ch ra cỏc thi t b m r ng v cỏch dựng ADI MONITOR DRIVER M t chogn trỡnh h p ng n gi n m ta c th vi t m t o n ASM text cho cỏc port tu n t Vi chng trỡnh riờng bi t: Dhrystone,... ra vi c l p trỡnh trờn b nh 64K CodeBanking\ B c ng v tr n gi n m cho th y lm sao xõy d ng m t CSAMPLE chng trỡnh v i nhi u module trờn àVision Vi vớ d s d ng Dallas Contigious Addressing Mode m nú cú Dallas 390 s n m t vi thi t b khỏc nhau nh DS80C390, DS80C400, DS80C41x, DS5240, and DS5250 Lm sao m r ng ụ nh tr6n 64K FarMemory Chng trỡnh hi n ch Hello world Ch y th nú tr c khi s Hello d ng àVision... l nh y c a 8051 LIB51 Library Manager (trỡnh qu n lý th vi n LIB51) LIB51 cho phộp chỳng ta t o ra th vi n m c tiờu t nh ng t p tin i t ng c t o ra t trỡnh biờn t p v trỡnh l p rỏp Nh ng th vi n c nh d ng c bi t, s p t cho chng trỡnh nh ng t p h p c a nh ng o n chng trỡnh h ng i t ng m cú th c k t n i nh ng l n sau.Khi b k t n i x lý m t th vi n , ch nh ng o n chng trỡnh h ng i t ng c n thi t t o... project file àVision s t i v hi n th n i dung file HELLO.C trờn c a s lm vi c SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 34 n T t Nghi p GVHD:Hunh Minh Ng c Biờn d ch v k t n i HELLO Khi b n ó s n sng biờn d ch v liờn k t chng trỡnh c a mỡnh, s d ng l nh Build Target t menu Project ho t thanh cụng c Build àVision b t u biờn d ch v liờn k t t o ra m t o n chng trỡnh m b n cú th t i vo àVision cho vi c th l... c n nh hỡnh STARTUP.A51 trong trỡnh biờn t p SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 29 n T t Nghi p Thi t GVHD:Hunh Minh Ng c t nh ng tựy ch n cho nh ng m c tiờu uVision cho chỳng ta thi t t nh ng tựy ch n cho m c tiờu ph n c ng H p tho i nh ng tựy ch n cho nh ng m c tiờu c m qua bi u t ng thanh cụng c ho c qua menu tựy ch n Project Trong b ng m c tiờu ch rừ nh ng tham s thớch ỏng ph n c ng v thnh... II.2 àVision IDE àVision IDE k t h p qu n lý d ỏn , trỡnh biờn t p v i s s a ch a l i, ci t tựy ch n, phng ti n, v giỳp tr c tuy n S d ng àVision t o ra nh ng t p tin ngu n v t ch c chỳng vo trong nh ng d ỏn ng d ng àVision IDE t d ng biờn t p, l p rỏp, v liờn k t nh ng ng d ng nhỳng C51 Compiler & A51 Macro Assembler (Trỡnh biờn t p C51 v trỡnh h p ng A51 ) Nh ng t p tin ngu n c t o ra b i àVision . HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN TỬ  Đồ Án Tốt nghiệp Đề Tài: LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051 GVHD :ThS. HUỲNH MINH NGỌC LỚP :CDDT6K SINH VI N. II.Giới thiệu về Vi Điều Khiển AT89C51  MSC51 là một họ Vi Điều Khiển (Microcontroller) do hãng Intel sản xuất.Các IC của họ MSC51 tiêu biểu là 8051 và 8031. Đặc biệt, vi điều khiển 89C51 sản. hợp ngữ như: C, C ++ , Visual basic để có những chương trình chất lượng cao hơn. II. NỘI DUNG CỦA ĐỀ TÀI:  Sơ lược về vi điều khiển AT89C51.  Khảo sát vi điều khiển AT89C2051 của hãng

Ngày đăng: 23/05/2014, 21:55

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan