THIẾT kế MẠCH đếm SẢN PHẨM HIỂN THỊ TRÊN LED 7 ĐOẠN từ 00 99 dùng PIC (có code và sơ đồ mạch) THIẾT kế MẠCH đếm SẢN PHẨM HIỂN THỊ TRÊN LED 7 ĐOẠN từ 00 99 dùng PIC (có code và sơ đồ mạch) THIẾT kế MẠCH đếm SẢN PHẨM HIỂN THỊ TRÊN LED 7 ĐOẠN từ 00 99 dùng PIC (có code và sơ đồ mạch) THIẾT kế MẠCH đếm SẢN PHẨM HIỂN THỊ TRÊN LED 7 ĐOẠN từ 00 99 dùng PIC (có code và sơ đồ mạch)
Trang 1HIỂN THỊ TRÊN LED 7 ĐOẠN (00 - 99)
Trang 2DANH MỤC CÁC HÌNH VẼ iii
DANH MỤC CÁC TỪ VIẾT TẮT iv
CHƯƠNG 1 GIỚI THIỆU LINH KIỆN 1
1.1 Giới thiệu vi điều khiển PIC 16F877A 1
1.1.1 Môt vài thông số của vi điều khiển PIC16F877A 1
1.1.2 Sơ đồ khối của vi điều khiển PIC 16F887A 2
1.1.3 Tổ chức bộ nhớ 3
1.1.3.1 Bộ nhớ chương trình 3
1.1.3.2 Bộ nhớ dữ liệu 4
1.1.4 Các cổng xuất nhập của PIC 16F887A 4
1.1.4.1 PORTA 4
1.1.4.2 PORTB 5
1.1.4.3 PORTC 5
1.1.4.4 PORTD 6
1.1.4.5 PORTE 6
1.2 Quang trở 6
1.3 Laze 8
1.4 Điện trở 8
1.5 Tụ điện 9
1.6 IC 7805 11
1.7 Led 7 đoạn đôi 12
CHƯƠNG 2 SƠ ĐỒ HOẠT ĐỘNG 14
2.1 Sơ đồ hệ thống 14
CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG MẠCH 15
Trang 33.3 Mạch hoàn chỉnh 16
3.4 Nguyên lý hoạt động 17
3.5 Lưu đồ giải thuật 17
CHƯƠNG 4 KẾT LUẬN 18
TÀI LIỆU THAM KHẢO 19
Trang 4Hình1.1 Sơ đồ chân của PIC 16F877A 1
Hình1.2 Sơ đồ khối vi điều khiển PIC 16F887A 2
Hình1.3 Bộ nhớ chương trình PIC 16F887A 3
Hình1.4 hình dạng quang trở 6
Hình1.5 kí hiệu quang trở 7
Hình1.6 biểu đồ quang trở 7
Hình1.7 hình dạng laze 8
Hình1.8 hình dạng điện trở 8
Hình1.9 hình dạng tụ điện 9
Hình1.10 sơ đồ chân IC 7805 11
Hình1.11 sơ đồ chân led 7 đoạn đôi 12
Trang 5PIC Programable Intelligent Computer
EEPROM Electrically Erasable Programmable Read-Only Memory
Trang 6CHƯƠNG 1 GIỚI THIỆU LINH KIỆN
1.1 Giới thiệu vi điều khiển PIC 16F877A
PIC là tên viết tắt của “Programable Intelligent Computer” (Máy tính khả trình
thông minh) PIC là một họ vi điều khiển chạy một lệnh một chu kỳ máy, gồm 40 chân, mỗi chân có một chức năng khác nhau Trong đó có môt số chân đa công dụng
1.1.1 Môt vài thông số của vi điều khiển PIC16F877A
Hình1.1 Sơ đồ chân của PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với các tập lệnh gồm 35 lệnh cóđộ dài 14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độhoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớchương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệuEEPROM với dung lượng 256x8 byte Số PORT I/O là 5 với 33 pin I/O
Trang 7 Các đặc tính ngoại vi bao gồm các khối chức năng sau:
_Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit
_Timer1: bộ đếm 16 bit, có thể thực hiện chức năng đếm dựa vào xung clockngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep
_Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler
_ Hai bộ Capture/so sánh/điều chế độ rộng xung
_ Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C
_ Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
_ Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển
RD, WR, CS ở bên ngoài
_Các đặc tính Analog: 8 kênh chuyển đổi ADC 10 bit, hai bộ so sánh
1.1.2 Sơ đồ khối của vi điều khiển PIC 16F887A
Trang 8Hình1.2 Sơ đồ khối vi điều khiển PIC 16F887A 1.1.3 Tổ chức bộ nhớ
Cấu trúc bộ nhớ của vi điều khiển PIC16F887 bao gồm bộ nhớ chương trình(Program memory) và bộ nhớ dữ liệu ( Data memory)
1.1.3.1 Bộ nhớ chương trình
Bộ nhớ chương trình của vi điều khiển PIC16F887 là bộ nhớ flash, dung lượng bộ nhớ8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page 0 đến page 3) Nhưvậy bộ nhớ chương trình có khả năng chứa được 8*1024=8192 lệnh (vì một lệnh saukhi mã hóa sẽ có dung lượng một word (14 bits)
Trang 9Hình1.3 Bộ nhớ chương trình PIC 16F887A 1.1.3.2Bộ nhớ dữ liệu
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank Đối vớiPIC16F887 bộ nhớ dữ liệu được chia ra làm bốn bank Mỗi bank có dung lượng 128bytes, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register)nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General PurposeRegister) nằm ở vùng địa chỉ còn lại trong bank Các thanh ghi SFR thường xuyênđược sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cả các bank của bộ nhớdữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình
Trang 101.1.4 Các cổng xuất nhập của PIC 16F887A
Cổng xuât nhập của PIC gồm nhiều chân I/O, tùy theo chúc năng mà mỗi cổng cósố lượng chân khác nhau Một số chân xuất nhập còn có thêm chức năng khác để thểhiện sự tác động của các đặc tính nêu trên đối với thế giới bên ngoài Chức năng củatừ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 đượcthông qua các thanh ghi SFR liên quan đến chân xuất nhập đó
Vi điều khiển PIC16F877A có 5 cổng xuất nhập với 33 pin I/O, bao gồm PORTA(6 pin), PORTB (8 pin), PORTC (8 pin), PORTD (8 pin) và PORTE (3 pin)
1.1.4.1PORTA
PORTA (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều”, nghĩ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 khiểntương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năngcủ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ácthanh ghi điều khiển tương ứng TRIS (đối với PORTA và TRISA, đối với PORTB làTRISB, đối với PORTC là TRISC, đối với PORTD là TRISD và đối với PORTE làTRISE) Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analogngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (MasterSynchronous 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
Trang 11PORTB (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 PORTB còn được sử dụng trong quá trình nạp chươngtrình cho vi điều khiển với các chế độ nạp khác nhau PORTB còn liên quan đến ngắtngoại vi và bộ Timer0 PORTB 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 PORTB bao gồm:
PORTB (địa chỉ 06h, 106h) : chứa giá trị các pin trong 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
1.1.4.3PORTC
PORTC (RPC) gồm 8 I/O Thanh ghi điều khiển xuất nhập tương ứng là TRISC Bênh 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ứa giá trị các pin trong PORTC
TRISC (địa chỉ 87h) : điều khiển xuất nhập
1.1.4.4PORTD
PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ức là TRISD.PORTD 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 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
Trang 12PORTE (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 là analog Bên cạnh đó PORTE còn là các chân điềukhiể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
1.2 Quang trở
Là điện trở có trị số càng giảm khi được chiếu sáng càng mạnh Điện trở tối (khi khôngđược chiếu sáng - ở trong bóng tối) thường trên 1M, trị số này giảm rất nhỏ có thể dưới
100 ôm khi được chiếu sáng mạnh
Hình1.4 hình dạng quang trở
Trang 13Hình1.5 kí hiệu quang trở
Nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu vào chất bán dẫn (có thể
là Cadmium sulfide – CdS, Cadmium selenide – CdSe) làm phát sinh các điện tử tự dotức sự dẫn điện tăng lên và làm giảm điện trở của chất bán dẫn Các đặc tính điện và độnhạy của quang điện trở dĩ nhiên tùy thuộc vào vật liệu dùng trong chế tạo
Hình1.6 biểu đồ quang trở
Về phương diện năng lượng, ta nói ánh sáng đã cung cấp một năng lượng E=h.f đểcác điện tử nhảy từ dãi hóa trị lên dãi dẫn điện, như vậy năng lượng cần thiết h.fphải lớn hơn năng lượng của dãi cấm
Vài ứng dụng của quang điện trở:
Trang 141.3 Laze
Điện áp hoạt động: 5V
Đây là một đầu laser màu đỏ phát ra một chùm tia laser song song Trong điều khiện không có sương mù, khói, chúng ta sẽ nhìn thấy một chấm đỏ
Hình1.7 hình dạng laze
Hình1.8 hình dạng điện trở
Trang 15Điện trở là sự cản trở dòng điện của một vật dẫn điện, nếu một vật dẫn điệntốt thì điện trở nhỏ, vật dẫn điện kém thì điện trở lớn, vật cách điện thì điện trở vôcùng lớn.
Giá trị điện trở đặc trưng cho khả năng cản trở dòng điện của điện trở Yêucầu cơ bản đối với giá trị điện trở đó là ít thay đổi theo nhiệt độ, độ ẩm và thờigian, Điện trở dẫn điện càng tốt thì giá trị của nó càng nhỏ và ngược lại
Giá trị điện trở được tính theo đơn vị Ohm (Ω), kΩ, MΩ, hoặc GΩ), kΩ), kΩ, MΩ, hoặc GΩ, MΩ), kΩ, MΩ, hoặc GΩ, hoặc GΩ), kΩ, MΩ, hoặc GΩ
Điện trở của dây dẫn phụ thuộc vào chất liệu, độ dài và tiết diện của dâyđược tính theo công thức sau:
R=ρ L/ S
Trong đó:
ρ là điện trở suất phụ thuộc vào chất liệu
L là chiều dài dây dẫn
S là tiết diện dây dẫn
R là điện trở đơn vị là Ohm
1.5 Tụ điện
Trang 16Hình1.9 hình dạng 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,……
Cấu tạo của tụ điện gồm hai bản cực đặt song song, ở giữa có một lớp cách điện gọi là điện môi
Dùng giấy, gốm, mica, giấy tẩm hóa chất làm chất điện môi và tụ điện cũng được phân loại theo tên gọi của các chất điện môi như tụ giấy, tụ gốm, tụ hóa
Khi tụ nạp điện thì tụ sẽ bắt đầu nạp điện từ điện áp 0V tăng dần đến điện áp UDC theo hàm số mũ đối với thời gian t Điện áp tức thời trên hai đầu tụ được tính theo công thức:
U c(t)=UDC(1−e−t / τ
)Khi tụ xả điện thì điện áp trên tụ từ trị số VDC sẽ giảm dần đến 0V theo hàm số mũ đối với thời gian t Điện áp trên hai đầu tụ khi xả được tính theo
Trang 17e = 2,71828
τ = RC đơn vị là giây (s)
Công thức tính điện dung tụ:
C=ε S /d
ε là hằng số điện môi
S là diện tích bề mặt tụ m2
d là bề dày chất điện môi
1.6 IC 7805
Họ IC 78xx là một dòng linh kiện có ba chân: INPUT, GND và OUTPUT Được ứng dụng trong mạch nguồn cung cấp cho hệ thống logic, đo lường … Đảm bảo ngõ ra luôn luôn giữ ở mức cố định
IC Điện áp ngõ ra
Trang 18Hình1.10 sơ đồ chân IC 7805 1.7 Led 7 đoạn đôi
Hình1.11 sơ đồ chân led 7 đoạn đôi
Trang 20CHƯƠNG 2 SƠ ĐỒ HOẠT ĐỘNG2.1 Sơ đồ hệ thống
Hình2.1 sơ đô khối
Trang 21 Khối nguồn: tạo điện áp ổn định 5V để cung cấp cho các khối và linh kiện trong
mạch
Khối xử lý trung tâm: nhận tín hiệu từ khối điều khiển led 7 thanh rồi xuất tín hiệu
ra khối hiển thị
Khối điều khiển led 7 thanh: xuất tín hiệu đến khối xử lý trung tâm
Khối hiển thị: nhận tín hiểu từ khối xử lý trung tâm và hiển thị các kí tự theo
chương trình trong khối xử lý trung tâm
Trang 22CHƯƠNG 3 THIẾT KẾ VÀ THI CÔNG MẠCH3.1 Sơ đồ nguyên lý
Hình3.1 sơ đồ nguyên lý
Trang 233.2 Sơ đồ mạch in
Hình3.2 sơ đồ mạch in
Trang 243.3 Mạch hoàn chỉnh
Hình3.3 mạch thực tế
3.4 Nguyên lý hoạt động
Khi khởi động mạch, vi điều khiển sẽ nhận tín mức tín hiệu 0 hoặc 1 từ quang trở vàkhi có xung cạnh lên, led 7 thanh sẽ nhận được tín hiệu nhờ vào 2 chân quét led của viđiều khiển và hiển thị từ 00 đến 99
Trang 253.5 Lưu đồ giải thuật
Hình3.4 lưu đồ giải thuật
CHƯƠNG 4 KẾT LUẬN
Trang 26Hướng phát triển của đề tài: có thể đếm lượng sản phẩm lên tới 10000 và hiển thị,điều khiển trên máy tính nhờ vậy nên dễ kiểm soát và chặt chẽ hơn.
Do còn hạn chế về thời gian và trình độ nên đề tài không tránh khỏi nhiều sai sót,
em rất mong nhận được sự đóng góp ý kiến chân tình của quý thầy cô và các bạn để đề tài được hoàn chỉnh hơn Em xin chân thành cảm ơn
TÀI LIỆU THAM KHẢOTiếng việt:
Trang 27[1] Tống Văn On, “Truyền Dữ Liệu”, ĐH Kỹ Thuật Tp HCM năm 1999.
[2] Văn Thế Minh, “Kỹ thật vi xử lý”, NXB GD năm 1997
[3] Ngô Diên Tập, “Vi điều khiển với lập trình”, NXB KHKT Hà Nội
Tiếng anh:
[4]DatasheetsPIC16F877A
http://pdf1.alldatasheet.com/datasheet-pdf/view/82338/MICROCHIP/
PIC16F877A.html
Trang 28Code chương trình nạp vào vi điều khiển
const unsigned char Code7Seg[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82,0xF8, 0x80, 0x90};
#define led1 rc0_bit
#define led2 rc1_bit
#define set rc3_bit
#define CB rc2_bit
#define tat 0
#define sang 1
unsigned long dem=0,dem1=0,dem2=0,dem3=0,cnt=0;
unsigned int chuc=0,donvi=0;
Trang 29if(CB=1){delay_ms(200); if(CB=1); dem1++;}
Trang 30if(set=1){ delay_ms(150); if(set=1){ cnt++; if(cnt>3){ cnt=0; } } }