Tải bản đầy đủ - 0 (trang)
e. Các cổng xuất nhập của PIC16F877A

e. Các cổng xuất nhập của PIC16F877A

Tải bản đầy đủ - 0trang

Ket-noi.com kho tài liệu miễn phí

 Port B

Port B (RPB) gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng

là TRISB. Bên cạnh đó một số chân của Port B còn đươc sử dụng trong q

trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. Port B

còn liên quan đến ngắt ngoại vi và bộ Timer0. Port B còn được tích hợp chức

nă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ên quan đến Port B bao gồm:

Port B (địa chỉ 06h,106h)

: chứa giá trị các pin trong

Port B 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

 Port C

PortC (RPC) gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng là

TRISC. Bên cạnh đó Port C 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 Port C:

Port C (địa chỉ 07h)

: chứa giá trị các pin trong

Port C TRISC (địa chỉ 87h) : điều khiển xuất nhập.

 Port D

Port D (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng

là TRISD. Port D còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel

Slave Port).

Các thanh ghi liên quan đến Port D bao gồm:

Thanh ghi Port D : chứa giá trị các pin trong Port D.

Thanh ghi TRISD : điều khiển xuất nhập.

Thanh ghi TRISE : điều khiển xuất nhập Port E và chuẩn giao tiếp PSP.

 Port E

Port E (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 đó Port E 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 Port E bao gồm:



Bộ môn Kỹ thuật máy tính



20



Ket-noi.com kho tài liệu miễn phí

Port E : 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.

f. Ngắt (Interrupt)

PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiển bởi

thanh ghi INTCON (bit GIE). Bên cạnh đó mỗi ngắt còn có một bit điều khiển và

cờ ngắt riêng. Các cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt

xảy ra bất chấ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 ghi INTCON, 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 để thố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ạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt

nào xảy ra cầ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ương trình được cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ

khơng được cấ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ày nên được xử lý bằng chương trình để tránh hiện tượng trên xảy

ra.

 Ngắt INT

Bộ môn Kỹ thuật máy tính



21



Ket-noi.com kho tài liệu miễn phí

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 (thanh ghi 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ày có khả năng đánh thức vi điều khiển từ chế độ

sleep nếu bit cho phép ngắt được set trước khi lệnh SLEEP được thực thi.

 Ngắt do sự thay đổt trạng thái các PIN trong Port B

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>).

2.5.2.

Led Hồng Ngoại

a. Led phát

Diode quang thường được chế tạo bằng gecmani và silic . Hình 4 trình

bày cấu tạo của diode quang chế tạo bằng silic .dùng làm bộ chỉ thị tia lân cận

bức xạ hồng ngoại.



Hình 2.11: Cấu tạo diode hồng ngoại

Nguyên lý

+

P

N



Bộ môn Kỹ thuật máy tính



R

t



P

N



R

t



22



Ket-noi.com kho tài liệu miễn phí

Hình 2.12: Ngun lý làm việc của diode quang

Led hồng ngoại có thể làm việc ở hai chế độ: chế độ biến đổi quang điện

và chế độ nguồn quang điện.

Nguyên lý trong chế độ biến đổi quang điện: Lớp p được mắc vào cực âm

của nguồn điện, lớp n mắc vào cực dương. Phân cực ngược nên khi chưa chiếu

sang chỉ có dòng điện nhỏ bé chạy qua ứng với dòng điện ngược (còn gọi là

dòng điện tối). Khi có quang thơng dòng điện qua mối nối p-n tăng lên gọi là

dòng điện sáng.

Nguyên lý làm việc của diode trong chế độ nguồn phát quang điện( pin

mặt trời): Khi quang thơng , các điện tích trên mối nối p-n được giải phóng tạo ra

sức điện động trên 2 cực của diode, do đó làm xuất hiện dòng điện chảy trong

mạch. Trị số sức điện động xuất hiện trong nguồn phát quang điện phụ thuộc vào

loại nguồn phát và trị số của quang thông.

b. Led thu

Cấu tạo



Hình 2.13: Cấu tạo led thu

Nguyên lý

Giả sử điều kiện phân cực cho IC đã hoàn chỉnh ,khi IC nhận tín hiệu điều

khiển từ diode phát quang, mạch khuếch đại OP-amp của của IC sẽ biến đổi

dòng điện thu được từ diode ra điện áp( điện áp này đươc khuếch đại). Tín hiệu

điện áp được đưa đến Smith triger để tạo xung vng, xung này có nhiệm vụ

kích transistor ngõ ra hoạt động, lúc đó ngõ ra ở chân số 2 của IC ở mức thấp, tín

Bộ mơn Kỹ thuật máy tính



23



Ket-noi.com kho tài liệu miễn phí

hiệu ngõ ra tác động ở mức 0, có thể được dùng đẻ điều khiển gián tiếp một tải

nào đó. Khi ngăn ánh sáng chiếu vào thì ngược lại khơng hoạt động dẫn dòng.

2.5.3.

Led 7 đoạn

a. Các khái niệm cơ bản

Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử

dụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng “ Led 7

đoạn ”. Led 7 đoạn được sử dụng khi các thơng số khơng đòi hỏi q phức tạp,

chỉ cần hiển thị số là đủ, chẳng hạn Led 7 đoạn được sử dụng để hiển thị nhiệt độ

phòng, trong các đồng hồ trong các đồng hồ treo tường bằng điện tử, hiển thị số

lượng sản phẩm được kiểm tra sau một cơng đoạn nào đó ….

b. Sơ đồ vị trí các Led :

Các điện trở 330Ω là các điện trở bên ngồi được kết nối để giới hạn dòng

điện qua Led nếu Led 7 đoạn được nối với nguồn 5V.



Hình 2.14: Sơ đồ chân 7 SEG-COM-ANODE và hình ảnh minh họa

c. Kết nối với Vi điều khiển:

Ngõ nhận tín hiệu điều khiển của Led 7 đoạn có 8 đường, vì vậy có thể

dùng 1 Port nào đó của Vi điều khiển để điều khiển Led 7 đoạn. Như vậy Led 7

đoạn nhận một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của



Bộ môn Kỹ thuật máy tính



24



Ket-noi.com kho tài liệu miễn phí

từng Led đơn trong nó, dữ liệu được xuất ra điều khiển Led 7 đoạn thường được

gọi là "mã hiển thị Led 7 đoạn". Có hai kiểu mã hiển thị Led 7 đoạn: mã dành

cho Led 7 đoạn có Anode(cực +) chung và mã dành cho Led 7 đoạn có

Cathode(cực -) chung. Chẳng hạn, để hiện thị số 1 cần làm cho các Led ở vị trí b

và c sáng, nếu sử dụng Led 7 đoạn có Anode chung thì phải đặt vào hai chân b

và c điện áp là 0V(mức 0) các chân còn lại được đặt điện áp là 5V(mức 1), nếu

sử dụng Led 7 đoạn có Cathode chung thì điện áp(hay mức logic) hoàn toàn

ngược lại, tức là phải đặt vào chân b và c điện áp là 5V(mức 1).

Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện

cho việc xử lí về sau phần cứng nên được kết nối như sau: Px.0 nối với chân a,

Px.1 nối với chân b, lần lượt theo thứ tự cho đến Px.7 nối với chân h.

2.5.4.

Transistor

a. Định nghĩa

Transistor được hình thành từ ba lớp bán dẫn ghép với nhau hình thành hai

mối tiếp giáp P-N ,nếu ghép theo thứ tự PNP ta được Transistor thuận , nếu ghép

theo thứ tự NPN ta được Transistor ngược. về phương diện cấu tạo Transistor

tương đương với hai Diode đấu ngược chiều nhau. Cấu trúc này được gọi là

Bipolar Junction Transitor (BJT) vì dòng điện chạy trong cấu trúc này bao gồm

cả hai loại điện tích âm và dương (Bipolar nghĩa là hai cực tính). Ba lớp bán dẫn

được nối ra thành ba cực, lớp giữa gọi là cực gốc ký hiệu là B (Base), lớp bán

dẫn B rất mỏng và có nồng độ tạp chất thấp. Hai lớp bán dẫn bên ngoài được nối

ra thành cực phát (Emitter) viết tắt là E, và cực thu hay cực góp (Collector) viết

tắt là C, vùng bán dẫn E và C có cùng loại bán dẫn (loại N hay P ) nhưng có kích

thước và nồng độ tạp chất khác nhau nên khơng hốn vị cho nhau được.



Bộ mơn Kỹ thuật máy tính



25



Ket-noi.com kho tài liệu miễn phí

Hình 2.15: Hình ảnh transistor

b. Nguyên tắc hoạt động của Transitor:

Trong chế độ tuyến tính hay còn gọi là chế độ khuyếch đại, Transitor là

phần tử khuyếch đại dòng điện với dòng Ic bằng β lần dòng bazo (dòng điều

khiển ) Trong đó β là hệ số khuyếch đại dòng điện : IC = β.IB

2.5.5.



Tụ điện

Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các

mạch điện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu, mạch

truyền tín hiệu xoay chiều, mạch tạo dao động.



Hình 2.16: Một số loại tụ điện

2.5.6.



Rơle

Rơle là một công tắc điều khiển từ xa đơn giản, nó dùng một dòng nhỏ để

điều khiển một dòng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng được

xem là một thiết bị bảo vệ. Một rơle điển hình điều khiển mạch và cả điều khiển

nguồn. Kết cấu rơle gồm có một lõi sắt ,một cuộn từ và một tiếp điểm.



Bộ mơn Kỹ thuật máy tính



26



Ket-noi.com kho tài liệu miễn phí

Hình 2.17: Cấu tạo một Rơ le đơn giản và hình ảnh Role 5V

2.5.7.

IC ổn áp

7805 là một mạch tích hợp bộ điều chỉnh điện áp. Đây là một dòng IC của họ 78xx

điều chỉnh điện áp tuyến tính cố định. Nguồn điện áp trong mạch có thể có biến động và

sẽ không cho lượng điện áp cố định. Các vi mạch điều chỉnh điện áp duy trì điện áp đầu ra

tại một giá trị không đổi. Các xx trong 78xx cho biết lượng điện áp cố định nó được thiết

kế để cung cấp: 7805 cung cấp nguồn +5 V...



Hình 2.18: IC ổn áp 7805



Bộ mơn Kỹ thuật máy tính



27



Ket-noi.com kho tài liệu miễn phí

2.6.Sơ đồ nguyên lý của mạch.

Các module được kết nối với nhau theo sơ đồ hình vẽ.

7SEG 1



V c c -5 V



M P X 2 -C A



C 3

T13

R 5

R ES

Y 1

Z TB



V1



1

2

3

4

5

6

7

8



9

10



1

2

3

4

5

6

7



L1

L2



A

B

C

D

E

F

G

D P

U 1



13

14



Vout



2

3

4

5

6

7



O S C 1 /C L K IN

O S C 2 /C L K O U T



R B 0 /IN T

R B1

R B2

R B 3 /P G M

R B4

R B5

R B 6 /P G C

R B 7 /P G D



3



LE D TH U 1



PVN 1



VSS VC C



D 1

LED PH AT 1



2



TH 1



1



O U T



8

9

10

V1



A

A

A

A

A

A



R E

R E

R E

M C



0

1

2

3

4

5



/A N 0

/A N 1

/A N 2 /V R E F -/ C V R E F

/A N 3 /V R E F +

/T 0 C K I/C 1 O U T

/A N 4 /S S * /C 2 O U T

R C 0 /T 1 O S O /T 1 C K I

0 /R D * /A N 5

R C 1 /T 1 O S I/C C P 2

1 /W R * /A N 6

R C 2 /C C P 1

2 /C S * /A N 7

R C 3 /S C K /S C L

R C 4 /S D I/S D A

L R */V P P

R C 5 /S D O

R C 6 /T X /C K

R C 7 /R X/D T



LE D TH U 2

VSS VC C



3



U 2



1



R

R

R

R

R

R



D 2

LED PH AT 2



O U T



2



TH 2



11

12



1



31

32



VD D

VSS

VSS

VD D



P IC 1 6 F 8 7 7 A



R

R

R

R

R

R

R

R



D

D

D

D

D

D

D

D



0 /P

1 /P

2 /P

3 /P

4 /P

5 /P

6 /P

7 /P



S

S

S

S

S

S

S

S



P

P

P

P

P

P

P

P



0

1

2

3

4

5

6

7



1

2



T13

T14



J1

220V~



33

34

35

36

37

38

39

40



TH 1

TH 2



V c c -5 V



SW 1



15

16

17

18

23

24

25

26



S

S

S

S

S

S

S



1

2

3

4

5

6

7



19

20

21

22

27

28

29

30



L1

L2



D 3

DEN



D io t



Vout



R 3



R ES



Q 1

N PN

R 4

R ES



3



R 1



R 3



LS 1

R ELAY

5



R 2



R 4



2

1



V c c -5 V



BT



S

S

S

S

S

S

S



V c c -5 V



C 5



4



T14



L1

L2



C 4



12V



1



-



D io t c a u

+



U 4

1

C 1

C



IN



7805



O U T



3



V c c -5 V

C 2

C



2



4



G N D



1

2



3



220V~



2



L1



J2



B ie n a p



Hình 3.1 Sơ đồ mạch ngun lý

2.7.Thuật tốn điều khiển.

Chương trình có nhiệm vụ:

• Kiểm tra xem người đi vào phòng hay đi ra khỏi phòng

• Vi điều khiển thực hiện ngắt cổng B để chuơng trình điều khiển thực hiện

 Giải thuật:

Chương trình điều khiển được thực hiện dựa trên ngắt INTERRUPT của

vi điều khiển. Chương trình chính hồn tồn không tham gia vào việc thực hiện



Bộ môn Kỹ thuật máy tính



28



Ket-noi.com kho tài liệu miễn phí

điều khiển, chương trình chính có chức năng duy nhất là thực hiện ngắt mạch để

cho cổng B thực hiện điều khiển. Các cổng B được thực hiện ngắt là từ B4

->B7.

Đầu tiên ta bố trí 2 bộ thu phát hồng ngoại gần nhau theo phương tạo thành

mặt phẳng song song với mặt đất, bộ thu phát đầu tiên nối với cổng B4 của vi xử

lý, bộ thu phát thứ 2 nối tới cổng B5 của vi xử lý.

Khi có người đi qua, để biết được người đó đi vào hay ra khỏi phòng. Ta

cần xem xét xem tín hiệu ở bộ thu phát thứ nhất bị gián đoạn trước hay tín hiệu

của bộ thu phát hồng ngoại thứ 2. Nếu mà tín hiệu ở bộ thu phát thứ nhất bị gián

đoạn trước thì có nghĩa là người đi vào phòng, nếu tín hiệu ở bộ thu phát thứ 2

bị gián đoạn trước thì có nghĩa là người đi ra khỏi phòng. Vi xử lý ( cụ thể là

chương trình chính ) sẽ thực hiện ngắt cổng B để thực hiện đoạn chương trình.



Bộ mơn Kỹ thuật máy tính



29



Ket-noi.com kho tài liệu miễn phí



 Sơ đồ thuật tốn

Trong đó:

B4=input_pin(B4):

Hình 3.2:

Sơ đồ thuật tốntín hiệu từ Led thu 1

B5=input_pin(B5):tín hiệu từ Led thu 2

Khởi tạo

Số ng: số lượng người đang ở trong phòng

 Chương trình nạp vào Vi điều khiển Pic 16F877A

Ngắt từ

B4->B7

Để viết

chương trình

điều

khiển ta sử dụng ngơn ngữ C viết trên phần

Chương

Tăng số

trình

Đ trình gồm các chương trình

mềm CCS và

chạy mơ phỏng trong Proteus. Chương

người lên 1

B4=0

con Bật tắtchính

đèn ‘void den(ng)’, chương trình con Hiển thị Led ‘void led(ng)’,

chương trình con Đếm người vào ‘intSdauvao()’, chương trình con Đếm người ra

’int daura()’, chương trình con Ngắt thay đổi trạng

thái các chân B4->B7 và

S

Số ng>

chương trình Chính.

=1

Hiển

thị

Đ 10 phần

Các hằng số và biến trong chương trình : Mảng LED7[10] gồm

số người

tử, mỗi phần tử tương ứng với 1 con số từ 0 đến 9 mà Led 7Bật

đoạn

điệnsẽ hiển thị.

Ngắtvòng

từ B4->B7

Biến chạy ‘i’ dùng cho

lặp để quét Led. Biến ‘ng‘ biểu thị cho số người

đang ở trong phòng. BiếnS‘L1, L2’ để hiển thị các Led7 đoạn 1 và 2 tương ứng

B5=0

với chữ số hàng chục và hàng đơn vị của số người trong phòng. Biến ‘vao, ra’ để

thu nhận tín hiệu từ đầu ra của hai Led thu 1 và 2 : bình thường ‘vao=ra=1’, khi

Đ

có người cắt qua bộ thu phát 1 thì ‘vao=0’, qua bộ thu phát 2 thìGiảm

‘ra=0’.

số Hai biến

Đ

đi 1 trong

‘x và y’ để xác nhận xem đã có tín Số

hiệungđã đi qua 2 bộ thu phátngười

hay không

một lượt người vào hoặc ra: ban đầu>0‘x=y=0’, khi người cắt qua Led thu 1 thì

x=1 ; khi người cắt qua Led thu 2 thì

S y=1 ; khi người đã đi qua cả 2 bộ thu phát

1,2 thì cài đặt lại : x=y=0 và chuẩn bị cho 1 lượt mới.

Chương trình sử dụng ngắt thay đổi trạng thái cổng B : khi có bất kỳ sự

Số ng

thay đổi trạng thái nào trên các chân

B4-> B7 của cổng B thì chương trình sẽ

=0

sinh ra ngắt. Trong bài này, tùy vào tín

Đ hiệu thu được ở các cổng B4 và B5

chương trình ngắt sẽ gọi các chương

Tắttrình

điện con ‘dauvao’ hay là chương trình con

‘daura’. Chương trình ngắt sẽ trả về giá trị là số người trong phòng ’ng’.

Star

t



Bộ mơn Kỹ thuật máy tính



30



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

e. Các cổng xuất nhập của PIC16F877A

Tải bản đầy đủ ngay(0 tr)

×