MỤC LỤC
NỘI DUNG TRANG
CHƯƠNG 1: KHÁI QUÁT VỀ CÔNG NGHỆ ĐIỀU
KHIỂN BÃI ĐỖ XE TỰ ĐỘNG…………………………………………………………… 2
1.1. MỞ ĐẦU…………………………………………………………………………………2
1.2. LỰA CHỌN PHƯƠNG ÁN THIẾT KẾ……………………………………………… 3
1.3. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI………………………………………………… 5
CHƯƠNG 2: SƠ ĐỒ KẾT NỐI PHẦN CỨNG…………………………………………… 7
2.1. CẤU TRÚC HỆ THỐNG……………………………………………………………… 7
2.2. SƠ ĐỒ HOÀN CHỈNH …………………………………………………………………20
CHƯƠNG 3 :THIẾT KẾ PHẦN MỀM………………………………………………………21
3.1. LƯU ĐỒ THUẬT TOÁN……………………………………………………………… 21
3.2. PHẦN MỀM 23
3.3 Kết luận 27
3.4 TÀI LIỆU THAM KHẢO……………………………………………………………… 28
1
CHƯƠNG 1. KHÁI QUÁT VỀ CÔNG NGHỆ ĐK BÃI ĐỖ XE TỰ ĐỘNG
Hiện nay, các bãi đỗ xe công cộng nhu ở các khu phố, khu chung cư, hội
chợ việc quản lý gặp nhiều khó khăn. Số lượng xe vào và xe ra là ngẫu nhiên, có
lúc nhiều xe, có lúc ít xe, nhiều khi lại ách tắc quá tải. Công việc quản lý tưởng
chừng như đơn giản song lại tốn nhiều nhân lực: người thì bán vé, người thu vé
người thì phải thường xuyên giám sát số lượng xe có trong bãi bên cạnh đó việc
kiểm soát vé là cũng khó khăn.
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
điện tử mà trong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực khoa
học kỹ thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin…. do đó chúng
ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát
triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện
tử nói riêng.
Áp dụng những thành tựu khoa học ta có thể sử dụng các phương tiện hoàn
toàn tự động để điều khiển bãi đỗ xe tự động, không những giảm được nhân lực ,
đáp ứng được kinh tế mà còn có thể kiểm soát được số lượng vé trong ngày, tháng
quý
Trong giới hạn đề tài em chỉ thiết kế hệ thống điều khiển bãi đỗ xe với việc
đếm số lượng xe ra vào hay quản lý số chỗ đỗ xe, số xe có trong bãi và điều khiển
thanh chắn ra vào.
Để thực hiện được điều đó cần phải thiết kế hai phần chính sau: bộ phận cảm
biến và bộ phận đếm.
* Bộ phận cảm biến: gồm phần phát và phần thu. Thông thường người ta sử
dụng phần phát là led hồng ngoại để phát ra ánh sáng hồng ngoại mục đích để
chống nhiễu so với các loại ánh sáng khác, còn phần thu là transistor quang để thu
ánh sáng hồng ngoại.
* Bộ phận đếm: có nhiều phương pháp thực thi đó la
-Lắp mạch dùng kỹ thuật số với các IC đếm, chốt, so sánh ghép lại
-Lắp mạch dùng kỹ thuật vi xử lí
-Lắp mạch dùng kỹ thuật vi điều khiển
2
1.2. PHƯƠNG ÁN THIẾT KẾ
1.2.1. Với mạch đếm dùng IC rời
• Ưu điểm:
-Cho phép tăng hiệu suất lao động
-Đảm bảo độ chính xác cao
-Tần số đáp ứng của mạch nhanh, cho phép đếm với tần số cao
-Khoảng cách đặt phần phát và phần thu xa nhau cho phép đếm những sản
phẩm lớn.
-Tổn hao công suất bé, mạch có thể sử dụng pin hoặc accu
-Khả năng đếm rộng
-Giá thành hạ
-Mạch đơn giản dễ thực hiện
Với việc sử dụng kỹ thuật số khó có thể đáp ứng được việc thay đổi số đếm.
Muốn thay đổi một yêu cầu nào đó của mạch thì buộc lòng phải thay đổi phần
cứng. Do đó mỗi lần phải lắp lại mạch dẫn đến tốn kém về kinh tế mà nhiều khi
yêu cầu đó không thực hiện được bằng phương pháp này.
Với sự phát triển mạnh của nghành kỹ thuật số đặc biệt là cho ra đời các họ
vi xử lí và vi điều khiển rất đa chức năng do đó việc dùng kỹ thuật vi xử lí, kỹ
thuật vi điều khiển đã giải quyết những bế tắc và kinh tế hơn mà phương pháp
dùng IC rời kết nối lại không thực hiện được.
1.2.2. Với mạch đếm dùng kỹ thuật vi xử lí
Ngoài những ưu điểm như đã liệt kê trong phương pháp dùng IC rời thì mạch
đếm sản phẩm dùng kỹ thuật vi xử lí còn có những ưu điểm sau:
-Mạch có thể thay đổi số đếm một cách linh hoạt bằng việc thay đổi phần
mềm, trong khi đó phần cứng không cần thay đổi mà mạch dùng IC rời không thể
thực hiện được mà nếu có thể thực hiện được thì cũng cứng nhắc mà người công
nhân cũng khó tiếp cận, dễ nhầm.
- Số linh kiện sử dụng trong mạch ít hơn.
-Mạch đơn giản hơn so với mạch đếm sản phẩm dùng IC rời và có phần cài
đặt số đếm ban đầu
3
-Mạch có thể lưu lại số liệu của các ca sản xuất
-Mạch có thể điều khiển đếm được nhiều dây chuyền sản xuất cùng lúc bằng
phần mềm
-Mạch cũng có thể kết nối giao tiếp được với máy tính thích hợp cho những
người quản lí tại phòng kỹ thuật nắm bắt được tình hình sản xuất qua màn
hình của máy vi tính.
Nhưng trong thiết kế người ta thường chọn phương pháp tối ưu nhưng kinh tế
do đó chúng em chọn phương pháp đếm sản phẩm dùng kỹ thuật vi điều khiển
1.2.3. Phương pháp đếm dùng vi điều khiển
Ngoài những ưu điểm có được của hai phương pháp trên, phương pháp này
còn có những ưu điểm :
-Trong mạch có thể sử dụng ngay bộ nhớ trong đối với những chương trình có
quy mô nhỏ, rất tiện lợi mà vi xử lí không thực hiện được.
-Nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lí cũng giao tiếp
được với máy tính nhưng là giao tiếp song song nên cần có linh kiện chuyển đổi
dữ liệu từ song song sang nối tiếp để giao tiếp với máy tính.
1.3. MỤC ĐÍCH YÊU CẦU CỦA ĐẦU BÀI
Trong bài tập này em thực hiện mạch đếm số lượng xe ra vào bằng phương
pháp đếm xung. Như vậy mỗi xe đi qua cửa phải có một thiết bị để cảm nhận xe ra
vào, thiết bị này gọi là cảm biến. Khi một xe đi qua cảm biến sẽ nhận và tạo ra một
xung điện đưa về khối xử lí để tăng dần số đếm hoặc giảm dần số đếm. Tại một
thời điểm tức thời, để xác định được số đếm cần phải có bộ phận hiển thị. Tuy
nhiên mỗi bãi đỗ xe lại yêu cầu với số đếm khác nhau vì thế phải có sự linh hoạt
trong việc chuyển đổi số đếm. Bộ phận chuyển đổi trực quan nhất là bàn phím. Khi
cần thay đổi số đếm người sử dụng chỉ cần nhập số đếm ban đầu vào và mạch sẽ tự
động đếm. Khi số xe được đếm bằng với số đếm ban đầu thì mạch sẽ tự động
dừng. Từ đây suy ra mục đích yêu cầu của đề tài:
-Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linh
hoạt.
-Bộ phận hiển thị phải rõ ràng ( máy tính)
4
-Mạch điện không quá phức tạp, bảo đảm được sự an toàn, dễ sử dụng.
-Giá thành không quá đắt
=> Ta có mô hình tổng quan chung về bãi đỗ xe tự động như sau:
5
CHƯƠNG II
CƠ SỞ THIẾT KẾ PHẦN CỨNG
2.1. CẤU TRÚC HỆ THỐNG
Sơ đồ cấu trúc tổng quát:
Hệ thống gồm 4 khối chính:
- Khối cảm biến: Khối cảm biến có nhiệm vụ phát hiện đối tượng (xe ra, vào) và
biến đổi thành tín hiệu điện để truyền tới khối vi xử lý.
- Khối xử lý: Khối xử lý có nhiệm vụ nhận tín hiệu từ khối cảm biến, nhận biết
đối tượng xử lý thông tin và đưa ra các lệnh điều khiển tới khối chấp hành,và
khối hiển thị.
- Khối hiển thị: Khối hiện thị có nhiệm vụ hiển thị trạng thái của hệ thống ,số
lượng xe vào số lượng xe ra và số chỗ còn trống trong bãi trên máy tính.
- Khối chấp hành: có nhiệm vụ nhận thông tin từ khối xử lý sau thực hiện việc
đóng mở cho xe vào ra bãi nếu hết chỗ trong bãi thì bật đèn báo và không cho
phép xe vào bãi nữa.
2.1. 1 Khối cảm biến
6
1. Hệ thống phát hồng ngoại
-Để có thể nhận biết được sản phẩm có rất nhiều phương pháp như siêu âm, laser
hay hồng ngoại mỗi phương pháp có ưu và nhược điểm riêng. Với ưu điểm giá
thành và dễ dàng thiết kế và thi công phương pháp cảm biến bằng hồng ngoại được
chọn. Tuy nhiên phương pháp này cho ta độ ổn định và tin cậy không cao.Với
hồng ngoại có rất nhiều cách có thể được sử dụng để cảm biến. Với các sản phẩm
có độ bóng cao có thể ứng dụng đặc tính phản xạ của hồng ngoại để cảm biến,
bằng phương pháp này chúng ta sẽ bố trí cặp thu phát ở cùng một phía, rất dễ cho
lắp đặt, nhưng với các sản phẩm có độ phản xạ không cao thi ta sẽ bố trí cặp thu
phát ở hai phía, phương pháp này cho chúng ta độ tin cậy cao hơn tuy nhiên khi lắp
đặt thiết bị sẽ phức tạp hơn.
H2.1: Mạch tạo dao động
Hoạt động của mạch điện này như sau:
- Ngay khi cung cấp điện lần đầu cho mạch này, điện áp trên tụ C1 bằng
0V nên mạch ở trạng thái ban đầu như sau: R = 0, S = 1 ⇒ Q của FF ở
mức logic cao ⇒ Q bù của FF ở mức logic thấp (0V) dẫn đến T1 tắt mức
điện áp ra ở chân 3 ở mức cao. Tụ C1 bắt đầu nạp điện qua điện trở R1,
R2 cho đến khi điện áp trên C1 tăng đến trị số 2/3Vcc ( lúc điện áp trên
tụ C1 tăng quá Vcc/3, mạch so sánh 2 đổi trạng thái R = S = 0 nên FF
vẫn giữ nguyên trạng thái cũ chân 3 vẫn ở mức cao) ở thời điểm này
7
mạch so sánh 1 đổi trạng thái nên R = 1, S = 0 FF đổi trạng thái tức là Q
bù ở mức cao phân cực cho T1 dẫn bão hoà làm cho chân 3 chuyển trạng
thái về mức thấp, tụ C1 phóng điện qua R1, chân 7 và T1cho đến khi điện
áp trên tụ giảm xuống còn 1/3Vcc mạch so sánh 2 đổi trạng thái S = 1, R
= 0 Q bù của FF chuyến lên mức điện áp cao T1 tắt tụ C1 lại bắt đầu nạp
đến điện áp 2/3Vcc. Chu trình cứ lặp đi lặp lại tại chân 3 sẽ tạo dao động
xung vuông. Vì R2 rất lớn hơn R1 nên thời gian nạp lớn hơn rất nhiều
thời gian phóng nên một chu kỳ của bộ định thời t = R2.C1 = 0,01 s Vậy
tần số phát là f = 1/t = 100Hz.
2. Hệ thống thu
- Phía thu ta dùng mạch điện như sau:
-
- H2.2: Mạch điện phía thu
Mạch điện phía thu gồm có ba khối chính như sau:
Khối 1: có nhiệm vụ tạo dao động theo tín hiệu của Diot thu hồng ngoại, lọc và
khuếch đại sơ bộ tín hiệu thu được.
Như vậy khối một sẽ gồm các linh kiện: Diot thu D2, bộ khuếch đại thuật toán
(IC1), tụ C2, C3, điện trở R4, R5.
Trong đó IC1, điện trở R4, tụ C2 đóng vai trò là bộ lọc tích cực thông thấp một cực
dùng hồi tiếp âm.
Khối 2: Có nhiệm vụ khuếch đại tín hiệu gồm IC 2 , tụ C4, R6, R7.
Với hệ số khuếch đại tính theo công thức:
8
Z
R
1K
6
u
+=
Yêu cầu cần hệ số khuếch đại cỡ 150 lần ta chọn R7 = 330K,
R6 = 1K, tụ C4 = 1µF suy ra Z ≅ 2K.
Tín hiệu sau khi được khuếch đại qua tụ nối tầng C5 đưa vào khối 3.
Khối 3: Có nhiệm vụ tách sóng tạo tín hiệu một chiều để đưa vào bộ so sánh tạo
mức điện áp ra một chiều ở mức logic 0, 1 có thể tích hợp với bộ xử lý số. Để thực
hiện tách sóng ta dùng một Diot D3 (1N4148) và tụ lọc C6(1µF). D4(1n4148),
R8(1K), R9(1K) tạo thành một mạch phân áp có nhiệm vụ bù sụt áp tín hiệu xoay
chiều được chỉnh lưu bởi D3.
H2.3: Sơ đồ bố trí cảm biến
2.1.2:Khối hiển thị
Ta sử dụng chuẩn giao tiếp RS232
9
Đầu thu
Đầu
phát
Chiều xe đi
*Đặc Điểm Chuẩn RS232
Chuẩn RS232 được nối ra một giắc cắm (gọi là cổng COM).Khi sử dụng có thể sử
dụng 2 hay tòan bộ chân (pin) của cổng này (có nhiều loại cổng COM phục vụ các
chức năng khác nhau gồm loại 4, 9, 15, 37 chân). Nếu mục đích chỉ truyền hoặc
nhận tín hiệu giữa hai thiết bị thì ta chỉ cần sử dụng 2 dây (một dây truyền hoặc
nhận) và một dây nối đất (GND – ground, hay mass).
RS 232 sử dụng phương thức truyền thông không đối xứng, tức là sử dụng tín hiệu
điện áp chênh lệch giữa một dây dẫn và đất. Các cổng của RS – 232 có ngưỡng
điện áp qui ước là -15V (volt) tới -3V , và 3V tới 15V (hoặc -5V, +5V, sự khác
biệt giữa hai giá trị 3, và 5V này được gọi là noise magin - biên độ dao động của
nhiễu).
Tín hiệu có áp lớn +3V được coi có logic 0 hoặc có giá trị cao (H)
Tín hiệu có áp nhỏ hơn –3V được coi có logic 1 hoặc giá trị thấp (L).
Điện áp từ -3V tới +3V không có ý nghĩa.
Chính vì từ – 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay
đổi giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua
quãng quá độ trong một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn chế
về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ truyền dẫn
tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện nay chỉ hỗ trợ
với tốc độ 19,2 kBd (chiều dài cho phép 30 – 50 m).
Sơ đồ ghép nối
10
2.1.3. Khi X Lý
Trong thc t cú rt nhiu ic chuyờn dng phc v vic lp trỡnh nhng ph bin
hn c l loi ic thuc h 8051 .Trong bi tp ln em chn loi ic thuc h 8051 cú
tờn AT89C51 cú nhng c im nh sau:
-AT89C51 là một bộ vi xử lý 8 bit, loại CMOS, có tốc độ cao và công suất thấp với
bộ nhớ Flash có thể lập trình đợc. Nó đợc sản xuất với công nghệ bộ nhớ không
bay hơi mật độ cao của hãng Atmel, và tơng thích với họ MCS-51
TM
về chân ra và
tập lệnh.
11
Sơ đồ khối của AT89C51
-AT89C51 có các đặc trng cơ bản nh sau: 4 K byte Flash, 128 byte RAM, 32 đờng
xuất nhập, hai bộ định thời/đếm 16-bit, một cấu trúc ngắt hai mức u tiên và 5
nguyên nhân ngắt, một port nối tiếp song công, mạch dao động và tạo xung clock
trên chip. AT89C51 đợc thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống
0 vo hỗ trợ hai chế độ tiết kiệm năng lợng đợc lựa chọn bằng phần mềm. Chế độ
nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời/đếm, port nối tiếp
và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM
nhng không cho mạch dao động cung cấp xung clock nhằm vô hiệu hoá các hoạt
động khác của chip cho đến khi có reset cứng tiếp theo.
-Mụ t cỏc chõn ca AT89C51nh sau
12
Hỡnh 2.8 S chõn ca AT89C51
Nh vậy AT89C51 có tất cả 40 chân với các chức năng nh sau:
- Vcc (40)
Chân cung cấp điện (5V)
- GND (20)
Chân nối đất (0V)
- Port 0 (32-39)
Port 0 là port xuất nhập 8-bit hai chiều. Port 0 còn đợc cấu hình làm bus địa
chỉ (byte thấp) và bus dữ liệu đa hợp trong khi truy xuất bộ nhớ dữ liệu ngoài và bộ
nhớ chơng trình ngoài. Port 0 cũng nhận các byte mã trong khi lập trình cho Flash
và xuất các byte mã trong khi kiểm tra chơng trình (Các điện trở kéo lên bên ngoài
đợc cần đến trong khi kiểm tra chơng trình).
- Port 1(1-8)
Port 1 là port xuất nhập 8-bit hai chiều. Port 1 cũng nhận byte địa chỉ thấp
trong thời gian lập trình cho Flash.
13
- Port 2 (21-28)
Port 2 là port xuất nhập 8-bit hai chiều. Port 2 tạo ra các byte cao của bus
địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớ chơng trình ngoài và trong thời gian
truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16-bit. Trong thời gian truy xuất
bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 8-bit, Port 2 phát các nội dung của thanh
ghi chức năng đặc biệt P2. Port 2 cũng nhận các bít địa chỉ cao và vài tín hiệu điều
khiển trong thời gian lập trình cho Flash và kiểm tra chơng trình.
- Port 3 (10-17)
Port 3 là Port xuất nhập 8-bit hai chiều. Port 3 cũng còn làm các chức năng
khác của AT89C51. Các chức năng này đợc liệt kê nh sau:
Chân Tên Chức năng
P3.0 RxD Ngõ vào Port nối tiếp
P3.1 TxD Ngõ ra Port nối tiếp
P3.2
INT0
Ngõ vào ngắt ngoài 0
P3.3
INT1
Ngõ vào ngắt ngoài 1
P3.4 T0 Ngõ vào bên ngoài của bộ định thời 1
P3.5 T1 Ngõ vào bên ngoài của bộ định thời 0
P3.6
WR
Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7
RD
Điều khiển đọc bộ nhớ dữ liệu ngoài
Port 3 cũng nhận một vài tín hiệu điều khiển cho việc lập trình Flash và kiểm
tra chơng trình.
- RST (9)
Ngõ vào reset. Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao
động đang hoat động sẽ reset AT89C51.
14
RST
M¹ch reset t¸c ®éng b»ng tay vµ tù ®éng reset khi khëi ®éng m¸y
- ALE/
PROG
(30)
ALE là một xung ngõ ra để chốt byte thấp của đòa chỉ trong khi truy xuất
bộ nhớ ngoài. Chân này cũng làm ngõ vào xung lập trình (
PROG
) trong thời
gian lập trình cho Flash.
Khi hoạt động bình thường ngõ ALE có tần số khơng đổi là 1/6 tần số của mạch
dao động,có thể dùng cho mục đích định thời từ bên ngồi và tạo xung clock.Tuy
nhiên ALE có thể bị bỏ qua trong mỗi chu kì truy xuất của bộ nhớ dữ liệu
ngồi.Khi cần, hoạt động ALE có thể được vơ hiệu hóa bằng cách set bit 0 củ
đặc biệt có địa chỉ 8Eh.Khi bit này được set AEL chỉ tích cực trong thời gian thực
hiện lệnh movx hoặc movc.Ngược lại chân này sẽ được kéo lên cao.Việc set bit
khơng cho phép hoạt động chốt byte thấp của địa chỉ sẽ khơng có tác dụng nếu bộ
vi điều khiển đang ở chế độ thực thi chương trình ngồi
-
PSEN
(29)
PSEN
(Program Store Enable) là xung điều khiển truy xuất bộ nhớ chương
trình ngoài. Khi AT89C52 đang thực thi chương trình từ bộ nhớ chương trình
ngoài,
PSEN
được kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động
PSEN
sẽ bò bỏ qua mỗi khi truy cập bộ nhớ dữ liệu ngoài.
-
EA
/Vpp (31)
EA
là chân cho phép truy xuất bộ nhớ chương trình ngồi
EA
= 0 cho phép truy xuất bộ nhớ chương trình ngoài,
EA
=1 sẽ thực thi
chương trình bên trong chip
Tuy nhiên, lưu ý rằng nếu bit khoá 1 (lock-bit 1) được lập trình,
EA
sẽ được
chốt bên trong khi reset.
Chân này cũng nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash
15
- XTAL1 và XTAL2
XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại đảo của mạch
dao động, được cấu hình để dùng như một bộ dao động trên chip.
Không có yêu cầu nào về chu kỳ nhiệm vụ của tín hiệu xung clock bên ngoài
do tín hiệu này phải qua một flip-flop chia hai trước khi đến mạch tạo xung
clock bên trong, tuy nhiên các chi tiết kỹ thuật về thời gian mức thấp và mức
cao, điện áp cực tiểu và cực đại cần phải được xem xét.
Tacó sơ đồ mạch như sau:
Hình 2.9 Ghép nối vi điều khiển
2.1.4 Khối chấp hành
Khối này nhận tín hiệu điều khiển từ 89C51 để điều khiển chiều
quay động cơ (chiều dịch chuyển của thanh chắn).
16
Sơ đồ khối.
Bao gồm các phần tử cơ cấu chấp hành như động cơ để đóng mở barie cho phép
xe vào ,ra bãi.Đầu vào là tín hiệu từ khối xử lý trung tâm gửi tới để điều khiển
chiều quay của động cơ để đóng mở thanh của rào chắn
Sơ đồ mạch điều khiển chiều quay động cơ
Hình 2.10 Mạch động lực của cơ cấu đóng mở
+Nguyên lý hoạt động :
Đầu A, B lấy tín hiệu từ 89C51.
+Khi A=1, B=0 , thì đầu ra của mạch điều khiển sẽ đặt lên động cơ một điện áp 1
chiều Làm động cơ quay theo 1 chiều nhất định.
+Khi A=0, B=1 , thì đầu ra của mạch điều khiển sẽ đặt lên động cơ một điện áp 1
chiều ngược cực tính với trường hợp trước Làm động cơ quay theo chiều
ngược với trường hợp trước.
2.2. SƠ ĐỒ HOÀN CHỈNH
17
VI ĐIỀU
KHIỂN
Điều khiển
chiều quay
động cơ
Động cơ
H2.7 : Sơ đồ kết nối phần cứng
Mạch mô phỏng số lượng xe đi vào
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM
3.1. LƯU ĐỒ THUẬT TOÁN
3.1.1. Chương trình chính
18
Trong giới hạn của đề tài chúng ta phải giải quyết những công việc chính sau trong
việc thiết kế phần mềm điều khiển:
-Yêu cầu về nhập các thông số ban đầu từ bàn phím
-Điều khiển rào chắn nâng ,hạ cho phép hoặc không cho phép xe đi qua
-Hiển thị số lượng xe đi vào ,ra và số lượng chỗ trống trong bãi
-Hiển thị các thông số của bãi đỗ xe trên lcd
-Ra thông báo còn hoặc hết chỗ trong bãi
=> Ta có lưu đồ thuật toán chung như sau:
19
3.1.2. giải thích nguyên lý dựa theo thuật toán
20
Có xe qua
Nạp các giá trị ban đầu
Nhập số liệu từ bàn phím
Hết chỗ để
xe
S
Hiển thị số liêu đã nhập
Nâng thanh chắn
Gọi chương trình đếm
Chờ xe qua
Hạ thanh chắn
Kiểm tra chu
trình xe ra
vào
Không
có xe
Hiển thị
Hạ thanh chắn
End
Begi
n
Đ
Đặt giá trị có thể chứa của bãi đỗ xe.Hiển thị số lượng xe đi vào xe đi ra và báo hết
chỗ để xe khi trong bãi đã hết chỗ trống bằng đèn báo hiệu hoặc còi báo
hiệu.Nguyên lý của bãi đỗ xe sẽ là: mỗi xe vào sẽ tương đương với 1 xung ở mức
cao,số lượng xung cao đếm được sẽ tươn đương như số xe đi vào,tương tự số
lượng xe ra cũng vậy
3.2. Phần Mềm
Mô phỏng đếm số lượng xe ra va báo hiệu khi bãi đỗ đã đầy xe:
Chương trình đếm:
#include <sfr51.inc>
org 0000h
mov tmod,#01010000b
mov th1,#0
setb p3.5
again:
setb tr1
back:
mov a,tl1
mov p0,a
jnb tf1,back
clr tr1
clr tf1
end
chương trình hiển thị:
#include <sfr51.inc>
org 300h
mydata: db "soxedivao",0
org 0
;khoi dong truyen thong noi tiep
mov tmod,#20h
21
mov p1,#0ffh
mov th1,#-98
mov scon,#50h
setb tr1
;hien thu chu soxedivao
mov DPTR,#mydata
h_1:
clr a
movc a,@a + DPTR
acall send
inc DPTR
jz b_1
sjmp h_1
;nhan du lieu di tu p1 vao(so xung dem) va hien thi
b_1:
mov a,#'-'
acall send
mov a,p1
acall chuyendoihex_DEC
acall chuyendoisothu1
acall send
acall chuyendoisothu2
acall send
acall chuyendoisothu3
acall send
sjmp b_1
;chuyen doi hexa-thap phan
chuyendoihex_DEC:
mov b,#10
div ab
22
mov r7,b
mov b,#10
div ab
mov r6,b
mov r5,a
clr a
ret
;chuyen doi so 1 sang ASCII
chuyendoisothu1:
mov a,r5
add a,#30h
ret
;chuyen doi so 2 sang ASCII
chuyendoisothu2:
mov a,r6
add a,#30h
ret
;chuyen doi so 3 sang ASCII
chuyendoisothu3:
mov a,r7
add a,#30h
ret
;truyen vao truyen thong noi tiep
send:
mov sbuf,a
here:
jnb ti,here
clr ti
ret
end
23