CỬA HÀNG THÔNG MINH DÙNG VI XỬ LÝ AT89C51
NỘI DUNG ĐỒ ÁN
100 MB Bao gồm tất cả file,.lưu đồ giải thuật... thuyết minh, bản vẽ nguyên lý, bản vẽ thiết kế, FILE lập trình, ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử CỬA HÀNG THÔNG MINH DÙNG VI XỬ LÝ AT89C51
Trong thời đại ngày nay, khoa học kỹ thuật ngày càng phát triển cao hơn, ngành điện tử có thể nói là một ngành rất quan trọng trong lĩnh vực này. Ở nước ta, cùng với chế tạo cơ khí thì ngành điện tử và công nghệ thông tin là các ngành được đầu tư phát triển. Được ứng dụng trong nhiều ngành nghề khác nhau, nên ngành điện tử được nhiều bạn trẻ lựa chịn theo học và phát triển, tất cả để phục vụ cho sản xuất và phục vụ cho con người.
Xã hội ngày càng phát triển, nhu cầu cuộc sống của con người ngày càng tăng, tận dụng tối đa thời gian, làm việc đạt năng suất cao và đặc biết là những nhu cầu về tiện nghi trong cuộc sống. Đáp ứng những nhu cầu trên ngành điện tử đã giải quyết đựơc điều này và ngày càng phục vụ tốt hơn với nhiều thiết bị điện tử ra đời giải phóng con người khỏi lao động chân tay, là công cụ giúp con người trong cuộc sống và ngày càng không thể thiếu đựơc đối với con người. Góp phần trong đó là sự ra đời của những cửa hàng thông minh.
Cửa hàng thông minh được kết hợp từ nhiều phần khác nhau như cảm biến hồng ngoại, hệ thống vi điều khiển, cảm biến nhiệt, … Đặc điểm của thiết bị này linh kiện rất dể tìm và giá thành rất khiêm tốn, hơn nửa các mạch được thiết kế rất đơn giản nhưng có độ chính xác cao. Đặc biệt là các thiết bị điều khiển từ xa dùng hồng ngoại được sử dụng rộng rãi, phổ biến và cũng cho hiệu quả chính xác cao. Nó có thể điều khiển ở khoảng cách gần rất phù hợp với việc điều khiển với các thiết bị sinh hoạt trong gia đình, cửa hàng chẳng hạn tivi, quạt gió, đèn, hệ thống lạnh …cao hơn là điều khiển cả máy vi tính và rất nhiều thiết bị khác nữa. Làm cho cuộc ssóng của con người ngày càng tốt hơn.
MỤC LỤC
LỜI MỞ ĐẦU
LỜI CẢM TẠ
CHƯƠNG DẪN NHẬP 4 CHƯƠNG II: GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN 6
I. Giới thiệu 6
II. Lịch sử phát triển của Vi Điều Khiển 6
III. Khảo sát bộ Vi Điều Khiển 8051 7
CHƯƠNG III : KHÁI QUÁT VỀ HỒNG NGOẠI 23
I. Giới thiệu về LED phát và LED thu 23
II. Giới thiệu về IC SZ9148 và SZ9149 23
CHƯƠNG IV: GIỚI THIỆU VỀ CÁC LINH KIỆN KHÁC 36 I. Giới thiệu về IC ổn áp 7805 và 7812 36
II. Giới thiệu về IC LM555 38
III. Giới thiệu về TRANSISTOR C1815, A1015, D468 39
IV. Giới thiệu về IC 74LS04 43
CHƯƠNG V: THIẾT KẾ VÀ THI CÔNG 44
I. Nhiệm vụ thiết kế 44
II. Sơ đồ khối và chức năng từng khối 44
III. Thiết kế và phân tích nguyên lý hoạt động từng khối 46
IV. Sơ đồ nguyên lý và giải thuật chương trình 54
V. Thi công 72
CHƯƠNG KẾT LUẬN 73
PHỤ LỤC _ TÀI LIỆU THAM KHẢO 74
CHƯƠNG DẪN NHẬP
Ngày nay với sự phát triển của công nghiệp vi điện tử, kĩ thuật số, các hệ thống điều khiển dần dần được tự động hoá với những kỹ thuật tiên tiến như Vi Xử Lý, Vi Mạch Số….. được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ với tốc độ xử lý chậm, ít chính xác sẽ được thay thế bằng các chương trình điều khiển tự động với các lệnh chương trình đã được con người chúng ta thiết lập trước .
Chính vì yêu cầu ngày càng cao của cả nhân loại, chúng em cũng muốn thử sức mình vào việc thi công thử một trong những đề tài về Vi Điều Khiển. Đó chính là Cửa Hàng Thông Minh Dùng Vi Xử Lý. Với những chức năng như: Đóng mở cửa sữ dụng cảm biến hồng ngoại, bảo mật bằng mật mã và Card và điều khiển từ xa các thiết bị trong cửa hàng dùng cảm biến hồng ngoại. Để thực hiện những chức năng trên không thể thiếu đó là Vi Điều Khiển.
Để đáp ứng cho nhu cầu ngày càng cao của con người, những thành tựu khoa học kĩ thuật tiên tiến không ngừng ra đời và phát triển. Trong đó kĩ thuật Vi Điều Khiển đã trở nên quen thuộc trong các ngành kĩ thuật và trong dân dụng, các dây chuyền sản xuất lớn đến các thiết bị gia dụng, chúng ta đều thấy sự hiện diện của Vi Điều Khiển. Các bộ Vi Điều Khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, gọn nhẹ và sử dụng một cách dễ dàng.
Vi Điều Khiển không những góp phần vào kĩ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin. Đó chính là sự ra đời của hàng loạt thiết bị tối tân trong ngành viễn thông, truyền hình, đặc biệt là sự ra đời của mạng Internet… đã góp phần đưa con người đến đỉnh cao của nền văn minh nhân loại.
Ở TP Hồ Chí Minh ta có thể thấy rất nhiều cửa hàng, siêu thị họ bán rất nhiều mặt hàng đa dạng nhiều chủng loại khác nhau. Các cửa hàng, siêu thị này có thể áp dụng hệ thống Vi Điều Khiển vào để quản lý như: cửa tự động mở cửa khi có người đi vào và đóng cửa khi ra ngoài rồi, khóa cửa và bảo mật bằng mật mã và card, điều khiển từ xa các thiết bị trong cửa hàng dùng cảm biến hồng ngoại.
Mục đích đầu tiên của chúng em làm đề tài này là hoàn tất chương trình học tại trường, đủ điều kiện để tốt nghiệp ra trường.
Cụ thể là chúng em muốn phát huy những thành quả ứng dụng của Vi Điều Khiển để phục vụ tốt hơn cuộc sống của chúng ta. Đồng thời nếu được nghiên cứu sâu hơn và sự giúp đỡ của quý thầy cô, nhất định chúng em sẽ thực hiện đề tài này thật đẹp mắt và sống động hơn nhiều.
Mặt khác, đề tài này cũng làm tài liệu tham khảo cho những khóa sau, giúp họ hiểu rõ hơn những ứng dụng của Vi Điều Khiển.
Ngoài ra đây cũng là dịp thuận lợi cho chúng em tự kiểm tra lại những kiến thức cơ bản quan trọng cần phải nắm bắt, ứng dụng.. …Trong đó cần phải tư duy, suy nghĩ giải quyết những vấn đề khó khăn hơn nhiều.
Vì trình độ của chúng em còn hạn hẹp và thời gian gấp rút nên chúng em chỉ có thể thiết kế mạch này có các chức năng chưa thật sự là tối ưu mà chỉ trong phạm vi nhỏ hẹp với những giới hạn như sau:
- Khoá dùng card & mật mã (6 số), có thể thay đổi mã, báo động khi nhập sai quá 3 lần.
Ø Đóng mở cửa dùng hồng ngoại.
Ø Điều khiển thiết bị thông qua Remote.
CHƯƠNG II: GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN
I.GIỚI THIỆU :
Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống. Theo các tập lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó.
Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển, điều khiển hoạt động của TV, máy giặt, đầu đọc laser, điện thọai, lò vi-ba … Trong hệ thống sản xuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tự động. Các hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng.
II.LỊCH SỬ PHÁT TRIỂN CỦA C ÁC BỘ VI ĐIỀU KHIỂN :
Bộ vi điều khiển thực ra là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung. Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 70 do sự phát triển và hoàn thiện về công nghệ vi điện tử dựa trên kỹ thuật MOS (Metal-Oxide-Semiconductor), mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao.
Năm 1971 xuất hiện bộ vi xử lí 4 bit loại TMS1000 do Công ty Texas Instruments vừa là nơi phát minh vừa là nhà sản xuất. Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chip những chức năng cần thiết để xử lí chương trình theo một trình tự, còn tất cả bộ phận phụ trợ khác cần thiết như : bộ nhớ dữ liệu, bộ nhớ chương trìn , bộ chuyển đổi AID, khối điều khiển, khối hiển thị, điều khiển máy in, hối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí.
Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics) mới cho ra đời bộ vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048. Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ dữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng vào và ra Digital trên một chip.
Các Công ty khác cũng lần lượt cho ra đời các bộ vi điều khiển 8bit tương tự như 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller-sustem-48).
Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn chip với tên gọi 8051. Và sau đó hàng loạt các vi điều khiển cùng loại với 8051 ra đời và hình thành họ vi điều khiển MCS-51 .
Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công ty hàng dẫn hàng đầu thế giới chế tạo. Đứng đầu là công ty INTEL và rất nhiều công ty khác như: AMD, SIEMENS, PHILIPS, DALLAS, OKI …
Ngoài ra còn có các công ty khác cũng có những họ vi điều khiển riêng như:
Họ 68HCOS của Công ty Motorola
Họ ST62 của Công ty SGS-THOMSON
Họ H8 của Công ty Hitachi
Họ pic cuả Công ty Microchip
III. KHẢO SÁT BỘ VI ĐIỀU KHIỂN 8051/8031:
IC vi điều khiển 8051 thuộc họ MCS51 có các đặt điểm sau :
- 4 KB ROM bên trong.
- 128 Byte RAM nội.
- 4 Port xuất /nhập I/O 8 bit.
- Giao tiếp nối tiếp.
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoại.
- Xử lý Boolean (hoạt động trên bit đơn).
- 210 vị trí nhớ có thể định vị bit.
- 4 ms cho hoạt động nhân hoặc chia.
Bảng mô tả sự khác nhau của các IC trong họ MSC-51 :
Loại |
Bộ Nhớ Mã Trên CHIP |
Bộ Nhớ Dữ Liệu Trên CHIP |
Số Timer |
8051 |
4K ROM |
128 Byte |
2 |
8031 |
0K ROM |
128 Byte |
2 |
8751 |
4K ROM |
128 Byte |
2 |
8052 |
8 K ROM |
256Byte |
2 |
1.Cấu trúc bên trong của 8051:Hình 2.1 : Sơ Đồ Khối 8051 / 8031
Phần chính của Vi Điều Khiển 8051/8031 là bộ xử lý trung tâm (CPU: central processing unit) bao gồm:
- Thanh ghi tích lũy A
- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia
- Đơn vị logic học (ALU : Arithmetic Logical Unit )
- Từ trạng thái chương trình (PSW : Prorgam Status Word)
- Bốn băng thanh ghi
- Con trỏ ngăn xếp
- Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian và logic.
Đơn vị xử lí trung tâm nhận trực tiếp xung từ bộ giao động, ngoài ra còn có khả năng đưa một tín hiệu giữ nhịp từ bên ngoài.
Chương trình đang chạy có thể cho dừng lại nhờ một khối điều khiển ngắt ở bên trong. Các nguồn ngắt có thể là : các biến cố ở bên ngoài, sự tràn bộ đếm định thời hoặc cũng có thể là giao diện nối tiếp.
Hai bộ định thời 16 bit hoạt động như một bộ đếm.
Các cổng (port0, port1, port2, port3 ). Sử dụng vào mục đích điều khiển.
Ở cổng 3 có thêm các đường dẫn điều khiển dùng để trao đổi với một bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp, cũng như các đường ngắt dẫn bên ngoài.
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ, làm việc độc lập với nhau. Tốc độ truyền qu ổng nối tiếp có thể đặt trong vảy rộng và được ấn định bằng một bộ định thời.
Trong vi điều khiển 8051 / 8031 có hai thành phần quan trọng khác đó là bộ nhớ và các thanh ghi :
Bộ nhớ gồm có bộ nhớ Ram và bộ nhớ Rom (chỉ có ở 8031) dùng để lưu trữ dữ liệu và mã lệnh.
Các thanh ghi sử dụng để lưu trữ thông tin trong quá trình xử lí. Khi CPU làm việc nó làm thay đổi nội dung của các thanh ghi.
2. Chức năng các chân vi diều khiển:
Hình 2.2 : Sơ Đồ Chân 8051
ÄTừ chân 1¸ 8 Port 1 (P1.0, . . ., P1.7) dùng làm Port xuất nhập I/O để giao tiếp bên ngoài.
ÄChân 9 (RST) là chân để RESET cho 8051.
ÄTừ chân 10¸17 là Port3 (P3.0, P3.1, . . ., P3.7) dùng vào hai mục đích: dùng là Port xuất / nhập I/O hoặc mỗi chân giữ một chức năng cá biệt được tóm tắt sơ bộ như sau :
l P3.0 (RXD) : Nhận dữ liệu từ Port nối tiếp.
l P3.1 (TXD) : Phát dữ liệu từ Port nối tiếp.
l P3.2 (INT0) : Ngắt 0 bên ngoài.
l P3.3 (INT1) : Ngắt 1 từ bên ngoài.
l P3.4 (T0) : Timer/Counter 0 nhập từ bên ngoài.
l P3.5 (T1) : Timer/Counter 1 nhập từ bên ngoài.
l P3.6 (WR) : Tín hiệu Strobe ghi dữ liệu lên bộ nhớ bên ngoài.
l P3.7 (RD) : Tín hiệu Strobe đọc dữ liệu lên bộ nhớ bên ngoài.
Ä Các chân 18,19 (XTAL2 và XTAL1) được nối với bộ dao động thạch anh 12 MHz để tạo dao động trên CHIP. Hai tụ 30 pF được thêm vào để ổn định dao động.
Ä Chân 20 (Vss) nối đất (Vss = 0).
Ä Từ chân 21¸28 là Port 2 (P2.0, P2.1, . . ., P2.7) dùng vào hai mục đích: làm Port xuất/nhập I/O hoặc dùng làm byte cao của bus địa chỉ thì nó không còn tác dụng I/O nữa. Bởi vì ta muốn dùng EPROM và RAM ngoài nên phải sử dụng Port 2 làm byte cao bus địa chỉ.
Ä Chân 29 (PSEN) là tín hiệu điều khiển xuất ra của 8051, nó cho phép chọn bộ nhớ ngoài và được nối chung với chân của OE (Out Enable) của EPROM ngoài để cho phép đọc các byte của chương trình. Các xung tín hiệu PSEN hạ thấp trong suốt thời gian thi hành lệnh. Những mã nhị phân của chương trình được đọc từ EPROM đi qua bus dữ liệu và được chốt vào thanh ghi lệnh của 8051 bởi mã lệnh.
Ä Chân 30 (ALE : Adress Latch Enable) là tín hiệu điều khiển xuất ra của 8051, nó cho phép phân kênh bus địa chỉ và bus dữ liệu của Port 0.
Ä Chân 31 (EA : Eternal Acess) được đưa xuống thấp cho phép chọn bộ nhớ mã ngoài đối với 8031.
Đối với 8051 thì :
- EA = 5V : Chọn ROM nội.
- EA = 0V : Chọn ROM ngoại
- EA = 21V : Lập trình EPROM nội.
Ä Các chân từ 32¸39 là Port 0 (P0.0, P0.1, . . . , P0.7) dùng cả hai mục đích : Vừa làm byte thấp cho bus địa chỉ, vừa làm bus dữ liệu, nếu vậy Port 0 không còn chức năng xuất nhập I/O nữa.
Ä Chân 40 (Vcc) được nối lên nguồn 5V.
3. Tổ chức bộ nhớ :
Bản đồ bộ nhớ data trên Chip như sau :
|
|
|
FF |
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
F0 |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
B |
||||||||||||||||||||||||||||
|
RAM đa dụng |
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
E0 |
E7 |
E6 |
E5 |
E4 |
E3 |
E2 |
E1 |
E0 |
ACC |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
D0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
PSW |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
30 |
|
|
B8 |
- |
- |
- |
BC |
BB |
BA |
B9 |
B8 |
IP |
||||||||||||||||||||||||||||
2F |
7F |
7E |
7D |
7C |
7B |
7A |
79 |
78 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
2E |
77 |
76 |
75 |
74 |
73 |
72 |
71 |
70 |
|
B0 |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
P.3 |
|||||||||||||||||||||
2D |
6F |
6E |
6D |
6C |
6B |
6A |
69 |
68 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
2C |
67 |
66 |
65 |
64 |
63 |
62 |
61 |
60 |
|
A8 |
AF |
|
|
AC |
AB |
AA |
A9 |
A8 |
IE |
|||||||||||||||||||||
2B |
5F |
5E |
5D |
5C |
5B |
5A |
59 |
58 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
2A |
57 |
56 |
55 |
54 |
53 |
52 |
51 |
50 |
|
A0 |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
P2 |
|||||||||||||||||||||
29 |
4F |
4E |
4D |
4C |
4B |
4A |
49 |
48 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
28 |
47 |
46 |
45 |
44 |
43 |
42 |
41 |
40 |
|
99 |
không được địa chỉ hoá bit |
SBUF |
||||||||||||||||||||||||||||
27 |
3F |
3E |
3D |
3C |
3B |
3A |
39 |
38 |
|
98 |
9F |
9E |
9D |
9C |
9B |
9A |
99 |
98 |
SCON |
|||||||||||||||||||||
26 |
37 |
36 |
35 |
34 |
33 |
32 |
31 |
30 |
|
|
|
|
||||||||||||||||||||||||||||
25 |
2F |
2E |
2D |
2C |
2B |
2A |
29 |
28 |
|
90 |
97 |
96 |
95 |
94 |
93 |
92 |
91 |
90 |
P1 |
|||||||||||||||||||||
24 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
|
|
|
|
||||||||||||||||||||||||||||
23 |
1F |
1E |
1D |
1C |
1B |
1A |
19 |
18 |
|
8D |
không được địa chỉ hoá bit |
TH1 |
||||||||||||||||||||||||||||
22 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
|
8C |
không được địa chỉ hoá bit |
TH0 |
||||||||||||||||||||||||||||
21 |
0F |
0E |
0D |
0C |
0B |
0A |
09 |
08 |
|
8B |
không được địa chỉ hoá bit |
TL1 |
||||||||||||||||||||||||||||
20 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
|
8A |
không được địa chỉ hoá bit |
TL0 |
||||||||||||||||||||||||||||
1F |
Bank 3 |
|
89 |
không được địa chỉ hoá bit |
TMOD |
|||||||||||||||||||||||||||||||||||
18 |
|
|
88 |
8F |
8E |
8D |
8C |
8B |
8A |
89 |
88 |
TCON |
||||||||||||||||||||||||||||
17 |
Bank 2 |
|
87 |
không được địa chỉ hoá bit |
PCOZ |
|||||||||||||||||||||||||||||||||||
10 |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
0F |
Bank 1 |
|
83 |
không được địa chỉ hoá bit |
DPH |
|||||||||||||||||||||||||||||||||||
08 |
|
|
82 |
không được địa chỉ hoá bit |
DPL |
|||||||||||||||||||||||||||||||||||
07 |
Bank thanh ghi 0 |
|
81 |
không được địa chỉ hoá bit |
SP |
|||||||||||||||||||||||||||||||||||
00 |
(mặc định cho R0 -R7) |
|
88 |
87 |
86 |
85 |
84 |
83 |
82 |
81 |
80 |
P0 |
||||||||||||||||||||||||||||
RAM CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT
Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự do dùng cách đánh địa chỉ trực tiếp hoặc gián tiếp. Ví dụ, để đọc nội dung ở địa chỉ 5FH của RAM nội vào thanh ghi tích lũy lệnh sau sẽ được dùng : MOV A, 5FH
Lệnh này di chuyển một búyt dữ liệu dùng cách đánh địa chỉ trực tiếp để xác định “địa chỉ nguồn” (5FH). Đích nhận dữ liệu được ngầm xác định trong mã lệnh là thanh ghi tích lũy A.
RAM bên trong cũng có thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua RO hay R1. Ví dụ, sau khi thi hành cùng nhiệm vụ như lệnh đơn ở trên :
MOV R0, #5FH
MOV A, @R0
Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0 và lệnh thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào thanh ghi tích lũy.
b.RAM địa chỉ hóa từng bit :
8051 / 8031 chứa 210 bit được địa chỉ hóa, trong đó 128 bit là ở các địa chỉ byte 20H đến 2FH, và phần còn lại trong các thanh ghi chức năng đặc biệt
Y tưởng truy xuất từng bit riêng rẽ bằng mềm là một đặc tín tiện lợi của vi điều khiển nói chung. Các bit có thể được đặt, xóa, AND,OR …với một lệnh đơn. Đa số các chi xử lí đòi hỏi một chuổi lệnh đọc – sữa – ghi để đạt được hiệu quả tương tự. Hơn nữa, các port I/0 cũng được địa chỉ từng bit làm đợn giản phần mềm xuất nhập từng bit.
Có 128 bit được địa chỉ hóa đa dụng ở các byte 20H đến 2FH. Các địa chỉ này được truy xuất như các byte hoặc các bit phụ thuộc vào lệnh được dùng. ví dụ, để đặt bit 67H, ta dùng lệnh sau :
SETB 67H
Chú ý rằng “địa chỉ bit 67H” là bit có trọng số lớn nhất (MSB) ở “địa chỉ byte 2CH” lệnh trên sẽ không tác động đến các bit khác của địa chỉ này.
c.Các bank thanh ghi :
32byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi. Bộ lệnh của 8051 / 8031 hổ trợ 8 thanh ghi (RO đến R7) và theo mặc định (sau khi Reset hệ thống) các thanh ghi này ở các địa chỉ 00H-07H. Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy.
MOV A,R5
Đây là lệnh một byte dùng địa chỉ thanh ghi. Tất nhiên, thao tác tương tự có thể được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai:
MOV A,05H
Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh tương ứng nhưng dùng địa chỉ trực tiếp. Các giá trị dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này.
Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bit chọn bank thanh ghi trong từ trạng thái chương trình (PSW). Giả sử rằng bank thanh ghi 3 được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H:
MOV R0,A
Y tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình nhanh và hiệu qủa (từng phần riêng rẽ của phần mềm sẽ có một bộ thanh ghi riêng không phụ thuộc vào các phần khác).
4. Các thanh ghi chức năng đặc biệt:
Các thanh ghi nội của 8051/8031 được truy xuất ngầm định bởi bộ lệnh. Ví dụ lệnh “INC A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1. Tác động này được ngầm định trong mã lệnh.
Các thanh ghi trong 8051/8031 được định dạng như một phần của RAM trên chip. Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trực tiếp, sẽ không có lợi khi đặt chúng vào trong RAM trên chip). Đó là lý do để 8051/0831 có nhiều thanh ghi. Cũng như R0 đến R7, có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Rgister) ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH. Chú ý rằng hầu hết 128 địa chỉ từ 80H đến FFH không được định nghĩa. Chỉ có 21 địa chỉ SFR là được định nghĩa.
Ngoại trừ tích lũy (A) có thể được truy xuất ngầm như đã nói, đa số các SFR được truy xuất dùng địa chỉ trực tiếp. chú ý rằng một vài SFR có thể được địa chỉ hóa bit hoặc byte. Người thiết kế phải thận trọng khi truy xuất bit và byte. Ví dụ lệnh sau:
SETB 0E0H
Sẽ Set bit 0 trong thanh ghi tích lũy, các bit khác không thay đổi. Ta thấy rằng E0H đồng thời là địa chỉ byte của thanh ghi tích lũy và là địa chỉ bit có trọng số nhỏ nhất trong thanh ghi tích lũy. Vì lệnh SETB chỉ tác động trên bit, nên chỉ có địa chỉ bit là có hiệu quả.
- Từ trạng thái chương trình:
Từ trạng thái chương trình (PSW: Program Status Word) ở địa chỉ D0H chứa các bit trạng thái như bảng tóm tắt sau:
Bit |
Ký hiệu |
Địa chỉ |
Y nghĩa |
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3
PSW.2 PSW.1 PSW.0 |
CY AC F0 RS1 RS0
OV
P |
D7H D6H D5H D4H D3H
D2H D1H D0H |
Cờ nhớ Cờ nhớ phụ Cờ 0 Bit 1 chọn bank thanh ghi Bit chọn bank thanh ghi. 00=bank 0; địa chỉ 00H-07H 01=bank 1: địa chỉ 08H-0FH 10=bank 2:địa chỉ 10H-17H 11=bank 3:địa chỉ 18H-1FH Cờ tràn Dự trữ Cờ Parity chẵn. |
Bảng 2.1: Từ trạng thái chương trình
- Cờ nhớ (CY) có công dụng kép. Thông thường nó được dùng cho các lệnh toán học: nó sẽ được set nếu có một số nhớ sinh ra bởi phép cộng hoặc có một số mượn phép trừ . Ví dụ, nếu thanh ghi tích lũy chứa FFH, thì lệnh sau:
ADD A,#1
Sẽ trả về thanh ghi tích lũy kết qủa 00H và set cờ nhớ trong PSW.
Cờ nhớ cũng có thể xem như một thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit. Ví dụ, lệnh sẽ AND bit 25H với cờ nhớ và đặt kết qủa trở vào cờ nhớ:
ANL C,25H
- Cờ nhớ phụ:
Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết qủa của 4 bit thấp trong khoảng 0AH đến 0FH. Nếu các giá trị cộng được là số BCD, thì sau lệnh cộng cần có DA A( hiệu chỉnh thập phân thanh ghi tích lũy) để mang kết qủa lớn hơn 9 trở về tâm từ 0¸9.
- Cờ 0
Cờ 0 (F0)là một bit cờ đa dụng dành các ứng dụng của người dùng.
- Các bit chọn bank thanh ghi
Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghi được tích cực. Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu cần. Ví dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh ghi R7 (địa chỉ byte IFH) đến thanh ghi tích lũy:
SETB RS1
SETB RSO
MOV A,R7
Khi chương trình được hợp dịch các địa chỉ bit đúng được thay thế cho các ký hiệu “RS1” và “RS0”. Vậy lệnh SETB RS1 sẽ giống như lệnh SETB 0D4H.
- Cờ Tràn
Cờ tràn (OV) được set một lệnh cộng hoặc trừ nếu có một phép toán bị tràn. Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này để xác định xem kết qủa của nó có nằm trong tầm xác định không. Khi các số không dấu được cộng, bit OV có thể được bỏ qua. Các kết qủa lớn hơn +127 hoặc nhỏ hơn –128 sẽ set bit OV.
- Thanh ghi B:
Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các phép toán nhân và chia. Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit trong A và B rồi trả về kết qủa 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ chia A cho B rồi trả về kết qủa nguyên trong A và phần dư trong B. Thanh ghi B cũng có thể được xem như thanh ghi đệm đa dụng. Nó được địa chỉ hóa ttừng bit bằng các địa chỉ bit FOH đến F7H.
- Con trỏ ngăn xếp:
Con trỏ ngăn xếp (SP) là một thanh ghi 8 bit ở địa chỉ 81H. Nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các lệnh trên ngăn xếp bao gồm các thao tác cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ dọc dữ liệu và làm giảm SP. Ngăn xếp của 8051/8031 được giữ trong RAM nội và được giới hạn các địa chỉ có thể truy xuất bằng địa chỉ gián tiếp. chúng là 128 byte đầu của 8051/8031.
Để khởi động lại SP với ngăn xếp bắt đầu tại 60H, các lệnh sau đây được dùng:
MOV SP,#%FH
Trên 8051/8031 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM trên chip là 7FH. Sở dĩ cùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ lệu đầu tiên.
Người thiết kế có thể chọn không phải khởi động lại con trỏ ngăn xếp mà để nó lấy giá trị mặc định khi reset hệ thống. Giá trị măc định đó là 07H và kết qủa là ngăn đầu tiên để cất dữ liệu có địa chỉ 08H. Nếu phần mềm ứng dụng không khởi động lại SP , bank thanh ghi 1 (có thể cả 2 và 3) sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp.
Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu giữ tạm thời và lấy lại dữ liệu hoặc được truy xuất ngầm bằng các lệnh gọi chương trình con (ACALL, LACALL) và các lệnh trở về (RET,RETI) để cất và lấy lại bộ đếm chương trình.
- Con trỏ dữ liệu:
Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở địa chỉ 82H(DPL: byte thấp) và 83H (DPH:byte cao). Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H:
MOV A,#55H
MOV DPTR,#1000H
MOVX @DPTR,A
Lệnh đầu tiên dùng địa chỉ tức thời để tải dữ liệu 55H vào thanh ghi tích lũy, lệnh thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữ liệu 16 bit 1000H vào con trỏ dữ liệu. Lệnh thứ ba dùng địa chỉ gián tiếp để di chuyển dữ liệu trong A (55H) đến RAM ngoài ở địa chỉ được chứa trong DPTR (1000H)
- Các thanh ghi port xuất nhập:
Các port của 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90 H, Port 2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H. Tất cả các Port đều được địa chỉ hóa từng bit. Điều đó cung cấp một khả năng giao tiếp thuận lợi.
- Các thanh ghi timer:
8051/8031 chứa 2 bộ định thời đếm 16 bit được dùng trong việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0:byte thấp) và 8CH (TH0:byte cao).Timer 1 ở địa chỉ 8BH (TL1:byte thấp) và 8DH (TH1: byte cao). việc vận hành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ 88H. Chỉ có TCON được địa chỉ hóa từng bit.
- Các thanh ghi port nối tiếp:
8051/8031 chức một port nối tiếp trên chip dành cho việc trao đổi thông tin với các thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp với các IC khác có giao tiếp nối tiếp (có bộ chuyển đổi A/D, các thanh ghi dịch..). Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả hai giữ liệu truyền và nhận. Khi truyền dữ liệu thì ghi lên SBUf, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp (SCON) (được địa chỉ hóa từng bit) ở địa chỉ 98H.
- Các thanh ghi ngắt:
8051/8031 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ 8AH. Cả hai thanh ghi được địa chỉ hóa từng bit.
- Các thanh ghi điều khiển công suất:
Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa nhiều bit điều khiển. Chúng được tóm tắt trong bảng sau:
BIT |
KÝ HIỆU |
MÔ TẢ |
7 |
SMOD |
Bit tăng gấp đôi tốc độ baud, bit này khi được set làm cho tốc độ baud tăng 2 ở các chế độ 1,2 và 3 của port nối tiếp |
6 |
_ |
Không định nghĩa |
5 |
_ |
Không định nghĩa |
4 |
_ |
Không định nghĩa |
3 |
GF1 |
Bit cờ đa mục đích 1 |
2 |
GF0 |
Bit cờ đa mục đích 2 |
1 |
PD |
Nguồn giảm; thiết lập để tích cực chế độ nguồn giảm, chỉ ra khỏi chế độ bằng reset. |
0 |
IDL |
Chế độ nghỉ; thiết lập để tích cực chế độ nghỉ, chỉ ra khỏi chế độ bằng 1 ngắt hoặc reset hệ thống. |
Bảng 2.2 :Thanh ghi điều khiển công suất (PCON)
5. Bộ nhớ ngoài.
8051/8031 có khả năng mở rộng bộ nhớ đến 64K bộ nhớ chương trình và 64K bộ nhớ dữ liệu bên ngoài. Do đó có thể dùng thêm ROM và RAM nếu cần.
Khi dùng bộ nhớ ngoài, port 0 không còn là một port I/O thuần túy nữa. Nó được hợp kênh giữa bus địa chỉ (A0-A7) và bus dữ liệu (D0-D7) với tín hiệu ALE để chốt byte thấp của địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ. Port 2 thông thường được dùng cho byte cao của bus địa chỉ.
Trong nửa đầu của mỗi chu kỳ bộ nhớ, byte thấp của địa chỉ được cấp trong port 0 và được chốt bằng xung ALE. Một IC chốt 74HC373 (hoặc tương đương) sẽ giữ byte địa chỉ thấp trong phần còn lại của chu kỳ bộ nhớ. Trong nửa sau của chu kỳ bộ nhớ port 0 được dùng như bus dữ liệu và được đọc hoặc ghi tùy theo lệnh.
a. Truy xuất bộ nhớ chương trình ngoài:
Bộ nhớ chương trình ngoài là mộ IC ROM được phép bởi tín hiệu PSEn. Hình sau mô tả cách nối một EPROM vào 8051/8031:
Hình 2.5 Giao tiếp giữa 8051/8031 và EPROM
Một chu kỳ máy của 8051/8031 có 12 chu kỳ xung nhịp. Nếu bộ dao động trên chip được lái bởi một thạch anh 12MHz thì chu kỳ máy kéo dài 1ms. Trong một chu kỳ máy sẽ có 2 xung ALE và 2 byte được đọc từ bộ nhớ chương trình (nếu lệnh hiện hành là một byte thì byte thứ hai sẽ được loại bỏ). Giản đồ thời gian của một lần lấy lệnh được vẽ ở hình sau:
Hình 2.3: Giản đồ thời gian đọc bộ nhớ chương trình ngoài.
b. Truy xuất bộ nhớ dữ liệu ngoài:
Hình 2.4: Giao tiếp giữa 8051/8031 và RAM
Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được cho phép ghi/đọc bằng các tín hệu WR và RD (các chân P3.6 và P3.7 thay đổi chức năng). chỉ có một cách truy xuất bộ nhớ dữ liệu ngoài là với lệnh MOVX dùng con trỏ dữ liệu (DPTR) 16 bit hoặc R0 và R1 xem như thanh ghi địa chỉ.
Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051/8031 cũng giống EPROM và do đó cũng có thể lên đến 64 byte bộ nhớ RAM. Ngoài ra, chân RD của 8051/8031 được nối tới chân cho phép xuất (OE) của RAM và chân WR được nối tới chân ghi (WR) của RAM.
Hình 2.5: giải mã địa chỉ
Sự giải mã địa chỉ :
Đó là một yêu cầu tất yếu để chọn Eprom, Ram, … Sự giải mã địa chỉ đối với 8051để chọn các vùng nhớ ngoài. Nếu các con Eprom hoặc Ram 8K được dùng thì các bus địa chỉ phải được giải mã để chọn các IC nhớ nằm trong phạm vi giới hạn 8K: 0000H – 1FFFH; 2000H – 3FFFH; … Cụ thể là Ic 74LS138 được dùng với những ngõ ra của nó nối với những ngõ vào chọn chip CS trên những IC nhớ Eprom, Ram, …
Sự đè lên nhau của các vùng nhớ dữ liệu ngoài :
Vì bộ nhớ chương trình là Eprom nên nảy sinh một vấn đề bất tiện khi phát triển phần mềm cho vi điều khiển. Một nhược điểm chung của 8051 là các vùng nhớ dữ liệu ngoài nằm đè lên nhau, vì tín hiệu PSEn\ được dùng để đọc bộ nhớ mã ngoài và tín hiệu RD\ được dùng để đọc bộ nhớ dữ liệu , nên một bộ nhớ Ram có thể chứa cả chương trình và dữ liệu bằng cách nối đường OE\ của Ram nên ngõ ra một cổng And có hai ngõ vào là RD\ và PSEN\ .
Giản đồ thời gian cho lệnh đọc bộ nhớ dữ liệu ngoài được vẽ trên hình sau đối với lệnh MOVX A, @DPTR:
Hình 2.6: Giản đồ thời gian của lệnh MOVX
Giản đồ thời gian cho lệnh ghi (MOVX @DPTR, A) cũng tương tự chỉ khác đường WR sẽ thay vào đường RD và dữ liệu được xuất ra trên port 0 (RD vẫn giữ mức cao).
6. Lệnh reset:
8051/8031 được reset bằng cách giữ chân RST ở mức cao ít nhất trong 2 chu kỳ máy và trả nó về múc thấp. RST có thể được kích khi cấp điện dùng một mạch R-C.
Hình 2.7: Mạch reset hệ thống.
Khi mới cấp nguồn thì mạch sẽ tự động reset và chân Reset ở mức cao trong thời gian là: T = R.C = 8,2.103 * 10.10-6 = 82 ms
Khi ta nhấn nút Reset thì điện áp trên chân Reset là:
V = 5*8,2/(100+8,2.103) =
Trạng thái của tất cả các thanh ghi của 8051/8031 sau khi reset hệ thống được tóm tắt trong bảng sau:
Thanh ghi |
Nội dung |
Đếm chương trình Tích lũy B PSW SP DPTR Port 0-3 IP IE Các thanh ghi định thời SCON SBUF PCON(HMOS) PCON(CMOS) |
0000H 00H 00H 00H 07H 0000H FFH XXX00000B 0XX00000B 00H 00H 00H 0XXXXXXB 0XXX0000B |
Bảng 2.3: Trạng thái các thanh ghi sau khi reset
Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình, nó được đặt lại 0000H. Khi RST trở lại mức thấp, việc thi hành chương trình luôn bắt đầu ở địa chỉ đầu tiên trong bộ nhớ trong chương trình: địa chỉ 0000H. Nội dung của RAM trên chip không bị thay đổi bởi lệnh reset.
CHƯƠNG III : KHÁI QUÁT VỀ HỒNG NGOẠI
-
Giới thiệu về LED phát và LED thu:
- LED phát:
VLED = 1.7 ~ 2.4V
ILED = 5 ~ 20mA
- LED thu
VCC = 5V
-
Giới thiệu về IC SZ9148 và SZ9149:
- Giới thiệu về IC SZ9148:
Mạch điện IC SZ9148 sử dụng công nghệ CMOS qui mô lớn để chế tạo là một loại linh kiện phát xa mã hoá tia hồng ngoại rất thông dụng,phạm vi điện áp nguồn điện là 2.2~5.5V.Vì sử dụng công nghệ CMOS để chế tạo nên công suất tiêu hao cực thấp,dòng điện trạng thái tĩnh chỉ 10µA,nó có thể sử dụng nhiều tổ hợp phím ,linh kiện bên ngoài rất ít,mã số của nó thích hợp với nhiều qui mô khác,chỉ cần nối ngoài linh kiện LC hoặc bộ dao động gốm là có thể gây ra dao động.
- Sơ dồ chân:
BL9148
1.Chức năng của các chân dẫn:
IC SZ 9148 sử dụng 16 chân vỏ nhựa kiểu cắm thẳng hàng.
Chân 1:Vss là đầu âm của dòng điện nối với đất.
Chân 2: XT là đầu vào của bộ phận phân tần bên trong:
Chân 3: XTN là đầu ra của bộ dao động bên trong,bên trong nó không có điện trở phản hồi.
Chân 4 đến chân 9: (k1-k6) là đoạn đầu vào tín hiệu của bàn phím kiểu ma trận.
Chân 10 đến chân 12:T1-T3 kết hợp với các chân k1 đến k6 có thể tạo thành 18 phím.
Chân 13:(CODE) là đầu vào của mã số,dùng mã sốp để truyền tải và tiếp nhận.
Chân 14: (TEST) là đầu đo thử,bình thường khi sử dụng cò thể bỏ trống.
Chân 15: (Txout) là đầu ra tín hiệu truyền tải tín hiệu 12 bit thành một chu kì,sử dụng sóng mang 38khz để điều chế.
Chân 16: (Vcc) là đầu dương của nguồn điện nối với điện áp một chiều 2.2-5.5V,điện áp làm việc bình thường 3V.
Tham số cực hạn của IC SZ 9148:
Bảng:
Tham số |
Ký hiệu |
Gía trị cực hạn |
Đơn vị |
Điện áp nguồn điện |
VOO |
6.0 |
V |
Đầu vào/ra điện áp |
VIN |
VSS-3v~VDD+3V |
V |
Công suất tổn hao |
PD |
200 |
MW |
Nhiệt độ làm việc |
TOPP |
-200~75 |
OC |
Nhiệt độ cất giữ |
TSFG |
-55~125 |
OC |
Dòng điện đầu ra(Iout) |
Iout |
-5 |
mA |
Mục lục |
Kí hiệu |
Điều kiện đo thử |
Nhỏ nhất |
Điển hỉnh |
Lớn nhất |
Đơn vị |
|||||||||
Điện áp nguồn điện |
VDD |
Tất cả chức năng thao tác |
2.2 |
_ |
5.0V |
V |
|||||||||
Dòng điên làm việc |
IDD |
Phím thông không phụ tải |
_ |
_ |
1.0 |
Ma |
|||||||||
Dòng điện trạng thái bão hoà |
IDS |
Phím mở không dao động |
_ |
_ |
10 |
µA |
|||||||||
|
|
|
|
|
|
|
|||||||||
Đầu vào |
k1 ÷ k5 code |
Điện áp đầu vào |
Mức điện cao |
VIH |
- |
2.0 |
- |
3.0 |
V |
|
|||||
Mức điện thấp |
VIL |
- |
0 |
- |
0.5 |
V |
|
||||||||
k2 ÷ k6 |
Dòng điện đầu vào |
Mức điện cao |
IIH |
VIH = 3V |
20 |
30 |
60 |
µA |
|
||||||
Mức điện thấp |
IIL |
VIL = 0V |
-1.0 |
- |
1.0 |
µA |
|
||||||||
Code Test |
Dòng điện đầu vào |
Mức điện cao |
IIH |
VIH = 3V |
-1.0 |
- |
1.0 |
µA |
|
||||||
Mức điện thấp |
IIL |
VIL = 0V |
20 |
30 |
60 |
µA |
|
||||||||
Đầu ra |
k1 ÷ k3 |
Dòng điện đầu ra |
Mức điện cao |
IOH |
VOH = 2V |
- |
- |
- 500 |
µA |
|
|||||
Mức điện thấp |
IOL |
VOL = 3V |
-50 |
- |
- |
µA |
|
||||||||
Txo ut |
Dòng điện đầu ra |
Mức điện cao |
IOH |
VOH = 2V |
- |
- |
-0.1 |
mA |
|
||||||
Mức điện thấp |
IOL |
VOL = 2V |
1.0 |
- |
- |
mA |
|
||||||||
Điện trở phản hồi bộ dao động |
R |
- |
- |
500 |
- |
K¿ |
|
||||||||
Công suất dao động |
Fosc |
- |
400 |
455 |
600 |
KHz |
|
||||||||
Nguyên lý hoạt động:
Trong IC SZ 9148 có chứa bộ đảo pha CMOS là điện trở định thiên cùng nối bộ dao động bằng thạch anh hoặc mạch điện dao động cộng hưởng.Khi tần số của bộ dao động thiết kế xác định là 455kHz. Chỉ khi có thao tác nhấn phím mới có thể tạo ra dao động, vì thế đảm bảo công suất của nó tiêu hao thấp. Bởi nó có thể thông qua các chân k1 đến k6 và đầu ra thứ tự thời gian chân T1 đến T3 để tạo ra bàn phím 6x3 theo kiểu ma trận Tại T1 sáu phím được sắp xếp có thể tuỳ chọn đế tạo thành 63 trạng thái tín hiệu liên tục đưa ra được trình bày ở hình sau:
**************************************************************
GET_KEY: Đọc trạng thái bàn phím
_ Trả về C = 0 nếu không có phím ấn.
_ Trả về C = 1 và mã số HEX trong ACC nếu có phím ấn.
***************************************************************
GET_KEY: MOV A,#0FEH ; bắt đầu với cột 0
MOV R6,#4 ; sử dụng R6 làm phổ biến
TEST: MOV P1,A ; tích cực cột
MOV R7,A ; lưu ACC
MOV A,P1 ; đọc trở lại P1
ANL A,#0F0H ; cách ly các hàng
CJNE A,#0F0H,KEY_HIT; hàng tích cực?
MOV A,R7 ; không: di chuyển tới
RL A ; cột kế
DJNZ R6,TEST ;
CLR C ; không có phím được ấn
SJMP EXIT ; quay về với C = 0
KEY_HIT: MOV R7,A ; lưu trong R7
MOV A,#4 ; chuẩn bị tính
CLR C ; trọng số của cột
SUBB A,R6 ; 4 – R6 = trọng số
MOV R6,A ; lưu trong R6
MOV A,R7 ; phục hồi mã quét
SWAP A ; đặt trong 4 bit thấp
MOV R5,#4 ; dùng R5 làm bộ đếm
AGAIN: RRC A ; quay về cho đến khi = 0
JNC DONE ; thực thi xong khi C = 0
INC R6 ; cộng 4 cho đến khi
INC R6 ; tìm thấy hàng tích cực
INC R6
INC R6
DJNZ R5,AGAIN
DONE: SETB C ; C =1 (có phím được ấn)
MOV A,R6 ; mã trong A
EXIT: RET
- Thi công:
- Sau khi đã tính toán thiết kế trên cơ sở lý thuyết, nhóm chúng em tiến hành thi công hệ thống. Công việc thi công được thực hiện qua các bước sau:
- Thiết kế mạch in:
Vì mạch cũng không phức tạp lắm nên chúng em vừa sử dụng phần mềm ORCAD, vừa vẽ tay để thiết kế mạch in.
- Chuẩn bị:
Trong thời gian chờ gia công mạch in giải quyết các vấn đề sau:
Lập bảng liệt kê và mua linh kiện.
Thiết kế hộp đựng mạch điều khiển
Lắp thử một số mạch trên testboard để kiểm tra một số linh kiện trong hệ thống.
Viết và nạp chương trình điều khiển vào IC.
- Lắp ráp linh kiện và kiểm tra:
Để đảm bảo không gặp sự cố khi lắp ráp toàn bộ linh kiện lên mạch in, nhóm chọn phương pháp lắp và kiểm tra từng bộ phận, sau khi bộ phận đó hoạt động tốt rồi mới tiến hành lắp ráp bộ phận kế tiếp.
- Thiết kế mạch điều khiển động cơ cửa:
Do động cơ quay với tốc độ cao nhưng Momen nhỏ nên chúng em thiết kế bộ giảm tốc để tăng Momen và cũng để giảm tốc độ đóng mở của cửa.
CHƯƠNG KẾT LUẬN
Trên đây là toàn bộ quy trình thi công lắp ráp mạch cửa hàng thông minh của chúng em. Hơn một tháng làm việc không mệt mỏi, cuối cùng nhóm chúng em đã hoàn thành, có thể nói đây là một đề tài lớn nhất của chúng em từ khi được học tại trường. Nó là thành quả mà chúng em đạt được sau hai năm học tập và tìm tòi. Với thời gian hạn hẹp và trình độ còn hạn chế, có thể đề tài do chúng em thực hiện còn nhiều khuyết điểm và thiếu sót, chúng em mong có được sự thông cảm và đóng góp ý kiến của quý thầy cô. Chúng em xin chân thành cảm ơn.
Hướng Phát Triển Đề Tài :lắp thêmhệ thống báo cháy và hoàn thiện cửa tự động dùng hồng ngoại để có được một cửa hàng thật sự thông minh như mọi người mong muốn. Đó là một vài suy nghĩ của chúng em. Nếu có được điều kiện thuận lợi và được quý thầy cô giúp đỡ, nhất định chúng em sẽ cố gắng thực hiện được nó.
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
- Họ vi điều khiển 8051 –TỐNG VĂN ON
- Các tài liệu đồ án tốt nghiệp khoá 2002 _ 2005
- www.princeton.com.tv
- www.alldatasheet.com
- www.datasheet4u.com