1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO VI ĐIỀU KHIỂN PIC 16F84A

18 816 0

Đ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 18
Dung lượng 358,61 KB

Nội dung

2.2 Chức năng của từng khối Khối đầu vào: Gồm các công tắc để điều chỉnh các chế độ hoạt động của hệ thống..  Khối hiển thị: Hiển thị hoạt động của các thiết bị thông qua led 7 thanh

Trang 1

TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT

BỘ MÔN TỰ ĐỘNG HÓA XÍ NGHIỆP MỎ - DẦU KHÍ

ĐỒ ÁN MÔN HỌC

KỸ THUẬT VI ĐIỀU KHIỂN

Đề tài :

NGHIÊN CỨU VỀ VI ĐIỀU KHIỂN PIC VÀ ỨNG DỤNG TRONG

ĐIỀU KHIỂN LED 7 THANH

Giáo viên hướng dẫn: Ths Nguyễn Thế Lực

Nhóm sinh viên thực hiện

Hà Nội, 2017

Trang 2

Lời mở đầu

Ngày nay, khái niệm kỹ thuật số đã trở thành quen thuộc với nhiều người, bởi vì

sự phát triển của ngành kỹ thuật số này đã có ảnh hưởng rất lớn đến ngành kinh tế toàn cầu Có người đã nêu lên ý tưởng gọi nền kinh tế của thời đại chúng ta là “ nền kinh tế kỹ thuật số “, “số hóa” đã gần như vượt khỏi ranh giới của một thuật ngữ kỹ thuật Nhờ có

ưu điểm của xử lý số như độ tin cậy trong truyền dẫn, tính đa thích nghi và kinh tế của nhiều phần mềm khác nhau, tính tiện lợi trong điều khiển và khai thác mạng

Số hóa đang là xu hướng phát triển tất yếu của nhiều lĩnh vực kỹ thuật và kinh tế khác nhau Không chỉ trong lĩnh vực thông tin liên lạc và tin học Ngày nay, kỹ thật số đã

và đang thâm nhập mạnh mẽ vào Kỹ thuật điện tử, Điều khiển tự động, phát thanh truyền hình, y tế, nông nghiệp…và ngay cả trong các dụng cụ sinh hoạt gia đình

Ngay từ những ngày đầu khai sinh, kỹ thuật số nói riêng và ngành điện tử nói chung đã tạo ra nhiều bước đột phá mới mẽ cho các ngàng kinh tế khác và còn đảm bảo được yêu cầu của người dùng cả về chất lượng và dịch vụ Đồng thời kiến thức về kỹ thuật số là không thể thiếu đối với mỗi sinh viên, nhất là sinh viên điện tử

Và như mọi người nhận thấy rằng, ngày nay trật tự giao thông nước ta đang rối ren Vì vậy việc sử dụng đèn giao thông tại những giao lộ là rất cần thiết và để hiểu rõ hơn về nguyên lý hoạt động và muốn phát triển thêm về mô hình này, em đã chọn đề tài

cho báo cáo chuyên nghành là: “Nghiên cứu về vi điều khiển PIC và ứng dụng trong

điều khiển led 7 thanh”

Trong quá trình thực hiện đồ án môn học, với sự giúp đỡ tận tình của Th.S Nguyễn Thế Lực và các bạn trong lớp, nhóm chúng em cố gắng thiết kế sao cho mô hình hoạt động là hoàn thiện nhất, ổn định nhất Tuy nhiên do kiến thức còn hạn chế và kinh

nghiệm làm việc không được nhiều nên sản phẩm làm ra còn gặp nhiều thiếu sót mong được sự thông cảm của quý thầy cô Chúng em chân thành cảm ơn

Chương 1 NGUYÊN LÝ LÀM VIỆC CỦA MÔ HÌNH

Trang 3

Hình 1.1 Mô hình điều khiển led 7 thanh 1.1 Các thiết bị có trong mô hình

Trong mô hình có các nút bấm để điều khiển là start, stop, và led 7 thanh để hiển thị Ngoài ra còn có các chấu để nhận tín hiệu từ ngoài vào và xuất tín hiệu ra ngoài mô hình

1.2 Nguyên lý hoạt động của led 7 thanh

1.3 Ý tưởng thiết kế hệ thống điều khiển đèn giao thông

Chương 2 THIẾT KẾ MẠCH ĐIỀU KHIỂN CHO MÔ HÌNH

2.1 Sơ đồ khối

Sơ đồ khối của hệ thống bao gồm các khối sau: Khối đầu vào, Khối nguồn, Khối điều khiển, Khối hiển thị

Hình 2.1 Sơ đồ khối hệ thống điều khiển của mô hình

Trang 4

2.2 Chức năng của từng khối

Khối đầu vào: Gồm các công tắc để điều chỉnh các chế độ hoạt động của hệ

thống

Khối nguồn: Cung cấp điện áp cho toàn bộ hệ thống và đảm bảo sự ổn định

điện áp

Khối điều khiển: Điều khiển mọi sự hoạt động của hệ thống, thực hiện chương

trình, xử lý các điều khiển đầu vào/ra và truyền thông với các thiết bị bên ngoài

Khối hiển thị: Hiển thị hoạt động của các thiết bị thông qua led 7 thanh

2.3 Lựa chọn linh kiện

2.3.1 Danh sách linh kiện cơ bản

STT TÊN LINH KIỆN CHỨC NĂNG CHÍNH

1 PIC 16F84A Vi điều khiển, điều khiển hoạt động của mô hình

3 Led 7 thanh catot chung Hiển thị thời gian đếm lùi

4 Đèn led Hiển thị đèn báo tín hiệu

2.3.2 Khối đầu vào

Đầu vào các thiết bị sẽ sử dụng các công tắc để điều khiển hoạt động của các hệ thống:

Đầu vào các thiết bị sẽ sử dụng các công tắc để điều khiển hoạt động của các hệ thống:

3.3 Module điều khiển

a, Vi điều khiển PIC16F84A

PIC (Peripheral Interface Controller) là nhóm các IC dùng để chấp hành câu lệnh điều khiển theo các chương trình đã có trong bộ nhớ Bộ nhớ và CPU có thể xem như bộ

Trang 5

óc của máy và PIC là các hệ thần kinh dùng để chấp hành các chương trình đã có trong

bộ nhớ

PIC 16F84 là dòng PIC phổ biến nhất được khuyến khích cho những người mới học

Đặc tính của PIC 16F84A:

 Chỉ dùng 35 câu lệnh để viết tất cả các chương trình nguồn cho PIC16Fxx

 Tất cả các câu lệnh chỉ dùng 1 chu kỳ máy, các câu lệnh nhảy dùng 2 chu kỳ máy

 Tốc độ vận hành: Dùng xung nhịp là 4MHz và chu kỳ máy là 1μs

 Có bộ nhớ chương trình (Flash Program Memory) 1024 Word (1K x 14)

 Bộ nhớ RAM (RAM File Rigister) 68 byte

 Bộ nhớ dữ liệu EEPROM 64 byte

 Độ rộng câu lệnh là 1 Word 14 bit

 Xử lý dữ liệu dạng 8 bit (1 byte)

 Có 15 thanh ghi chuyên dụng SFR (Special Function Register) trong RAM

 Dùng ngăn xếp có chiều xâu 8 lớp

 Có mode truy cập theo địa chỉ trực tiếp, gián tiếp và địa chỉ tương đối

 Có 4 dạng ngắt:

o Ngắt ngoài trên tín hiệu trên chân RB0/INT

o Ngắt theo bit báo tràn của Timer 0

o Ngắt theo sự thay đổi trên các chân RB4, RB5, RB6, RB7

o Ngắt khi ghi xong dữ liệu vào bộ nhớ EEPROM

 Có 13 chân dùng xuất nhập dữ liệu (Ở Port A có 5 chân và Port B có 8 chân)

 Có khả năng cấp dòng chảy vào/ra đủ lớn: 25mA, đủ cấp cho các Led chiếu sáng

 Có 1 đồng hồ Timer 0 (TMR0), dùng thanh đếm xung 8 bit, nên đếm được tối đa 256 nhịp

 Với bộ nhớ chương trình Flash Program Memory, có thể xóa ghi được 1.000 lần

 Với bộ nhớ EEPROM có thể xóa ghi dữ liệu đến 1.000.000 lần

 Dữ liệu cất giữ trong bộ nhớ EEPROM có thể an toàn tên 40 năm

 Có thể lập trình và nạp ngay trên bo (ICSP, In-Circuit Serial Programming) chỉ dùng

2 chân

 Có chức năng POR (Power On Reset), PWRT (Power-up Timer), OST (Oscillator Start-up Timer)

 Chức năng Watch-dog (WDT) làm việc với mạch dao động RC riêng trong IC

 Có mode bảo vệ mã (Code Protection)

Có mode Sleep dùng tiết kiệm điện năng khi ở trạng thái chờ.

 Có nhiều tùy chọn cho mạch dao động tạo xung nhịp chính

Trang 6

 Làm việc với mức nguồn trong khoảng 2V đến 5.5V.

Hình 2.3 Sơ đồ chân vi điều khiển PIC16F84A

Sơ đồ chân của vi điều khiển PIC16F84A:

OSC1/CLKIN là chân ngõ vào của mạch dao động thạch anh, dùng để định tần cho

xung nhịp và cũng là một ngõ vào của mạch tạo xung nhịp

OSC2/CLKOUT là chân ngõ ra của mạch dao động thạch anh và đồng thơi cũng là

ngõ ra của xung nhịp

MCLR (Master Clear) là chân reset, tác dụng của lệnh reset là trả chương trình về

địa chỉ ban đầu và xác lập lại vị trí ban đầu của các thanh ghi có chức năng đặc biệt

RA0, RA1, RA2, RA3 là các chân xuất/nhập dữ liệu của Port A.

RA4/TOCKI là chân đa nhiệm, vừa làm chân xuất/nhập của Port A và lại là chân lấy

xung cho bộ định thời Timer0

RB0/INT là chân đa nhiệm, vừa làm chân xuất/nhập của Port B và lại là chân phát

động theo ngắt ngoài, nó có thể được lập trình để có trở kháng lớn dùng để làm ngõ vào, nhập trạng thái ngoài vào PIC

Trang 7

RB1, RB2, RB3 là các chân xuất/nhập của Port B.

RB4, RB5 là các chân xuất/nhập của Port B và phát động ngắt theo sự thay đổi trên

các chân này

RB6 là chân xuất/nhập của Port B và phát động ngắt theo sự thay đổi trên chân này

Nó còn có thể lập trình để dùng chân này phát xung nhịp dùng cho công năng truyền

dữ liệu nối tiếp

RB7 là chân xuất/nhập của Port B và phát động ngắt theo sự thay đổi trên chân này

Nó còn có thể lập trình để dùng chân này trao đổi dữ liệu dùng cho công năng truyền

dữ liệu nối tiếp

V SS là chân nối mass để lấy dòng.

V DD là chân nối vào nguồn dương từ 2V đến 5,5V.

Hình 2.4 Sơ đồ khối chức năng của PIC16F84A Các khối chức năng của PIC16F84A:

Trang 8

Flash Program Memory có dung lượng 1024 thanh nhớ, rộng 14 bit (1Kx14) Ở đây

Bạn cất giữ các mã lệnh của chượng trình nguồn Các mã lệnh được truy cập theo mã địa chỉ có trong thanh ghi PC (Program Counter) Mã lệnh xuất ra trên thanh ghi Instruction Register

Thanh ghi Program Counter dùng ghi các địa chỉ của mã lệnh của bộ nhớ Flash

ROM Trong hoạt động, khi dùng lệnh nhảy đến các chượng trình con, thì địa chỉ hiện tại sẽ được tạm thời cho cất giữ trong các thanh ghi ngăn xếp, ở đây chiều xâu ngăn xếp có 8 lớp (8 Level Stack)

Ngăn xếp Level Stack dùng lưu giữ các mã địa chỉ của chương trình chính khi trong

chương trình có dùng lệnh nhảy Địa chỉ cất vào ngăn xếp có thể hiểu như dùng lệnh Push và địa chỉ lấy ra từ ngăn xếp có thể hiểu như dùng lệnh Pop

Instruction Register là thanh ghi mã lệnh Ở ngõ ra, mã lệnh có thể chuyển đến khối

giải mã Instruction Decode & Control để tạo ra lệnh điều khiển hay chuyển đến khối

xử lý địa chỉ đa kênh Address Multiplex để truy cập các thanh nhớ trong bộ nhớ RAM (File Register)

Instruction Decode & Control là khối giải mã, xác định tính năng điều khiển trong

câu lệnh, nó tác dụng vào khối định trạng thái cho IC Khối này gồm có các chức năng: Power-up Timer, Oscillator Start-up Timer, Power-on Reset, Watchdog Timer

o Power-up Timer dùng kích hoạt IC theo đồng hồ Timer.

o Oscillator Start-up Timer dùng kích hoạt mạch dao động theo đồng hồ Timer.

o Power-on Reset dùng reset các thanh ghi trong PIC khi nó mới được cấp nguồn.

o Watchdog Timer là bộ định thời dùng vào/ra mode theo đồng hồ Timer, có tính

năng dùng tiết kiệm điện

Timing Generation là khối tạo ra xung nhịp chính, tần số của xung nhịp được định

theo thạch anh

Đồng hồ Timer 0 (TMR0) dùng một thanh đếm 8 bit để tạo ra chức năng điều khiển

theo thời gian Nó có thể đếm tối đa 256 xung nhịp, khi thanh đếm đầy, bit báo tràn sẽ chuyển lên mức 1

I/O Port (gồm Port A có 5 chân và Port B có 8 chân) dùng xuất/nhập dữ liệu Nhiều

chân còn có tính đa nhiệm, nên ngoài công năng xuất nhập dữ liệu nó còn có các công năng khác

Bộ nhớ dữ liệu EEPROM Data Memory, đây là bộ nhớ xóa ghi được trên 1 triệu

lần, EEPROM có 64 thanh nhớ, với độ rộng 8 bit (1 byte) Để truy cập dữ liệu trong

các thanh nhớ, mã địa chỉ sẽ chuyển vào thanh ghi EEADR và dữ liệu xuất nhập trên thanh ghi EEDATA.

Bộ nhớ RAM File Register, đây là bộ nhớ RAM có 68 thanh nhớ, với độ rộng 8 bit, trong đó có 12 thanh nhớ đặc dụng (SFR, Special Function Register), các thanh nhớ

Trang 9

còn lại được dùng làm thanh nhớ phổ dụng (GPR, General Purpose Register) Các thanh nhớ đặc dụng xác định hoạt động của IC, các thanh nhớ phổ dụng dùng làm thanh nhớ tạm Khi IC mất nguồn, các dữ liệu trong các thanh nhớ RAM đều bị xóa sạch Người ta truy cập dữ liệu trong các thanh nhớ của RAM với bó nối mã địa chỉ RAM Addr và xuất/nhập dữ liệu trên bó nối Data Bus

Thanh ghi FSR (File Select Register) dùng truy tìm dữ liệu theo mã địa chỉ gián tiếp

(Indirect Address), dùng bó nối Indirect Addr

Thanh ghi STATUS (Status Register) dùng chọn định các điều kiện làm việc cho IC

(Thanh ghi trạng thái này rất thường dùng)

MUX (Multiplex) là khối xử lý đa nhiệm, nó cung cấp mã cho khối tính toán ALU.

ALU (Arithmetic & Logic Unit) là khối thực hiện các phép toán số học và logic

Không có bộ phận này, IC không được gọi là IC máy tính

Thanh ghi W reg (Work Register) là thanh ghi công tác (một thanh ghi cực kỳ quan

trọng của PIC), nó cất giữ các kết quả của khối toán ALU

Các cổng xuất/nhập của PIC 16F84A:

Cổng xuất/nhập chính là phương tiện mà vi điều khiển dung để tương tác với các thiết bị bên ngoài Sự tương tác này rất đa dạng và thông qua quá 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, tùy theo cách bố trí 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 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ác chứ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 đối với các thiết bị bên ngoài Chức năng của từng chân xuất/nhập trong mỗi cổng hoàn toàn có thể được xác lập và điều khiển thông qua các thanh ghi SFR liên quan đến chân xuất/nhập của nó

Port A:

Port A bao gồm 5 chân xuất nhập dữ liệu RA0-RA4 Chức năng xuất/nhập dữ liệu đượ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 Port A là input, ta “set” bit điều khiể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 của một chân trong Port A là output, ta

“clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA

Trang 10

Riêng với chân RA4 được tích hợp thêm chức năng cung cấp xung clock ngoài cho Timer0 (RA4/T0CKI)

Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Value on Power-on Reset

Value on all other RESETS

05h PORT

A

- - - RA4/T0CKI RA3 RA2 RA1 RA0 - - -x xxxx - - -u uuuu 85h TRISA - - - TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 - - -1 1111 - - -1 1111 Ghi chú: x-Giá trị không rõ, u-Giá trị không thay đổi,

Các ô tô bóng không được dùng bởi PortA

Bảng 2.3 Các thanh ghi liên quan đến Port A

Port B:

Port B bao gồm 8 chân xuất/nhập dữ liệu RB0-RB7 Chức năng xuất/nhập dữ liệu được điều khiển bởi thanh ghi TRISB (địa chỉ 86h) Muốn xác lập chức năng của một chân trong Port B là input, ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISB và ngược lại, muốn xác lập chức năng của một chân trong Port B là output, ta

“clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRISB

Đối với các chân RB4-RB7 là các chân đa nhiệm, có khả năng phát động ngắt khi có

sự thay đổi trạng thái trên các chân

Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Value on Power-on Reset

Value on all other RESETS

06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 - - -x xxxx - - -u uuuu

7

TRISB6 TRISB

5

TRISB 4

TRISB 3

TRISB 2

TRISB 1

TRISB 0

- - -1 1111 - - -1 1111 81h OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111 0Bh,8Bh INTCON GIE EEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u Ghi chú: x-Giá trị không rõ, u-Giá trị không thay đổi,

Các ô tô bóng không được dùng bởi PORTB

Bảng 2.4 Các thanh ghi liên quan đến PORTB

Dao động thạch anh cho vi điều khiển PIC:

Mỗi vi điều khiển hoạt động điều cần một xung clock nhất định Đối với PIC16F84A, hai chân OSC1/CLKIN (chân 16) và OSC2/CLKOUT (chân 15) cung cấp dao động cho

vi điều khiển PIC hoạt động

Trang 11

Hình 2.5 Mạch dao động thạch anh cho PIC 16F84A

Trong thiết kế mạch điều khiển bài toàn ở đây chúng ta sẽ sử dụng loại thạch anh ở chế độ XT (F OSC=¿ 4MHz) Thời gian một chu kỳ dao động của thạch anh:

T OSC= 1

F OSC=

1 4.000.000(s )=0.25 (μs )

Từ đó ta tính được thời gian hoạt động của một chu kỳ máy:

T CY=4∗T OSC= 4

4.000 000(s )=1( μs)

Việc mắc thêm các tụ lọc giúp tăng tính ổn định của bộ dao động, tuy nhiên giá trị của tụ không quá lớn hay quá nhỏ để dao động ổn định và thời gian khởi động ngắn Với điện thế V DD=5V thì ta sử dụng tụ có trị số 33pF.

b, IC 74HC595

IC 74HC595 là IC ghi dịch 8bit kết hợp chốt dữ liệu, đầu vào nối tiếp, đầu ra song song

Chức năng của IC 74HC595 trong mạch dùng để mở rộng chân của vi điều khiển

Trang 12

Hình 2.6 Sơ đồ chân của IC 74HC595

Sơ đồ chân của IC 74HC595:

Q0,Q1-Q7 (15,1,2,3,4,5,6,7) là các chân xuất dữ liệu khi chân chân EO tích cực ở mức thấp và có một xung tích cực ở sườn âm tại chân chốt STCP.

Q7S là chân dữ liệu nối tiếp Nếu dùng nhiều IC 74HC595 mắc nối tiếp nhau thì chân

này đưa vào đầu vào của con tiếp theo khi đã dịch đủ 8bit

DS (Data Shift) là chân ngõ vào của IC (74HC595 là IC vào nối tiếp nên ta chỉ cần

một chân ngõ vào) Tại 1 thời điểm xung clock chỉ đưa vào được 1 bit

V CC là chân cấp nguồn dương cho IC (5V).

GND là chân cực âm của nguồn cho IC.

SHCP (Shift Clock Pulse) là chân đưa xung nhịp vào IC và khi có cạnh lên của xung

thì IC đưa tín hiệu ở ngõ vào bộ nớ của IC để chờ xử lý

STCP (Storage Clock Pulse) là chân đưa xung nhịp vào IC để khi có cạnh lên của

xung thì IC đưa toàn bộ 8bit dữ liệu đã được lưu ra ngõ ra của IC

MR (Master Reset) là chân reset IC (trả IC về trạng thái ban đầu) Khi chân này tích

cực thì toàn bộ bộ nhớ IC sẽ bị xóa về 0, tuy nhiên lúc này tín hiệu ở ngõ ra vẫn giữ nguyên, không bị xóa Chân này tích cực ở mức thấp (0V)

OE (Output Enable) là chân cho phép ngõ ra, tích cực mức thấp Mức 0 là cho phép

ngõ ra, mức 1 là không cho phép ngõ ra

Ngày đăng: 09/05/2017, 23:12

TỪ KHÓA LIÊN QUAN

w