Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
--------------------------------------------------------------------------------------------
[email protected] Trang 1
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
Nội dung thiết kế:
Chương I : Giới Thiệu Chung.
Chương II : Các linh kiện chính được sử dụng trong mạch.
Chương III:Các khối mạch cần sử dụng và sơ đồ mạch hoàn chỉnh.
Chương IV: Chương trình phần mềm.
Chương V : Tổng kết.
Lời nói đầu
Ngày nay nhân loại đang trải qua những sự phát triển vượt về mọi mặt.Trong đó điện tử,
tự động hoá đóng một vai trò không nhỏ. Điện tử góp phần vào quá trình tự động hoá mọi
thứ giúp con người hiện đại hoá cuộc sống.
Vận dụng những kiến thức đã được học trong quá trình học tập ở trường nhóm em thực
hiện đồ án I này. Đồ án này được áp dụng chủ yếu dựa vào vi điều khiển. Mà thực tế là IC
ATMEGA16, nhằm mục đích giúp em hiểu một cách tường tận hơn về những gì về vi điều
khiển, cách đọc, viết va nhận biết về các chân IC mà em đã được học từ thầy cô trong
trường, tìm hiểu và nghiên cứu qua sách cũng như cách thức vận dụng nó trong thực tế.
Trong thực tế, các ứng dụng của vi điều khiển rất đa dạng và phong phú.Từ những ứng
dụng đơn giản chỉ có vài thiết bị ngoại vi cho đến những hệ thống điều khiển phức tạp
.Tuy nhiên do pham vi trình độ của em còn hạn chế, nên việc nghiên cứu và tìm hiểu về vi
điều khiển còn nhiều điều chưa biết. Trong bài viết của em, em xin giới thiêu ứng dụng IC
ATMEGA16 để hiển thị bộ đếm GIỜ-PHÚT-GIÂY trên 6 Led 7thanh.
Tuy nhiên trong quá trình viêt do trình độ hiểu biết của chúng em còn hạn chế, nên còn
xẩy ra nhiều sai sót mong thầy và các bạn góp ý bổ sung để chúng em được hiểu biết hơn
trong quá trình học tâp tiếp theo.
Nhóm chúng em xin chân thành cảm ơn!
Hà Nội, Ngày 17 tháng 11 năm 2009.
Mục Lục:
--------------------------------------------------------------------------------------------
Chương 3:Các khối mạch cần sử dụng và sơ đồ mạch hoàn chỉnh
1,Khối tạo nguồn
2,Khối Reset
3,Khối điều khiển
4,Khối tạo xung dao động
5,Khối hiển thị
6,Khối tạo thời gian thực
20
20
21
21
22
23
24
Chương 4: Sơ đồ mạch hoàn chỉnh.
Sơ đồ mạch nguyên lý
Sơ đồ mạch in
25
26
Chương 5: Chương trình phần mềm
Sơ đồ thuật toán
Code chương trình cho AT16
27
28
--------------------------------------------------------------------------------------------
[email protected] Trang 3
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
Chương I : Giới Thiệu Chung
1) Sơ Lược:
Trong công nghệ điện tử vi xử lý, vi điều khiển là một thành phần quan trọng không thể
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
byte bộ nhớ EEPROM, 1KB bộ nhớ SRAM, 32 thanh ghi chức năng chung, 32 đường vào
ra chung, 3 bộ định thời/bộ đếm, ngắt nội và ngắt ngoại, USART, giao tiếp nối tiếp 2 dây,
8 kênh ADC 10 bit,....ATmega 16 hỗ trợ đầy đủ các chương trình và công cụ phát triển hệ
thống như: trình dịch C, macro assemblers, chương trình mô phỏng/sửa lỗi, kit thử
nghiêm,...
Cấu trúc nhân AVR
CPU của AVR có chức năng bảo đảm sự hoạt động chính xác của các chương trình. Do đó
nó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiển các thiết
bị ngoại vi và quản lý ngắt.
• Cấu trúc tổng quát
AVR sử dụng cấu trúc Harvard, tách riêng bộ nhớ và các bus cho chương trình và dữ
liệu. Các lệnh được thực hiện chỉ trong một chu kỳ xung clock. Bộ nhớ chương trình
được lưu trong bộ nhớ Flash.
• ALU
--------------------------------------------------------------------------------------------
[email protected] Trang 5
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
ALU làm việc trực tiếp với các thanh ghi chức năng chung. Các phép toán được thực
hiện trong một chu kỳ xung clock. Hoạt động của ALU được chia làm 3 loại: đại số,
logic và theo bit.
• Thanh ghi trạng thái
Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính số
học và logic.
C: Carry Flag ;cờ nhớ (Nếu phép toán có nhớ cờ sẽ được thiết lập).
Z: Zero Flag ;Cờ zero (Nếu kết quả phép toán bằng 0).
N: Negative Flag (Nếu kết quả của phép toán là âm).
V: Two’s complement overflow indicator (Cờ này được thiết lập khi tràn số bù 2)V,
For signed tests (S=N XOR V) S: N.
H: Half Carry Flag (Được sử dụng trong một số toán hạng sẽ được chỉ rõ sau)
chương trình phục vụ ngắt đó chơ tới khi gặp lệnh RETI (return from interrup)
thì CPU lại lấy PC từ ngăn xếp ra và tiếp tục thực hiện chương trình mà trước
khi có ngăt nó đang thực hiện. Trong trường hợp mà có nhiều ngắt yêu cầu
cùng một lúc thì CPU sẽ lưu các cờ báo ngắt đó lại và thực hiện lần lượt các ngắt
theo mức ưu tiên .Trong khi đang thực hiện ngắt mà xuất hiện ngắt mới thì sẽ
xảy ra hai trường hợp. Trường hớp ngắt này có mức ưu tiên cao hơn thì nó sẽ được
phục vụ. Còn nó mà có mức ưu tiên thấp hơn thì nó sẽ bị bỏ qua.Bộ nhớ ngăn
xếp là vùng bất kì trong SRAM từ địa chỉ 0x60 trở lên. Để truy nhập vào
SRAM thông thường thì ta dùng con trỏ X,Y,Z và để truy nhập vào SRAM
theo kiểu ngăn xếp thì ta dùng con trỏ SP. Con trỏ này là một thanh ghi 16 bit và
được truy nhập như hai thanh ghi 8 bit chung có địa chỉ :SPL :
0x3D/0x5D(IO/SRAM) và SPH:0x3E/0x5E.Khi chương trình phục vu ngắt hoặc
chương trình con thì con trỏ PC được lưu vào ngăn xếp trong khi con trỏ ngăn xếp
giảm hai vị trí.Và con trỏ ngăn xếp sẽ giảm 1 khi thực hiện lệnh push. Ngược lại
khi thực hiện lệnh POP thì con trỏ ngăn xếp sẽ tăng 1 và khi thực hiện lệnh
RET hoặc RETI thì con trỏ ngăn xếp sẽ tăng 2. Như vậy con trỏ ngăn xếp cần
được chương trình đặt trước giá trị khởi tạo ngăn xếp trước khi một chương trình
con được gọi hoặc các ngắt được cho phép phục vụ. Và giá trị ngăn xếp ít nhất
cũng phải lớn hơn 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi.
b) Sơ đồ khối:
--------------------------------------------------------------------------------------------
[email protected] Trang 8
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
c) Sơ đồ chân:
--------------------------------------------------------------------------------------------
[email protected] Trang 9
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
c) Ý nghĩa các chân:
• ChânVcc: Chân số 10 là VCC cấp điện áp nguồn cho Vi điều khiển. Nguồn
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:
Sơ đồ phía dưới IC 7805 có 3 chân:
* Chân số 1 là chân IN.
* Chân số 2 là chân GND.
* Chân số 3 là chân OUT.
--------------------------------------------------------------------------------------------
[email protected] Trang 11
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
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ầu được lắp thêm vào mạch, diode cầu
đả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.
3. IC tạo thời gian DS1307:
a) Giới thiệu chung về DS1307:
IC thời gian thực là họ vi điều khiển của hãng dalat. DS1307 có một số đặc trưng cơ
bản sau:
- 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 :56bytes
- Đị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: