greenpearl_vt3112
New Member
LINK TẢI LUẬN VĂN MIỄN PHÍ CHO AE KET-NOI
Đề mục
Trang
2 2 3
Chương 1: Giới Thiệu Chung 1. Sơ lược
2. Sơ đồ khối
4 4 4
Chương 2: Các linh kiện chính được sử dụng trong mạch 1. Vi điều khiển ATMEGA16:
a. Giới thiệu chung.
b. Sơ đồ khối.
c. Sơ đồ chân.
d. Ý nghĩa của các chân
2. IC tạo nguồn ổn áp chuẩn 7805. 3. IC tạo thời gian thực DS1307. 4. LED 7thanh.
5 5 5 9 10 11 11
12 20
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ể thiếu nó mang nhiều tính ưu việt: có thể thay thế một mạch điện phức tạp bằng một vi mạch nhỏ gọn với chi phí thấp hơn, nhưng ứng dụng lại đa dạng và linh hoạt hơn, tiết kiệm năng lượng hơn, tốc độ xử lý nhanh hơn,...
Để học tập tốt và hiểu sâu về môn học vi xử lý ngoài những kiến thức trên sách vở cần có những ứng dụng vào thực tế. Trên cơ sở đó chúng em tìm hiểu và thiết kế sản phẩm là mạch ĐỒNG HỒ THỜI GIAN THỰC dùng vi điều khiển AVR của ATMEL. Có khả năng điều chỉnh và thay đổi được thời gian. So với những mạch đồng hồ dùng họ vi điều khiển 8051 và PIC thì AVR có ưu điểm hơn là ngôn ngữ lập trình được viết bằng C thì chương trình sẽ ngắn gọn hơn, so với 8051 thì tốc độ xử lý tín hiệu nhanh hơn.
2) Sơ đồ khối:
Khối nguồn
Vi Điều Khiển ATmega16
Khối hiển thị
Tạo xung dao động
Điều khiển
Tạo thời gian thực
Reset
Chương II: Các linh kiện chính được sử dụng trong mạch.
1. Vi điều khiển Atmega 16. a) Giới thiệu chung
ATmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC. Với khả năng thực hiện
mỗi lệnh trong vòng một chu kỳ xung clock, ATmega16 có thể đạt được tốc độ 1MIPS trên mỗi MHz (1 triệu lệnh/s/MHz).
-------------------------------------------------------------------------------------------- [email protected] Trang 4
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khi ghi, 512 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,...
v 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.
-------------------------------------------------------------------------------------------- [email protected] Trang 5
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
ALU
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)
T: Transfer bit used by BLD and BST instructions(Được sử dụng làm nơi chung gian trong các lệnh BLD,BST).
I: Global Interrupt Enable/Disable Flag (Đây là bit cho phép toàn cục ngắt. Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)
Các thanh ghi chức năng chung
-------------------------------------------------------------------------------------------- [email protected] Trang 6
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
Con trỏ ngăn xếp (SP)
Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi chức năng đặc biệt 8 bit. Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E (Trong bộ nhớ RAM là $5E). Có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngăn xếp.
Khi chương trình phục vu ngắt hay 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 hay 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 hay 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 hay bằng 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi.
-------------------------------------------------------------------------------------------- [email protected] Trang 7
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
Quản lý ngắt
Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng sẵn sxàng cho đổi dữ liệu của mình.Ví dụ:Khi bộ truyền nhận UART nhận được một byte nó sẽ báo cho CPU biết thông qua cờ RXC,hợc khi nó đã truyền được một byte thì cờ TX được thiết lập...Khi có tín hiệu báo ngắt CPU sẽ tạm dừng công việc đạng thực hiện lại và lưu vị trí đang thực hiên chương trình (con trỏ PC) vào ngăn xếp sau đó trỏ tới vector phuc vụ ngắt và thức hiện 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 hay 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 hay 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 hay 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
điện cấp là +5V±0.5.
Chân GND:Chân số11 và chân số 31 nối GND(hay nối Mass). Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805.
Port A (PA): Port A gồm 8 chân (từ chân 33 đến 40) có chức năng: đầu vào cho chuyển đổi ADC
Port B (PB): Port PB gồm 8 chân (từ chân 1 đến chân 8), ngoài có chức năng làm các đường xuất/nhập thì còn có nhiều chức năng phụ khác.
Port C (PC): Port C gồm 8 chân (từ chân 22 đến chân 29) : Nếu giao tiếp JTAG được kích hoạt điện trở trên các PC5(TDI), PC3 (TMS) ,PC2 (TCK) sẽ được kích hoạt ngay cả khi khởi động lại (reset)
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:
Đề mục
Trang
2 2 3
Chương 1: Giới Thiệu Chung 1. Sơ lược
2. Sơ đồ khối
4 4 4
Chương 2: Các linh kiện chính được sử dụng trong mạch 1. Vi điều khiển ATMEGA16:
a. Giới thiệu chung.
b. Sơ đồ khối.
c. Sơ đồ chân.
d. Ý nghĩa của các chân
2. IC tạo nguồn ổn áp chuẩn 7805. 3. IC tạo thời gian thực DS1307. 4. LED 7thanh.
5 5 5 9 10 11 11
12 20
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ể thiếu nó mang nhiều tính ưu việt: có thể thay thế một mạch điện phức tạp bằng một vi mạch nhỏ gọn với chi phí thấp hơn, nhưng ứng dụng lại đa dạng và linh hoạt hơn, tiết kiệm năng lượng hơn, tốc độ xử lý nhanh hơn,...
Để học tập tốt và hiểu sâu về môn học vi xử lý ngoài những kiến thức trên sách vở cần có những ứng dụng vào thực tế. Trên cơ sở đó chúng em tìm hiểu và thiết kế sản phẩm là mạch ĐỒNG HỒ THỜI GIAN THỰC dùng vi điều khiển AVR của ATMEL. Có khả năng điều chỉnh và thay đổi được thời gian. So với những mạch đồng hồ dùng họ vi điều khiển 8051 và PIC thì AVR có ưu điểm hơn là ngôn ngữ lập trình được viết bằng C thì chương trình sẽ ngắn gọn hơn, so với 8051 thì tốc độ xử lý tín hiệu nhanh hơn.
2) Sơ đồ khối:
Khối nguồn
Vi Điều Khiển ATmega16
Khối hiển thị
Tạo xung dao động
Điều khiển
Tạo thời gian thực
Reset
Chương II: Các linh kiện chính được sử dụng trong mạch.
1. Vi điều khiển Atmega 16. a) Giới thiệu chung
ATmega16 là vi điều khiển 8 bit dựa trên kiến trúc RISC. Với khả năng thực hiện
mỗi lệnh trong vòng một chu kỳ xung clock, ATmega16 có thể đạt được tốc độ 1MIPS trên mỗi MHz (1 triệu lệnh/s/MHz).
-------------------------------------------------------------------------------------------- [email protected] Trang 4
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
ATmega16 có các đặc điểm sau: 16KB bộ nhớ Flash với khả năng đọc trong khi ghi, 512 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,...
v 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.
-------------------------------------------------------------------------------------------- [email protected] Trang 5
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
ALU
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)
T: Transfer bit used by BLD and BST instructions(Được sử dụng làm nơi chung gian trong các lệnh BLD,BST).
I: Global Interrupt Enable/Disable Flag (Đây là bit cho phép toàn cục ngắt. Nếu bit này ở trạng thái logic 0 thì không có một ngắt nào được phục vụ.)
Các thanh ghi chức năng chung
-------------------------------------------------------------------------------------------- [email protected] Trang 6
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
Con trỏ ngăn xếp (SP)
Là một thanh ghi 16 bit nhưng cũng có thể được xem như hai thanh ghi chức năng đặc biệt 8 bit. Có địa chỉ trong các thanh ghi chức năng đặc biệt là $3E (Trong bộ nhớ RAM là $5E). Có nhiệm vụ trỏ tới vùng nhớ trong RAM chứa ngăn xếp.
Khi chương trình phục vu ngắt hay 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 hay 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 hay 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 hay bằng 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi.
-------------------------------------------------------------------------------------------- [email protected] Trang 7
Đồ án 1: Đề tài: Thiết kế đồng hồ thời gian thực .
Quản lý ngắt
Ngắt là một cơ chế cho phép thiết bị ngoại vi báo cho CPU biết về tình trạng sẵn sxàng cho đổi dữ liệu của mình.Ví dụ:Khi bộ truyền nhận UART nhận được một byte nó sẽ báo cho CPU biết thông qua cờ RXC,hợc khi nó đã truyền được một byte thì cờ TX được thiết lập...Khi có tín hiệu báo ngắt CPU sẽ tạm dừng công việc đạng thực hiện lại và lưu vị trí đang thực hiên chương trình (con trỏ PC) vào ngăn xếp sau đó trỏ tới vector phuc vụ ngắt và thức hiện 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 hay 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 hay 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 hay 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
điện cấp là +5V±0.5.
Chân GND:Chân số11 và chân số 31 nối GND(hay nối Mass). Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805.
Port A (PA): Port A gồm 8 chân (từ chân 33 đến 40) có chức năng: đầu vào cho chuyển đổi ADC
Port B (PB): Port PB gồm 8 chân (từ chân 1 đến chân 8), ngoài có chức năng làm các đường xuất/nhập thì còn có nhiều chức năng phụ khác.
Port C (PC): Port C gồm 8 chân (từ chân 22 đến chân 29) : Nếu giao tiếp JTAG được kích hoạt điện trở trên các PC5(TDI), PC3 (TMS) ,PC2 (TCK) sẽ được kích hoạt ngay cả khi khởi động lại (reset)
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:
You must be registered for see links
Last edited by a moderator: