... tin lên LCD ho c đ c nội dung cc thanh ghi trong LCD. Để hiển thị cc chữ c i và cc con số, chúng ta gửi mã ASCII c a cc chữ c i từ A đến Z , a đến z và cc chữ số từ 0 đến 9 đến c c chân này ... c ng vi c ta mong muốn sẽ đư c th c hiện ở chương trình ph c vụ ngắt. c ng vi c đó c thể coi là đ clập với c ng vi c ở chương trình chính - cc công vi clậptrình sử dung ngắt định thời :+ ... dựng chương trình chính và cc chương trình con c n thiết.+ xây dựng chương trình ph c vụ ngắt th c hiện 1 c ng vi c mong muốn (x c định rõ địa chỉ ngắt theo thứ tự ngắt trong bảng vector ngắt)...
... tả cc ch c năng c a tập tin nguồn Measure .c Ch ccc hàm chính c a Ccho hệ thống đo lường và điều kiện ngắt cho timer0. cc hàm chính khởi tạo tất c cc thiết bị ngoại vi c a P89LPC935 ... quát. Cc mạch đệm ngõ ra c a port 3 c thể hút dòng 20mA.Khi cc log c đư c ghi đến cc chân c a port 3, cc chân này đư c kéo lên m c cao bởi cc mạch kéo lên bên trong và c thể đượ c sử ... ở cc chân c a port 1. 5. Lập lại cc 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 cc bit khóa sẽ nhận được...
... Chân cc port ngoài cc ch c năng xuất nhập c n c một số ch c năng kh c. 4. Cc Port và Ch c Năng PortA, B, C, D, E chứa trong bank 0 C c thanh ghi định hướng dữ liệu tương ứng với cc ... sử dụng AVR, thậm chí không c n nguồn tạo xung clock cho chip (thường là cc khối thạch anh). • Thiết bị lậptrình (mạch nạp) cho AVR rất đơn giản, c loại mạch nạp chỉ c n vài [Year] ... MỀM CCSC V. CHƯƠNG TRÌNH MẪU VÀ MODUL MÔ PHỎNG CHO PIC 16F877A PHẦN C: LẬPTRÌNHCHO AVR BẰNG CODE VISION I. TÌM HIỂU VỀ AVR II. C U TR C LỆNH C A CODE VISION III. HƯỚNG DẪN SỬ DUNG LẬP...
... lựa chọn switch: C ấu tr c: switch(Biến) { case giatrị1: { // C c c u lệnh break; } case giatrị2: { // C c c u lệnh break; } case ... ĐẠI H C L C HỒNG GIÁO TRÌNHLẬPTRÌNHCCHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 6 of 6 Thự c hiện lặp c c c u lệnh (l-m) lần C u lệnh ... H C L C HỒNG GIÁO TRÌNHLẬPTRÌNHCCHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 4 of 6 Hàm c biến truyền vào: void Tênhàm(unsigned char x) { // C c ...
... dòng chú thích. Tất ccc dòng bắt đầu bằng hai dấu sổ (//) đư c coi là chút thích mà chúng không c bất kì một ảnh hưởng nào đến hoạt động c a chương trình. Chúng c thể đư ccclậptrình ... C u tr c lựa chọn: switch. case vi. Biết sử dụng cc hàm và chương trình con. vii. II .C bản C 1. Cc chỉ thị trư c xử lý c a Keil C viii. // chu thich chu thich*** a. ... trìnhcho vxl , chúng ta chi c n biết số lượng lệnh không nhiều . Đầu tiên bạn phải làm quen với ii. Cc kiểu toán tử ở C iii. Cc kiểu dữ liệu iv. C u tr c cơ bản c a một chương trình v. C c...
... a=a%52.3 C u tr c chương trình C 2.3.1 C u tr c chương trình * C u tr c 1. Khai báo chỉ thị tiền xử lý2. Khai báo cc biến toàn c c 3. Khai báo nguyên mẫu cc hàm4. Xây dựng cc hàm và chương trình ... đư c tìm trong thư m c INC để chèn vào chương trình nguồn. C ch 2: #include“regx51.h”Ở c ch này tệp regx51.h sẽ đư c tìm trong thư m c chứa chương trình nguồnnếu không c mới tìm trong thư m c ... c a tệp kh c và chèn vào tệpchương trình nguồn mà ta soạn thảo. - C pháp: C ch 1: #include<tên_tệp> C ch 2: #include“tên_tệp” - Ví dụ: C ch 1: #include<regx51.h>Ở c ch này tệp...
... biên dịch cc tệp thư viện. - C pháp: C ch 1: #ifdef ten_macroĐoạn chương trình #endif C ch 2: #ifdef ten_macroĐoạn chương trình 1 #elseĐoạn chương trình 2 #endifỞ c ch 1 nếu tên_macro ... ten_macroĐoạn chương trình #endif C ch 2: #ifndef ten_macroĐoạn chương trình 1 #elseĐoạn chương trình 2 #endifỞ c ch 1 nếu tên_macro chưa đư c định nghĩa “Đoạn chương trình sẽ đư c dịch ... E(Enable): chân cho phép đư c sử dụng bởi LCD để chốt dữ liệu c a nó. Khi dữ liệu đư c cấp đến chân dữ liệu thì 1 xung m c cao xuống thấp phải đư c áp đến chân này để LCD chốt dữ liệu trên cc chân...
... delay_15ms(); LCDWriteCmd(0x30); LCDWriteCmd(0x30); LCDWriteCmd(0x30); LCDWriteCmd(0x38); LCDWriteCmd(0x 0C) ; // LCDWriteCmd(0x06); LCDWriteCmd(0x01); // Xoa man hinh LCD } void LCD_clear() ... D1A2 C2 CAPA2 C3 CAPR3R12D3VCC_CIRCLED6D6Q1CRYSTALR1RESISTOR VAR1 32D7D4J1CON212D3 C1 CAP12VCC_CIRCLEVCC_CIRCLESW1SW PUSHBUTTON1 2D5D0D4A3D7VCC_CIRCLEU1AT8 9C5 191819202930314012345678212223242526272810111213141516173938373635343332RSTXTAL2XTAL1GNDPSENALE/PROGEA/VPPVCCP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7D5A3D2D0A1U2LCD ... BE Mẫu chữ I: ĐẠI H C L C HỒNG GIÁO TRÌNHLẬPTRÌNHCCHO HỌ VI ĐIỀU KHIỂN 8051 Biên soạn: Nguyễn Bá Thuận Page 21 of 37 8. HỆ THỐNG VẬN CHUYỂN SẢN PHẨM YÊU C U C A QUI TRÌNHC NG NGHỆ...
... chocc con trỏ, s và t dành chocc xâu.Người ta dùng cc tên bắt đầu ho c kết th c bởi chữ “p” chocc biến con trỏ (chẳng hạn nodep, intp, intpp, doublep), cc tên bắt đầu bằng chữ hoa cho ... rãi chocc con trỏ null, điều này không đư c khuyến khích. Mọi sự vi phạm đều đư ccho phép nếu nó giúp cho tối ưu đoạn mã c ủa bạn. M c đích chính c a cc quy t c này là làm cho ... Báo lỗi ngay chỗ này 9. Cc idiom C ũng giống như ngôn ngữ tự nhiên, ngôn ngữ lập trình c ũng ccc idiom (thành ngữ !?), là ccc ch viết code chính t cchocc trường hợp...
... Cu phap: JB/ JNB BIT,́ ́ Trong đo: BIT co thê la cac bit cua môt thanh ghi ho c cac chân I/O cua vi điêu khiêń ́ ̉ ̀ ́ ̉ ̣ ̣ ́ ̉ ̀ ̉ Th c hiên: nhay đên vi tri chương trinh đư c chi đinh bơị ... MOV DPTR,#1000 MOV A, #4EH MOVX @DPTR, A ; ghi giá trị 4EH vào ô nhớ ngoài c địa chỉ 1000 c. Lệnh liên quan đến vùng nhớ chương trình (đ c mã lệnh): C pháp: MOVC A,@A+DPTR Th c hiện: lấy nội dung ô nhớ trong vùng nhớ chương trìnhc địa chỉ là nội dung thanh ghi A + DPTR đặt vào thanh ghi A. Ví dụ 1: MOV A,#2 MOV DPTR,#500 MOVC A,@A+DPTR ; A ⇓ ... (502) Ví dụ 2: MOV A, #4 MOV DPTR,#TABLE MOVC A, @A+DPTR TABLE: DB 12H, 4EH, 0C7 H, 084H, 055H,…… 3. Nhóm lệnh liên quan đến ngăn xếp: + Ghi vào ngăn xếp: C pháp: PUSH Thanh ghi/ địa chỉ Th c hiện: c t nội dung thanh ghi ho c ô nhớ vào đỉnh ngăn xếp + Đ c ngăn xếp: C pháp: POP Thanh ghi/ địa chỉ Th c hiện: lấy nội dung ở đỉnh ngăn xếp gán vào thanh ghi, ô nhớ + ví dụ: MOV A,#100 MOV 100,#3EH PUSH ACC PUSH 100 MOV A, #21H MOV 100, #40 POP 100 POP ACC 4. Lệnh trao đổi dữ liệu: C pháp: XCH A, Trong đó: c thể là thanh ghi, ô nhớ ho c @Rp Th c hiện: trao đổi nội dung thanh ghi A và II. NHÓM LỆNH SỐ H C 1. Lệnh c ng: a. C ng không nhớ: C pháp: ADD A, Trong đó: c thể là thanh ghi, ô nhớ, # ho c @Rp Th c hiện: A ⇓ A + VD2.CLR P1.0 lệnh này làm cho điện áp trên chân số 1 c a chíp AT8 9C5 1 xuống 0 vôn5.Ngư c lại với ClrVD Setb p1.0, kết quả làm điện áp trên chân số 1 lên 5 vôn6.Quay lại chỗ mà chương trình rẽ nhánhNếu không gặp cc lệnh rẽ nhánh thì chương trình sẽ th c hiện theo thứ tự từ trên xuống dưới.7.quay lại chỗ mà chương trình bị ngắtVD gia chủ đang kể c u chuyện về đứa con gái c a ông ta, tới đoạn “Con tôi kh c nhiều nên mắt đã bị mù” bỗng chuông điện thoại reo. Sau khi nghe xong điện thoại quay lại c u chuyện, thay vì phải hỏi “tôi kể tới đâu rồi” RETI là c u trả lời.8. lệnh nhảy, lệnh rẽ nhánh không điều kiện.lệnh c ng ch c năng SJMP9.Lệnh kiểm tra 1 bít, Nếu bít đó bằng 1 thì rẽ nhánhVD Jb p0.0,xuong0Setb p1.0Xuong0:Clr p1.0Ret C c lệnh trên sẽ kiểm tra 1 nút nhấn nối Mass, nếu nhấn xuống thì đèn sáng, nếu thả thì đèn tắt10. Lệnh kiểm tra bít, nếu bít =0 thì rẽ nhánh11.Lệnh tăng ô nhớ lên 1 đơn vịVD mov r2,#1Inc r2...
... chuyên dụng cho điều khiển bộ biến đổi áp DC->DC , dùng cho điều khiển động c DC . Ở đây chưa đề c p đến ECCP . Chỉ đề c p CCP , và thường chỉ c 2 chân là CCP1 và CCP2 . _Module c 3 ch c ... version CCS trên web : info.CCS.com ho c trang web đi kèm ). _CCS chứa rất nhiều hàm ph c vụ cho mọi m c đích và c rất nhiều c ch lậptrình mã choc ng 1 vấn đề dẫn đến kh c nhau t c độ th c ... ASSEMBLY c nh với C , tuy nhiên CCS sẽ không bảo đảm chương trình chạy chính x c . _CCS cung c p cc công c tiện ích giám sát hoạt động chương trình như : C/ ASM list : cho phép xem mã ASM c a...
... break. C u tr c lựa chọn: switch. case Biết sử dụng cc hàm và chương trình con . II .C bản C 1. Cc chỉ thị trư c xử lý c a Keil C // chu thich /********** chu thich****************** ... là nơi cc bạn viết cc chương trình nhỏ , rất tiện chocc đoạn lệnh gặp lại nhiều lần . Chương trình con c thể c thể gọi ở trong chương trình chính bất kì đâu . Hàm là chương trình con trả ... dòng chú thích. Tất ccc dòng bắt đầu bằng hai dấu sổ (//) đư c coi là chút thích mà chúng không c bất kì một ảnh hưởng nào đến hoạt động c a chương trình. Chúng c thể đư ccclập trình...