Professional Documents
Culture Documents
(123doc) - Bao-Cao-Do-An-He-Thong-Nhung PDF
(123doc) - Bao-Cao-Do-An-He-Thong-Nhung PDF
KHOA ĐIỆN TỬ
BỘ MÔN: KỸ THUẬT MÁY TÍNH
ĐỒ ÁN MÔN HỌC
MÔN HỌC
HỆ THỐNG NHÚNG
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
MỤC LỤC
MỤC LỤC.........................................................................................................3
Ngày nay, các hệ thống nhúng trở nên phổ biến và đóng vai trò
quan trọng trong đời sống con người. Ví dụ quanh ta có rất nhiều sản
phẩm nhúng như lò vi sóng, nồi cơm điện, điều hòa, điện thoại di động, ô
tô, máy bay, tàu thủy, các đầu đo, cơ cấu chấp hành thông minh, robot
v.v... ta có thể thấy hiện nay hệ thống nhúng có mặt ở mọi lúc mọi nơi
trong cuộc sống của chúng ta.
Do thời gian thực hiện và kiến thức còn hạn chế nên còn nhiều sai
sót trong quá trình thực hiện đề tài, rất mong được sự bổ sung đóng góp
của các thầy cô và các bạn.
Chúng em xin chân thành cảm ơn các thầy cô trong khoa điện tử -
bộ môn kỹ thuật máy tính, cảm ơn thầy Ths. Nguyễn Văn Huy đã tận tình
hướng dẫn và giúp đỡ chúng em thực hoàn thành đề tài này.
Đồng hồ điện tử
Vi điều khiển:
Có rất nhiều loại vi điều khiển khác nhau có thể sử dụng trong mạch
đồng hồ này như vi điều khiển pic, avr, 8051…
Các loại vi điều khiển pic hay avr có nhiều ưu điểm hơn so với 8051
như hỗ trợ kết nối ngoại vi tốt hơn, tốc độ xử lý nhanh hơn, lập trình
đơn giản hơn. Nhưng giá thành thì lại cao hơn nhiều so với 8051 mà
trong mạch này chúng em sử dụng AT89C51. Việc sử dụng quá tốn
kém cho 1 mạch là không cần thiết trong khi đó một chip cũng có thể
làm được điều này mà giá thành rẻ hơn thì đó là lựa chọn tối ưu hơn.
Hiển thị:
Chúng ta có 2 cách hiển thị đó là : sử dụng led 7 thanh và sử dụng lcd.
Led 7 thanh :
• Ưu điểm: hiển thị rõ ràng và thu hút được sự chú ý vì có thể
nhìn ở xa.
• Nhược điểm: mạch điện phức tạp cần thêm các IC chốt.
LCD 16x2:
• Ưu điểm: hiển thị dễ dàng, có thể linh động hơn trong việc hiển
thị thời gian,kết nối đơn giản mạch điện không phức tạp…
• Nhược điểm: không thu hút được sự chú ý bằng led 7 thanh,giá
thành cao…
Xét trên điều kiện để làm mạch này thì số led 7 thanh tương đối nhiều
và cần thêm các IC chốt do đó về giá cả thì sẽ tương đương với một
Khối nguồn
Khối hiển
Khối
thị
thời
Khối Xử
gian
lý Khối giao tiếp
thực
phím bấm
IC thời gian
thực Bàn phím Hiển thị
2.3. Sơ đồ đặc tả
Xử lý Ghi
Kiểm tra
ngắt ngoài 0
Hiể
n
thị
Xử lý dữ liệu từ rtc
Có ngắt ngoài
0
(1) Đ
(2)
Cập nhật thời gian
vào RTC
S S
Kiểm tra giảm Kiểm tra giảm
Đ Đ
S S
giảm =0 năm-1 giảm =0
tháng-1
thứ+1 tăng =0
S
Kiểm tra giảm
Đ
S
thứ-1 giảm =0
2.5.1.Khối nguồn
Đây là module dùng để tạo ra nguồn điện áp chuẩn +5V. Sử dụng
IC7805.
Đầu vào là điện áp xoay chiều sau khi được biến đổi qua máy biến áp,
đưa vào bộ Diode cầu để cho ra dòng điện một chiều ( lúc này điện áp
nằm trong khoảng từ 7->10V). Sau khi đi qua IC ổn áp 7805 sẽ tạo ra
nguồn điện áp chuẩn +5V cung cấp cho mạch.
Sơ đồ các chân
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.
ST
Mạch reset tác động bằng tay và tự động reset khi khởi động máy
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, xung ngõ ra ALE luôn có tần số không đổi
là 1/6 tần số của mạch dao động, có thể được dùng cho các mụch đích
định thời từ bên ngoài vµ tạo xung clock. Tuy nhiên, lưu ý là một xung
ALE sẽ bị bỏ qua trong mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngoài.
Khi cần, hoạt động ALE có thể được vô hiệu hoá bằng cách set bit 0 của
thanh ghi chức năng đặc biệt có địa chỉ 8Eh. Khi bit này được set, ALE
Đồ án Hệ Thống Nhúng Trang
20
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công
Nghiệp
chỉ tích cực trong thời gan 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 ngoà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 (External Access Enable) là chân cho phép truy xuất bộ nhớ
chương trình ngoài (bắt đầu từ địa chỉ từ 0000H đến FFFFH).
EA = 0 cho phép truy xuất bộ nhớ chương trình ngoài, ngược lạ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 (khi đó điện áp lập trình 12V được chọn).
• 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.
Bộ nhớ
Chế PORT PORT
chương ALE PSEN PORT 0 PORT 3
độ 1 2
trình
Nghỉ Bên trong 1 1 Dữ liệu Dữ liệu Dữ Dữ liệu
liệu
Nghỉ Bên ngoài 1 1 Thả nổi Dữ liệu Dữ Dữ liệu
liệu
Nguồn Bên trong 0 0 Dữ liệu Dữ liệu Dữ Dữ liệu
giảm liệu
Bên ngoài 0 0 Thả nổi Dữ liệu Dữ Dữ liệu
liệu
chip không có công dụng reset, mạch chốt được khởi động bằng một giá
trị ngẫu nhiên và giá trị này được duy trì cho đến khi có tác động reset.
Điều cần thiết là giá trị được chốt của EA phải phù hợp vơi mức logic
hiện hành ở chân này.
Các bit khóa chương trình Loại bảo vệ
Chế LB1 LB2 LB3
độ
1 U U U Không có đặc trưng khóa chương trình
2 P U U Các lệnh MOVC được thực thi từ bộ nhớ
chương trình ngoài không được phép tìm
nạp lệnh từ bộ nhớ nội, EA được lấy mẫu
và được chốt khi reset, hơn nữa việc lập
trình trên Flash bị cấm
3 P P U Như chế độ 2, cấm thêm việc kiểm tra
chương trình
4 P P P Như chế độ 3, cấm thêm việc thực thi
chương trình ngoài
DS1307 là IC thời gian thực với nguồn cung cấp nhỏ dùng để cập nhật
thời gian và ngày tháng .
- SRAM : 56 bytes.
- Địa chỉ và dữ liệu được truyền nối tiếp qua 2 đường bus 2 chiều.
- DS1307 có một mạch cảm biến điện áp dùng để dò các điện áp lỗi
và tự động đóng ngắt với nguồn pin cung cấp 3V:
+ DS1307 có 7 bytes dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1
byte điểu khiển, và 56 bytes lưu trữ ( dành cho người sủ dụng ).
Cơ chế hoạt động : DS1307 hoạt động với vai trò slave trên đường bus
nối tiếp.Việc truy cập được thi hành với chỉ thị start và một mã thiết bị
nhất định được cung cấp bởi địa chỉ các thanh ghi. Tiếp theo đó các
thanh ghi sẽ được truy cập liên tục đến khi chỉ thị stop đươc thực thi.
Vcc, GND: nguồn một chiều được cung cấp tới các chân này. Vcc là
đầu vào 5V. Khi 5V được cung cấp thì thiết bị có thể truy cập hoàn
chỉnh và dữ liệu có thể đọc và viết. Khi pin 3 V được nối tới thiết bị này
và Vcc nhỏ hơn 1,25Vbat thì quá trình đọc và viết không được thực thi,
tuy nhiên chức năng timekeeping không bị ảnh hưởng bởi điện áp vào
Vbat: Đầu vào pin cho bất kỳ một chuẩn pin 3V. Điện áp pin phải được
giữ trong khoảng từ 2,5 đến 3V để đảm bảo cho sự hoạt động của thiết
bị.
SDA(serial data input/out): là chân vào ra cho 2 đường dây nối tiếp.
Chân SDA thiết kế theo kiểu cực máng hở, đòi hỏi phải có một điện
trở kéo trong khi hoạt động.
X1,X2: được nối với một thạch anh tần số 32,768kHz. Là một mạch
tạo dao động ngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF .
Cũng có DS1307 với bộ tạo dao động trong tần số 32,768kHz, với cấu
hình này thì chân X1 sẽ được nối vào tín hiệu dao động trong còn chân
X2 thì để hở.
Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các byte
thanh ghi thích hợp. Thời gian và ngày tháng được thiết lập cũng thông
qua các byte thanh ghi này bằng cách viết vào đó những giá trị thích
hợp. Nội dung của các thanh ghi dưới dạng mã BCD (binary coded
Đồ án Hệ Thống Nhúng Trang
26
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công
Nghiệp
decreaseimal). Bit 7 của thanh ghi seconds là bit clock halt (CH), khi
bit này được thiết lập 1 thì dao động disable, khi nó được xoá về 0 thì
dao động được enable.
Chú ý: enable dao động trong suốt quá trình cấu hình thiết lập
(CH=0).Thanh ghi thời gian thực được mô tả như sau:
DS1307 có thể chạy ở chế độ 24h cũng như 12h. Bit thứ 6 của thanh
ghi hours là bit chọn chế độ 24h hoặc 12h, khi bit này ở mức cao thì chế
độ 12h được chọn. Ở chế độ 12h thì bit 5 là bit AM/PM với mức cao là
là PM. Ở chế độ 24h thì bit 5 là bit chỉ 20h (từ 20h đến 23h).
Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thì
dòng thời gian được truyền tới một thanh ghi thứ 2, thông tin thời gian
sẽ được đọc từ thanh ghi thứ cấp này, trong khi đó đồng hồ vẫn tiếp tục
chạy. Trong DS1307 có một thanh ghi điều khiển để điều khiển hoạt
động của chân SQW/OUT :
OUT(output control): bit này điều khiển mức ra của chân SQW/OUT
khi đầu ra xung vuông là disable. Nếu SQWE = 0 thì mức logic ở chân
SQW/OUT sẽ là 1 nếu OUT=1 và OUT = 0 nếu OUT = 0 .
SQWE(square wave enable): bit này được thiết lập 1 sẽ enable đầu ra
của bộ tạo dao động. Tần số của đầu ra sóng vuông phụ thuộc vào giá
trị của RS1 và RS0.
DS1307 hỗ trợ bus 2 dây 2 chiều và giao thức truyền dữ liệu, thiết bị gửi
dữ liệu lên bus được gọi là bộ phát và thiết bị nhận gọi là bộ thu, thiết bị
điều khiển quá trình này gọi là master, thiết bị nhận sự điều khiển của
master gọi là slave. Các bus nhận sự điều khiển của master, là thiết bị
phát ra chuỗi xung clock(SCL),master sẽ điều khiển sự truy cập bus, tạo
ra các chỉ thị START và STOP.
Chế độ slave nhận( chế độ DS1307 ghi): chuỗi dữ liệu và chuỗi xung
clock sẽ được nhận thông qua SDA và SCL. Sau mỗi byte được nhận
thì 1 bit acknowledge sẽ được truyền, các điều kiện START và STOP
sẽ được nhận dạng khi bắt đầu và kết thúc một truyền 1 chuỗi, nhận
dạng địa chỉ được thực hiện bởi phần cứng sau khi chấp nhận địa chỉ
của slave và bit chiều. Byte địa chỉ là byte đầu tiên nhận được sau khi
điều kiện START được phát ra từ master. Byte địa chỉ có chứa 7 bit
địa chỉ của DS1307, là 1101000, tiếp theo đó là bit chiều (R/ w) cho
phép ghi khi nó bằng 0, sau khi nhận và giải mã byte địa chỉ thì thiết bị
sẽ phát đi 1 tín hiệu acknowledge lên đường SDA. Sau khi DS1307
Đồ án Hệ Thống Nhúng Trang
28
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công
Nghiệp
nhận dạng được địa chỉ và bit ghi thì master sẽ gửi một địa chỉ thanh
ghi tới DS1307, tạo ra một con trỏ thanh ghi trên DS1307 và master sẽ
truyền từng byte dữ liệu cho DS1307 sau mỗi bit acknowledge nhận
được, sau đó master sẽ truyền điều kiện STOP khi việc ghi hoàn thành.
Chế độ slave phát ( chế độ DS1307 đọc): byte đầu tiên slave nhận
được tương tự như chế độ slave ghi. Tuy nhiên trong chế độ này thì bit
chiều lại chỉ chiều truyền ngược lại. Chuỗi dữ liệu được phát đi trên
SDA bởi DS 1307 trong khi chuỗi xung clock vào chân SCL. Các điều
kiện START và STOP được nhận dạng khi bắt đầu hoặc kết thúc truyền
một chuỗi. byte địa chỉ nhận được đầu tiên khi master phát đi điều kiện
START. Byte địa chỉ chứa 7 bit địa chỉ của slave và 1 bit chiều cho
phép đọc là 1. Sau khi nhận và giải mã byte địa chỉ thì thiết bị sẽ nhận 1
bit acknowledge trên đường SDA. Sau đó DS1307 bắt đầu gửi dữ liệu
tới địa chỉ con trỏ thanh ghi thông qua con trỏ thanh ghi. Nếu con trỏ
thanh ghi không được viết vào trước khi chế độ đọc được thiết lập thì
địa chỉ đầu tiên được đọc sẽ là địa chỉ cuối cùng chứa trong con trỏ
thanh ghi . DS1307 sẽ nhận được một tín hiệu Not Acknowledge khi kết
thúc quá trình đọc. Đọc dữ liệu - chế độ slave phát.
• Thời gian thực hiện việc đọc, ghi dữ liệu của DS1307: sơ đồ đồng bộ:
Giống như led 7 thanh, LCD là một thiết bị ngoại vi dùng để giao tiếp
với người dùng, so với led 7 thanh thì LCD có ưu điểm là hiển thị được
tất cả các kí tự trong bảng mã ascci, trong khi đó led 7 thanh chỉ hiển thị
được một số kí tự, nhưng LCD lại có nhược điểm là giá thành cao và
khoảng cách nhìn gần.
1=Nhập dữ liệu
1=Đọc dữ liệu
Để đọc thanh ghi lệnh,ta phải đặt RS=0 và R/W =1 và xung cao xuống
thấp cho bít E. Sau khi đọc thanh ghi lệnh,nếu bit D7(cờ bận ) ở mức cao
thì LCD bận, không có thông tin hay lệnh nào được xuất đến nó. Khi
D7=0 mới có thể gửi lệnh hay dữ liệu đến LCD. Chúng ta nên kiểm tra
bit cờ bận trước khi ghi thông tin lên LCD.
2.6.4.IC ổn áp 7805
Với những mạch điện không đòi hỏi độ ổn định của điện áp quá cao, sử
dụng IC ổn áp thường được người thiết kế sử dụng vì mạch điện khá đơn
giản. Các loại ổn áp thường được sử dụng là IC 78xx, với xx là điện áp
cần ổn áp. Ví dụ 7805 ổn áp 5V, 7812 ổn áp 12V. Việc dùng các loại IC
ổn áp 78xx tương tự nhau, dưới đây là minh họa cho IC ổn áp 7805:
Ngõ ra OUT luôn ổn định ở 5V dù điện áp từ nguồn cung cấp thay đổi.
Mạch này dùng để bảo vệ những mạch điện chỉ hoạt động ở điện áp 5V
(các loại IC thường hoạt động ở điện áp này). Nếu nguồn điện có sự cố
đột ngột: điện áp tăng cao thì mạch điện vẫn hoạt động ổn định nhờ có IC
7805 vẫn giữ được điện áp ở ngõ ra OUT 5V không đổi.
Mạch trên lấy nguồn một chiều từ một máy biến áp với điện áp từ 7V
đến 9V để đưa vào ngõ IN. Khi kết nối mạch điện, do nhiều nguyên
nhân, người dùng dễ nhầm lẫn cực tính của nguồn cung cấp khi đấu nối
vào mạch, trong trường hợp này rất dễ ảnh hưởng đến các linh kiện trên
board mạch. Vì lí do đó một diode được lắp thêm vào mạch, diode đảm
bảo cực tính của nguồn cấp cho mạch theo một chiều duy nhất, và nguời
dùng cũng không cần quan tâm đến cực tính của nguồn khi nối vào ngõ
IN nữa.
2.6.5. Tụ điện
Tụ điện là linh kiện điện tử thụ động được sử dụng rất rộng rãi trong các
mạch điện tử, chúng được sử dụng trong các mạch lọc nguồn, lọc nhiễu,
mạch truyền tín hiệu xoay chiều, mạch tạo dao động.Trong mạch này ta
sẽ sử dụng một tụ hóa cho khối reset, và hai tụ gốm cho khối dao động.
Tụ gốm Tụ hóa
2.6.6.Điện trở
Trong thiết bị điện tử điện trở là một linh kiện quan trọng, chúng được
làm từ hợp chất cacbon và kim loại tuỳ theo tỷ lệ pha trộn mà người ta
tạo ra được các loại điện trở có trị số khác nhau.
Nút bấm
2.6.8.Biến trở
Trong mạch ta sẽ sử dụng một biến trở 10k để điểu chỉnh độ tương phản
của LCD.
Biến trở
2.6.9.Thạch anh
Trong mạch ta sẽ sử dụng hai thạch anh, một loại 12Mhz để tạo dao động
cho AT89C51, một loại 32,768 Mhz để tạo dao động cho DS1307.
2.6.10.Pin CMOS 3V
Ta sẽ sử dụng một đế và pin CMOS 3V để làm nguồn nuôi cho DS1307
để nó có thể lưu được giờ khi mất điện nguồn cung cấp cho mạch.
Pin CMOS
• Trên cơ sở sơ đồ nguyên lý, vẽ mạch in trên Orcad và có kết quả như sau:
Chương trình
#include <AT89X51.H>
#include <intrins.h>
void khoitaoLCD(void)
{ ghilenhLCD(0X38); // hai dong va ma tran 5x7
ghilenhLCD(0X0C); //bat man hinh , bat con tro
ghilenhLCD(0X01); //xoa man hinh
ghilenhLCD(0X06);//dich hien thi sang phai(tang con tro sang
phai)
}
void stop_rtc(void) //dk stop: 1 su cdoi trang thai tu muc thap len cao
tren duong sda trong khi duong slc dang o muc cao
{ sda=0; scl=1;
_nop_();_nop_();
sda=1; }
void ghidulieu(void)
{ unsigned char t;
for(t=0;t<9;t++){start_rtc();
gui_rtc(0xd0);
gui_rtc(t);
gui_rtc(giatrikhoitao_rtc[t]);
stop_rtc();}
}
/
**************************************************************
*/
// HIEN THI GIO , NGAY THANG TREN LCD //
void hienthi_rtc(void)
{ ghilenhLCD(0xca); // ep con tro den vi tri thu 11 dong thu 2
hienthi_dulieu_rtc(docdulieu(0)); //hien thi giay
ghilenhLCD(0xc7); // ep con tro den vi tri thu 8 dong thu 2
hienthi_dulieu_rtc(docdulieu(1)); // hien thi phut
ghi_kytu(':');
ghilenhLCD(0xc4); // ep con tro den vi tri thu 5 dong thu 2
hienthi_dulieu_rtc(docdulieu(2)); //hien thi gio
ghi_kytu(':');
ghilenhLCD(0x80); //ep con tro den dau dong thu 1
ghi_chuoi(day[docdulieu(3)-1]); ghi_kytu(','); //hien thi thu
ghilenhLCD(0x86); //ep con tro den vi tri thu 7 dong thu 1
hienthi_dulieu_rtc(docdulieu(4));//hien thi ngay
ghi_kytu('-'); hienthi_dulieu_rtc(docdulieu(5));//hien thi thang
ghi_chuoi("-20"); hienthi_dulieu_rtc(docdulieu(6)); //nam
}
/
**************************************************************/
// TAO THOI GIAN TRE DUNG TIMER 0 //
void delay(long time)//tre time ms
{ while(time--){
Đồ án Hệ Thống Nhúng Trang
43
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công
Nghiệp
TMOD=0x01;// che do 16 bit khong tu nap lai
TH0=0xFC;TL0=0x67;
//6*(65536- FC67+1)*(1/12000)=1000us =1ms
TR0=1;
while(TF0!=1){};
TF0=0; TR0=0;}
}
/
**************************************************************
*/
// CHUONG TRINH CON THUC HIEN VIEC CAI DAT NGAY GIO, THANG
NAM //
unsigned char bcd_dec(unsigned char bcd)
{return((bcd/16)*10+(bcd%16)); //vd bcd=66 -> dec =42}
ghidulieu();
ghilenhLCD(1);
}
/**********************************************************/
// CHUONG TRINH CON KIEM TRA DU LIEU TU DS1307 KHI KHOI
DONG //
void kiemtra_rtc(void)
{
unsigned char temp;
start_rtc(); gui_rtc(0xd0);
gui_rtc(0x08); //doc du lieu tu vi tri ram dau tien
start_rtc(); gui_rtc(0xd1);
temp=nhan_rtc() ; //con tro dang tro toi dia chi 0x08 chua du
lieu flag (co?`) xem da cai dat hay chua
stop_rtc();
if(temp!='c') // neu gia tri thu 8 nhan duoc khac voi co 'c' cap
nhat khi cai dat gio thi tuc la lan dau duoc khoi tao,
ta se chon gia tri ghi vao ban dau theo y minh
{ giatrikhoitao_rtc[0]=0x50;
giatrikhoitao_rtc[1]=0x59;
giatrikhoitao_rtc[2]=0x09;
giatrikhoitao_rtc[3]=0x04;
giatrikhoitao_rtc[4]=0x04;
giatrikhoitao_rtc[5]=0x05;
giatrikhoitao_rtc[6]=0x11;
Đồ án Hệ Thống Nhúng Trang
48
Bộ môn Kỹ Thuật Máy Tính Đại học Kỹ Thuật Công
Nghiệp
giatrikhoitao_rtc[7]=0x00;
giatrikhoitao_rtc[8]='c';
ghidulieu();}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
void doccacdulieu(void){ int i;
for(i=0;i<=6;i++){docdulieu(i);} }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
// CHUONG TRINH CHINH //
bit co=0;
void caidatco() interrupt 0 //ngat ngoai 0 thi co =1
{co=1; }
void main()
{ khoitaoLCD();
ghilenhLCD(1);
ghilenhLCD(0x80);
ghi_chuoi("GVHD: THAY HUY");
ghilenhLCD(0xc0);
ghi_chuoi("SV:HOP-HIEN-HONG");
ghilenhLCD(1);
kiemtra_rtc();
IE=0x81;// EA_ET2.ES.ET1.EX1.ET0.EX0 cho phep ngat ngoai
0
doccacdulieu();
while(1)
{ doccacdulieu();
hienthi_rtc();
if(co==1) //co =1 ngat 0 xay ra => cai dat gio
{ caidat_rtc();
co=0; }
}
}
KẾT LUẬN
Sau một thời gian tìm hiểu, dưới sự hướng dẫn nhiệt tình của thầy
Ths.Nguyễn Văn Huy, nhóm chúng em đã hoàn thành đề tài “Thiết kế đồng
hồ thời gian thực “ hiển thị trên LCD.
Đồng hồ hiển thị được thứ, ngày, tháng, năm, giờ, phút, giây, có thể cài
đặt được thời gian thông qua giao tiếp phím ấn.
Qua đó chúng em được củng cố kiến thức đã học, kết hợp được với
thực tiễn, phục vụ cho công việc tương lai rất nhiều.
Chúng em đã cố gắng hết sức để thực hiện đề tài một cách hoàn thiện
và nhanh nhất có thể, nhưng do trình độ còn hạn chế nên còn nhiều thiếu sót,
đề tài mới dừng lại ở việc làm một chiếc đồng hồ hiển thị thời gian đơn giản.
Cũng với đề tài này, trong tương lai chúng em sẽ phát triển nó ở mức
cao hơn, có thể kết hợp chúng với các thiết bị khác để sử dụng trong thực tiễn
cuộc sống như đồng hồ kèm đo nhiệt độ, hẹn giờ, chuông báo, lịch làm việc
cá nhân hay tập thể,…