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

đồ án viễn thông 1 mạch đếm 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 (1.19 MB, 30 trang )

TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP. HỒ
CHÍ MINH KHOA ĐIỆN - ĐIỆN TỬ VIỄN THÔNG BỘ
MÔN ĐIỆN TỬ VIỄN THÔNG
-------

-------

ĐỒ ÁN VIỄN THÔNG 1

MẠCH ĐẾM SẢN PHẨM

GVHD : Phan Thanh Minh
SVTH : Nguyễn Đoàn Vĩnh Nguyên

LỚP : DV18
MSSV : 1851040039

TP. HỒ CHÍ MINH, năm 2021
SVTH: Nguyễn Đồn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

NHẬN XÉT CỦA GIẢNG VIÊN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................


...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

2
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật số
đóng vai trị quan trọng trong mọi lĩnh vực khoa học kỹ thuật, viễn thông, điện tử,
quản lí, cơng nghiệp tự động hóa, cung cấp thơng tin,….Do đó chung ta phải nắm bắt

và vận dụng nó một cách có hiệu quả nằm góp phần vào sự phát triển của nền khoa
học kỹ thuât.
Xuất phát từ các bài học thực hành, giảng dạy trên lớp và yêu cầu của môn
Đồ án môn học 1 yêu cầu làm một mạch thiên về điện tử em đã nghiên cứu và chọn
đề tài “Mạch đếm số lượng sản phẩm” cho đồ án của mình.
Được sự hướng dẫn của thầy Phan Thanh Minh đã giúp em vạch ra lộ trình
làm việc và tìm hiểu nghiên cứu thêm về những yêu cầu thầy giao đã giúp em có
thể hiểu sâu hơn về cách thức hoạt động và tìm hiểu rộng hơn nhiều chức năng
của mạch này để áp dụng vào cuộc sống .Tuy nhiên do ảnh hưởng của dịch bệnh đề
tài của em chỉ dừng lại ở mức độ mô phỏng. Trong quá trình làm tuy đã cố gắng
song do hạn chế về kiến thức và kinh nghiệm nên em không thể tránh khỏi những sai
sót, em rất mong nhận được những ý kiến đóng góp của thầy để em hồn thiện đề
tài và rút kinh nghiệm cho các đồ án sau này. Em chân thành cảm ơn thầy !
Đồ án của em được chia làm 4 chương:
Chương 1: Tổng quan về đề tài

Chương 2: Giới thiệu linh kiện sử dụng trong đề tài
Chương 3: Thiết kế và thi công mạch đếm số lượng sản phẩm
Chương 4: Kết luận

3
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN.......................................................................................... 2
LỜI MỞ ĐẦU................................................................................................................................ 3
MỤC LỤC....................................................................................................................................... 4
DANH MỤC HÌNH ẢNH......................................................................................................... 5
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI.......................................................................... 6
1.1 Giới thiệu đề tài và sơ đồ khối mạch đếm số lượng....................................... 6
1.1.1 Giới thiệu đề tài................................................................................................... 6
1.1.2 Sơ đồ khối mạch đếm số lượng................................................................... 6

CHƯƠNG 2 GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG ĐỀ TÀI............7
2.1 AT89C52............................................................................................................................. 7
2.1.1 Giới thiệu sơ lược về AT89C52..................................................................... 7
2.1.2 Sơ đồ chân AT89C52 8
2.2 Modulo thu phát hồng ngoại MH-IR01................................................................ 10
2.2.1 Thông số kỹ thuật MH-IR01.......................................................................... 11

2.3 Giới thiệu LCD1602.................................................................................................... 11
2.3.1 Thông số kỹ thuật LCD.................................................................................... 12
2.4 Một số linh kiện hỗ trợ.............................................................................................. 14
2.4.1 Bàn phím (3x4).................................................................................................... 14
2.4.2 Đế nạp code cho AT89C52............................................................................. 15
2.4.3 Cáp nạp.................................................................................................................. 15

CHƯƠNG 3 THIẾT KẾ VÀ THÔNG CÔNG MẠCH ĐẾM SỐ LƯỢNG
SẢN PHẨM................................................................................................................................... 16
3.1 Sơ đồ nguyên lý vẽ trên phần mềm Proteus..................................................... 16
3.1.1 Nguyên lý hoạt động của mạch đếm số lượng........................................ 17
3.2 Lưu đồ thuật toán........................................................................................................ 18
3.3 Chương trình code viết trên KeilC....................................................................... 19

CHƯƠNG 4 KẾT LUẬN....................................................................................................... 25
TÀI LIỆU THAM KHẢO..................................................................................................... 26

4
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thơng 1

GVHD: Phan Thanh Minh

DANH MỤC HÌNH ẢNH
Hinh 1.1 Sơ đồ khối mạch đếm số lượng............................................................................... 6
Hinh 2.1 Vi xử lý AT89C52............................................................................................................. 7

Hinh 2.2 Sơ đồ chân......................................................................................................................... 8
Hinh 2.3 Bảng chức năng đặc biệt Port 3................................................................................. 9
Hinh 2.4 Cảm biến hồng ngoại................................................................................................... 10
Hinh 2.5 Cấu tạo cảm biến hồng ngoại.................................................................................... 11
Hinh 2.6 Màn hình LCD................................................................................................................. 11
Hinh 2.7 Bảng chức năng các chân LCD.............................................................................. 12
Hinh 2.8 Tập lệnh LCD................................................................................................................. 13
Hinh 2.9 Bàn phím (3x4)............................................................................................................... 14
Hinh 2.10 Điện trở......................................................................................................................... 14
Hinh 2.11 Đế nạp........................................................................................................................... 15
Hinh 2.12 Cáp nạp........................................................................................................................... 15
Hinh 3.1 Sơ đồ nguyên lý mạch đếm sản phẩm................................................................. 16

5

SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu đề tài và sơ đồ khối mạch đếm số lượng
1.1.1 Giới thiệu đề tài
Đây là một mạch đếm số lượng sản phẩm, sử dụng vi điều khiển AT89C52
làm đơn vị xử lý trung tâm. Người dùng có thể giao tiếp với mạch thơng qua bàn
phím (3x4) và hiển thị lên LCD. Nó có thể được áp dụng tại hầu hết các dây chuyền

sản xuất trong các nhà máy, xí nghiệp và trong nhiều lĩnh vực khác.
1.1.2 Sơ đồ khối mạch đếm số lượng

Hinh 1.1 Sơ đồ khối mạch đếm số lượng.

❖ Khối vi xử lý : Xử lý tín hiệu và hiển thị lên LCD.
❖ Khối cảm biến : Cảm biến vật thể và truyền tín hiệu về vi xử lý.
❖ Khối bàn phím : Người dùng tương tác với mạch thông qua các nút nhấn.
❖ Khối hiển thị : Hiển thị các tín hiệu đã được xử lý, giúp người dùng dễ
dàng tương tác khi sử dụng các nút nhấn.

6
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

CHƯƠNG 2 GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG ĐỀ TÀI
2.1 AT89C52

2.1.1 Giới thiệu sơ lược về AT89C52

Hinh 2.1 Vi xử lý AT89C52.

AT89C52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản phẩm
AT89C52 thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các toán

số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu
nhanh trên RAM nội. Nó cung cấp những hỗ trợ mở rộng trên chip dùng cho những
biến một bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bit trực tiếp
trong hệ thống điều khiển.
AT89C52 có 8Kbyte bộ nhớ FLASH ROM bên trong để lưu chương trình, vì
vậy Vi điều khiển có khả năng nạp xóa chương trình bằng điện lên đến 1000 lần.
Dung lượng RAM 128 byte, AT89C52 có 4 Port xuất/nhập 8 bit, có 2 bộ định thời 16
bit. Ngồi ra AT89C52 cịn có khả năng giao tiếp dữ liệu nối tiếp, có thể mở rộng
khơng gian nhớ chương trình và nhớ dữ liệu ngồi lên đến 64Kbyte.
AT89C52 được đóng gói theo kiểu hai hàng chân DIP gồm 40 chân cho các
chức năng khác nhau.

7
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

2.1.2 Sơ đồ chân AT89C52

Hinh 2.2 Sơ đồ chân.

Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho vi điều khiển. Nguồn
điện áp cấp là 5V ± 0.5.
Chân GND: Chân số 20 nối Mass.
Port 0 (P0): Gồm 8 chân (từ chân 32 đến 39) có 2 chức năng:

-

Chức năng xuất/nhập: Các chân này được dùng để nhận tín hiệu

vào từ bên ngồi để xử lý, hoặc dùng để xuất tín hiệu ra bên ngoài.
Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0): 8 chân này (Port
0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với
bộ nhớ ngồi), đồng thời Port 0 cịn dùng để định địa chỉ của bộ nhớ ngồi.

Port 1 (P1): Gồm 8 chân (từ chân 1 đến 8), chỉ có chức năng làm các đường
xuất/nhập, khơng có chức năng khác.
Port 2 (P2): Gồm 8 chân (từ chân 21 đến 28) có 2 chức năng:
-

Chức năng xuất/nhập.

8
SVTH: Nguyễn Đồn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ
ngồi có dung lượng lớn, cần 2 byte để định địa chỉ của bộ nhớ, byte thấp
do P0 đảm nhận, byte cao do P2 này đảm nhận.
Port 3 (P3): Gồm 8 chân (từ chân 10 đến 17):

-

-

Chức năng xuất/nhập.
Với mỗi chân có một chức năng riêng thứ hai trong bảng sau.

Hinh 2.3 Bảng chức năng đặc biệt Port 3.
Chân RESET (RST): Chân số 9 là ngõ vào reset dùng để thiết lập trạng thái
ban đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu
nếu ngõ này ở mức 1 tối thiểu 2 chu kỳ máy.
Chân XTAL1 và XTAL2: Chấn số 18 và 19 được sử dụng để nhận nguồn
xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh
và các tụ để tạo nguồn xung clock ổn định.
Chân cho phép bộ nhớ chương trình PSEN: PSEN (Program store enable) tín
hiệu được xuất ra ở chân 29 dùng để truy xuất bộ nhớ chương trình ngồi.
Chân này thường được nối với chân OE (output enable) của ROM ngoài.
Chân ALE : Chân cho phép chốt địa chỉ, chân số 30. Khi vi điều khiển truy xuất
bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa chỉ, vừa có chức năng là
bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ở

9
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh


chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và
các đường dữ liệu khi kết nối chúng với IC chốt.
Chân EA:
-

Chân EA dùng để xác định chương trình thực hiện được lấy từ

ROM nội hay ROM ngoại.
Khi EA nối với logic 1(+5V) thì vi điều khiển thực hiện chương trình
lấy từ
bộ nhớ nội. Cịn với logic 0 (0V) thì lấy từ bộ nhớ ngoại.
2.2 Modulo thu phát hồng ngoại MH-IR01
Module Thu Phát Hồng Ngoại V1 là một loại cảm biến thông dụng được
dùng rất nhiều trong các hệ thống đó là cảm biến phát hiện vật cản hồng ngoại
hay cảm biến IR ( IR detector ), đếm số lượng sản phẩm trong cách dây chuyền
sản xuất, cửa tự động,…
Ứng dụng: Đếm sản phẩm, phát hiện vật cản, cửa tự động thông minh,
bộ chống trộm, đếm số lượng người,...

Hinh 2.4 Cảm biến hồng ngoại.

10
SVTH: Nguyễn Đoàn Vĩnh Nguyên


download by :


Đồ án viễn thông 1


GVHD: Phan Thanh Minh

2.2.1 Thông số kỹ thuật MH-IR01

Hinh 2.5 Cấu tạo cảm biến hồng ngoại.
❖ Thông số kỹ thuật:
- Module phát hiện vật cản trong khoảng cách từ 2 - 30cm.
- Góc phát hiện: 35°.
- Khi phát hiện vật cản, tín hiệu đầu ra OUT ở mức cao và đèn led màu

xanh sáng.
- Có thể điều chỉnh khoảng cách bằng biến trở. Chỉnh chiết áp để tăng

khoảng cách theo chiều kim đồng hồ, và ngược lại để giảm khoảng cách.
- Cổng ra OUT có thể điều khiển trực tiếp 1 Rơ le 5V hoặc cổng IO của
MCU.

- Điện áp cung cấp: 3 - 5V DC.

- Dòng điện tiêu thụ: 23 mA (3,3V), 43 mA (5V).
2.3 Giới thiệu LCD1602
Màn hình text LCD1602 xanh dương, có khả năng hiển thị 2 dòng với mỗi dòng

16 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích
hợp cho những người mới học và làm dự án.

Hinh 2.6 Màn hình LCD.
11
SVTH: Nguyễn Đoàn Vĩnh Nguyên



download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

2.3.1 Thông số kỹ thuật LCD
- Điện áp hoạt động là 5V.
- Kích thước: 80x35x12.5 mm.
- Chữ đen, nền xanh dương.
- Tên các chân được ghi ở mặt sau của màn hình LCD hỗ trợ việc kết nối,

đi dây điện.
- Có đèn led nền, có thể dùng biến trở hoặc PWM điều chỉnh độ sáng để

sử dụng ít điện năng hơn.
- Có thể được điều khiển với 6 dây tín hiệu.
o Ưu điểm: Rẻ tiền, dễ chế tạo, chống nhiễu tốt, mạch xử lý đơn giản.

o Nhược điểm: Không chịu nhiệt độ cao, kém bền. Nếu vượt ngưỡng bảo vệ
có thể làm hỏng cảm biến.

Thường dùng: Đo nhiệt độ khơng khí, dùng trong các thiết bị đo,
bảo vệ các mạch điện tử.

Hinh 2.7 Bảng chức năng các chân LCD.


12
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

Trong 16 chân của LCD được chia ra làm 3 dạng tín hiệu như sau:
Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là
VDD nối với nguồn +5V. Chân thứ 3 dùng để chỉnh contrast thường nối
với biến trở.
-

Các chân điều khiển: Chân số 4 là chân RS dùng để điều khiển
lựa chọn thanh ghi. Chân R/W dùng để điều khiển quá trình đọc và ghi.
Chân E là chân cho phép dạng xung chốt.
-

-

Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng

để trao đổi dữ liệu giữa thiết bị điều khiển và LCD.
❖ Một số tập lệnh LCD:

Hinh 2.8 Tập lệnh LCD.


13
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

2.4 Một số linh kiện hỗ trợ
2.4.1 Bàn phím (3x4)

Hinh 2.9 Bàn phím (3x4).
➢ Chức năng: Để người dùng giao tiếp với mạch.
2.4.2 Điện trở

Hinh 2.10 Điện trở.
➢ Chức năng: Hạn chế dòng điện chạy trong mạch.

14
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh


2.4.3 Đế nạp code cho AT89C52

Hinh 2.11 Đế nạp.
➢ Chức năng: Dùng nạp code vào AT89C52.
2.4.4 Cáp nạp

Hinh 2.12 Cáp nạp.
➢ Chức năng: Dùng để nạp code từ máy tính cho AT89C52 thơng qua cổng USB.

15
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

CHƯƠNG 3 THIẾT KẾ VÀ THÔNG CÔNG MẠCH ĐẾM SỐ LƯỢNG
SẢN PHẨM
3.1 Sơ đồ nguyên lý vẽ trên phần mềm Proteus

Hinh 3.1 Sơ đồ nguyên lý mạch đếm sản phẩm.

16
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :



Đồ án viễn thông 1

GVHD: Phan Thanh Minh

3.1.1 Nguyên lý hoạt động của mạch đếm số lượng
Khi mạch hoạt động, người dùng sẽ được yêu cầu nhập số lượng sản phẩm cần
đếm thơng qua bàn phím (3x4). Mạch chỉ hỗ trợ tối đa đếm được 999 số lượng sản
phẩm. Người dùng có thể nhập tùy ý số lượng mình mong muốn và khi nhập đủ ba số
VD: 123 hoặc nhập hai số VD: 12 hoặc một số VD: 5 và nhấn nút “*” thì mạch sẽ bắt

đầu hoạt động.
Người dùng có thể chỉnh sửa số lượng thơng qua hai nút bấm UP( tăng) và
DOWN(giảm) . Khi ấn một trong hai nút bấm làm cho một trong 2 con DIODE hoạt
động chân P3.3 nối mass làm kích hoạt ngắt ngồi 2 trong vi điều khiển để tăng
hoặc giảm số lượng sản phẩm cần đóng gói.
Khi có sản phẩm chạy ngang cảm biến hồng ngoại. LED phát hồng ngoại của
cảm biến phát tia hồng ngoại vào sản phẩm làm cho tia hồng ngoại bị phản xạ quay
về LED thu hồng ngoại, dẫn đến ngõ ra (OUT) của cảm biến sẽ có mức cao làm kích
hoạt Transistor NPN làm cho chân P3.2 nối mass và đưa xuống mức thấp làm kích
hoạt ngắt ngồi 0 trong vi điều khiển AT89C52, chương trình được thiết lập sẵn
trong vi điều khiển sẽ làm tăng biến đếm số lượng sản phẩm, xử lý tín hiệu và hiển
thị lên màn hình LCD.
Người dùng có thể năng độ nhậy của cảm biến như tầm quét, góc quét của
cảm biến bằng cách điều chỉnh biến trở trên cảm biến.
Khi mạch đã đếm đủ số lượng sản phẩm cần đóng gói mà người dùng đã
nhập vào lúc trước, LCD sẽ hiển thị một dịng thơng báo “HAY DONG GOI” cho
người dùng biết và mạch sẽ tiến hành lại đi lặp lại q trình đếm của mình .

17

SVTH: Nguyễn Đồn Vĩnh Ngun

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

3.2 Lưu đồ thuật toán

Bắt đầu

Nhập số lượng A
(sản phẩm) cần
đếm

dem = 0
max = A

Cảm biến

Sai

sản phẩm
Đúng
dem = dem +1

Xuất ra LCD
max

dem

dem ==
max
Đúng
18
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thơng 1

GVHD: Phan Thanh Minh

3.3 Chương trình code viết trên KeilC
#include <REGX52.H>
//Khai bao LCD
sbit LCD_RS = P2^2;
sbit LCD_EN = P2^3;
sbit LCD_D4 = P2^4;
sbit LCD_D5 = P2^5;
sbit LCD_D6 = P2^6;
sbit LCD_D7 = P2^7;
sbit UP = P3^6;
sbit DOWN = P3^7;
unsigned char keypad[4][3]={'1','2','3','4','5','6','7','8','9','*','0','#'};
unsigned char key[3];
unsigned int dem,max=0;
//-------------void Delay_ms(unsigned int t)

{
unsigned int x,y;
for(x=0;x{
for(y=0;y<123;y++);
}
}
void Delay_us(unsigned int t)
{
while(t--);
}
void LCD_Enable(void)
{
LCD_EN =1;
Delay_us(3);
LCD_EN=0;
Delay_us(50);
}
//Ham gui 4 bit du lieu ra LCD
void LCD_Send4Bit(unsigned char Data)
19
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh


{
LCD_D4=Data & 0x01;
LCD_D5=(Data>>1)&1;
LCD_D6=(Data>>2)&1;
LCD_D7=(Data>>3)&1;
}
//Ham gui lenh ra LCD
void LCD_SendCommand(unsigned char command)
{
LCD_Send4Bit(command >>4);
LCD_Enable();
LCD_Send4Bit(command);
LCD_Enable();
}
/ Xoa man hinh
void LCD_Clear()
{
LCD_SendCommand(0x01);
Delay_us(10);
}
/
Cau hinh LCD
void LCD_Init()
{
LCD_Send4Bit(0x00);
Delay_ms(20);
LCD_RS=0;
LCD_Send4Bit(0x03); //cai dat chuc nang
LCD_Enable();
Delay_ms(5);

LCD_Enable();
Delay_us(100);
LCD_Enable();
LCD_Send4Bit(0x02); //di chuyen con tro ve dau man hinh
LCD_Enable();
LCD_SendCommand(0x28); // che do 4 bit
LCD_SendCommand(0x0c); //hien thi va tat con tro
20
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

LCD_SendCommand(0x06); //tu di chuyen con tro den vi tri ke tiep
LCD_SendCommand(0x01); //xoa man hinh
}
//Xac dinh vi tri ky tu
void LCD_Gotoxy(unsigned char x, unsigned char y)
{
unsigned char address;
if(!y) address=(0x80+x);
else address=(0xc0+x);
Delay_us(1000);
LCD_SendCommand(address);
Delay_us(50);
}

//Gui 1 ky tu
void LCD_PutChar(unsigned char Data)
{
LCD_RS=1;
LCD_SendCommand(Data);
LCD_RS=0;
Delay_us(3);
}
//Gui 1 chuoi
void LCD_Puts(char *s)
{
while (*s){
LCD_PutChar(*s);
s++;
}
}
//Tach so
void HT_So(unsigned int so,int a , int b)
{
unsigned int t,c,dv;
t=so/100;
c=(so%100)/10;
dv=(so%100)%10;
21
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1


GVHD: Phan Thanh Minh

LCD_Gotoxy(a,b);
if(t>0){LCD_PutChar(t+0x30);}
if(t>0&&c==0){LCD_PutChar(c+0x30);}
if(c>0){LCD_PutChar(c+0x30);}
LCD_PutChar(dv+0x30);
}
//LCD Start
void LCD_Start()
{
LCD_Clear();
LCD_Gotoxy(0,0);
LCD_Puts("SAN PHAM MAX:");
HT_So(max,13,0);
LCD_Gotoxy(0,1);
LCD_Puts("SO SAN PHAM :");
LCD_Puts("0");
}
unsigned char quetphim()
{
unsigned int c,h;
P1=0x0F;
Delay_us(2);
if(P1!=0x0F)
{
for(c=0;c<3;c++)
{
P1=~(0x01<<(4+c));

Delay_ms(1);
for(h=0;h<4;h++)
{
if((P1&(0x01<{
while((P1&(0x01<return keypad[h][c];
}
}
22
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :


Đồ án viễn thông 1

GVHD: Phan Thanh Minh

}
}
return 0;
}
//Nhap so luong
void LCD_SL()
{
unsigned int j=0;
unsigned char phim=0;
LCD_Gotoxy(1,0);
LCD_Puts("NHAP SO LUONG");

while(j<3)
{
phim=quetphim();
if(phim=='*')
{break;}
if(phim)
{
LCD_Gotoxy(7+j,1);
LCD_PutChar(phim);
key[j]=phim;
phim=0;
j++;
}
}
}
//Chuyen doi max
void SL_Max()
{
int b,n=0;
for(n=0;n<3;n++)
{
if(key[n]!=0)
{
b=key[n]-'0';
max=max*10+b;
23
SVTH: Nguyễn Đoàn Vĩnh Nguyên

download by :



×