Hoạt động của diode: Khối bán dẫn loại P chứa nhiều lỗ trống tự do mang điện tích dươngnên khi ghép với khối bán dẫn N chứa các điện tử tự do thì các lỗ trống này có xu hướng chuyễn động
Trang 1Trước tiên chúng em xin chân thành cảm ơn tồn thể thầy cơ trường Cao Đẳng Kỹ Thuật Cao Thắng, những người đã tạo điều
kiện cho chúng em cĩ cơ hội nghiên cứu và tìm hiểu sâu rộng về lĩnh vực điện tử, đặc biệt là thầy Nguyễn Trọng Khanh đã tận tình hướng
dẫn và giúp đỡ chúng em trong thời gian thực hiện đề tài Đồng thời chúng em cũng gửi lời cảm ơn tới các bạn bè đã giúp đỡ chúng em trong thời gian qua Cĩ được sự giúp đỡ nhiệt tình đĩ cộng với sự cố gắng của bản thân nên chúng em đã hồn thành được đề tài đúng thời hạn Với sự hiểu biết cịn hạn chế và thời gian thực hiện đề tài khơng nhiều nên đề tài khơng tránh khỏi những sai sĩt Rất cảm ơn sự hướng dẫn và gĩp ý của quý thầy cơ và bạn bè cho đề tài được hồn chỉnh hơn
Chúng em xin chân thành cảm ơn!
Trước tiên chúng em xin chân thành cảm ơn tồn thể thầy cơ trường Cao Đẳng Kỹ Thuật Cao Thắng, những người đã tạo điều
kiện cho chúng em cĩ cơ hội nghiên cứu và tìm hiểu sâu rộng về lĩnh vực điện tử, đặc biệt là thầy Nguyễn Trọng Khanh đã tận tình hướng
dẫn và giúp đỡ chúng em trong thời gian thực hiện đề tài Đồng thời chúng em cũng gửi lời cảm ơn tới các bạn bè đã giúp đỡ chúng em trong thời gian qua Cĩ được sự giúp đỡ nhiệt tình đĩ cộng với sự cố gắng của bản thân nên chúng em đã hồn thành được đề tài đúng thời hạn Với sự hiểu biết cịn hạn chế và thời gian thực hiện đề tài khơng nhiều nên đề tài khơng tránh khỏi những sai sĩt Rất cảm ơn sự hướng dẫn và gĩp ý của quý thầy cơ và bạn bè cho đề tài được hồn chỉnh hơn
Chúng em xin chân thành cảm ơn!
Trang 2
Trường CĐKT Cao Thắng Khoa Điện tử - Tin học
Tp Hồ Chí Minh, ngày… tháng… năm 2009
Giáo viên hướng dẫn
Ký tên
Nguyễn trọng Khanh
Trang 3LỜI CÁM ƠN 1
NHẬN XÉT CỦA GIAO VIÊN 2
A-KHÁI QUÁT I Giới thiệu về Thang máy 4
II Vận hành của Thang máy 4
B-CHI TIẾT I- Chương I: Cơ sở lý thuyết 5
1 Giới thiệu các linh kiện 5
2 Chi tiết các linh kiện 5
II- Chương II: Xây dựng Thang máy 43
1 Sơ đồ khối 43
2 Sơ đồ nguyên lý 48
3 Lưu đồ giải thuật 49
4 Chương trình mã code điều khiển Thang máy 59
C-TỔNG KẾT
Trang 4I- Giới thiệu về Thang máy:
Xã hội ngày càng phát triển, các tồ nhà hàng loạt mọc lên, số tầng cũngnhìêu hơn, nếu sử dụng cầu thang bộ sẽ tốn nhiều thời gian và sức lực, thang máy
ra đời đã giãi phĩng con người khỏi việc leo cầu thang đĩ
Người dùng chỉ cần đứng trước cửa của thang máy ở một tầng bất kỳ,nhấn nút gọi thang, khi thang chạy đến thì vào trong nhấn nút chọn tầng mình cầnđến, thang sẻ đưa người dùng đi
Khi Cabin đang trong chế độ không tải, thì Cabin luôn chờ chỉ thị củangười sử dụng Khi có lệnh từ người sử dụng, hệ thống xử lý kiểm tra và quyếtđịnh cho Cabin, hệt thống cửa, hệ thống thông báo
Khi Cabin đang hoạt động nếu người sử dụng ra chỉ thị, bộ điều khiểntrung tâm sẽ nhận tín hiệu và kiểm tra hoạt động hiện thời và hoạt động yêucầu để ra quyết định
+ Bộ điều khiển: sử dụng luật ưu tiên cho tầng gọi nào gần với vị tríthang máy nhất
*Nguyên lý làm việc của hệ thống điều khiển thang máy
Nguyên lý làm việc của hệ thống điều khiển thang máy là: khi cĩ tín hiệuđầu vào ở tầng cĩ người bấm nút cần đi thang, hệ thống lưu nhớ tín hiệu gọi thang,
vi điều khiển kiểm tra tìm nếu thấy tín hiệu yêu cầu thang (tức là số tầng) và vị tríhiện tại của thang sẽ quyết định chiều vận hành của thang, đồng thời kích thangdừng ở tầng cĩ người gọi, mở của chờ khách bước vào trong thang, sau đĩ đĩngcửa và căn cứ vào yêu cầu của khách sẽ đưa tời tầng khách yêu cầu
Cabin có thể lên xuống theo yêu cầu nhưng không chấp nhận ngắt hoạtđộng hiện hành
Khi Cabin không hoạt động hệ thống chấp nhận yêu cầu Thông tin vềtầng đang hiện hành và thông tin về tầng yêu cầu đến được lưu lại và so sánh.Nếu chỉ số tầng hiện hành lớn hơn chỉ số tầng yêu cầu đến thì hệ thống ra tínhiệu cho Cabin đi xuống Nếu chỉ số tầng hiện hành nhỏ hơn chỉ số tầng yêucầu thì hệ thống ra tín hiệu cho Cabin đi lên Nếu hai chỉ số này bằng nhau thìhệ thống cho mở cửa, sau một thời gian định trước thì đóng lại và chờ chỉ thịtiếp theo Và trong suốt quá trình vận hành của Cabin hệ thống luôn lưu lại haichỉ số đó và Cabin chỉ ngừng hoạt động khi hai chi số này bằng nhau
Trang 5I- Chương 1: CƠ SỞ LÝ THUYẾT
1- Giới thiệu các linh kiện trong đề tài:
Trong đề tài có sử dụng linh kiện sau: PIC 16F877A, Led 7 đoạn, IC74LS47, Led đơn, IC 7805, Thạch Anh, Relay, Buttton (nút nhấn), các linh kiện
cơ bản (điện trở , tụ điện, transistor , diode, …)
2- Chi tiết các linh kiện:
trong đó:
U : là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vôn (V)
I : là cường độ dòng điện đi qua vật dẫn điện, đo bằng ămpe (A)
R : là điện trở của vật dẫn điện, đo bằng Ohm (Ω).)
Các loại điện trở ta thường gặp: quang trở, nhiệt trở, biến trở, …
Trang 6*Giá trị của điện trở được tính theo bảng sau
Trang 7b) Tụ điện:
Tụ điện là cũng là một linh kiện điện tử thụ động lệ thuộc vào tần sốtạo từ hai bề mặt dẩn điện ngăn cách bởi một điện môi không dẩn điện Làmột linh kiện dùng để tích điện và lưu trữ năng lượng của điện trường
Điện Dung là khả năng tích lũy điện tích trên bề mặt của tụ điện domột điện thế sản sinh
Điện Dung, C , là tính chất vật lý của Tụ Điện ám chỉ Dung LượngĐiện Tích trên bề mặt của Tụ Điện do một Điện Thế gây ra được định nghỉa
là tỉ lệ của Điện Tích trên Điện Thế
C : Điện Dung được đo bằng đơn vị Fara (F)
V : Điện Thế được đo bằng đơn vị Volt (V)
Q : Điện Tích được đo bằng đơn vị coulombs (C)
Đối với dòng điện một chiều DC, điện thế không biến đổi theo thời
gian hay tần số cho nên Tụ điện hoạt động như một điện trở với Điện kháng
vô tận hay nói khác hơn Tụ điện làm hở mạch
Khi mắc nối Điện AC với Tụ Điện trong một mạch khép kín , do cóchênh lệch điện thế tại hai bề mặt Tại các bề mặt sẽ xuất hiện điện tích cùngcường độ, nhưng trái dấu
*Tụ điện có phân cực:
Tụ Điện có phân cực là một loại
Tụ Điện có Điên Dung lớn hơn so với Tụ
Điện thường Vì khi chế biến tụ điện
Âm Dương Nhôm được dùng làm 2 bề
mặt dẩn điện
Trong mạch điện, Tụ Điện phân cực
cho ra Dòng Điện Cao tại tần số thấp ,
nên thường dùng trong bộ phận phát
điện
Trang 8* Tụ điện không phân cực :
tần số, bộ dao động tần số
Tụ điện được ứng dụng rất nhiều trong kỹ thuật điện và vô tuyến điện Tùytheo công dụng của chúng mà có các loại tụ điện khác nhau như: ChaiLâyđen, Tụ điện có điện dung thay đổi Tụ điện mica , Tụ điện sứ, Tụ điệnhoá học , Tụ điện giấy,…
c) Tranzito:
Tranzito là một linh kiện bán dẫn thường được sử dụng như một thiết bị
khuyếch đại hoặc một khóa điện tử Tranzitor là khối đơn vị cơ bản xây dựngnên cấu trúc mạch ở máy tính điện tử và tất cả các thiết bị điện tử hiện đạikhác Vì đáp ứng nhanh và chính xác nên các tranzitor được sử dụng trongnhiều ứng dụng tương tự và số, như khuyếch đại, đóng cắt, điều chỉnh điện
áp, điều khiển tín hiệu, và tạo dao động.Tranzitor cũng thường được kết hợpthành mạch tích hợp (IC),có thể tích hợp tới một tỷ tranzitor trên một diệntích nhỏ
Tranzito được tạo thành từ hai chất bán
dẫn điện Khi ghép một bán dẫn điện âm
nằm giữa hai bán dẫn điện dương ta
được một PNP tranzito Khi ghép một
bán dẫn điện dương nằm giữa hai bán
dẩn điện âm ta được một NPN tranzito
Mỗi tranzito đều có ba cực:
Cực nền (base)
Cực thu (collector)
Cực phát (emitter)
Để phân biệt PNP hay NPN
tranzito ta căn cứ vào ký hiệu linh kiện dựa vào mũi tên trên đầu phát Nếumũi tên hướng ra thì tranzito là NPN, và nếu mũi tên hướng vô thì tranzito đó
là PNP
Trang 9*Phân cực cho tranzito:
IV - DIODE :
A K
Điốt bán dẫn là các linh kiện điện tử thụ động và phi tuyến, cho phép
dòng điện đi qua nó theo một chiều mà không theo chiều ngược lại, sử dụngcác tính chất của các chất bán dẫn
Có nhiều loại điốt bán dẫn, như điốt chỉnh lưu thông thường, điốtZener, LED Chúng đều có nguyên lý cấu tạo chung là một khối bán dẫn loại
P ghép với một khối bán dẫn loại N
Hoạt động của diode:
Khối bán dẫn loại P chứa nhiều lỗ trống tự do mang điện tích dươngnên khi ghép với khối bán dẫn N (chứa các điện tử tự do) thì các lỗ trống này
có xu hướng chuyễn động khuếch tán sang khối N Cùng lúc khối P lại nhậnthêm các điện tử (điện tích âm) từ khối N chuyển sang Kết quả là khối P tíchđiện âm (thiếu hụt lỗ trống và dư thừa điện tử) trong khi khối N tích điệndương (thiếu hụt điện tử và dư thừa lỗ trống)
Sự tích điện âm bên khối P và dương bên khối N hình thành một điện
áp gọi là điện áp tiếp xúc (UTX) Điện trường sinh ra bởi điện áp có hướng từkhối n đến khối p nên cản trở chuyển động khuếch tán và như vậy sau mộtthời gian kể từ lúc ghép 2 khối bán dẫn với nhau thì quá trình chuyển độngkhuếch tán chấm dứt và tồn tại điện áp tiếp xúc Lúc này ta nói tiếp xúc P-N
ở trạng thái cân bằng Điện áp tiếp xúc ở trạng thái cân bằng khoảng 0.6V đốivới điốt làm bằng bán dẫn Si và khoảng 0.3V đối với điốt làm bằng bán dẫnGe
Hai bên mặt tiếp giáp là vùng các điện tử và lỗ trống dễ gặp nhau nhấtnên quá trình tái hợp thường xảy ra ở vùng này hình thành các nguyên tửtrung hòa Vì vậy vùng biên giới ở hai bên mặt tiếp giáp rất hiếm các hạt dẫnđiện tự do nên được gọi là vùng nghèo Vùng này không dẫn điện tốt, trừ phi
Trang 10điện áp tiếp xúc được cân bằng bởi điện áp bên ngoài Đây là cốt lõi hoạtđộng của điốt.
Nếu đặt điện áp bên ngoài ngược với điện áp tiếp xúc, sự khuyếch táncủa các điện tử và lỗ trống không bị ngăn trở bởi điện áp tiếp xúc nữa vàvùng tiếp giáp dẫn điện tốt Nếu đặt điện áp bên ngoài cùng chiều với điện áptiếp xúc, sự khuyếch tán của các điện tử và lỗ trống càng bị ngăn lại và vùngnghèo càng trở nên nghèo hạt dẫn điện tự do Nói cách khác điốt chỉ chophép dòng điện qua nó khi đặt điện áp theo một hướng nhất định
Giai đoạn ứng với UAK = 0.7V > 0 mô tả quan hệ dòng ápkhi điốt phân cực thuận
Giai đoạn ứng với UAK = 0.7V< 0 mô tả quan hệ dòng áp khiđiốt phân cực nghịch
(UAK lấy giá trị 0,7V chỉ đúng với các điốt làm bằng Si, với điốt Ge thông số này khác)
Khi điốt được phân cực thuận và dẫn điện thì dòng điện chủ yếu phụ thuộcvào điện trở của mạch ngoài (được mắc nối tiếp với điốt) Dòng điện phụthuộc rất ít vào điện trở thuận của điốt vì điện trở thuận rất nhỏ, thườngkhông đáng kể so với điện trở của mạch điện
Đặc tính Volt_Ampe của 1 diode bán dẫn lí tưởng
Trang 11d) LED ( Diode phát quang ) :
LED (viết tắt của Light Emitting Diode, có nghĩa
là điốt phát quang) là các điốt có khả năng phát ra
ánh sáng hay tia hồng ngoại, tử ngoại Cũng giống
như điốt, LED được cấu tạo từ một khối bán dẫn
loại p ghép với một khối bán dẫn loại n
Tùy theo mức năng lượng giải phóng cao hay
thấp mà bước sóng ánh sáng phát ra khác nhau (tức
màu sắc của LED sẽ khác nhau) Mức năng lượng
(và màu sắc của LED) hoàn toàn phụ thuộc vào cấu
trúc năng lượng của các nguyên tử chất bán dẫn
LED thường có điện thế phân cực thuận cao hơn điốt thông thường,trong khoảng 1,5 đến 3 V Nhưng điện thế phân cực nghịch ở LED thì khôngcao Do đó, LED rất dễ bị hư hỏng do điện thế ngược gây ra
LEDđượcdùng
phậnhiển
các thiết bị điện, điện tử, đèn quảng cáo, trang trí, đèn giao thông
Có nghiên cứu về các loại LED có độ sáng tương đương với bóng đènbằng khí neon Đèn chiếu sáng bằng LED được cho là có các ưu điểm nhưgọn nhẹ, bền, tiết kiệm năng lượng
Các LED phát ra tia hồng ngoại được dùng trong các thiết bị điềukhiển từ xa cho đồ điện tử dân dụng
Loại LED Điện thế phân cực thuận
Xanh lá cây 2 - 2,8V
Trang 12
Cấu trúc và chân ra của 1 dạng led 7 đoạn
Để đèn led hiển thị 1 số nào thì các thanh led tương ứng phải sáng lên, do
đó các thanh led đều phải được phân cực bởi các điện trở khoảng 180 đến 390ohm với nguồn cấp chuẩn thường là 5V IC giải mã sẽ có nhiệm vụ nối các chân a,b, g của led xuống mass hay lên nguồn (tuỳ A chung hay K chung)
Led 7 đoạn loại anode chung và cathod chung cùng với mạch
thúc giải mã
Trang 13Chúng ta có thể sử dụng 7 chân của một cổng VĐK Pic 16f877a để điều
khiển 7 cực của led 7 đoạn, nhưng có một cách khác để hiển thị là: người ta quét
cho sáng lần lượt từng con 1 trong thời gian ngắn, như vậy vẫn cho cảm giác
sáng đều tất cả các led, vừa tiết kiệm điện và chân port cho VĐK
Tối thiểu là các LED hiển thị phải sáng 24 lần/giây (tiêu chuẩn của điện ảnh) thực tế người ta thường làm cao hơn một chút, có thể đến 60, 70 lần/giây.
Như vậy, thời gian sáng cho mỗi LED trong chu kỳ quét là 1/(6*70) = 2.38
ms, nếu chọn tần số quét là 70 Hz Vì duty cycle của mỗi LED là 1/6, tức là mỗi
LED chỉ sáng 1/6 thời gian của chu kỳ quét, người ta thường nâng dòng điện cấp cho LED trong khoảng thời gian đó lên tương ứng, để đảm bảo độ sáng như khi được cấp dòng liên tục Ví dụ, nếu dòng liên tục là 5 mA, thì khi quét với duty
cycle 1/6 sẽ nâng dòng lên 5*6 = 30 mA
Trang 14c) IC giải mã 74LS47.
Đây là IC giải mã đồng thời thúc trực tiếp led 7 đoạn loại Anode chungluôn vì nó có các ngõ ra cực thu để hở và khả năng nhận dòng đủ lớn Sơ đồ châncủa IC như sau:
Kí hiệu khối và chân ra 74LS47
Trang 15Hoạt động của IC được tĩm tắt theo bảng dưới đây:
Nhận thấy các ngõ ra mạch giải mã tác động ở mức thấp (0) thì led tươngứng sáng
Để hoạt động giải mã xảy ra bình thường thì chân LT và BI/RBO phải ởmức cao
Muốn thử đèn led để các led đều sáng hết thì kéo chân LT xuống thấp
Muốn xố các số (tắt hết led) thì kéo chân BI xuống thấp
Khi cần giải mã nhiều led 7 đoạn ta cũng cĩ thể ghép nhiều tầng IC, muốn xố
số 0 vơ nghĩa ở trước dãy số thì nối chân RBI của tầng đầu xuống thấp, khi này chân ra RBO cũng xuống thấp và được nối tới tầng sau nếu muốn xố tiếp số 0 vơ nghĩa của tầng đĩ Riêng tầng cuối cũng thì RBI để trống hay để mức cao để vẫn hiển thị số 0 cuối cùng
Trang 16d) Relay ( Rờ le):
Nguyên lý hoạt động của relay là biến dịng điện thành từ trường thơng qua cuộndây, từ trường lại tạo thành lực cơ học thơng qua lực hút để thực hiện một độngtác về cơ khí như đĩng mở các hành trình của các thiết bị tự động
Phân loại relay: cĩ các loại relay như sau: đĩng ngắt bằng điện, đĩngngắt bằng từ, đĩng ngắt băng nhiệt…
Đĩng ngắt relay bằng cách cho điện vào hai cực của nam châm điện.Tuỳ loại relay mà đưa vào điện thế vào là 5V hay 10 V…
e) IC 7805
Chân 1 gọi là chân vào
Chân 2 gọi là chân chung (GND)
Chân 3 gọi là chân ra
Khi đặt hiệu điện thế nhất vào chân 1 (hiệu điện thế chân vào phải lớn hơn chân ra) Khi đĩ hiệu điện thế tai chân ra sẻ cho ta hiệu điện thế mà chúng ta cần
Trang 17Led hồng ngoại
Led được cấu tạo từ GaAs với vùng cấm có độ rộng là 1.43eV tương ứngbức xạ 900nm Ngoài ra khi pha tạp Si với nguyên vật liệu GaAlAs, độ rộngvùng cấm có thể thay đổi Với cách này, người ta có thể tạo ra dải sóng giữa
800 - 900nm và do đó tạo ra sự điều hưởng sao cho led hồng ngoại phát ra bướcsóng thích hợp nhất cho điểm cực đại của độ nhạy các bộ thu
Hoạt động: khi mối nối P - N được phân cực thuận thì dòng điện qua nốilớn vì sự dẫn điện là do hạt tải đa số, còn khi mối nối được phân cực nghịch thìchỉ có dòng rỉ do sự di chuyển của các hạt tải thiểu số Nhưng khi chiếu sángvào mối nối, dòng điện nghịch tăng lên gần như tỷ lệ với quang thông trong lúcdòng thuận không tăng Đặc tuyến volt – ampere của led hồng ngoại như sau:
f) Quang transistor:
Photon Transistor cũng tương tự như transistor thông thường nhưng chỉkhác ở chỗ nó không có cực bazơ, thay cho tác dụng khống chế của dòng vàocực bazơ là sự khống chế của chùm sáng đối với dòng colector của transitorhoặc có cực bazơ, nhưng khống chế tín hiệu là ánh sáng
Cấu tạo của Transitor quang:
Trang 18
Hình thức bên ngoài của nó khác với transistor thông thường ở chỗ trênvỏ của nóù cửa sổ trong suốt cho ánh sáng chiếu vào Ánh sáng qua cửa sổ nàychiếu lên miền bazơ của transistor Chuyển tiếp PN emitor được chế tạo nhưcác transistor thông thường, nhưng chuyển tiếp PN colector thì do miền bazơcần được chiếu sáng, cho nên nó có nhiều hình dạng khác nhau, cũng có dạnghình tròn nằm giữa tâm miền bazơ Khi sử dụng transistor quang mắc mạchtương tự như transistor mắc chung emitor (CE) Chuyển tiếp emitor được phâncực thuận còn chuyển tiếp colector được phân cực nghịch Có nghĩa làtransistor quang được phân cực ở chế độ khuyếch đại
Đặc tuyến Volt – Ampere của Transistor quang:
H là mật độ chiếu sáng (mW/cm2 )
C Cực thu (colecter)
Cực nền
(base) E Cực phát (emiter)
Ký hiệu Cấu tạo
Trang 19Đặc tuyến của transistor quang cũng giống như đặc tuyến Volt - Amperecủa Transitor thông thường mắc EC Điều khác nhau ở đây là các tham sốkhông phải là dòng Ib mà là lượng chiếu sáng.
Đặc tuyến Volt ampere của transistor quang ứng với khoảng Uce nhỏcũng có thể gọi là miền bão hòa vì khi ấy do sự tích tụ điện tích có thể coi nhưchuyển tiếp colector được phân cực thuận Cũng tương tự như trong trường hợptransistor thông thuờng, độ dốc đặc tuyến trong miền khuyếch đại
-c o n g v a o d a o
c o n g v a o k h o n g d a o
c o n g r a
3 2
Trạng thái ngỏ ra khi khơng cĩ mạch hồi tiếp trở về ngỏ vào gọi là trạngthái vịng hở Hệ số khuếch trong trạng thái này ký hiệu là Avo Được gọi là hệ sốkhuếch đại vịng hở
Trang 20Ngày nay, Opamp được ứng dụng trong rất nhiều lĩnh vực khác nhau, vớitầm tần số rất rộng, từ DC đến hàng GHz.
- Đáp ứng tín hiệu ra theo các tín hiệu vào như sau:
- Đưa tín hiệu vào ngỏ vào đảo:
Vo = - Avo.VI –
- Đưa tín hiệu vào ngỏ vào khơng đảo:
Vo = Avo VI+
- Đưa tín hiệu vào đồng thời hai ngỏ vào:
Ở trạng thái tỉnh VI+ = VI- = 0 Vo = 0
Theo đặc tuyến truyền đạt điện áp vịng hở của Opamp, cĩ vùng làm việc:
- Vùng khuếch: Vo = AvoV1 = 0Vs < V1 = VI+ - VI- < Vs
- Vùng bảo hịa dương: Vo = +Vcc = VA
V1 > Vs
- Vùng bảo hịa âm:
Vo = -Vcc Vi+ < Vi
-V1 < Vs
Tính tốn các giá trị linh kiện trong mạch
Giả sử điện trở của quang transitor nhỏ khơng đáng kể, để cho mạch thu hoạtđộng khi quang transitor nhận được ánh sáng hồng ngoại làm cho opamp dẫn bãohịa âm, ta phải chọn điện trở mà khi tính hiệu điện thế V- > V+
k v R
R
R Vcc V
2 3
2 5 4 3
4
Trang 21Để V- > V+ khi quang transitor dẫn ta phải chọn các điện trở sau:
Chọn R1 = 2K
R2 = 3K
k k
k V R
R
R Vcc V
2 3
3 5 2 1
2
Trang 22g) Vi điều khiển Pic 16F877A
PIC là một họ vi điều khiển RISC được sản xuất bởi công ty MicrochipTechnology PIC bắt nguồn từ chữ viết tắt của “Programmable IntelligentComputer” (Máy tính khả trình thông minh) là một sản phẩm của hãng GeneralInstruments đặt cho dòng sản phẩm đầu tiên của họ là PIC1650
Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt các modulengoại vi tích hợp sẵn (như USART, PWM, ADC…), với bộ nhớ chương trình từ
Giao tiếp nối tiếp MSSP, USART
Giao tiếp song song PSP
Module A/D 10-bit 8 kênh ngõ vào
Trang 23*Sơ đồ chân và chức năng PIC 16F877A loại 40 chân PDIP
Sơ đồ chân Pic 16F877A loại 40 chân PDIP
- CLKI: ngõ vào nguồn xung bên ngoài Luôn được kết hợp với chứcnăng OSC1
* Chân OSC2/CLKO (13) : ngõ vào dao động thạch anh hoặc xung clock
- OSC2: Ngõ ra dao động thạch anh Kết nối đến thạch anh hoặc bộcộng hưởng
- CLKO: ở chế độ RC, ngõ ra của OSC2, bằng tần số của OSC1 và chỉ
Trang 24- AN1 : ngõ vào tương tự 1
* Chân RA2/NA2/VREF-/CVREF (4) :
- RA2 : xuất/nhập số
- AN2 : ngõ vào tương tự 2
- VREF -: ngõ vào điện áp chuẩn (thấp) của bộ A/D
- CVREF: điện áp tham chiếu VREF ngõ ra bộ so sỏnh
* Chân RA3/NA3/VREF+ (5) :
- RA3 : xuất/nhập số
- AN3 : ngõ vào tương tự 3
- VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D
* Chân RA4/TOCKI/C1OUT (6) :
- RA4 : xuất/nhập số - mở khi được cấu tạo như ngõ ra
- TOCKI : ngõ vào xung clock bên ngoài cho Timer 0
- C1 OUT : Ngõ ra bộ so sánh 1
* Chân RA5/AN4/ /C2OUT (7) :
- RA5 : xuất/nhập số
- AN4 : ngõ vào tương tự 4
- SS : ngõ vào chọn lựa SPI phụ
Trang 25- T1 OCO : ngõ vào bộ dao động Timer 1
- T1 CKI : ngõ vào xung clock bên ngoài Timer 1
* Chân RC1/T1 OSI/CCP2 (16) :
- RC1 : xuất/nhập số
- T1 OSI : ngõ vào bộ dao động Timer 1
- CCP2 : ngõ vào Capture 2, ngõ ra compare 2, ngõ ra PWM2
- SCK : ngõ vào xung clock nối tiếp đồng bộ/ngõ ra của chế độ SPI
- SCL : ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra của chế độ I2C
* Chân RC4/SDI/SDA (23) :
- RC4 : xuất/nhập số
- SDI : dữ liệu vào SPI
- SDA : xuất/nhập dữ liệu vào I2C
Trang 26* Chân RE0/ /AN6 (8) :
- RE0 : xuất nhập số
- RD : điều khiển việc đọc ở port nhánh song song
- AN5 : ngõ vào tương tự 5
* Chân RE1/ /AN6 (9) :
- RE1 : xuất/nhập số
- WR : điều khiển việc ghi ở port nhánh song song
- AN6 : ngõ vào tương tự 6
* Chân RE2/ /AN7 (10) :
- RE2 : xuất/nhập số
- CS : Chip lựa chọn sự điều khiển ở port nhánh song song
- AN7 : ngõ vào tương tự 7
* Chân VDD(11,32), và VSS(12,31) : là các chân nguồn của PIC
Trang 27Mạch dao động
Mạch dao động dùng thạch anh
được đưa vào 16F877A nhằm đồng bộ
hoạt động bên trong Sơ đồ kết nối thạch
anh được mô tả như hình vẽ:
Theo nhà sản xuất, giá trị của tụ
nằm trong khoảng từ 30pF ± 10pF
Chọn tụ CXTAL = CXTAL = 33pF
Tụ có nhiệm vụ lọc tần số được tạo từ dao động thạch anh
Để chu kỳ máy của lệnh là 1 µs ta chọn thạch anh có giá trị 4MHz
Mạch Reset
Nguyên tắc hoạt động: Khi nhấn nút
RESET nguồn Vcc từ mức cao đi qua điện trở kéo
áp xuống cịn 0V, khi nhấn nút điện áp tại cơng
tắc trải qua một giai đoạn quá độ, tín hiệu nhỏ gây
nhiễu và các tín hiệu khơng ổn định khác trong
thời gian nhấn nút sẽ dao động khơng ổn định
trong một khoảng thời gian nào đĩ Tụ cĩ tác
dụng lọc bớt tín hiệu
Các nguyên nhân làm Reset PIC (POR, manual reset…)
- Reset khi PIC được cấp nguồn (Power-On Reset)
- Reset bằng tay khi cấp mức logic ‘0’ cho chân MCLR của PIC
- Reset khi đang ở chế độ SLEEP
- Reset do bộ watchdog timer xảy ra tràn
R 2 4 R
M C L R
R E S E T
V C C
+
Trang 28Thanh ghi chức năng đặc biệt SFR:
Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lậpvà điều khiển các khối chức năng được tích hợp bên trong vi điều khiển Có thểphân thanh ghi SFR làm hai lọai: thanh ghi SFR liên quan đến các chức năngbên trong (CPU) và thanh ghi SRF dùng để thiết lập và điều khiển các khốichức năng bên ngoài (ví dụ như ADC, PWM, …) Phần này sẽ đề cập đến cácthanh ghi liên quan đến các chức năng bên trong Các thanh ghi dùng để thiếtlập và điều khiển các khối chức năng sẽ được nhắc đến khi ta đề cập đến cáckhối chức năng đó
Thanh ghi STATUS (03h, 83h, 103h, 183h): thanh ghi chứa kết quả thực
hiện phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy
Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và
ghi, cho phép điều khiển chức năng pull-up của các chân trong PORTB, xác lậpcác tham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếmTimer0
Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh):thanh ghi cho phép đọc và
ghi, chứa các bit điều khiển và các bit cờ hiệu khi timer0 bị tràn, ngắt ngoại viRB0/INT và ngắt interrput- on-change tại các chân của PORTB
Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của cáckhối chức năng ngoại vi
Thanh ghi PIR1 (0Ch): chứa cờ ngắt của các khối chức năng ngoại vi,
các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghiPIE1
Trang 29Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối
chức năng CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ
EEPROM
Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của các khối chức năng ngoại
vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2
Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ reset của vi điều khiển
Thanh ghi mục đích chung GPR
Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thôngqua thanh ghi FSG (File Select Register) Đây là các thanh ghi dữ liệu thôngthường, người sử dụng có thể tùy theo mục đích chương trình mà có thể dùngcác thanh ghi này để chứa các biến số, hằng số, kết quả hoặc các tham số phụcvụ cho chương trình
Các cổng xuất nhập của pic16f877a
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùngđể tương tác ới thế giới bên ngoài Sự tương tác này rất đa dạng và thông quaquá trình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõràng
Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùy theocách bố rí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và sốlượng chân trong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiểnđược tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức
Trang 30năng là cổng xuất nhập thông thường, một số chân xuất nhập còn có thêm cácchức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đốivới thế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi cổnghoàn toàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFRliên quan đến chân xuất nhập đó.
Vi điều khiển PIC16F877A có 5 cổng xuất nhập, gồm PORTA, PORTB, PORTC, PORTD và PORTE Cấu trúc và chức năng như sau:
PORTA
PORTA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều” (bidirectional pin), ghĩa là có thể xuất và nhập được Chức năng I/O này được điều khiển bởi thanh ghi TRISA địa chỉ 85h) Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điều hiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng ủa một chân trong PORTA là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA Thao tác này hoàn toàn tương tự đối với các PORT và các thanh ghi điều hiển tương ứng TRIS (đối với PORTA là TRISA, đối với PORTB là TRISB, đối với PORTClà TRISC, đối với PORTD là TRISD vàđối với ORTE là TRISE) Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung clock của Timer0 và ngõvào của bộ giao tiếp MSSP (Master
Synchronous Serial Port)
Các thanh ghi SFR liên quan đến PORTA bao gồm:
PORTA (địa chỉ 05h) : chứa giá trị các pin trong PORTA
TRISA (địa chỉ 85h) : điều khiển xuất nhập
CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh
CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC
PORTB
PORTB (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứnglà TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quátrình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau PORTBcòn liên quan đến ngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp chứcnăng điện trở kéo lên được điều khiển bởi chương trình Các thanh ghi SFR liênquan đến PORTB bao gồm PORTB (địa chỉ 06h,106h): chứa giá trị các pintrong PORTB
TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập
OPTION_REG (địa chỉ 81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0
Trang 31PORTC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứnglà TRISC Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh,bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART.Các thanh ghi điều khiển liên quan đến PORTC: PORTC (địa chỉ 07h): chứagiá trị các pin trong PORTC TRISC (địa chỉ 87h): điều khiển xuất nhập
Các thanh ghi liên quan đến PORTD bao gồm:
Thanh ghi PORTD : chứa giá trị các pin trong PORTD
Thanh ghi TRISD : điều khiển xuất nhập
Thanh ghi TRISE : điều khiển xuất nhập PORTE và chuẩn giao tiếp PSP
PORTE
PORTE (RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP
Các thanh ghi liên quan đến PORTE bao gồm:
PORTE : chứa giá trị các chân trong PORTE
TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP
ADCON1 : thanh ghi điều khiển khối ADC
TIMER1
Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi (TMR1H:TMR1L) Cờ ngắt của Timer1 là bit TMR1IF (PIR1<0>) Bit điều khiển củaTimer1 sẽ là TMR1IE (PIE<0>)
Timer1 có hai chế độ hoạt động: chế độ định thời (timer) với xung kíchlà xung clock của oscillator (tần số của timer bằng ¼ tần số của oscillator) vàchế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm lấytừ bên ngoài thông qua chân RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên).Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động làtimer hay counter) được điều khiển bởi bit TMR1CS (T1CON<1>)
Trang 32Sau đây là sơ đồ khối của Timer1:
Ngoài ra Timer1 còn có chức năng reset input bên trong được điềukhiển bởi một trong hai khối CCP (Capture/Compare/PWM) Khi bit T1OSCEN(T1CON<3>) được set, Timer1 sẽ lấy xung clock từ hai chânRC1/T1OSI/CCP2 và RC0/T1OSO/T1CKI làm xung đếm Timer1 sẽ bắt đầuđếm sau cạnh xuống đầu tiên của xung ngõ vào Khi đó PORTC sẽ bỏ qua sựtác động của hai bit TRISC<1:0> và PORTC<2:1> được gán giá trị 0 Khi clearbit T1OSCEN Timer1 sẽ lấy xung đếm từ oscillator hoặc từ chân RC0/T1OSO/T1CKI Timer1 có hai chế độ đếm là đồng bộ (Synchronous) và bất đồng bộ(Asynchronous) Chế độ đếm được quyết định bởi bit điều khiển(T1CON<2>) Khi =1 xung đếm lấy từ bên ngoài sẽ không được đồng bộ hóavới xung clock bên trong, Timer1 sẽ tiếp tục quá trình đếm khi vi điều khiểnđang ở chế độ sleep và ngắt do Timer1 tạo ra khi bị tràn có khả năng “đánhthức” vi điều khiển Ở chế độ đếm bất đồng bộ, Timer1 không thể được sửdụng để làm nguồn xung clock cho khối CCP (Capture/Compare/Pulse widthmodulation) Khi =0 xung đếm vào Timer1 sẽ được đồng bộ hóa với xung clockbên trong Ở chế độ này Timer1 sẽ không hoạt động khi vi điều khiển đang ởchế độ sleep
Các thanh ghi liên quan đến Timer1 bao gồm:
INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIEvà PEIE)
PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF)
PIE1( địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE)
TMR1L (địa chỉ 0Eh): chứa giá trị 8 bit thấp của bộ đếm Timer1
TMR1H (địa chỉ 0Eh): chứa giá trị 8 bit cao của bộ đếm Timer1
T1CON (địa chỉ 10h): xác lập các thông số cho Timer
Trang 33GIỚI THIỆU VỀ NGẮT (INTERRUPT)
PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiển bởi thanhghi INTCON (bit GIE) Bên cạnh đó mỗi ngắt còn có một bit điều khiển và cờ ngắtriêng Các cờ gắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xảy ra bấtchấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuôc vào bit GIE vàcác bit điều khiển khác Bit điều khiển ngắt RB0/INT và TMR0 nằm trong thanh ghiINTCON, thanh ghi này còn chứa bit cho phép các ngắt ngoại vi PEIE Bit điều khiển
các ngắt nằm trong thanh ghi PIE1 và PIE2 Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2.
Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương trình
ngắt được kết thúc bằng lệnh RETFIE Khi chương trình ngắt được thực thi, bit GIE tự
động được xóa, địa chỉ lệnh tiếp theo của chương trình chính được cất vào trong bộ
nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h Lệnh RETFIE được dùng
để thoát khỏi chương trình ngắt và quay trở về chương trình chính, đồng thời bit GIE
cũng sẽ được set để cho phép các ngắt hoạt động trở lại Các cờ hiệu được dùng để
kiểm tra ngắt nào đang xảy ra và phải được xóa bằng chương trình trước khi cho phép ngắt tiếp tục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra
Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạngthái cácpin của PORTB (PORTB Interrupt on change), việc xác định ngắt nào xảy racần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm xảy ra ngắt
Cần chú ý là trong quá trình thực thi ngắt, chỉ có giá trị của bộ đếm chươngtrình được cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ không đượccất và có thể bị thay đổi giá trị trong quá trình thực thi chương trình ngắt Điều nàynên được xử lí bằng chương trình để tránh hiện tượng trên xảy ra
NGẮT INT
Trang 34Ngắt này dựa trên sự thay đổi trạng thái của pin RB0/INT Cạnh tác động gây
ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi bit INTEDG (thanhghi OPTION_ REG <6>) Khi có cạnh tác động thích hợp xuất hiện tại pin RB0/INT,cờ ngắt INTF được set bất chấp trạng thái các bit điều khiển GIE và PEIE Ngắt nàycó khả năng đánh thức vi điều khiển từ chế độ sleep nếu bit cho phép ngắt được settrước khi lệnh SLEEP được thực thi
NGẮT DO SỰ THAY ĐỔI TRẠNG THÁI CÁC PIN TRONG PORT
Các pin PORTB<7:4> được dùng cho ngắt này và được điều khiển bởi bit RBIE(thanh ghi INTCON<4>) Cờ ngắt của ngắt này là bit RBIF (INTCON<0>)
CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH NGẮT
Có thể nói đây là một khái niệm mang tính trừu tượng cao nhưng cũng đượcthiết lập dựa trên các hiện tượng và tình huống có thực trong thực tế Chẳng hạn nhưtrong cuộc sống hằng ngày, đôi khi ta phải tạm ngưng một công việc nào đó để làmmột công việc khác cần thiết hơn, chẳng hạn như tạm ngưng một công việc nào đóđang làm để nghe điện thoại Sự tạm ngưng này cần được báo hiệu bởi một tín hiệu(trong trường hợp trên là chuông điện thoại chẳng hạn) và phải được ta cho phéptrước đó (nếu ta không cho phép điện thoại reo thì điện thoại sẽ không reo) Từ ví dụthực tế trên ta có thể liên tưởng đến ngắt và cách xử lí ngắt của một vi điều khiển.Một ngắt là một tín hiệu điều khiển bắt buộc vi điều khiển tạm ngưng công việc đanglàm để tiến hành các thao tác mà ngắt đó qui định thông qua chương trình ngắt Tínhiệu điều khiển này được báo hiệu bởi cờ ngắt (tương ứng với chuông điện thoại ở vídụ trên) và phải được ta cho phép trước đó thông qua các bit điều khiển cho phéphoặc không cho phép ngắt Một chương trình ngắt thông thường sẽ được tách riêngvới chương trình chính để bảo đảm tính độc lập của chương trình ngắt
Đối với vi điều khiển PIC16F877A, khi một ngắt (đã được cho phép trước đó)xảy ra thì “phản ứng” của nó là quay về địa chỉ 0004h và thực hiện các lệnh bắt đầutại địa chỉ này.Thông thường đối với chương trình viết cho vi điều khiển PIC, chươngtrình ngắt sẽ được đặt tại đây và chương trình chính sẽ được bắt đầu ở một địa chỉcách đó một đoạn “an toàn” sao cho chương trình chính và chương trình ngắt không bichồng lên nhau Nếu ta sử dụng trình biên dịch MPLAB, trình biên dịch sẽ báo lỗi khihiện tượng trên xảy ra và ta có thể khắc phục bằng cách dời chương trình chính đi mộtđoạn xa hơn
Một điểm cần lưu ý nữa là trong quá trình thực hiện chương trình ngắt, nộidung củamột số thanh ghi quan trọng có khả năng bị thay đổi (thanh ghi W chẳnghạn) Do đó trước khi thực hiện chương trình ngắt ta cần thực hiện một thao tác là
“cất” một số thanh ghi quan trọng vào một vài ô nhớ nào đó và phải trả lại giá trị banđầu cho các thanh ghi đó trước khi thoát khỏi chương trình ngắt bằng lệnh RETFIE
Trang 36TẬP LỆNH CỦA VI ĐIỀU KHIỂN
PIC
1 Lệnh ADDLW
Cú pháp: ADDLW k (0 ≤ k≤255)
Tác dụng: cộng giá trị k vào thanh ghi
W, kết quả được chứa trong thanh ghi
Tác dụng: cộng giá trị hai thanh ghi W
và thanh ghi f Kết quả được chứa trong
thanh ghi W nếu d = 0 hoặc thanh ghi f
nếu d =1
Bit trạng thái: C, DC, Z
3 Lệnh ANDLW
Cú pháp: ANDLW k (0≤k≤255)
Tác dụng: thực hiện phép toán AND
giữa thanh ghi ¦ và giá trị k, kết quả
được chứa trong thanh ghi W
Bit trạng thái: Z
4 Lệnh ANDWF
Cú pháp: ANDWF f,d
(0≤f≤127, d ∈[0,1])
Tác dụng: thực hiện phép toán AND
giữa các giá trị chứa trong hai thanh ghi
W và f Kết quả được đưa vào thanh
ghi W nếu d=0 hoặc thanh ghi f nếu d =
7 Lệnh BTFSS
Cú pháp: BTFSS f,b (0≤f≤127, 0≤b≤7) Tác dụng: kiểm tra bit b trong thanh ghi
f Nếu bit b bằng 0, lệnh tiếp theo đượcthực thi Nếu bit b bằng 1, lệnh tiếptheo được bỏ qua và thay vào đó làlệnh NOP
Bit trạng thái: không có
8 Lệnh BTFSC
Cú pháp: BTFSC f,b (0≤f≤127, 0≤b≤7) Tác dụng: kiểm tra bit b trong thanh ghi
f Nếu bit b bằng 1, lệnh tiếp theo đượcthực thi Nếu bit b bằng 0, lệnh tiếptheo được bỏ qua và thay vào đó làlệnh NOP
Bit trạng thái: không có
9 Lệnh CALL
Cú pháp: CALL k (0≤k≤2047) Tác dụng: gọi một chương trình con.Trước hết địa chỉ quay trở về từ chươngtrình con (PC+1) được cất vào trongStack, giá trị địa chỉ mới được đưa vàobộ đếm gồm 11 bit của biến k và 2 bitPCLATH<4:3>
Bit trạng thái: không có
10.Lệnh CLRF
Cú pháp CLRF f (0≤f≤127) Tác dụng: xóa thanh ghi f và bit Z đượcset
Trang 37Bit trạng thái: Z
Tác dụng: reset Watchdog Timer, đồng
thời prescaler cũng được reset, các bit
và được set lên 1
Bit trạng thái: ,
13.Lệnh COMF
Cú pháp: COMF f,d
(0≤f≤127, d∈[0,1])
Tác dụng: đảo các bit trong thanh ghi f
Kết quả được đưa vào thanh ghi W nếu
d=0 hoặc thanh ghi f nếu d=1
Bit trạng thái: Z
14 Lệnh DECF
Cú pháp: DECF f,d
(0≤f≤127, d∈[0,1])
Tác dụng: giá trị thanh ghi f được giảm
đi 1 đơn vị Kết quả được đưa vào
thanh ghi W nếu d = 0 hoặc thanh ghi f
Tác dụng: gía trị thanh ghi f được giảm
1 đơn vị Nếu kết quả sau khi giảm
khác 0, lệnh tiếp theo được thực thi,
nếu kết quả bằng 0, lệnh tiếp theo
không được thực thi
và thay vào đó là lệnh NOP Kết quả
được đưa vào thanh ghi W nếu d = 0
hoặc thanh ghi f nếu d = 1
Bit trạng thái: không có
16 Lệnh GOTO
Cú pháp: GOTO k (0≤k≤2047) Tác dụng: nhảy tới một label được địnhnghĩa bởi tham số k và 2 bit PCLATH
W nếu d = 0 hoặc thanh ghi f nếu d = 1.Bit trạng thái: Z 3.2.18 Lệnh INCFSZ Cú pháp: INCFSZ f,d
(0≤f≤127, d∈[0,1]) Tác dụng: tăng giá trị thanh ghi f lên 1đơn vị Nếu kết quả khác 0, lệnh tiếptheo được thực thi, nếu kết quả bằng 0,lệnh tiếp theo được thay bằng lệnhNOP Kết quả sẽ được đưa vào thanhghi f nếu d=1 hoặc thanh ghi W nếu d
Bit trạng thái: Z
19 Lệnh IORWF
Cú pháp: IORWF f,d (0≤f≤127, d∈[0,1]) Tác dụng: thực hiện phép toán OR giữahai thanh ghi W và f Kết quả được đưavào thanh ghi W nếu d=0 hoặc thanhghi f nếu d=1
Bit trạng thái: Z
Trang 3820 Lệnh RLF
Cú pháp: RLF f,d
(0≤f≤127, d∈[0,1])
Tác dụng: dịch trái các bit trong thanh
ghi f qua cờ carry Kết quả được lưu
trong thanh ghi W nếu d=0 hoặc thanh
ghi f nếu d=1
Bit trạng thái: C
21 Lệnh RETURN
Cú pháp: RETURN
Tác dụng: quay trở về chương trình
chính từ một chương trình con
Bit trạng thái:không có
22.Lệnh RRF
Cú pháp: RRF f,d
(0≤f≤127, d∈[0,1])
Tác dụng: dịch phải các bit trong thanh
ghi f qua cờ carry Kết quả được lưu
trong thanh ghi W nếu d=0 hoặc thanh
ghi f nếu d=1
Bit trạng thái: C
23.Lệnh SLEEP
Cú pháp: SLEEP
Tác dụng: đưa vi điều khiển về chế độ
sleep Khi đó WDT bị xóa về 0, bit
được xó về 0, bit được set lên 1 và
oscillator không được cho phép hoạt
động
Bit trạng thái: TO,PD
24.Lệnh SUBLW
Cú pháp: SUBLW k
Tác dụng: lấy giá trị k trừ giá trị trong
thanh ghi W Kết quả được chứa trong
Bit trạng thái: C, DC, Z
26 Lệnh SWAP
Cú pháp: SWAP f,d (0≤f≤127, d∈[0,1]) Tác dụng: đảo 4 bit thấp với 4 bit caotrong thanh ghi f Kết quả được chứatrong thanh ghi W nếu d=0 hoặc thanhghi f nếu d=1
Bit trạng thái: không có
27 Lệnh XORLW
Cú pháp: XORLW k (0≤k≤255) Tác dụng: thực hiện phép toán XORgiữa giá trị k và giá trị trong thanh ghi
W Kết quả được lưu trong thanh ghi
Bit trạng thái: Z Ngoài các lệnh trên còn có một sốlệnh dùng trong chương trình như:
29.Lệnh #DIFINE
Cú pháp: #DEFINE <text1> <text2> Tác dụng: thay thế một chuỗi kí tựnày bằng một chuỗi kí tự khác, cónghĩa là mỗi khi chuỗi kí tự text1 xuấthiện trong chương trình, trình biên dịch
Trang 39sẽ tự động thay thế chuỗi kí tự đó bằng
chuỗi kí tự <text2>
30.Lệnh INCLUDE
Cú pháp: #INCLUDE <filename>
hoặc #INCLUDE “filename”
Tác dụng: đính kèm một file khác vào
chương trình, tương tự như việc ta copy
file đó vào vị trí xuất hiện lệnh
INCLUDE Nếu dùng cú pháp
<filename> thì file đình kèm là file hệ
thống (sýtem file), nếu dùng cú pháp
“filename” thì file đính kèm là file của
người sử dụng Thông thường chương
trình được đính kèm theo một “header
file” chứa các thông tin định nghịa các
biến (thanh ghi W, thanh ghi F, ) và
các địa chỉ cảu các thanh ghi chức năng
đặc biệt trong bộ nhớ dữ liệu Nếu
không có header file, chương trình sẽ
khó đọc và khó hiểu hơn
31.Lệnh CONSTANT
Cúpháp:CONSTANT<name>=<value
>
Tác dụng: khai báo một hằng số, có
nghĩa là khi phát hiện chuỗi kí tự
“name” trong chương trình, trình biên
dịch sẽ tự động thay bằng chuỗi kí tự
bằng giá trị “value” đã được định nghĩa
trước đó
32.Lệnh VARIABLE
Cúpháp:VARIABLE<name>=<value>
Tác dụng: tương tự như lệnh
CONSTANT, chỉ có điểm khác biệt
duy nhất là giá trị “value” khi dùng
lệnh VARIABLE có thể thay đổi được
trong quá trình thưc thi chương trình
còn lệnh CONSTANT thì không
35.Lệnh ORG
36 Cú pháp: ORG <value>
Tác dụng: định nghĩa một địa chỉ chứachương trình trong bộ nhớ chương trìnhcủa vi điều khiển
37.Lệnh END
Cú pháp: END Tác dụng: đánh dấu kết thúc chươngtrình
38.Lệnh CONFIG
Cú pháp:
Tác dụng: thiết lập các bit điều khiểncác khối chức năng của vi điều khiểnđược chứa trong bộ nhớ chương trình(Configuration bit)