Học PIC trong 1 ngày - Phần 2
Số trang: 12
Loại file: pdf
Dung lượng: 138.76 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Phần thứ hai các bạn cần học, đó là khởi tạo PIC. Phần này là phần bắt buộc theo sau phần ghi chú, bởi vì chương trình dịch cần phải hiểu bạn đang làm việc với con PIC nào, làm việc với nó như thế nào? ,
Nội dung trích xuất từ tài liệu:
Học PIC trong 1 ngày - Phần 2Học PIC trong 1 ngàyPhần thứ hai các bạn cần học, đó là khởi tạo PIC. Phần này là phần bắt buộc theo sauphần ghi chú, bởi vì chương trình dịch cần phải hiểu bạn đang làm việc với con PIC nào,làm việc với nó như thế nào?Code:;======================================================= TITLE Mach test LED_1 PROCESSOR P16F628A INCLUDE __CONFIG _CP_OFF & _PWRTE_ON &_WDT_OFF &_HS_OSC;=======================================================Các bạn sẽ thấy rằng có một số từ khoá như sau:TITLE: dùng để các bạn ghi chú thích t ên chương trình. TITLE là ten chương trìnhchính. Cú pháp ghi TITLE như trên. Nhớ phải có dấu nháy kép khi viết t ên chương trình.PROCESSOR: dùng để khai báo dòng vi điều khiển mà các bạn sử dụng. Các bạn lưu ý,trong MPLAB quy định, không viết đầy đủ t ên PIC16F628A mà chỉ viết P16F628A, vìtrong chương trình dịch đã quy định như vậy.INCLUDE: dùng để đưa thêm vào các file mà bạn viết trong chương trình. Mặc định,trong MPLAB đường dẫn đến thư mục chứa file P16F628A.inc đã có sẵn. Nếu bạn đặtfile ở nơi khác không phải trong thư mục bạn đang làm việc, hoặc các file include khongphải là file .inc có sẵn của MPLAB, thì các bạn phải chỉ đường dẫn rõ ràng. Lưu ý rằng,để MPASM dịch được, các bạn phải đặt đường dẫn từ thư mục gốc đến hết tên file (kể cảphần mở rộng của file) không được quá 60 ký tự.__CONFIG: dùng để thiết lập các chế độ hoạt động của PIC. Các bạn có thể xem để hiểuthêm về các chế độ hoạt động này trong tài liệuPICmicroMid Range MCU FamilyReference ManualSection 27. Device Configuration BitsTable 27-1 page 27-7Tài liệu này có thể download trên trang web của microchip http://www.microchip.com/,keyword: MidRange Manual.Mỗi directive để đặt chế độ, cách nhau một ký tự &.Nếu ghi chế độ hoạt động vào đây, các chế độ hoạt động sẽ ở trạng thái mặc định khikhởi động.Các bạn cũng có cách khác để đặt chế độ hoạt động bằng cách tác động trực tiếp vào cácthanh ghi khởi tạo. Tuy nhiên, việc này là việc làm không cần thiết, khi chúng ta đã cócác directive để viết tắt.Như vậy, chúng ta đặt ở đây chế độ _CP_OFF, tức là khôngđặt chế độ bảo vệ source codekhi nạp vào PIC, sau khi nạp vào sẽ có thể đọc ngược lại từ PIC ra. Chúng ta không cầnbảo vệ chương trình này, để bạn có thể đọc ngược bằng IC-PROG và kiểm tra lại.Chế độ _PWRITE_ON, tức là cho timer 0 chạy khi Power On Reset. Thực ra timer0 cóchạy hay không cũng không quan trọng, vì nó chẳng liên quan gì đến công việc củachúng ta. Nếu sau này muốn dùng timer0, thì các bạn vẫn phải khởi tạo lại giá trị cho nó,chứ đâu thể sử dụng giá trị ngẫu nhiên của nó được, thành ra cứ để cho nó chạy, sau nàycần dùng khỏi phải khởi tạo._WDT_OFF, tại thời điểm này, tôi tắt Watch Dog Timer vì lý do các bạn chưa nên tìmhiểu phần này vội._HS_OSC, chúng ta dùng thạch anh 10MHz, tức là chạy chế độ dao động HS. Thamkhảo tại:datasheet PIC16F628ASection 14. Special Features of the CPU14.2. Oscillator ConfigurationPage 95Thế là các bạn biết lập trình cho PICMột điểm lưu ý cuối cùng là các bạn phải sử dụng phím TAB để phân cách các cột củamột chương trình viết bằng MPASM. Các dòng khởi tạo này được viết ở cột thứ 3. Cácdirective __CONFIG, TITLE, PROCESSOR, INCLUDE được viết vào cột thứ 3. Còn chitiết khởi tạo được viết vào cột thứ tư.Cột thứ nhất dùng để viết các [NHÃN], cột thứ hai để viết mã lệnh, cột thứ ba lại dùng đểviết chi tiết các tham số của lệnh, và cột thứ tư bỏ trống để tạo khoảng cách với cột thứnăm. Cột thứ năm dùng để viết các chú thích.Các chú thích bắt đầu bằng dấu chấm phẩy ( . Trên một dòng, tất cả các ký tự viết saudấu chấm phẩy đều vô nghĩa. Chính vì vậy, khi viết phần chú thích ban đầu, các bạn thấyrằng tất cả nội dung đó đều bắt đầu bằng dấu chấm phẩy. Như vậy, một dòng lệnh đượccụ thể như sau:Code: LỆNH ; chú thích dòng lệnhNHÃN thamso1, thamso2Bây giờ chúng ta dành chút thời gian cho lý thuyết, các bạn mở datasheet PIC16F628Atrang 15, Section 4. Memory OrganizationChúng ta sẽ thấy rằng tổ chức bộ nhớ chương trình của PIC được chia ra làm mấy phầnnhư sau:- Pointer- Stack- Interrupt vector- Program memoryChúng ta tạm thời chưa bàn đến pointer và stack.Interrupt vector được đặt ở địa chỉ 0x0004Program memory được đặt ở địa chỉ 0x0005Vậy từ địa chỉ 0x0000 đến địa chỉ 0x0003 chúng ta làm được gì?Khi PIC được reset, nó lập tức nhảy về địa chỉ 0x0000. Rồi cứ sau mộ t chu kỳ máy, nónhảy đến địa chỉ tiếp theo, xem xem trong địa chỉ đó yêu cầu nó làm gì, nó thực hiện việcđó, xong rồi lại nhảy tiếp. Cứ làm như thế cho đến khi hết chương trình. Tất nhiên, khichúng ta thực hiện một số lệnh điều khiển vị trí nhảy, thì nó sẽ nhảy không theo thứ tựnữa, nhưng việc ...
Nội dung trích xuất từ tài liệu:
Học PIC trong 1 ngày - Phần 2Học PIC trong 1 ngàyPhần thứ hai các bạn cần học, đó là khởi tạo PIC. Phần này là phần bắt buộc theo sauphần ghi chú, bởi vì chương trình dịch cần phải hiểu bạn đang làm việc với con PIC nào,làm việc với nó như thế nào?Code:;======================================================= TITLE Mach test LED_1 PROCESSOR P16F628A INCLUDE __CONFIG _CP_OFF & _PWRTE_ON &_WDT_OFF &_HS_OSC;=======================================================Các bạn sẽ thấy rằng có một số từ khoá như sau:TITLE: dùng để các bạn ghi chú thích t ên chương trình. TITLE là ten chương trìnhchính. Cú pháp ghi TITLE như trên. Nhớ phải có dấu nháy kép khi viết t ên chương trình.PROCESSOR: dùng để khai báo dòng vi điều khiển mà các bạn sử dụng. Các bạn lưu ý,trong MPLAB quy định, không viết đầy đủ t ên PIC16F628A mà chỉ viết P16F628A, vìtrong chương trình dịch đã quy định như vậy.INCLUDE: dùng để đưa thêm vào các file mà bạn viết trong chương trình. Mặc định,trong MPLAB đường dẫn đến thư mục chứa file P16F628A.inc đã có sẵn. Nếu bạn đặtfile ở nơi khác không phải trong thư mục bạn đang làm việc, hoặc các file include khongphải là file .inc có sẵn của MPLAB, thì các bạn phải chỉ đường dẫn rõ ràng. Lưu ý rằng,để MPASM dịch được, các bạn phải đặt đường dẫn từ thư mục gốc đến hết tên file (kể cảphần mở rộng của file) không được quá 60 ký tự.__CONFIG: dùng để thiết lập các chế độ hoạt động của PIC. Các bạn có thể xem để hiểuthêm về các chế độ hoạt động này trong tài liệuPICmicroMid Range MCU FamilyReference ManualSection 27. Device Configuration BitsTable 27-1 page 27-7Tài liệu này có thể download trên trang web của microchip http://www.microchip.com/,keyword: MidRange Manual.Mỗi directive để đặt chế độ, cách nhau một ký tự &.Nếu ghi chế độ hoạt động vào đây, các chế độ hoạt động sẽ ở trạng thái mặc định khikhởi động.Các bạn cũng có cách khác để đặt chế độ hoạt động bằng cách tác động trực tiếp vào cácthanh ghi khởi tạo. Tuy nhiên, việc này là việc làm không cần thiết, khi chúng ta đã cócác directive để viết tắt.Như vậy, chúng ta đặt ở đây chế độ _CP_OFF, tức là khôngđặt chế độ bảo vệ source codekhi nạp vào PIC, sau khi nạp vào sẽ có thể đọc ngược lại từ PIC ra. Chúng ta không cầnbảo vệ chương trình này, để bạn có thể đọc ngược bằng IC-PROG và kiểm tra lại.Chế độ _PWRITE_ON, tức là cho timer 0 chạy khi Power On Reset. Thực ra timer0 cóchạy hay không cũng không quan trọng, vì nó chẳng liên quan gì đến công việc củachúng ta. Nếu sau này muốn dùng timer0, thì các bạn vẫn phải khởi tạo lại giá trị cho nó,chứ đâu thể sử dụng giá trị ngẫu nhiên của nó được, thành ra cứ để cho nó chạy, sau nàycần dùng khỏi phải khởi tạo._WDT_OFF, tại thời điểm này, tôi tắt Watch Dog Timer vì lý do các bạn chưa nên tìmhiểu phần này vội._HS_OSC, chúng ta dùng thạch anh 10MHz, tức là chạy chế độ dao động HS. Thamkhảo tại:datasheet PIC16F628ASection 14. Special Features of the CPU14.2. Oscillator ConfigurationPage 95Thế là các bạn biết lập trình cho PICMột điểm lưu ý cuối cùng là các bạn phải sử dụng phím TAB để phân cách các cột củamột chương trình viết bằng MPASM. Các dòng khởi tạo này được viết ở cột thứ 3. Cácdirective __CONFIG, TITLE, PROCESSOR, INCLUDE được viết vào cột thứ 3. Còn chitiết khởi tạo được viết vào cột thứ tư.Cột thứ nhất dùng để viết các [NHÃN], cột thứ hai để viết mã lệnh, cột thứ ba lại dùng đểviết chi tiết các tham số của lệnh, và cột thứ tư bỏ trống để tạo khoảng cách với cột thứnăm. Cột thứ năm dùng để viết các chú thích.Các chú thích bắt đầu bằng dấu chấm phẩy ( . Trên một dòng, tất cả các ký tự viết saudấu chấm phẩy đều vô nghĩa. Chính vì vậy, khi viết phần chú thích ban đầu, các bạn thấyrằng tất cả nội dung đó đều bắt đầu bằng dấu chấm phẩy. Như vậy, một dòng lệnh đượccụ thể như sau:Code: LỆNH ; chú thích dòng lệnhNHÃN thamso1, thamso2Bây giờ chúng ta dành chút thời gian cho lý thuyết, các bạn mở datasheet PIC16F628Atrang 15, Section 4. Memory OrganizationChúng ta sẽ thấy rằng tổ chức bộ nhớ chương trình của PIC được chia ra làm mấy phầnnhư sau:- Pointer- Stack- Interrupt vector- Program memoryChúng ta tạm thời chưa bàn đến pointer và stack.Interrupt vector được đặt ở địa chỉ 0x0004Program memory được đặt ở địa chỉ 0x0005Vậy từ địa chỉ 0x0000 đến địa chỉ 0x0003 chúng ta làm được gì?Khi PIC được reset, nó lập tức nhảy về địa chỉ 0x0000. Rồi cứ sau mộ t chu kỳ máy, nónhảy đến địa chỉ tiếp theo, xem xem trong địa chỉ đó yêu cầu nó làm gì, nó thực hiện việcđó, xong rồi lại nhảy tiếp. Cứ làm như thế cho đến khi hết chương trình. Tất nhiên, khichúng ta thực hiện một số lệnh điều khiển vị trí nhảy, thì nó sẽ nhảy không theo thứ tựnữa, nhưng việc ...
Tìm kiếm theo từ khóa liên quan:
thanh ghi W Điện tử cơ bản vi điều khiển hàm lập trình mạch điều khiểnGợi ý tài liệu liên quan:
-
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 280 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 183 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 155 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 141 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 120 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 117 0 0 -
Giáo trình Kỹ thuật vi điều khiển
121 trang 113 0 0 -
Sơ đồ điều khiển và tín hiệu máy cắt SF6– GL.107
4 trang 106 2 0 -
Tài liệu thực hành Vi điều khiển 8051
55 trang 106 0 0 -
Đồ án vi xử lý đề tài : nghiên cứu thiết kế mạch đo khoảng cách sử dụng vi điều khiển Pic 16F887
45 trang 97 1 0