View Single Post
Old 24-05-2005, 04:10 AM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Học vi điều khiển PIC trong 1 ngày

Bài tập 1: Bật tắt đèn LED




Cực dương của LED được nối với điện trở, điện trở được nối với các chân vi điều khiển. Cực âm của LED được nối với GND của vi điều khiển. Như vậy, khi chân vi điều khiển ở mức cao, tức là 5V, đèn LED sẽ sáng. Khi chân vi điều khiển ở mức thấp (0V) đèn LED sẽ tắt.

Lưu ý trong hình: Giá trị của điện trở được xác định dựa vào dòng tối đa của vi điều khiển, điện áp và dòng điện tối đa của đèn LED. Như vậy, giá trị nhỏ nhất của điện trở được dùng được tính toán như trong hình. R = 125 Ohm.

Tuy nhiên, để đảm bảo hoạt động của đèn LED, chúng ta nâng giá trị điện trở lên thành 200 Ohm. Đèn LED khi sáng quá, chỉ cần sờ tay vào nó, hoặc các va chạm mạnh, hoặc trường hợp bị tĩnh điện, đèn LED có thể bị hư ngay. Hiện tượng này dễ thấy nhất là ở các LED cực sáng dùng trong các bảng hiệu hoặc biển báo giao thông, các đèn LED cực sáng chỉ cần chạm tay vào, sẽ có hiện tượng tĩnh điện và nổ ngay. Với các LED thường và dùng trong thí nghiệm, khó xảy ra hiện tượng này, tuy nhiên chất lượng sản xuất của các đèn LED cũng không đảm bảo, do vậy chúng ta chọn giải pháp an toàn là trên hết. Hơn nữa, chúng ta cũng không cần đèn LED quá sáng.

Để bắt đầu bài tập 1, chúng ta tìm hiểu sơ qua về cấu trúc một chương trình viết bằng MPASM như sau:

Bất cứ một chương trình ASM nào, cũng được bắt đầu bằng việc giới thiệu về chương trình, tên chương trình, người thực hiện chương trình, ngày thực hiện chương trình, ngày hoàn tất, người kiểm tra lại chương trình, ngày kiểm tra chương trình, phiên bản của chương trình, mô tả phần cứng của mạch giao tiếp và một số chú thích. Vì vậy, tôi đưa ra đây một form mà tôi cho rằng hợp lý, từ đây về sau, các bạn chỉ cần cắt dán form này, thay đổi nội dung từng mục để làm phần mở đầu.

Chúng ta quy định một số quy ước sau:


;========== dùng để phân cách các phần chính của chương trình
;---------------- dùng để phân cách các chương trình con của chương trình

Code:
;========================================================
; Ten chuong trinh	: Mach test den LED_1
; Nguoi thuc hien	: Falleaf
; Ngay thuc hien	: 23/05/2005
; Phien ban	: 1.0
; Mo ta phan cung	: Dung PIC16F628A - thach anh 10MHz
;		: LED giao tiep voi PORTB
;		: Cuc am cua LED noi voi GND
;		: RB0 - RB7 la cac chan output 
;----------------------------------------------------------------
; Ngay hoan thanh	: 23/05/2005
; Ngay kiem tra	: 23/05/2005
; Nguoi kiem tra	: Doan Hiep
;----------------------------------------------------------------
; Chu thich	: Mo ta cac diem khac nhau cua cac phien ban khac nhau 
;		: hoac cac chu thich khac
;		: vd, dung che do Power On Reset, PORTB = 00000000
;		: hoac, chuong trinh viet cho PIC Tutorial
;		: hoac, chuong trinh nay hoan toan mien phi va co the dung cho
;		: moi muc dich khac nhau
;========================================================
Mặc dù chưa chắc rằng đoạn chú thích này có thể ngắn hơn chương trình các bạn viết, và như vậy việc viết chú thích dài hơn việc viết chương trình? Không, thực sự các chú thích này rất quan trọng, vì sau 1, 2, 3 năm, các bạn nhìn lại, các bạn sẽ vẫn còn hiểu được mình đã làm gì. Có thể khi mới bắt đầu, các bạn thấy công việc ghi chú này là nhàm chán, chính vì vậy, tôi đã cung cấp form của ghi chú này, các bạn sau đó chỉ cần cắt và dán. Tôi hy vọng rằng các bạn nên tạo thói quen đưa đoạn chú thích này vào chương trình để các bạn trở nên chuyên nghiệp hơn khi làm việc với vi điều khiển, cụ thể ở đây là PIC.

Tất nhiên, đây là bài học đầu tiên, do vậy các chú thích sẽ được ghi rất chi tiết, nhất là khi mô tả phần cứng. Sau này, với các mạch phức tạp hơn, các bạn không thể ghi chú quá chi tiết như thế này được, các bạn chỉ ghi chú những điểm chính thôi. Cũng tất nhiên, khi lập trình với CCS C hay HT PIC, các bạn cũng nên ghi chú như vậy trong chương trình chính, nhưng chúng ta chưa bàn đến CCS C và HT PIC ở đây.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn