Thiết kế chi tiết.
Các thiết bị ngoại vi.
Real - Time Clock DS12887.
3.2.1.1. Chức năng của các chân:
Có 24 chân:
AD0– AD7 – Multiplexed Address/Data Bus.
N.C _ No Connection.
MOT _ Bus Type Selection.
_ Chip Select.
AS _ Address Strobe.
R/ _ Read/Write Input.
DS _ Data Strobe.
_ Reset Input.
_ Interrupt Request Output.
SQW _ Square – Wave Output.
Vcc _ +5V Supply.
GND _ Grounnd.
Hình 3. Sơ đồ chân của DS12887.
3.2.1.2. Những nét đặc trưng của DS12887.
DS12887 có thể tha
30 trang |
Chia sẻ: huyen82 | Lượt xem: 1804 | Lượt tải: 0
Tóm tắt tài liệu Đồng hồ trường học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
y thế cho đồng hồ/lịch trong máy tính của IBM.
Chân của DS12887 tương thích với DS1287 và MC146818B.
Dữ liệu hoàn toàn không mất đi khi không cấp nguồn trong hơn 10 năm.
Bản thân DS12887 có chứa một số thành phần phụ: tự cập nhật (includes lithium), đồng hồ clock, nguồn dự phòng.
Tự đếm giây, phút, giờ, ngày trong tuần, ngày trong tháng, tháng và năm với năm nhuận hợp lý.
Các giá trị trong thanh ghi có thể viết dưới dạng Binry hoặc BCD.
Có 2 chế độ đặt giờ: 12 giờ có AM và PM hoặc 24 giờ.
Việc đặt lại thời gian có thể tự chọn.
Có thể chọn chế độ bus của Motorola hoặc của Intel.
Có 128 byte RAM: 14 byte dành cho thanh ghi điều khiển và clock, 114 byte là dành cho người dùng (of general-purpose RAM).
Tín hiệu xung vuông tạo ra với tần số có thể lập trình được.
Chân đưa xung tạo ngắt tương thích với bus là .
Có 3 loại ngắt: Ngắt update thời gian 1 giây 1 lần, ngắt theo chu kỳ từ 122ms ÷ 500ms, ngắt theo sự kiện. Làm việc trong dải nhiệt độ 00C ÷ 700C.
3.2.1.3. Hoạt động và chức năng của các chân.
Hình 4. Sơ đồ hoạt động và chức năng của các chân DS12887.
Power-Up/Down: RTC hoạt động update thời gian và tất cả các dữ liệu trong RAM được lưu giữ không quan tâm tới nguồn cấp Vcc. Khi nguồn cấp trong phạm vi lớn hơn 4,25V thiết bị sẽ được truy cập sau 200ms, do oscillotor bên trong, đây cũng là thời gian để ổn định hệ thống bên trong.
Khi điện áp vào Vcc < 4,25V, chip-select input sẽ chịu tác động ở bên trong không tích cực, không quan tâm đến giá trị đầu vào . Do đó không thể viết được bất kỳ dữ liệu gì vào trong RTC (write-protected). Ở trạng thái này tất cả các chân vào bị được bỏ qua, các chân ra cao trở.
Khi điện áp Vcc ở mưc dưới hoặc xấp xỉ 3V RTC được cấp nguồn dự phòng bên trong để RTC tự update thời gian và lưu dữ liệu trong RAM.
Khi không có nguồn việc update thời gian có độ chính xác là: ± 1 giây trong 1 tháng ở 250C.
Vcc, GND: Cung cấp nguồn một chiều Vcc = 5V, cho phép truy cập dữ liệu vào ra. Khi Vcc < 4,25V không cho phép đọc viết, tuy nhiên dữ liệu trong RAM được lưu giữ RTC vẫn sử dụng nguồn ngoài. Vcc < 3V việc lưu giữ và update thời gian sẽ sử dụng nguồn bên trong.
MOT (Mode select): Chọn chế độ bus cho RTC. Khi chân này nối với Vcc thì mode của Motorola được chọn. Nối với GND mode của Intel được chọn.
SQW (Square -Wave Output): Chân này phát xung vuông với tần số tuỳ theo người lập trình viết giá trị thích hợp vào thanh ghi A, RTC không hoạt động khi Vcc < 4,25V.
Bảng 2. Bảng các tần số có thể lập trình được cho DS12887.
Select Bits Register A
TP1 Periodic Interrupt Rate
SQW Output Frequency
RS3
RS2
RS1
RS0
0
0
0
0
None
None
0
0
0
1
3.90625ms
256Hz
0
0
1
0
7.8125ms
128Hz
0
0
1
1
122.070µs
8.192kHz
0
1
0
0
244.141µs
4.096kHz
0
1
0
1
488.281µs
2.048kHz
0
1
1
0
976.5625µs
1.024kHz
0
1
1
1
1.953125ms
512Hz
1
0
0
0
3.90625ms
256Hz
1
0
0
1
7.8125ms
128Hz
1
0
1
0
15.625ms
64Hz
1
0
1
1
31.25ms
32Hz
1
1
0
0
62.5ms
16Hz
1
1
0
1
125ms
8Hz
1
1
1
0
250ms
4Hz
1
1
1
1
500ms
2Hz
AD0–AD7 (Multiplexed Bidirectional Address/Data Bus): Là bus chứa cả địa chỉ và dữ liệu trên cùng đường tín hiệu. Phần địa chỉ sẽ xuất hiện trong phần đầu tiên của một chu kỳ bus, phần thứ hai dành cho dữ liệu của chu kỳ. Sự chuyển đổi từ địa chỉ sang dữ liệu trong thời gian truy nhập RAM trong. Khi chốt địa chỉ thì AS/ALE ở mức thấp. Tiếp theo là dữ liệu sau khi DS hoặc tích cực trong chu kỳ viết. DS hoặc tích cực trong chu kỳ đọc. Khi kết thúc bus ở trạng thái cao trở khi DS ở mức thấp (trong chế độ bus của Motorola) hoặc không tích cực (trong chế độ bus của Intel).
AS (Address Strobe Input): Khi AS/ALE thấp địa chỉ được chốt trong DS12887.
DS (Data Strobe or Read Input): Chân DS/ có hai chế độ hoạt động, nó phụ thuộc vào mức của chân MOT. Khi MOT ở mức cao (chế độ Motorola), DS ở mức cao trong suốt phần còn lại của chu kỳ có tên là data strobe. Trong chu kỳ đọc tín hiệu DS điều khiển bus 2 chiều, trong chu kỳ viết dùng để chốt dữ liệu. Khi MOT ở mức thấp (chế độ bus của INTEL),DS được gọi là . Khi có tín hiệu thì DS12887 sẽ điều khiển bus đọc dữ liệu (giống như Output Enable).
R/ (Read/Write Input): Có hai chế độ:
Nếu bus kiểu Motorola R (Read) ở mức cao, (Write) ở mức thấp.
Nếu bus kiểu Intel R/ ở mức thấp giống như Output Enable.
(Chip - Select Input): Ở mức thấp để khi truy cập DS12887.
Hình 5. Đa hợp Bus địa chỉ và Bus dữ liệu của DS12887.
Bảng 3. Các tín hiệu trong chu kỳ hoạt động Bus của DS 12887.
AC ELECTRICAL CHARACTERISTICS (Vcc = 4,5V to 5,5V, 00C to +700C)
PARAMETER
SYMBOL
MIN
TYP
MAX
UNITS
NOTES
Cycle Time
TCYC
385
DC
ns
Pulse Width, DS/E Low or RD/ High
PWEL
150
ns
Pulse Width, DS/E High or RD/ Low
PWEH
125
ns
Input Rise and Fall Time
tR, tF
30
ns
R/Hold Time
tRWH
10
ns
R/Setup Time Before DS/E
tRWS
50
ns
Chip-Select Setup Time BeforeDS,, or
tCS
20
ns
Chip- Select Hold Time
tCH
0
ns
Read- Data Hold Time
tDHR
10
80
ns
Write- Data Hold Time
tDHW
0
ns
Muxed Address Valid Time to AS/ALE Fall
tASL
30
ns
Muxed Address Hold Time
tASH
10
ns
Delay Time DS/E to AS/ALE Rise
tASD
20
ns
Pulse Width AS/ALE High
PWASH
60
ns
Delay Time, AS/E to DS/E Rise
tASED
40
ns
Output Data Delay Time From DS/E or
tDDR
20
120
ns
6
Data Setup Time
tDSW
100
ns
Reset Pulse Width
tRWL
5
µs
Release from DS
tIRDS
2
µs
Release from
tIRR
2
µs
(Interrupt Request Ouput): Là một đầu ra tích cực thấp của DS12887, có thể được sử dụng làm một ngắt đầu vào cho vi xử lý.
(Reset Input): Chân này không ảnh hưởng tới giá trị của thanh ghi.Khi reset hoặc nguồn dưới 4,25V thì:
Các bit PEI, AIE, UF, IRQF, PF, AF, SQWE,UIE được xoá xuống 0.
Không cho phép truy cập cho đến khi RESET ở mức cao.
IRQ ở trạng thái cao trở.
Khi sử dụng DS12887 được nối với nguồn thì các thanh ghi điều khiển không bị ảnh hưởng.
3.2.1.4. Tổ chức bộ nhớ.
RTC12887 gồm 128 byte NV-RAM.
10 byte ghi thời gian và lịch.
4 byte dành cho điều khiển và đặt chế độ hoạt động của RTC.
114 byte RAM đa mục đích dành cho người sử dụng.
0
13
14
127
14 byte
00
0D
0E
7F
0
1
2 3 4
5 6 7 8 9 10 11 12 13
Seconds Seconds alarm Minutes Minutes alarm Hours Hours alarm Day of week Day of month Month
Year
Register A
Register B
Register C
Register D
Hình 6. Tổ chức bộ nhớ của DS12887.
Bảng 4. Địa chỉ của các thanh ghi chức năng của DS12887.
ADDRESS LOCATION
FUNTION
DECIMAL RANGE
DATA MODE RANGE
BINARY
BCD
0
Seconds
0 – 59
0 – 3B
00 – 59
1
Seconds Alarm
0 – 59
0 – 3B
00 – 59
2
Minutes
0 – 59
0 – 3B
00 – 59
3
Minutes Alarm
0 – 59
0 – 3B
00 – 59
4
Hours, 12-hour Mode
1 – 12
01– 0C AM, 81 – 8C PM
01– 12 AM, 81 – 92 PM
Hours, 24-hour Mode
0 – 23
00 – 17
0 – 23
5
Hours Alarm, 12-hour
1 – 12
01– 0C AM, 81 – 8C PM
01– 12 AM, 81 – 92 PM
Hours Alarm, 24-hour
0 – 23
00 – 17
0 – 23
6
Day of the week Sunday = 1
1 – 7
01 – 07
01 – 07
7
Date of the Month
1 – 31
01 – 1F
01 – 31
8
Month
1 – 12
01 – 1F
01 – 12
9
Year
0 – 99
00 – 63
00 - 99
Thanh ghi A:
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
UIP
DV2
DV1
DV0
RS3
RS2
RS1
RS0
UIP: Bit được set khi có ngắt, được xoá khi thực hiện update xong hoặc khi reset..
DV0 ÷ DV2: Các bit khởi động cho oscillater (010).
RS0 ÷ RS3: Các bit định tần số hoạt động của chân SQW.
Thanh ghi B:
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
IRQE
PF
AF
UF
0
0
0
0
IRQF: Bit cho phép tất cả các ngắt.
PF : Bit cho phép ngắt periodic.
AF : Bit cho phép ngắt alarm.
UP : Bit cho phép ngắt update.
Các bit trên phải được đọc để xoá về 0 thì mới gọi ngắt hoặc có thể được xoá về 0 khi reset.
Thanh ghi C:
BIT7
BIT6
BIT5
BIT4
BIT3
BIT2
BIT1
BIT0
SET
PIE
AIE
UIE
SQWE
DM
24/12
DSE
SET :Không ảnh hưởng khi reset, 0: update theo mỗi giây, 1: update theo chương trình đặt.
PIE :Cho phép ngắt periodic được xoá bởi reset.
AIE :Cho phép ngắt alarm được xoá bởi reset.
UIE :Cho phép ngắt update được xoá bởi reset.
SQWE :Cho phép phát xung ở chân SQW được xoá bởi reset.
DM :Chế độ viết Binary hay BCD.
24/12 :Chế độ đặt 24 giờ hay 12 giờ..
DSE :Chế độ đặt giờ theo mùa.
Nhiệt kế điện tử.
3.2.2.1. Mạch tương tự.
a) Chọn linh kiện.
Dải đo nhiệt độ môi trường trong khoảng 00C ÷ 1000C. Dùng cảm biến LM335 và mạch trừ có khuyếch đại.
Hoạt động của LM335: Khi bơm dòng 400 mA ÷ 5 mA cho cảm biến thì điện áp đầu ra biến thiên theo nhiệt độ: 10mV/10K.
Cách ghép nối như sau:
Hình 7. Đầu ra của LM335.
b) Tính toán các thông số.
Dòng cấp cho LM335 400 mA ÷ 5 mA do đó:
400 mA < <5 mA
< R <
Vì: 2,73 V < V0 < 3,73V Nên: 254 < R <5,7k. (1)
Mặt khác, theo thông số của nhà sản xuất điện áp trên LM335 tại Tc = 250C, IR = 1mA thì điện áp V0 = 2,98(V) ta có:
400 mA << 5mA. (2)
Từ (1) và (2) ta chọn R =1k.
Chọn biến trở chỉnh offset VR = 2k.
Mạch khuyếch đại được thiết kế như hình trên với dòng cấp là 1mA. Đây là mạch chuẩn hoá đầu ra cảm biến để vào ADC. Với mạch này thì đầu vào là cảm biến cỡ V0 = 2,73 V + 0,01T0C. Khoảng biến thiên điện áp trong dải nhiệt độ từ 00C ÷ 1000C là 1V. Trong khi đó yêu cầu mạch dùng bộ chuyển đổi tín hiệu tương tự sang số ADC0809 có mức điện áp từ 0V ÷ 5V. Ta phải sử dụng mạch trừ có khuyếch đại:
Hình 8. Chuẩn hoá tín hiệu vào.
Đây là mạch vi sai nên các điện trở dùng để cân bằng dòng bias được chọn phải chính xác theo tỷ số. Không thể chọn theo ký hiệu mà phải đo giá trị thực. Bằng không tín hiệu ra sẽ không chuẩn.
Theo hình trên thì: V3 = (V2 – V1 ) = 4,7 (V2 – V1).
Trong đó: V1 = V0 = 2,73V + 0,01T0C
Chỉnh cho V2 = 2,73V. Vậy V3 = 0,01T0C x 4,7V.
Chỉnh biến trở sao cho V4 = V5 = 0,01T0C x 4.
Vậy giả sử ở 250C thì điện áp vào ADC sẽ là: 0,01 x 25 x 4 = 1V.
3.2.2.2. Mạch số.
Chọn linh kiện.
Do không cần thiết phải chính xác lắm nên việc chuyển đổi từ tín hiệu tương tự sang số nên chọn ADC0809 thông dụng, rẻ và hoạt động tốt.
Tính chất nguyên tắc hoạt động của linh kiện
Bộ ADC0809 là một thiết bị CMOS 28 chân, tích hợp với một bộ chuyển đổi từ tương tự sang số 8 bit, bộ chon 8 kênh và một bộ logic đièu khiển tương thích. bộ chuyển đổi AD 8 bit này dùng phương pháp chuyển đổi xấp xỉ dần. Bộ chọn kênh có thể truy xuất bất kỳ kênh nào trong các kênh vào tương tự một cách độc lập.
Thiết bị loại này trừ khả năng điều chỉnh điểm zero bên ngoài và khả năng điều chỉnh tỷ số làm tròn ADC0809 dễ dàng giao tiếp với các bộ vi xử lý.
Sơ đồ chân ADC0809:
ADC0809
28 15
1 14
IN2 IN1 IN0 A B C ALE 2-1 2-2 2-3 2-4 2-8 REF 2-6
START
IN3 IN4 IN5 IN6 IN7
EOC 2-5 OE CLK VCC REF GND 2-7
Hình 9. Sơ đồ chân của ADC0809.
Ý nghĩa các chân:
IN0 ÷ IN7 : 8 kênh vào tương tự.
A, B, C : giải mã chọn 1 trong 8 kênh đầu vào.
Z-1 ÷ Z-8 : đầu ra song song 8 bit Z-1 (MSB)÷ Z-8(LSB).
ALE : cho phép chốt địa chỉ.
START : xung bắt đầu chuyển đổi.
CLK : xung clock.
REF(+) : điện thế chuẩn (+).
REF(-) : điện thế chuẩn (-).
Vcc : Nguồn cung cấp.
Các đặc điểm của ADC0809:
Độ phân dải 8 bit.
Tổng sai số chưa chỉnh định ± ½ LSB; ± 1LSB.
Thời gian chuyển đổi : 100 ms ở tần số 200kHz ÷ 1MHz.
Dải tín hiệu analog từ 0 ÷ 5V khi điện áp nguồn nuôi +5V.
Dòng tiêu thụ :0,3 m A.
Nhiệt độ làm việc: - 550C ÷ 1250C.
Nguyên lý hoạt động:
ADC0809 có 8 kênh vào tương tự, lối ra song song 8 bit. Các kênh vào được chọn bằng cách giải mã. Chọn 1 trong 8 kênh vào tương tự được thực hiện nhờ 3 chân ADDA, ADDB, ADDC như bảng trạng thái sau:
Bảng 5. Mã hoá các đầu váo của ADC.
C
B
A
Kênh vào được chọn
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
Trong hệ thống ta chỉ sử dụng kênh 0 (IN0) nên nối các chân ADDA, ADDB, ADDC xuống đất.
Chân START-ALE của ADC809 được nối với P1.3 của vi xử lý.
Chân EN (enable) của ADC0809 được nối với chân P1.4 của vi xử lý.
Mạch tạo xung clock cho ADC0809 :
Dùng thạch anh 500kHz qua NAND 4011 tạo dao động làm xung clock cho ADC.
Hình 10. Mạch tạo xung clock cho ADC.
Khối phím ấn.
Hệ thống gồm 5 phím ấn, các phím có chức năng đặt chế độ hoạt động của hệ thống (RUN, STOP); đặt lại giờ, phút, ngày, tháng, năm và đặt các kiểu đánh chuông, giờ đánh chuông.
Năm phím gồm: FUNC, +, -, OK, RUN:
FUNC : Chọn chế độ đặt
+ : Tăng giá trị đặt.
- : Giảm giá trị đặt.
OK : Đồng ý với chế đã độ đặt, ghi vào bộ nhớ giá trị đặt.
RUN : Trạng thái hoạt động bình thường với các chế độ đã đặt.
Dùng vi mạch 74LS148 để giải mã bàn phím. Các phím sẽ được đưa vào vi xử lý dưới dạng mã, đồng thời khi có nút phím ấn vi mạch 74LS148 sẽ phát một xung ngắt đưa vào vi xử lý.
Để tiện cho việc đọc và giải mã tín hiệu, ghép nối đầu ra của 74LS148 với Port 1 của Vi xử lý ứng với các chân liền nhau ứng với các bit có trọng số thấp: P1.0 ÷ P 1.2. Ngắt phím được chọn là INT0.
Ghép nối phần cứng như sau:
Hình 11. Sơ đồ nguyên lý của phím ấn.
Một số đặc điểm chính của 74LS148:
74LS148 là IC mã hoá có 8 đầu vào D0 ÷ D7 song song. Mỗi đầu vào sẽ tương ứng với một mã nhị phân ở đầu ra song song qua 3 cổng: Q0 ÷ Q2.
Các đầu vào gồm có các chân D0 ÷ D7 tích cực ở mức thấp, chân EI là chân cho phép vào (Enable input) tích cực thấp.
Các đầu ra gồm các chân Q0 ÷Q2 ứng với các mã cửa đầu vào, chân EO là cho phép đầu ra (Enable output) tích cực ở mức cao, GS phát xung báo ngắt khi có phím ấn.
Bảng 6. Trạng thái của 74LS148:
EI
D0
D1
D2
D3
D4
D5
D6
D7
GS
Q0
Q1
Q2
EO
H
X
X
X
X
X
X
X
X
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
L
L
X
X
X
X
X
X
X
L
L
L
L
L
H
L
X
X
X
X
X
X
L
H
L
H
L
L
H
L
X
X
X
X
X
L
H
H
L
H
L
L
H
L
X
X
X
X
L
H
H
H
L
H
H
L
H
L
X
X
X
L
H
H
H
H
L
L
L
H
H
L
X
X
L
H
H
H
H
H
L
H
L
H
H
L
X
L
H
H
H
H
H
H
L
L
H
H
H
L
L
H
H
H
H
H
H
H
L
H
H
H
H
Vậy: EI ở mức cao thì : Q0 ÷ Q2 đều ở mức cao.
EI ở mức thấp thì ứng với mỗi đầu vào D0 ÷ D7 cho ra Q0 ÷ Q2 tương ứng. Thiết bị này có 5 phím được nối với đầu vào D1 ÷ D5 nên đầu ra Q0 ÷ Q2 có mã tương ứng như bảng dưới:
Bảng 7. Mã phím.
Phím
Q0
Q1
Q2
FUNC
1
1
0
+
1
0
1
-
1
0
0
OK
0
1
1
RUN
0
1
0
Khối hiển thị.
Sử dụng hai khối hiển thị LCD và LED:
LCD cho đồng hồ chính.
LED cho đồng hồ địa phương.
3.2.4.1. Hiển thị bằng LCD.
Giới thiệu sơ lược về LCD.
LCD (Liquist Crystal Display) là một loại màn hình hiển thị thông tin tiêu tốn ít năng lượng. Bình thường một LCD có từ 1 đến 2 dòng, 16 đến 80 ký tự trên mỗi dòng và kích thước mỗi ký tự là 5x7 dots hoặc 5x10dots.
LCD được gắn lên mạch in với bộ tạo ký tự và một hệ điều khiển. Mặc dù kích thước có thể nhiều cỡ nhưng cách điều khiển và giao thức điều khiển đều tương thích với chuẩn TTL.
Trong hệ thống LCD hoạt động theo chế độ Port đường dữ liệu là 8 bit. LCD 2 dòng 16 ký tự (thường 150.000đ) rẻ hơn rất nhiều so với LCD 20 ký tự (thường 300.000đ). Tuy nhiên hệ thống phải viết nhiều ký tự, đồng thời loại 2 dòng 20 ký tự theo kinh nghiệm thực tế thì tốt hơn, bền hơn.
Điện áp vào chân 3 (contract) ± 0.3V.
LCD gồm 16 chân:
Hình 12. Sơ đồ ghép nối LCD.
Bảng 8. Chức năng của từng chân và ghép nối chi tiết LCD- 89C52 :
STT
Ký hiệu
Nối với vi xử lý
Mức logic
Chức năng
1
Vss
0 V (Ground)
2
Vcc
5 V (Supply)
3
Vee
điều khiển độ sáng tối cho LCD
4
RS
P3.5
H/L
H: chọn thanh ghi vào dữ liệu.
L: chọn thanh ghi cho lênh điều khiển.
5
R/W
P3.0
H/L
chọn chế độ đọc viết:
H: cho biết đọc từ LCD vào VXL.
L: cho biết đọc từ VXL vào LCD.
6
E
P3.1
xung L-H-L
t ín hiệu cho phép LCD hoạt động.
7
DB0
P0.0
H/L
Bit dữ liệu 0
8
DB0
P0.1
H/L
Bit dữ liệu 0
9
DB0
P0.2
H/L
Bit dữ liệu 0
10
DB0
P0.3
H/L
Bit dữ liệu 0
11
DB0
P0.4
H/L
Bit dữ liệu 0
12
DB0
P0.5
H/L
Bit dữ liệu 0
13
DB0
P0.6
H/L
Bit dữ liệu 0
14
DB0
P0.7
H/L
Bit dữ liệu 0
15
0 V (Ground)
16
5 V nguồn cấp cho đèn backline.
b) Hoạt động của LCD.
Chế độ hiển thị:
Màn hình hiển thị có hai dòng, mỗi dòng có 40 ký tự. Bộ điều khiển LCD có chứa bộ nhớ RAM, có khả năng lưu 80 ký tự, bộ nhớ này gọi là DRAM. Bình thường ta có thể nhìn thấy 20 ký tự trên mỗi dòng, tức là có 40 ký tự ở trạng thái nhìn thấy cả hai dòng (trong một thời điểm). Các ký tự không nhìn thấy có thể được nhìn thấy khi dịch toàn bộ màn hình hiển thị về phía phải hoặc trái.
Trong hệ thống đặt ở chế độ: 2 dòng, 5x7 dots. Hiển thị tự động dịch con trỏ, không dùng Shift.
Tín hiệu cho phép (Enable Link) ký hiệu E:
Đây là tín hiệu điều khiển chính mà được đưa ra trong toàn bộ quá trình điều khiển LCD. Tín hiệu này tích cực ở mức logic cao theo sườn lên L-H-L. Dữ liệu được đưa vào khi E tích cực.
Điều khiển hoạt động của LCD:
Có hai loại điều khiển: điều khiển đọc/ghi dữ liệu và điều khiển lệnh. Các tín hiệu điều khiển RS, R/W và E được đặt lên LCD để đặt chế độ làm việc cho LCD. Sau đó nó được hoạt động để điều khiển vào/ra dữ liệu.
Chế độ điều khiển: RS mức thấp.
R/W được thiếp lập ở chế độ đọc hay viết.
Quá trình điều khiển được chia làm 5 giai đoạn: khởi tạo, đặt con trỏ, đièu khiển hiển thị, tạo hay chọn ký tự hiển thị và kiểm tra trạng thái bận của LCD trước khi đọc/viết một ký tự mới.
Bảng 9. Mã lệnh điều khiển của LCD.
Command
Binary D7 D6 D5 D4 D3 D2 D1 D0
Hex
Clear Display
0
0
0
0
0
0
0
1
01
Display & Cursor Home
0
0
0
0
0
0
1
X
02 or 03
Chacractor Entry Mode
0
0
0
0
0
1
I/D
S
04 to 07
Display On/Off & Cursor
0
0
0
0
1
D
U
B
08 to 0F
Display/Cursor Shift
0
0
0
1
D/C
R/L
X
X
10 to1F
Funtion Set
0
0
1
8/4
2/1
10/7
X
X
20 to 3F
Set Ggram Address
0
1
A
A
A
A
A
A
40 to 7F
Set Display Address
1
A
A
A
A
A
A
A
80 to FF
I/D:1= Increment*, 0=Decrement R/L: 1 = Right Shift, 0 = Left Shift S : 1= Display Shift on, 0= Display Shift off* 8/4: 1 = 8 bit interface*, 0 = 4 bit interface D: 1= Display On, 0= Display Off* 2/1: 1 = 2 line mode, 0= 1 line mode D/C :1=Display Shift, 0=Cursor move 10/7 :1= 5x10 dot format, 0= 5x7 dot format x = Don’t care * = initialisation settings.
3.2.4.2. Hiển thị LED.
a) LED 7 thanh kích cỡ 50x70:
Khối hiển thị LED 7 thanh (4 digit) được đặt trên đồng hồ địa phương.
Mỗi một thanh của LED tương ứng với 3 led diot, ứng với dòng 6mA do đó áp cung cấp cần: 6.10 –3 A x 560Ω + 3 x 1,68V = 8,1 V.
Để tận dụng được nguồn 12V đã thiết kế của hệ thống, nối thêm 6 diot vào nguồn 12 V để có được nguồn: 12V - 6 x 0.6 V= 8,4V. Vậy Vcc = 8,4V
Công suất của đồng hồ địa phương loại này là:
(6mA x 8)x 4x 12V = 2304 mW.
= 2,3W
Theo lý thuyết mức 1 của họ CMOS là Vcc - 1,5V. Mức 0 ~ 1,5V. Nhưng thực tế mức điện áp lớn hơn Vcc/2 được coi là mức 1, mức 0 nhỏ hơn 1,5V. Do đó với điện áp mức 1 của Vi xủ lý bằng 5V thoả mãn yêu cầu về logic đúng của mạch.
Hình 13. Các digit của hiển thị LED
4 digit LED, sử dụng 4 thanh ghi dịch, dữ liệu được truyền từ đồng hồ chính qua 4 đường dây (Vcc, Data, Clock, Gnd).
Các digit được điều khiển bởi những thanh ghi dịch 4094. 4094 có chức năng dịch từng bit, đồng thời chốt dữ liệu ở đầu ra.
Mỗi một giây đồng hồ địa phương được update số liệu hiển thị một lần.
Thanh ghi dịch:
Hình 14. Sơ đồ nguyên lý của đồng hồ địa phương.
Khối hiển thị LED gồm 4 digit hiển thị giờ phút - nhiệt độ theo chu kỳ 9s:
Khi hiển thị giờ phút: hai digit trọng số cao hiển thị giờ, hai digit trong số thấp hiển thị phút.
Khi hiển thị nhiệt độ: hai digit có trọng số cao hiển thị giá trị nhiệt độ , hai digit thấp hiển thị đơn vị.
Data : được đưa vào vi mạch 4094 từ cổng P1.6.
Clock: được đưa vào 4094 từ cổng P1.7.
Vi mạch 4094 là một thanh ghi dịch dữ liệu đầu vào đưa theo từng bít.
Đầu vào là nối tiếp còn đầu ra song song.
Để dịch 1 byte vào 4094 thì phải qua 8 nhịp clock, để hiển thị được 4digit thì phải dịch 4 byte (sau 32 nhịp clock). Trước khi đưa tín hiệu ra hiển thị phải giải mã 7 thanh trong vi xử lý trước. 4094 chỉ nhận từng bit ở đầu vào do đó phải dùng bit cờ để đưa từng bit từ vi xử lý ra 4094. Tốc độ truyền là 300K baund (mất 2μs cho lệnh mov bit Data và 1 μs cho lệnh set bit Clock).
b) Ma trận LED dạng 7 thanh kích cỡ 300x420:
Khối hiển thị ma trận LED 7 thanh được đặt lên đồng hồ kích thước lớn. Gồm 4 digit. Mỗi một digit được thiết kế giống một led 7 thanh thông thường. Trong đó, mỗi thanh của LED gồm 2 dãy led diot song song, mỗi dãy gồm 70 led diot.
Nguồn cấp cho ma trận LED là nguồn một chiều 200Vdc, được chỉnh lưu qua cầu công suất lớn: I = 2A.
Hình 15. Sơ đồ nguyên lý của LED cỡ 300 x 420.
Mỗi led diot ăn dòng là 7mA. Như vậy mỗi thanh cần dòng là :14mA. Áp trên mỗi điot là 2V, do đó điện áp trên 2 dãy led diot là 140V. Điện áp cấp là nguồn 220Vdc, vậy điện áp trên trở là: 200 - 140 = 60Vdc. Điện trở cần mắc là: 60/7 10-3 = 8.5 KΩ. Chọn điện trở 6,8KΩ công suất là 1W.
Để đóng cắt một thanh dùng một tranzitor MJE340. Tranzitor này được kích bởi một tranzitor khác C2383.
Dòng điều khiển bazơ của MJE340 là : 5/4,3 = 1mA,
Dòng điều khiển bazơ của C2383 là : 5/1,56 = 3mA.
Do đó công suất của LED tiêu thụ từ nguồn chính : 4mA x 5V = 20mW.
Hình 16. Sơ đồ điều khiển đóng mở Tranzitor npn MJE340.
Đặc tính của tranzitor MJE 340:
Vcb = 300V, Vce = 300V, Ic = 0,5A.
Do đó MJE340 có thể chịu được điện áp đặt trên nó là 200Vdc khi các diot khoá.
Đầu ra 4094 ở mức 0 các diot sẽ thông (đèn sáng), mức 1 các diot đóng (đèn tối). Do điều khiển bởi C2383 và MJE340:
Khi đầu ra của 4094 ở mức 0: C2383 đóng, tồn tại dòng điện 1mA đi vào bazơ của MJE340 làm MJE thông kéo điện áp Anot của led diot xuống 0 (đèn sáng).
Khi đầu ra của 4094 ở mức 1: C2383 thông, không có dòng điện 1mA đi vào bazơ của MJE340, MJE340 khoá lúc đó lớp clector - bazor của MJE340 chịu một điện áp 200Vdc (đèn không sáng).
Công suất của đồng hồ dùng LED cỡ lớn loại này là:
(14mA X 7) x 4 x 200Vdc = 78400mW = 78,4W
Khi có dấu chấm thì: Itải = (14mA x 7 + 7) x 4 = 420mA.
Công suất lúc này là: 420 x 200 = 84000mW
= 84W
Khối ra báo chuông.
Điều khiển chuông bằng cổng P1.5.
Role sử dụng nguồn 12Vdc.
Chuông nguồn 220Vac.
Hình 17. Sơ đồ nguyên lý của chuông.
Khi reset các chân của Vi xử lý đều ở mức cao để tránh điều này dùng Tranzitor pnp A564 có tác dụng khoá npn C2383 ở tầng sau.
Chuông sử dụng nguồn 22Vac, nó được điều khiển đóng cắt bởi role 12Vdc.
Bộ xử lý và nguồn.
Vi xử lý 89C52.
Do họ MCS-51TM đã trở thành chuẩn trong công nghiệp nên rất nhiều hãng sản xuất, điển hình là ATMEL Corporation. Hãng này kết hợp rất nhiều tính năng, dựa trên nền tảng kỹ thuật của mình chế tạo ra các vi điều khiển tương thích với họ MCS-51TM.
AT89C52 là một vi điều khiển 8 bit do ATMEL sản xuất, chế tạo theo công nghệ CMOS, có chất lượng cao, công suất thấp với 8 KB Flash. Thiết bị này được chế tạo bằng cách sử dụng kỹ thuật bộ nhớ không bốc hơi mật độ cao của ATMEL và tương thích với chuẩn công nghiệp MCS-51TM về tập lệnh và các cổng ra.
Các đặc điểm chủ yếu của AT89C52:
Tương thích hoàn toàn với MCS-51TM của Intel.
Bộ nhớ chương trình 8K Byte thuộc loại Flash Memory.
Độ bền : 1000 lần ghi/xoá.
3 chế độ khoá bộ nhớ.
256 x 8 bit RAM nội.
32 đường I/O lập trình được (4 port).
3 timer/counter 16 bit.
Cổng truyền tin nối tiếp Full - duplex.
8 nguồn ngắt, 5 vector với 2 mức ưu tiên.
Chế độ hạ nguồn và chế độ ngủ tiêu tốn công suất thấp.
3.2.6.1. Nhiệm vụ của vi xử lý 89C52.
Cho phép đọc giá trị nhiệt độ đã được số hoá, sau đó biến đổi giá trị đó ra số nhiệt độ cụ thể, đưa ra hiển thị trên LCD và LED.
Đọc mã phím từ bàn phím và kiểm tra xem phím nào đã được ấn để thực hiện chức năng của phím đó.
Ghi lại các thông số về thời gian, giờ đánh chuông đã nhập từ bàn phím hay được update từ RTC.
Điều khiển rơle đánh chuông khi đến giờ đánh chuông.
Cho phép hiển thị chu kỳ thời gian-nhiệt độ tuỳ theo yêu cầu cụ thể.
3.2.6.2. Cấu tạo chân.
Tuỳ theo yêu cầu kỹ thuật và phạm vi ứng dụng cụ thể, người dùng sẽ chọn một trong 3 kiểu chân do ATMEL đưa ra:
Hình 18. Sơ đồ các kiểu chân của 89C52.
Loại thông dụng nhất là loại PDIP, dễ hàn và lắp đặt.
Loại PQFP hay PLCC thường dùng cho công nghệ dán IC.
3.2.6.3. Chức năng của các chân.
Vcc : Chân cung cấp nguồn.
GND: Chân nối đất 0V.
Port 0:
Port 0 có nối điện trở pull-up ở bên ngoài, sử dụng ở chế độ đa hợp.
Port 0 được nối với RTC với LCD và ADC. Trong đó RTC được nối theo chế độ bus còn LCD và ADC được nối theo chế độ port.
Port 1:
P1.0 ÷ P1.2: Được dùng làm đầu vào cho việc giải mã phím.
P1.3 : Là chân để điều khiển START-ALE của ADC809.
P1.4 : Để điều khiển chân EN (enable) của ADC0809.
P1.5 : Để điều khiển chuông.
P1.6 : Là chân data ra đồng hồ địa phương.
P1.7 : Là chân clock ra đồng hồ địa phương.
Port 2:
Port 2 là port xuất nhập 8 bit hai chiều có các điên trở pull-up bên trong. Port 2 là byte cao của bus địa chỉ khi truy xuất bộ nhớ dữ liệu ngoài. Trong hệ thống dùng để truy xuất dữ liệu ngoài thuộc vùng NV-RAM của RTC có địa chỉ từ (0000h ÷ 007Fh).
Port 3:
Là port xuất nhập 8 bit hai chiều có các điện trở pull-up ở bên trong.
Ứng dụng các chân trong hệ thống:
P3.0 : Chân điều khiển tín hiệu R/W cho LDC.
P3.1 : Chân điều khiển tín hiệu EN (enable) cho LCD.
P3.2 : Ngắt bàn phím.
P3.3 : Ngắt RTC.
P3.4 : Chân điều khiển ra loa.
P3.5 : Chân điều khiển tín hiệu RS(D/C) cho LCD.
P3.6 : Chân điều khiển tín hiệu DS của RTC.
P3.7 : Chân điều khiển tín hiệu R/ của RTC.
ALE/: Cho phép chốt địa chỉ ALE. Cho phép chốt byte thấp của địa chỉ trong thời gian truy câp bộnhớ ngoài. Chân này cũng được dùng làm cổng vào khi lập trình cho Flash.
: Chân cho phép bộ nhớ chương trình điều khiển truy cập bộ nhớ ngoài. Khi AT89C52 đang thực thi chương trình trong bộ nhớ chương trình ngoài, tích cực 2 lần cho mỗi chu kỳ máy, ngoại trừ trường hợp 2 tác động của bị bỏ qua cho mỗi lần truy xuất bộ nhớ dữ liệu ngoài.
/Vpp: Chân cho phép truy xuất bộ nhớ ngoài phải được nối với đất để cho phép Vi xử lý tìm nạp các lệnh ở bộ nhớ chương trình ngoài. /Vpp Còn nhận điện áp cho phép lập trình Vpp trong thời gian lập trình chi Flash, điện áp này cung cấp cho các bộ phận có yêu cầu điện áp 21V.
XTAL1, XTAL2: Cổng vào mạch khuếch đại đảo của mạch dao động và ngõ vào đến mạch tạo xung clock bên trong chip.
Khối nguồn.
Điện áp cần thiết của mạch gồm các nguồn: ± 12V, +5V. Do đó cần phải được thiết kế như sau:
Hình 19. Sơ đồ nguồn.
Điện áp lấy từ lưới 220V xoay chiều qua biến áp hạ xuống 15V xoay chiều. Qua cầu chỉnh lưu 1A thành điện áp 1 chiều.
Dòng tải tối thiểu của mạch I = 250mA . Chỉ tiêu Δ U < 2V.
Q = C.U Þ I.Δ t = C. Δ U
Có Δ t = 10 ms
Nên C =
C = = 1250 10 -6 F = 1250 mF.
Chọn các tụ C1, C2 được chọn 2200 mF. Các tụ thuộc tầng phía sau sẽ chọn có giá trị thấp hơn các tụ trước để đảm bảo Ura < Uvào. Các tụ thường mắc song song với tụ hoá có tác dụng lọc xoay chiều.
Với việc chọn như trên dòng tải tối đa là: I = = 440mA
Cống suất của nguồn là: 6,6W.
Nguồn ± 12V được cấp cho OP07, khối hiển thị LED.
Nguồn +5V được cấp cho vi xử lý, ADC0809, DS12887, khối hiển thị LED, hiển thị LCD.
._.