Tải bản đầy đủ (.docx) (25 trang)

Thiết kế mạch đếm số lượng sản phẩm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (886.54 KB, 25 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

ĐỒ ÁN CHUYÊN NGÀNH 1
ĐỀ TÀI:THIẾT KẾ, CHẾ TẠO MẠCH ĐẾM SỐ LƯỢNG XE RA
VÀO GARA ÔTÔ

GIÁO VIÊN HƯỚNG DẪN : HOÀNG THỊ HẰNG
SINH VIÊN THỰC HIỆN

: PHẠM MINH HIẾU
BÙI HUY HOÀNG
NGUYỄN VIỆT HOÀNG

LỚP

: 1122202.3


CHƯƠNG 1:TỔNG QUAN VỀ ĐỀ TÀI.........................................................................5
1.1.Đặt vấn đề.................................................................................................................5
1.2.Phân tích yêu cầu thiết kế.......................................................................................5
1.2.1.Yêu cầu tính năng.............................................................................................5
1.2.2.Yêu cầu phi tính năng.......................................................................................5
1.3.Cơ sở lý thuyết.........................................................................................................6
1.3.1.Vi xử lý pic16f877a...........................................................................................6
1.3.2. led 7 thanh........................................................................................................8
1.3.3. cảm biến quang................................................................................................9
Cấu tạo và nguyên lý hoạt động của cảm biến quang................................................9
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG..........................................................................11
2.1. sơ đồ khối tổng quát của mạch............................................................................11


2.2.1. Khối Vi điều khiển:........................................................................................12
2.2.2.Khối nút nhấn.................................................................................................13
2.2.3.Khối hiện thị LED...........................................................................................14
2.2.4.Khối cảm biến.................................................................................................14
2.2.4.khối cách ly......................................................................................................15
CHƯƠNG 3: KẾT QUẢ THỰC HIỆN SẢN PHẨM...................................................16
3.1. sơ đồ nguyên lý toàn mạch...................................................................................16
3.2.thiết kế mạch in......................................................................................................16
3.3.lưu đồ giải thuật.....................................................................................................16
3.4. chương trình điều khiển.......................................................................................18
CHƯƠNG 4:KẾT LUẬN................................................................................................24

2


Nhận xét của giáo viên hướng dẫn
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................

................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................
.......................................
Ngày ... Tháng ... Năm ...
Giáo viên hướng dẫn

3


LỜI NĨI ĐẦU
Hiện nay số lượng xe ơtơ ở Việt Nam ngày một tăng, nhất là ở những thành phố
lớn như Hà Nội và TP Hồ Chí Minh. Với số lượng ơ tơ hiện có và mức độ tăng ở tơ như
hiện nay thì việc thiếu bãi đỗ xe chắc chắn xảy ra tại các thành phố lớn, bởi vậy nhu cầu
về bãi đỗ xe ô tô là rất lớn. Với những gara ơtơ lớn số lượng xe nhiều thì cần phải có
mạch điện để giúp đỡ cho việc điều khiển và quản lý số lượng xe trong gara hiện là rất
cần thiết, nhưng nếu số lượng ôtô vào lớn quá mức cho phép của gara xe thì sẽ gây cản
trở lưu thơng trong gara vì thế cần phải giới hạn số lượng xe vào gara. Vì vậy việc thiết
kế mạch đếm điều khiển và quản lý số lượng xe ôtô sẽ giúp ta kiểm soát được số lượng
ôtô trong gara tại mỗi bãi đậu xe là rất cần thiết.
Mục đích của mơ hình là điều khiển đóng mở của gara đếm số lượng xe ôtô là
giúp cho người quản lý gara ôtô đểm được số lượng ôtô và giới hạn lượng xe vào phù
hợp với sức chứa của gara. Yêu cầu của mạch đếm số lượng xe ôtô là phải chạy một cách
chính xác, ổn định, gọn nhẹ dễ lắp đặt dễ sửa chữa và giá thành thấp.
Dựa trên phương pháp nghiên cứu và phân tích đặc tính chức năng của các linh
kiện, các IC và áp dụng những kiến thức đã học cùng với sự hướng dẫn của giảng viên
phụ trách để xây dựng nên một mơ hình gara ôtô tự động điều khiển và quản lý hoạt động

tốt và đúng với yêu cầu của đề tài
Trong quá trình thực hiện đề tài do khả năng và kiến thức thực tế có hạn nên
khơng thể tránh khỏi sai sót, kính mong thầy cơ đóng góp ý kiến để đề tài hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện:
PHẠM MINH HIẾU
BÙI HUY HỒNG
NGUYỄN VIỆT HOÀNG

4


CHƯƠNG 1:TỔNG QUAN VỀ ĐỀ TÀI
1.1. Đặt vấn đề
Yêu cầu đề tài đặt ra là thiết kế chế tạo bảng mạch vi điều khiển thực hiện chức
năng đếm số lượng xe ra vào gara ô tô, cài đặt được số lượng xe có thể đỗ sử dụng Vi
điều khiển PIC16F877A. Vi điều khiển PIC16F877A nhận tín hiệu từ cảm biến sau đó xử
lý và hiển thị ra ledd 7 thanh. Vi điều khiển cịn có chức năng nhận các tín hiệu đặt số
lượng từ các nút bấm, sau đó xử lí để hiển thị cho phù hợp từ đó bật tắt thiết bị điện mong
muốn. Đề tài đã chọn LED 7 THANH để thực hiện chức năng hiển thị các thơng tin và
các trạng thái có liên quan trong đề tài.
Từ việc phân tích và khảo sát trên, nhóm đã đưa ra các vấn đề chính cần giải quyết
của yêu cầu đề tài đặt ra là:
-

Tìm hiểu kiến thức cơ bản Vi điều khiển PIC16F877AXây dựng sơ đồ khối
xây dựng ngun lí và mơ phỏng mạch trên phần mềm PROTEUS .
Thiết kế mạch in trên phần mềm ALTIUM
Thực hiện lắp ráp linh kiện trên mạch in.
Tìm hiểu mạch nạp PICKIT và phần mềm nạp PICKIT3 để thực hiện nạp code cho

Vi điều khiển PIC16F877A.
Viết báo cáo tổng hợp về quy trình thực hiện đề tài.

1.2. Phân tích u cầu thiết kế
1.2.1. u cầu tính năng
Mạch có các u cầu tính năng sau:
1.2.2.
-

Vi điều khiển: Vi điều khiển PIC16F877A.
Cấu hình cài đặt được số lượng chỗ để xe bằng nút nhấn.
Nguồn cấp: Input 9-12 VDC. Có mạch nguồn ổn áp 5VDC trên bảng mạch.
Màn hình LED 7 THANH hiển thị số lượng xe có trong gara.
u cầu phi tính năng
Kích thước giới hạn: 9x15 cm. Sắp xếp linh kiện và đi dây khoa học.
Thiết kế các đầu kết nối hợp lý.
Đảm bảo an toàn về liên động điện.

5


1.3. Cơ sở lý thuyết
1.3.1. Vi xử lý pic16f877a
1.3.1.1.Giới thiệu
PIC16F877A là VDK thuộc họ PIC16xxx với tập lệnh gồm 35 lệnh có độ dài
14bit. Mỗi lệnh đều được thực thi trong 1 chu kỳ máy. Tôc độ hoạt động tối đa cho phép
là 20Mhz với mỗi chu kỳ lệnh là 200ns. Bộ nhớ chương trình 8k, bộ nhớ dữ liệu 368 x 8
byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 x 8 byte.

Hình 1. IC Vi điều khiển PIC16F877A


6


Sơ đồ chân của PIC16F877A

Hình 2. Sơ đồ chân PIC16F877A
* PIC16F877A gồm có 40 chân:
-(VDD, VSS): Cung cấp nguồn điện cho vi điều khiển. VDD là chân nguồn dương
(+5V), VSS là chân nguồn âm (0V hoặc mức tiếp đất).
- (MCLR): Đặt lại vi điều khiển về trạng thái ban đầu.
-(PORTA, PORTB, PORTC, PORTD): Mỗi PORT (A, B, C, D) có 8 chân đầu vào/đầu ra
có thể được cấu hình theo ý muốn.
-(AN0-AN7): Cung cấp các kênh đầu vào analog để đọc dữ liệu từ các cảm biến analog
-Chân ngoại vi USART (RC6/TX, RC7/RX): Sử dụng cho giao tiếp nối tiếp thông qua
giao thức USART (Universal Synchronous/Asynchronous Receiver/Transmitter).
-Chân ngoại vi SPI (RB0/SS, RB1/SCK, RB2/SDI, RB3/SDO): Sử dụng cho giao tiếp
tuần tự đồng bộ (SPI - Serial Peripheral Interface).
-Chân ngoại vi I2C (RB0/SDA, RB1/SCL): Sử dụng cho giao tiếp tuần tự không đồng bộ
(I2C - Inter-Integrated Circuit).
7


-Chân ngoại vi PWM (CCP1, CCP2): Sử dụng cho điều khiển độ rộng xung (PWM Pulse Width Modulation) để điều khiển độ sáng, tốc độ động cơ, v.v.
-Chân hẹn giờ/timer (TMR0, TMR1, TMR2): Cung cấp các bộ đếm thời gian để tạo ra
ngắt hẹn giờ, đo thời gian, và các chức năng liên quan.
1.3.2. led 7 thanh
LED 7 thanh hay còn được gọi là LED 7 đoạn, bao gồm 7 đoạn đèn LED được xếp lại
với nhau thành hình chữ nhật. Khi các đoạn lập trình để chiếu sáng thì sẽ hiển thị chữ số
của hệ thập phân hoặc thập lục phân. Đôi khi LED số 8 được hiển thị dấu thập phân khi

có nhiều LED 7 thanh được nối với nhau để có thể hiển thị được các số lớn hơn 2 chữ số. 
Led 7 thanh được chia làm 2 loại:
-Cathode chung (CC): Trong màn hình Cathode chung thì tất cả các cực Cathode cả các
đèn LED được nối chung với nhau với mức logic “0” hoặc nối Mass (Ground). Các chân
còn lại là chân Anode sẽ được nối với tín hiệu logic mức cao (HIGHT) hay  mức logic 1
thơng qua 1 điện trở giới hạn dịng điện để có thể đưa điện áp vào phân cực ở Anode từ a
đến G để có thể hiển thị tùy ý. 
-Anode chung (CA): Trong màn hình hiển thị Anode chung, tất cả các kết nối Anode của
LED 7 thanh sẽ được nối với nhau ở mức logic “1”, các phân đoạn LED riêng lẻ sẽ sáng
bằng cách áp dụng cho nó một tín hiệu logic “0” hoặc mức thấp “LOW” thông qua một
điện trở giới hạn dòng điện để giúp phù hợp với các cực Cathode với các đoạn LED cụ
thể từ a đến g. 

Hình 3.Cấu tạo led 7 thanh

8


1.3.3. cảm biến quang
Cảm biến quang là gì? Cảm biến quang trong tiếng Anh được gọi là Photoelectric
sensor được tạo thành do các linh kiện quang điện. Đây là một thiết bị phát ra chùm tia
sáng chiếu vào vật thể ở dạng tần số khiến chúng thay đổi tính chất khi cần phát điện. Khi
vật thể đi qua cũng sẽ ảnh hưởng đến tần số của bộ thu sáng. Dựa vào hiện tượng phát xạ
điện tử ở cực Cathode tín hiệu quang sẽ được chuyển đổi thành tín hiệu điện khi mà có
một nguồn ánh sáng chiếu vào.
Ngày nay, cảm biến quang được sử dụng rộng rãi ở nhiều nhà máy, xí nghiệp
trong cơng nghiệp. Với tính năng đặc biệt có thể phát hiện các vât thể từ xa, đo lường
khoảng cách đến các vật thể và tốc độ di chuyển của đối tượng đó.

Hình 4.hình ảnh cảm biến quang

Cấu tạo và nguyên lý hoạt động của cảm biến quang
-Cấu tạo: Cảm biến quang được cấu thành từ 3 bộ phận là bộ phát ánh sáng, bộ thu ánh
sáng và bo mạch xử lý tín hiệu điện.
+Bộ phát ánh sáng: Bộ phận này đảm nhận vị trí cảm biến quang nhiệt, phát ra ánh
sáng dạng xung. Tùy vào từng hãng sản xuất sẽ có tần số ánh sáng riêng biệt được thiết
kế. Bộ phận này bổ trợ cho bộ phận thu ánh sáng phận biệt nguồn sáng từ cảm biến và
nhiều nguồn khác.
+Bộ phận thu sáng: Bộ phận này là bộ phận tiếp nhận ánh sáng và sau đó truyền
tín hiệu đến bộ phận xử lý.
+Mạch xử lý tín hiệu điện: Bộ phận này tiếp nhận tín hiệu từ bộ phận thu sáng và
chuyển tín hiệu theo tỉ lệ tranzito thành chế độ ON/OFF, tín hiệu này có độ khuếch đại
rộng hơn.

9


Hình 5.Cấu tạo cảm biến quang
Nguyên lý hoạt động của cảm biến quang : Bộ phận phát sáng sẽ phát ánh sáng
dưới dạng tần số, từ đó bộ phận thu sáng sẽ tiếp nhận ánh sáng đó và phân loại chuyển
đến bộ phận xử lý tín hiệu điện. Ở đây tín hiệu sẽ được chuyển đổi theo tỉ lệ tranzito
thành hai chế độ ON/OFF. Và tín hiệu được dùng nhất là NPN, PNP.

10


CHƯƠNG 2: THIẾT KẾ HỆ THỐNG
2.1. sơ đồ khối tổng quát của mạch

KHỐI NÚT NHẤN
HANSW

KHỐI ĐẦU
VÀO(CẢM BIẾN)

KHỐI CÁCH LY

KHỐI VI XU LÝ

KHỐI HIỂN THỊ

KHỐI NGUỒN

Hình 6.sơ đồ khối tổng quát
-

Khối nguồn sẽ cung cấp nguồn cho toàn bộ mạch: Khối cảm biến, khối vi xử
lý,Khối hiển thị và Khối điều khiển chính.
Khối điều chỉnh ngày giờ và hẹn giờ là 3 nút bấm RESET, UP, DOWN.
Khối điều khiển chính là vi điều khiển pic16f877a sẽ nhận tín hiệu từ Khối cảm
biến và khối cách ly, sau đó thực hiện xử lý rồi hiển thị ra led 7 thanh.
Khối hiển thị là LED 7 THANH nhận tín hiệu từ khối điều khiển để hiển thị các
thông tin.

11


2.2.1. Khối Vi điều khiển:

RE
PGD
PGC


C2

6
5
4
3
2
1

22

J1

SIL-100-06

X1

20M

PGC
PGD

C1
22

13
14
2
3

4
5
6
7

RE

8
R1
9
10k 10
1

BT1

RESET

C3

U1

OSC1/CLKIN
OSC2/CLKOUT

RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5

RB6/PGC
RB7/PGD

RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT

100nF

RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5

RD6/PSP6
RD7/PSP7

33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30

PIC16F877A


Hình 7.khối vi điều khiển
Với thạch anh giao động 20M để tạo xung nhịp cho PIC. Ta có thể sử dụng nhiều
loại thạch anh khác nhau cho PIC như 4M, 8M…, Tùy vào mục đích sử dụng. Để tốc độ
xử lý lệnh càng nhanh thì ta dùng thạch anh càng lớn. Tuy nhiên thạch anh khơng lớn q
giới hạn của chíp được sản xuất. ở đây ta dùng PIC16F877A thì theo datasheet từ nhà sản
xuất thạch anh không lớn hơn 20M. Nếu dùng thạch anh lớn hơn chíp sẽ khơng hoạt
động. Ngược lại nếu dùng thạch anh quá nhỏ thì tốc độ xử lý lệnh của chíp sẽ rất thấp và
chậm. Với thạch anh 20M thì chu kỳ xung nhịp là 0,2us (Có thể thực hiện một lệnh
(ASM) trong vòng 0,2us). Còn với thạnh anh 4M thì chu kỳ sẽ thấp hơn là 1us. Vậy nếu
số lệnh càng nhiều thì tốc độ xử lý sẽ rất thấp nếu dùng thạch anh tốc độ thấp, điều này
tạo khó khăn trong lập trình địi hỏi phải lập thình tốt, phải tiết kiệm các dịng lệnh. Vì
thế để đễ dàng trong lập thình và mạch hoạt động nhanh thì ta dùng thạnh anh có giá trị
lớn.Nút nhấn BT1 reset chípp. Tụ C3 0.1u làm tụ Reset tự động cho vi xử lý khi mới cấp
nguồn. R1 10k là trở kéo cho chân Reset.

12


2.2.2.Khối nút nhấn

R21

R17

R16

BT4

BT3


BT2

10k

10k

RESET

-

10k

+

Hình 8.khối nút nhấn
Sử dụng các nút nhấn một tiếp điểm để tạo mức thay đổi logic giúp vi điều khiển
có thể hiểu đươc khi ta tác động nhấn nút. Các điện trở R21 R17 R16 là các điện trở kéo
lên để xác định mức cao khi không nhấn nút. Các nút nhân BT2, BT3, BT4 khi được
nhấn sẽ kéo dẫn điện xuống mức 0.

13


8
3

LED2

1


R3

7
6
4
2
1
9
10
5
7
6
4
2
1
9
10
5

A
B
C
D
E
F
G
H
A
B
C

D
E
F
G
H

1

AC2

LED1

AC2

8
3

2.2.3.Khối hiện thị LED

330

R18
330
R10 330

Hình 9.khối hiển thị
2.2.4.Khối cảm biến

D3


IR T

R20

D2

IR-R

R19

330

10k

Hình 10.khối cảm biến
Cái đó là biến trở nút. là điện trở biến thiên. Nó trong mạch được dùng để điều chỉnh
giá trị trở kéo lên của LED thu. tức nếu chỉnh nó thì sẽ thay đổi dịng dẫn của LED thu.
nếu mình chỉnh nó nhỏ lại thì dịng dẫn LED thu cần phải tăng lên tức nó địi hỏi phải
được chiều sáng một tia hồng ngoại có cường độ lớn hơn thì mới đạt đến ngưỡng thay đổi
14


trạng thái. Trong trường hợp này là để giảm nhiểu từ ánh sáng bên ngồi có thể tác động
tới. tuy nhiên độ nhạy cũng giảm theo. và nếu chỉnh nó q nhỏ thì dịng dẫn max của
LED thủ khơng đủ để kéo giá trị nó chuyển mức được. Cịn ngược lại nếu chỉnh cao lên
thì nó sẽ dễ được kích hoạt hơn. nhưng sẽ làm tăng nhiểu. có thể từ ánh sáng bên ngồi.
Cho nên mình thiết kế nó là biến trở để thay đổi được tùy vào mội trường lắp đặt cụ thể.
2.2.4.khối cách ly

Hình 11.khối cách ly

Dùng để cách ly cảm biến với vi điều khiển vì cảm biến dùng nguồn 12v còn VDK
dùng nguồn 5v nên cần cách ly.

15


CHƯƠNG 3: KẾT QUẢ THỰC HIỆN SẢN PHẨM
3.1. sơ đồ ngun lý tồn mạch

Hình 12.sơ đồ ngun lý tồn mạch
3.2.thiết kế mạch in

Hình 13.mạch in
3.3.lưu đồ giải thuật

16


BẮT ĐẦU
ĐỌC GIÁ TRỊ SÔ ĐẾM LƯU TRONG EEPROM
KHỞI TẠO ADC CHO PIC

XUẤT GIÁ TRỊ ĐẾM RA LED 7 DOAN
TẠO THỜI GIAN TRỄ ĐỂ CHUYỂN ĐỔI ADC
HOÀN THÀNH
ĐỌC GIÁ TRỊ CẢM BIẾN TỪ ADC
Đ

BÁO MỨC ĐIỆN ÁP CỦA CẢM BIẾN = 1.
TỨC KHƠNG CĨ VẬT CẢN


Đ

BÁO MỨC ĐIỆN ÁP CỦA CẢM BIẾN = 0.
TỨC CÓ VẬT CẢN

Đ

TĂNG SỐ ĐẾM GIỚI HẠN ĐẾN 10
LƯU GIÁ TRỊ VÀO LẠI EEPROM

GIÁ TRỊ>70

S
GIÁ TRỊ<30

S
CÓ VẬT ->
KHÔNG
VẬT
S
Đ
NHẤN
RESET SỐ
ĐẾM

CHỜ NÚT NHẢ
ĐẶT LẠI SỐ ĐẾM VỀ 00
LƯU GIÁ TRỊ VÀO LẠI EEPROM


S

NHẤN
GIẢM SỐ
ĐẾM

Đ

CHỜ NÚT NHẢ
GIẢM SỐ ĐẾM GIỚI HẠN ĐẾN 00
LƯU GIÁ TRỊ VÀO LẠI EEPROM

Đ

CHỜ NÚT NHẢ
TĂNG SỐ ĐẾM GIỚI HẠN ĐẾN 10

S

NHẤN
TĂNG SỐ
ĐẾM

LƯU GIÁ TRỊ VÀO LẠI EEPROM

S

17



3.4. chương trình điều khiển
#include <Dem san pham 2 LED 7 doan.h>
void main() // chuong trinh chinh
{
so_dem=read_eeprom(0); // doc so dem cu duoc luu trong eeprom tai dia chi 0
setup_adc_ports(AN0_AN1_AN3); // thiêt lap kenh ADC AN0 lam ngo vao ADC dung
de doc tin hieu tu mat thu hong ngoai
setup_adc(ADC_CLOCK_INTERNAL); // thiet lap xung cap cho ADC là xung noi
set_adc_channel(0); // dat kenh cho ADC là kenh 0 (AN0)
while(TRUE) // vong lap vo han
{
output_b(ma7doan[so_dem/10%10]&cham); // xuât ma LED 7 doan hang chuc ra
port B
output_c(ma7doan[so_dem%10]); // xuât ma LED 7 doan hang don vi ra port C
set_adc_channel(0);
delay_us(25);
ty_le_cb1=read_adc()*0.39; // doc ty lê % tín hieu tu mat thu hơng ngoai (0-10); gia
tri adc max=255; 0,39=100/255;
if(ty_le_cb1>70) // khi ty le dan cua mat thu lon hon nguong (70) thì do là muc 1, tuc
khong co vat can
{
muc1=1; // xac dinh muc 1;
cham=0xff; // tat LED bao co vat can
}
18


if(ty_le_cb1<30) // khi ty le dan cua mat thu nho hon nguong (30) thì do là muc 0, tuc
co vat can
{

muc1=0; // xac dinh muc 0;
cham=0x7f; // bat led bao co vat can
}

set_adc_channel(1);
delay_us(25);
ty_le_cb2=read_adc()*0.39; // doc ty lê % tín hieu tu mat thu hông ngoai (0-10); gia
tri adc max=255; 0,39=100/255;
if(ty_le_cb2>70) // khi ty le dan cua mat thu lon hon nguong (70) thì do là muc 1, tuc
khong co vat can
{
muc2=1; // xac dinh muc 1;
cham=0xff; // tat LED bao co vat can
}
if(ty_le_cb2<30) // khi ty le dan cua mat thu nho hon nguong (30) thì do là muc 0, tuc
co vat can
{
muc2=0; // xac dinh muc 0;
cham=0x7f; // bat led bao co vat can
}

19


if(so_dem_nho!=so_dem) // neu muc = 1 và co vat can // tuc vat can da di qua cam
bien
{
so_dem_nho=so_dem;
write_eeprom(0, so_dem); // ghi so dem vao EEPROM tai dia chi 0
}


//---------------------------------------if(input(pin_d2)==0) // khi nút reset so dem duoc nhan
{
while(input(pin_d2)==0); // tao vong lap chowf nut duoc nha
so_dem=0; // dat so dem ve 0;
write_eeprom(0, so_dem); // ghi so dem vao EEPROM tai dia chi 0
}
if(input(pin_d0)==0) // khi nut giam duoc nhan
{
while(input(pin_d0)==0); // tao vong lap chowf nut duoc nha
so_dem--; // giam gia tri so dem
if(so_dem>10
) // neu so dem > 10
{
so_dem=10; // nap lai so dem = 10
}
20



×