LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

66 1.5K 7
LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Đ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

LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

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 n Tt Nghip SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 2 PHN I TNG QUAN v TI I. T VN : Ngy nay, nhng ng dng ca Vi iu khin ó i sõu vo i sng sinh hot v sn xut ca con ngi. Thc t hin nay l hu ht cỏc thit b in dõn dng hin nay u cú s gúp mt ca Vi iu Khin v vi x lớ . ng dng vi iu khin trong thit k h thng lm gim chi phớ thi t k v h giỏ thnh sn phm ng thi nõng cao tớnh n nh ca thit b v h thng.Trờn th trng cú rt nhiu h vi iu khin: h 8051 ca Intel, 68HC11 ca Motorola, Z80 ca hóng Zilog, PIC ca hóng Microchip, H8 ca Hitachi,vv Vic phỏt trin ng dng cỏc h vi x lý ũi hi nhng hiu bit c v phn cng cng nh phn mm, nhng c ng chớnh vỡ vy m cỏc h vi x lý c s dng gii quyt nhng bi toỏn rt khỏc nhau. Tớnh a dng ca cỏc ng dng ph thuc vo vic la chn cỏc h vi x lý c th cng nh vo k thut lp trỡnh. Ngy nay cỏc b vi x lý cú mt trong rt nhiu thit b in t hin i: t u a CD, mỏy thu hỡnh, mỏy ghi hỡnh, dn õm thanh HiFi, b iu khi n lũ si cho n cỏc thit b iu khin dựng trong cụng nghip. Lnh vc ng dng ca cỏc h vi x lý cng rt rng ln: t nguyờn cu khoa hc, truyn d liu, n cụng nghip, nng lng, giao thụng v y t Tựy theo kinh nghim v mc thụng tho m chỳng ta cú th s dng cỏc ngụn ng khỏc ngoi hp ng nh: C, C ++ , Visual basic cú nhng chng trỡnh cht lng cao hn. II. NI DUNG CA TI: 9 S lc v vi iu khin AT89C51. 9 Kho sỏt vi iu khin AT89C2051 ca hóng ATMEL. Gm s chõn linh kin. S khi ca AT89C2051. Cỏc ni dng ng dng ca AT89C2051. 9 Gii thiu phn mm Keil Software àViSion 2 9 ng dng ngụn ng C v Assembly iu khin lp trỡnh led. ng dng cho led n, led 7 o n, led ma trn 9 Kt lun v hng phỏt trin ca ti. Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 3 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 9 Tương thích với các sản phẩm của họ MSC-51. 9 2K byte bộ nhớ Flash lập trình được. 9 Khả năng :1000 chu kì ghi/xóa. 9 Tầm điện áp hoạt động từ 2,7 V đến 6V 9 Tầm tần số hoạt động từ 0 Hz đến 21 MHz 9 2 mức khóa bộ nhớ chương trình (program memory). 9 RAM bên trong (internal RAM) có dung lượng 128 x 8 bit. 9 15 đường I/O lập trình được. 9 2 bộ định thời /đếm 16 bit. 9 6 nguồn (nguyên nhân ) ngắt. 9 Kênh nối tiếp UART lập trình được. 9 Các ngõ ra kích LED trực tiếp. 9 Mạch so sánh tương tự trên chip (on-chip analog comparator). 9 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 SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 4 I.3 CẤU HÌNH CHÂN Hình 1.1 I.4 SƠ ĐỒ KHỐI Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 5 Hình 1.2 9 RAM ADDR. REGISTER: thanh ghi địa chỉ RAM . 9 RAM: vùng nhớ truy cập ngẫu nhiên (RAM). 9 FLASH: vùng nhớ FLASH. 9 B REGISTER:thanh ghi B. 9 ACC: thanh chứa. 9 STACK POINTER: con trỏ vùng nhớ xếp chồng. 9 PROGRAM ADDRESS REGISTER: thanh ghi địa chỉ chương trình. 9 TMP1: thanh ghi tạm 1 9 TMP2: thanh ghi tạm 2 9 ALU: đơn vị số học/logic. 9 BUFFER: bộ đệm. 9 PC INCREMENTER: bộ tăng thanh ghi đếm chương trình PC. 9 INTERRUPT, SERIAL PORT AND TIMER BLOCKS: các khối ngắt, port nối tiếp và định thời. 9 PROGRAM COUNTER: bộ đếm chương trình PC. 9 PSW: từ trạng thái chương trình . 9 TIMING AND CONTROL:mạch logic điều khiển và định thời. 9 INSTRUCTION REGISTERED: thanh ghi lệnh. 9 DPTR: con trỏ dữ liệu . 9 PORT1 LATCH: bộ chốt port 1. 9 PORT3 LATCH: bộ chốt port 3. 9 ANALOG COMPARTOR:bộ so sánh tương tự . 9 OSC:mạch dao động. 9 PORT 1 DRIVERS: các mạch kích port 1. 9 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 Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 6 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. 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. Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 7 I.7CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT SFR 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ệ. Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 8 Các lệnh rẽ nhánh LCALL,LMJP, ACALL, AJMP,SJMP ,JMP@A+DPTR- Các lệnh rẽ nhánh khơng điều kiện này sẽ thực thi đúng miễn là người lập trình lưu ý rằng địa chỉ đích rẽ nhánh phải nằm trong giới hạn vật lý của kích thước bộ nhớ chương 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 hành vi khơng biết được của chương 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 này, các quy luật giống như ở trên cũng được áp dụng. Một lần nữa, việc vi phạm các giơis hạn bộ nhớ vật lý sẽ làm cho chương trình thực hti khơng đúng. Đối với các ứng dụng bao gồm các cách ngắt, các vị trí địa chỉ của chương trình phục vụ ngắt (interrupt service rountine) bình thường của cấu trúc họ 89C2051 được bảo tồn. Các lệnh liên quan đến MOVX, bộ nhớ dữ liệu AT89C2051 chứa 128 byte bộ nhớ dữ liệu bên trong (intenal data memory). Như vậy trong AT89C2051,kích thước của bộ xếp chồng (stack depth) được giới hạn tới 128 byte, đay là dung lượng của RAM có sẳn. Việc truy cạp bộ nhớ bên ngồi khơng được hỗ trợ trong chip này và việc thưc thi chương trình bên ngồi cũng khơng được hỗ trợ. Như vậy khơng có lệnh MOVX [. . . ] nào chứa trong chương trình. Một trình dịch hợp ngữ (assembler) điển hình c ủa 89C51 vẫn dịch các lệnh này,ngay cả khi chúng được viết dưới dạng vi phạm các giới hạn đã đề cập ở trên. Người sử dụng bộ vi điều khiển phải có trách nhiệm phải biết các tính chất vật lý và giới hạn của linh kiện đang được sử dụng và điều chỉnh các lệnh được sử dụng một cách thích hợp. Các giới hạn trên đ ây cho ta thấy các khuyết điểm của At89C2051. I.9 CÁC BIT KHỐ BỘ NHỚ CHƯƠNG TRÌNH Với chip AT89C2051 ta có 2 bit khố (lock bit), các bit này có thể để lại khơng lập trình (U) hoặc có thể lập trình (P) đẻ nhận thêm được các tính chất được liệt kê ở bảng 11.3. Các bit khố chương trình LB1 LB2 Loại bảo vệ 1 U U Khơng có tính chất khố chương trình. 2 P U Việc lập trình thêm nữa cho bộ nhớ Flash bị cấm. 3 U U Tương tự chế độ 2, việc kiểm tra cũng bị cấm. Lưu ý: các bit khố chỉ có thể bị xố bằng thao tác xố chip Bảng 1.3:Các chế độ bảo vệ của bit khố. I.10 CHẾ ĐỘ NGHỈ Trong chế đọ nghỉ CPU sẽ tự ngủ, trong khi tất cả các ngoại vi khác trên chip điều hoạt động và điều duy trì trạng thái ở chế độ tích cực. Chế đọ này được u cầu bởi phần mềm. Nội dung của RAM trên chip và tất cả tren các thanh ghi chức nă ng đặc biệt điều giữ ngun khơng thay đổi trong thời gian ở chế độ này. Chế độ nghỉ có thể được kết thúc bởi cách ngắt bất kì được phép hoăc bằng cách reset phần cứng. Các chân P1.0 và P1.1 sẽ được thiết lập bằng 0 nếu khơng sử dụng các mạch kéo lên bên ngồi hoặc được thiết lập bằng 1 nếu có mạch kéo lên bên ngồi. Cũng cần lưu ý rằng khi chế độ nghỉ được kết thúc bởi một reset cứng, chip sẽ tiếp tục thực thi chương trình bình thường từ nơi chương trình bị rời bỏ, đến 2 chu kỳ máy trước giải thuật reset bên trong lấy quyền điều khiển. Phần cứng trên chip ngăm cản việc truy cập đến RAM bên trong ở chế độ này nhưng khơng cấm việc truy cập đến cá chân của port. Để laọi bỏ khả năng có mộ t thao tác khơng mong đợi đến một chân của port khi chế độ nghỉ được kết thúc bằng reset, lẹnh theo sau lệnh u cầu chế nghỉ sẽ khơng thể là lệnh ghi đến một chân port hoặc bộ nhớ ngồi. Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 9 I.11 CHẾ ĐỘ GIẢM CÔNG SUẤT Trong chế độ giảm công suất, mạch dao động bị dừng và lệnh yêu cầu chế độ giảm công suất là lệnh sau cùng được thực thi. RAM trên chip và các thanh ghi chức năng đặc biệt giữ lại các giá trị của chúng cho đén khi các chế độ giảm công suất được kết thúc.Lối thoát duy nhất ra khỏi chế độ giảm công suất là sử dụng reset cứng. Reset sẽ định nghĩa lại các thanh ghi chua\cứ năng đặc biệt nhưng không làm thay đổi Ram trên chip. Reset không nên được kích hoạt trươc khi điện áp V CC được khôi phục đến mức hoạt động bình thường và reset phải duy trì tích cực đủ lâu để cho phép mạch hoạt động trở lại và trở nên ổn định. Các chân P1.0 và P1.1 sẽ được thiết lập bằng 0 nếu không sử dụng các mạch kéo lên bên ngoài hoặc được thiết lập bằng 1 nếu có mạch kéo lên bên ngoài. I.12 LẬP TRÌNH FLASH AT89C2051 trên thị trường có dải nhớ chương trình PEROM trên chip la 2K byte ở trạng thái đã được xóa (nghĩa là toàn bộ nội dung của các byte là FFH) và sẳn sàng được lập trình. Dải nhớ chương trình được lập trình một byte cho mỗi thời điểm. Một khi dãi này đã được lập trình, để lập trình lại bất kì byte nào không trống, toàn bộ dải nhớ được xóa bằng điện. Bộ điếm địa chỉ bên trong AT89C2051 có một bộ đếm địa chỉ PEROM bên trong, bộ đếm này luôn luôn được thiết lập là 00H ở c ạnh lên của RST và được tăng lên bằng cách áp dụng xung đang trở thành mức dương (positve going pluse) đến chân XTAL1. Giải thuật chương trình Để lập trình AT89C2051, theo trình tự sau đây. 1. Trình tự cấp điện: Cấp điện giữa các chân V CC và GND Thiêt lập RST và XTLA1 đến mức thấp (GND) 2. Thiết lâp RST lên mức cao (‘H’) Thiết lập chân P3.2 lên mức cao (‘H’) 3. Áp dụng tổ hợp các mức logic ‘H’ và ‘L’ thích hợp đên các chân P3.3, P3.4, P3.5 và P3.7 để chọn 1 trong các thao tác lập trình được trình bày trong bảng các chế độ lập trình PEROM (PEROM proramming modes table). Để lập trình và kiểm tra dải nhớ chương trình: 4. Đặt dữ liệu của byte chhương trình ( hay còn gọi là byte mã) ở vị trí 00h đến các chân từ P1.0 đến P1.7. 5. Tăng RST lên 12V để cho phép lập trình. 6. Đưa một xung đế n chân P3.2 để lập trình một byte trong dải PEROM hoặc các bit khóa. Chu kỳ ghi byte được tự định thời và điển hình chiếm 1.2ms. 7. Để kiểm tra dữ liệu đã lập trình, giảm thấp RST từ 12V xuống mức logic cao ‘H’ và thiết lập các chân từ P3.3 đến P3.7 đến các mức logic thích hợp. Dữ liệu xuất có thể được đọc ở các chân của port 1. 8. Để lập trình một byte ở vị trí địa chỉ kế tiế p, đưa một xung đến XTAL1 để tăng bộ đếm địa chỉ bên trong (internal address counter). đặt dữ liệu mới đến các chân của port 1. 9. Lập lại các bước từ 6 đến 8, thay đổi dữ liệu và tăng bộ đếm địa chỉ cho toàn bộ dải byte hoăc cho đến khi kết thúc tập tin đối tượng (object file). 10.Trình tự ngắt nguồn điện. Thiết lập XTLA1 đến mức thấp (‘L’) Thiết l ập RST đến mức thấp (‘L’) Tắt nguồn cấp điện cho V CC . Đồ Án Tốt Nghiệp SVTH:Lê Văn Long & Đặng Đức Trung CDDT6K Trang 10 Data Polling: AT89C2051 có Data Polling để chỉ ra việc kết thúc một chu kỳ ghi. Trong thời gian của một chu kỳ ghi, việc thử đọc byte sau cùng được ghi sẽ dẫn đến việc lấy bù dữ liệu được ghi trên chân P1.7. Một khi chu kỳ ghi đã kết thúc, dữ liệu sẽ có hiệu lực trên tất cả các ngõ ra và chu kỳ kế tiếp có thể bắt đầu. Data Polling có thể bắt đầu bất cứ lúc nào sau khki một chu kỳ ghi được khởi động. Ready/ Busy : Tiến trình lập trình byte cũng có thể giám sát bằng tín hiệu ngõ ra RDY/ BSY . Chân P3.1 được kéo xuống mức thấp sau khi chân P3.2 trở thành mức cao trong thời gian lập trình sẽ chỉ ra trạng thái bận (BUSY). Chân P3.1 được kéo lên mức cao lấn nữa khi việc lập trình kết thúc sẽ chhỉ ra trạng thái sẳn sàng (READY). Program verify ( kiểm tra chưong trình ): Nếu các bit khóa LB1 và LB2 đã không được lập trình, dữ liệu chương trình có thể đọc ngược về thông qua các đường dữ liệu để kiểm tra: 1. Reset bộ đếm địa chỉ bên trong về 00H để mang RST từ ‘L’ lên ‘H’. 2. Đặt các tín hiệu thích hợp để đọc dữ liệu chương trình và đọc dữ liệu ngõ ra ở các chân của port 1. 3. Đưa một xung đến chân XTAL 1 để tăng bộ đếm địa chỉ bên trong. 4. Đọc byte dữ liệu kế tiếp ở các chân của port 1. 5. Lập lại các bước 3 và 4 cho đến khi toàn bộ dải nhớ chương trình được đọc. Các bit khóa khong thể được kiểm tra trực tiếp. Việc kiểm tra các bit khóa s ẽ nhận được bằng cách tuân theo các tính chất được cho phép của chúng. Chip erase (xóa chip): Toàn bộ dải PEROM (2K byte) và hai bit khóa đựơc xóa bằng điện bằng sử dụng tổ hợp thích hợp các tín hiệu điều khiển và bằng cách giữ cho chân P3.2 ở mức thấp trong 10ms. Dải nhớ chương trinhd được ghi với tất cả các bit điều là 1 trong thao tác xóa chip va phải được thực hiện trước khi bất kỳ byte nhớ không trống nào có thể được l ập trình lại. Reading the signature bytes (đọc các byte chữ ký ): Các byte chữ ký được đọc với cùng thủ tục như viêc kiểm tra bình thường các vị trí nhớ 000H, 001H, 002H, ngoại trừ các chân P3.3 và chân P3.5 phải được kéo xuống mức logic thấp. Các giá trị được trả về như sau: (000H) = 1EH chỉ ra được sản xuất bởi Atmel. (001H) = 21H chỉ ra 89C2051. I.13CÁC CHẾ ĐỘ LẬP TRÌNH FLASH Các chế độ lập trình Flash được tóm tắt ở bảng 1.4. [...]... bn chy th Nhng chng trỡnh ny giỳp ta hc c ch s dng c c cụng c ca Keil C5 1 ng thi, ta cng c th sao chộp c c an mó ca chỳng vo chng trỡnh ca chỳng ta C c chng trỡnh mu ca Keil C5 1 c lu trong thu mc C: \KEIL \C5 1\EXAMPLES\ Mi chng trỡnh c lu trong mt th mc riờng c ng vi mt tp tin d kin giỳp bn c th nhanh chúng xõy dng v ỏnh giỏ chng trỡnh Ngoi ra, c c chng trỡnh nh riờng bit cho RTX 51 cng c cung cp... trờn c c chõn ny cha c in tr kộo dng, do ú khi cn chỳng ta cn nh n c im ny Port 1: port 1 l mt port I/O trờn c c chõn 1-8 Port 2: port 2 l mt port c ng dng kộp trờn c c chõn 21-28 Port 3: port 3 l mt port c ng dng kộp trờn c c chõn 10-17 C c chõn ny u c nhiu chc nng, c c cụng dng chuyn i c liờn h ti c c c tớnh c bit ca 8051 bng sau: SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 17 n Tt Nghip CC TN... Nghip ICC CH TCH CC Hỡnh 1.10: ICC ch tớch cc ICC CH NGH V CH GIM C NG SUT Hỡnh 1.11: (a) ICC ch ngh ,(b) ICC ch gim c ng sut SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 15 n Tt Nghip Packaging Information SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 16 n Tt Nghip II.Gii thiu v Vi iu Khin AT8 9C5 1 MSC51 l mt h Vi iu Khin (Microcontroller) do hóng Intel sn xut .C c IC ca h MSC51 tiờu biu l 8051. .. 35 n Tt Nghip Mụ t c c chc nng ca tp tin ngun Measure .c Chc c c hm chớnh ca C cho h thng o lng v iu kin ngt cho timer0 c c hm chớnh khi to tt c c c thit b ngoi vi ca P89LPC935 v x lý c c lnh h thng iu kin ngt timer,timer0, qun lý ng h thi gian thc v ly d liu t phộp o ca h thng Mcommand .c Nhng quỏ trỡnh hin th, thi gian v khong c ch gia c c lnh Nhng hm ny c gi t chng trỡnh chớnh C c lnh hin th giỏ tr... trỡnh cho bo mch Keil MCB900 Evaluation m h tr Philips LPC9xx c c thit b Philips LPC900 - LPC94x Chng trỡnh cho bo mch Keil MCB9xx Evaluation m h tr Philips LPC95x c c thit b Philips LPC950 - LPC99x Chng trỡnh mu cho dũng ST uPSD cho thy cu hỡnh h ST uPSD thng Keil ULINK USB-JTAG Adapter Chng trỡnh cho c c thit b TI MSC121x ch ra c ch dựng h TI MSC121x thng gii mó ISD51 In-System Debugger Chng trỡnh cho. .. Flash SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 12 n Tt Nghip DNG SểNG MCH KCH XUNG CLOCK BấN NGOI Hỡnh 1.6:Dng súng mch kớch xung clock bờn ngoi MCH KCH XUNG CLOCK BấN NGOI Ký hiu 1/tCLCL tCLCL tCHCX tCLCX tCLCH tCHCL Thụng s Tn s dao ng Chu k xung clock Thi gian mc cao Thi gian mc thp Thi gian tng (cnh lờn) Thi gian gim (cnh xung) VCC=2.7V n 6.0V Min Max 0 12 83.3 30 30 20 20 VCC=4.0V n 6.0V Min Max... ngoi vi c s dng cho c c dóy port Tuy nhiờn, vi Vision bn khụng cn phi c 1 CPU vỡ chng trỡnh ó úng vai trũ phn cng yờu cu cho chng trỡnh ny Tp tin chng trỡnh HELLO Trong Vision, nhng ng dng c lu trong tp tin chng trỡnh Mt chng trỡnh c vit cho ch HELLO m chng trỡnh ny ta chn Open Project t menu Project v m tp tin HELLO.UV2 t th mc \C5 1\EXEMPLES\HELLO Son tho chng trỡnh HELLO .C Bõy gi bn c th son tho chng... trong Project Workspace Files Khi ta to ra mt Procject mi uVision hi ta la chn CPU cho Procject hp thoi la chn thit b xut hin cho ta thy c s d liu thit b uVision , ch cn la chn b iu khin m ta s dng Vớ d nh ta chn B iu khin Philips 8 0C5 1RD+ Nhng tựy chn c ng c ny cho Philips 8 0C5 1RD+ c rỳt gn bờn cu hỡnh c ng c SVTH:Lờ Vn Long & ng c Trung CDDT6K Trang 23 n Tt Nghip Chỳ ý: Ta c th la chn B kt ni... ng s cho tớn hiu in t 0.00V n 3.30V Getline .c Gm c c dũng lnh c son tho cho nhng d kin nhn t c c port Yờu cu phn cng C c ng dng o lng ch c th chy trờn bo mch Keil MCB900 hoc c c phn cng c bn kh c dựng P89LBC935 B vi iu khin PL89LBC935 cung cp kh nng nhp vo c tớn hiu s v tng t Port 1 v Port2 c dựng nhp tớn hiu s v t AD00 n AD03 nhp tớn hiu tng t Tuy nhiờn, chỳng ta s khụng cn mt bo mch no ht vỡ Vision... cng c cung cp trong mc RTX 51 Bng sau l danh sỏch c c chng trỡnh mu trong C5 1 v tờn th mc ca chỳng Kiu mu Mụ t C c chng trỡnh dựng cho c c thit b tng t ADuC83x v ADI 83x ADuC84x m nú ch ra c c thit b m rng v c ch dựng ADI MONITOR DRIVER Mt chogn trỡnh hp ng n gin m ta c th vit mt on ASM text cho c c port tun t Vi chng trỡnh riờng bit: Dhrystone, Whetstone, Sieve Benchmarks\ Loi 8051 Blinky lm sỏng

Ngày đăng: 26/04/2013, 12:17

Hình ảnh liên quan

I.3 CẤU HÌNH CHÂN - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

3.

CẤU HÌNH CHÂN Xem tại trang 4 của tài liệu.
Hình 1.1 - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.1.

Xem tại trang 4 của tài liệu.
Hình 1.3 các kết nối của mạch dao động. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.3.

các kết nối của mạch dao động Xem tại trang 6 của tài liệu.
Bảng 1.1 - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Bảng 1.1.

Xem tại trang 6 của tài liệu.
Bảng 1.2 Các giá trị khi reset và bản đồ các SFR của AT89C2051 - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Bảng 1.2.

Các giá trị khi reset và bản đồ các SFR của AT89C2051 Xem tại trang 7 của tài liệu.
Một trình dịch hợp ngữ (assembler) điển hình của 89C51 vẫn dịch các lệnh này,ngay cả khi chúng được viết dưới dạng vi phạm các giới hạn đã đề cập ở trên - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

t.

trình dịch hợp ngữ (assembler) điển hình của 89C51 vẫn dịch các lệnh này,ngay cả khi chúng được viết dưới dạng vi phạm các giới hạn đã đề cập ở trên Xem tại trang 8 của tài liệu.
SEE FLASH PROGRAMMING MODE TABLE:xem bảng chế độ lập trình Flash. PGM DATA: dữ liệu chương trình - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

xem.

bảng chế độ lập trình Flash. PGM DATA: dữ liệu chương trình Xem tại trang 11 của tài liệu.
2. việc xóa chip yêu cầu xung PROG kéo dài 10ms. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

2..

việc xóa chip yêu cầu xung PROG kéo dài 10ms Xem tại trang 11 của tài liệu.
Bảng 11.5 Các đặt điểm lập trình và kiểm tra Flash. TA = 00C đến 700 C, VCC = 5.0 ± 10% - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Bảng 11.5.

Các đặt điểm lập trình và kiểm tra Flash. TA = 00C đến 700 C, VCC = 5.0 ± 10% Xem tại trang 12 của tài liệu.
Hình 1.5 Các dạng sóng lập trình và kiểm tra Flash.hiệu lực.  - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.5.

Các dạng sóng lập trình và kiểm tra Flash.hiệu lực. Xem tại trang 12 của tài liệu.
Hình 1.6:Dạng sóng mạch kích xung clock bên ngoài. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.6.

Dạng sóng mạch kích xung clock bên ngoài Xem tại trang 13 của tài liệu.
Bảng 1.5 Các thông số của mạch kích xung clock bên ngoài. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Bảng 1.5.

Các thông số của mạch kích xung clock bên ngoài Xem tại trang 13 của tài liệu.
Hình 1.7 Dạng sóng định thời chế độ thanh ghi dịch. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.7.

Dạng sóng định thời chế độ thanh ghi dịch Xem tại trang 14 của tài liệu.
Hình 1.8:Dạng sóng ngõ vào/ngõ ra kiểm tra AC. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.8.

Dạng sóng ngõ vào/ngõ ra kiểm tra AC Xem tại trang 14 của tài liệu.
Hình 1.11: (a) ICC ở chế độ nghỉ ,(b) ICC ở chế độ giảm công suất. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.11.

(a) ICC ở chế độ nghỉ ,(b) ICC ở chế độ giảm công suất Xem tại trang 15 của tài liệu.
Hình 1.10: ICC ở chế độ tích cực. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Hình 1.10.

ICC ở chế độ tích cực Xem tại trang 15 của tài liệu.
của hộp thoại này, từ đó có thể có những chỉ dẫn bổ sung cho cấu hình thiết bị. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

c.

ủa hộp thoại này, từ đó có thể có những chỉ dẫn bổ sung cho cấu hình thiết bị Xem tại trang 24 của tài liệu.
Thêm và định hình mã khởi Động ( Add and Configure the Starup Code) File STARUP.A51 là mã khởi động cho đa số CPU 8051 - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

h.

êm và định hình mã khởi Động ( Add and Configure the Starup Code) File STARUP.A51 là mã khởi động cho đa số CPU 8051 Xem tại trang 26 của tài liệu.
Bảng sau là danh sách các chương trình mẫu trong C51 và tên thư mục của chúng. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Bảng sau.

là danh sách các chương trình mẫu trong C51 và tên thư mục của chúng Xem tại trang 30 của tài liệu.
liệu. Mẫu dữ liệu có thể định hình từ 1 mili giây đến 60 phút. Mỗi dữ liệu đo được trong suốt thời gian hoặc từ các kênh ngõ vào đềđược lưu vào RAM - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

li.

ệu. Mẫu dữ liệu có thể định hình từ 1 mili giây đến 60 phút. Mỗi dữ liệu đo được trong suốt thời gian hoặc từ các kênh ngõ vào đềđược lưu vào RAM Xem tại trang 34 của tài liệu.
Chuỗi các lệnh dùng cho chương trình được liệt kê trong bảng. Những lệnh này bao gồm bảng mã ASCII và tất cả các lệnh điều phải được hoàn tất bằng một sự  quay  vòng - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

hu.

ỗi các lệnh dùng cho chương trình được liệt kê trong bảng. Những lệnh này bao gồm bảng mã ASCII và tất cả các lệnh điều phải được hoàn tất bằng một sự quay vòng Xem tại trang 37 của tài liệu.
Bảng giá trị các thanh ghi - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

Bảng gi.

á trị các thanh ghi Xem tại trang 43 của tài liệu.
hình cột cho thấy phần trăm thời gian thực hiện đoạn mã trong mỗi phạm vi. Click vào một cột để thấy thông tin thống kê chi tiết - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

hình c.

ột cho thấy phần trăm thời gian thực hiện đoạn mã trong mỗi phạm vi. Click vào một cột để thấy thông tin thống kê chi tiết Xem tại trang 49 của tài liệu.
đặc biệt. Chú ý rằng có nhiều tùy chọn cấu hình hơn được giới thiệu trong phần này. - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

c.

biệt. Chú ý rằng có nhiều tùy chọn cấu hình hơn được giới thiệu trong phần này Xem tại trang 50 của tài liệu.
Các bộ biến đổi A/D điển hình cần 40 chu kỳ lệnh hoặc ít hơn để hoàn tất việc biến đổi và chúng được cấu hình để tạo ra ngắt vào lúc hoàn tất việc biến đổ i, vi ệ c này  làm cho bộ vi điều khiển định hướng đến một vector ngắt cụ thể dành cho việc biến đổ  - LẬP TRÌNH C CHO HỌ VI ĐIỀU KHIỂN 8051

c.

bộ biến đổi A/D điển hình cần 40 chu kỳ lệnh hoặc ít hơn để hoàn tất việc biến đổi và chúng được cấu hình để tạo ra ngắt vào lúc hoàn tất việc biến đổ i, vi ệ c này làm cho bộ vi điều khiển định hướng đến một vector ngắt cụ thể dành cho việc biến đổ Xem tại trang 56 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan