1. Trang chủ
  2. » Luận Văn - Báo Cáo

bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a

79 940 5

Đ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

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,44 MB

Nội dung

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 1

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!

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 3

LỜ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 4

I- 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 5

I- 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 7

b) 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 11

d) 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 13

Chú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 14

c) 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 15

Hoạ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 16

d) 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 17

Led 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 20

Ngà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 = AvoV1 = 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 22

g) 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 27

Mạ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 28

Thanh 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 29

Thanh 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 30

nă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 31

PORTC (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 32

Sau đâ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 33

GIỚ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 34

Ngắ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 36

TẬ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 37

Bit 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 38

20 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 39

sẽ 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)

Ngày đăng: 07/10/2014, 23:30

HÌNH ẢNH LIÊN QUAN

Hình thức bên ngoài của nó khác với transistor thông thường ở chỗ trên  vỏ của nóù cửa sổ trong suốt cho ánh sáng chiếu vào - bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a
Hình th ức bên ngoài của nó khác với transistor thông thường ở chỗ trên vỏ của nóù cửa sổ trong suốt cho ánh sáng chiếu vào (Trang 18)
Sơ đồ chân Pic 16F877A loại 40 chân PDIP - bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a
Sơ đồ ch ân Pic 16F877A loại 40 chân PDIP (Trang 23)
Sơ đồ nguyên lý - bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a
Sơ đồ nguy ên lý (Trang 49)
Sơ đồ xử lý lên - bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a
Sơ đồ x ử lý lên (Trang 54)
Sơ đồ xử lý xuống - bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a
Sơ đồ x ử lý xuống (Trang 56)
Sơ đồ điều khiển thang - bài tập lớn vi xử lí điều khiển thang máy dùng 16f877a
i ều khiển thang (Trang 58)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w