1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giới thiệu atmega16 potx

16 363 8
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 461,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong bài viết của em, chúng em xin giới thiệu về mạch ứng dụng cho atmega 16 thiết kế mô hình máy tính điện tử: thực hiện các phép tính cộng, trừ, nhân, chia trên các con số... Khi chươ

Trang 1

ĐỒ ÁN MÔN

ĐO LƯỜNG ĐIỀU KHIỂN LẬP TRÌNH BẰNG MÁY TÍNH

THIẾT KẾ MÔ HÌNH MÁY TÍNH ĐIỆN TỬ

Nhóm SVTH:

Lớp : GVHD :

Ngọ Văn Tùng Nguyễn Văn Tú Nguyễn Văn Hiến ĐHLTĐTĐH – K3 TH.S Bùi Văn Huy

Hà Nội, 6/2012

Trang 2

Lời nói đầu

Ngày nay nhân loại đang trải qua những sự phát triển nhanh chóng về mọi mặt Trong đó điện tử, tự động hóa đóng một vai trò không nhỏ Điện tử góp phần vào quá trình tự động hóa mọi mặt giúp con người hiện đại hóa cuộc sống

Vận dụng những kiến thức đã học trong quá học tập ở trường và được sự hướng dẫn nhiệt tình của Th.S Bùi Văn Huy Nhóm em thực hiện đồ án này Đồ

án này được áp dụng chủ yếu 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ề vi điều khiển, cách đọc , viết, và nhận biết 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 chúng dụng nó trong thực tế Tuy nhiên 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 tới những hệ thống điều khiển phức tạp Tuy nhiên do phạm vi và trình độ có hạn chế nên việc nghiên cứu và tìm hiểu vi điều khiển còn nhiều điều chưa biết Trong bài viết của em, chúng em xin giới thiệu về mạch ứng dụng cho atmega 16 thiết kế mô hình máy tính điện tử: thực hiện các phép tính cộng, trừ, nhân, chia trên các con số<=16bit, hiển thị trên màn hình LCD

Trang 3

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ó có nhiều điểm ưu việt có thể thay thế cho một mạch điện tử 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 vô cùng đa dạng và linh hoạt hơn, tiết kiệm năng lượng hơn, tốc độ sử

lý nhanh hơn,…

Để học tập tốt và hiểu sâu về môn 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ế mô hình máy tính điện tử: thực hiện các phép tính cộng, trừ, nhân, chia trên các con số<=16bit, hiển thị trên màn hình LCD

2) Sơ đồ khối

Trang 4

Chương II: Các linh kiện chính 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 bít dựa trên kiến trúc RISC Với khả năng thực hiện mỗi lệnh trong một vòng chu kỳ xung clock ATmega16 có thể đạt được tốc

độ 1MIPS trên mỗi MHz ( 1 triệu lệnh/s/MHz)

ATmega16 co đặ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ộ và ngắt ngoại, USART, giao tiếp nối tiếp 2 dây, 8 kênh ADC 10 bit,… ATmega16 hỗ trợ đầy đủ các chương trình và các 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 AVR CPU của AVR có chức năng bảo đảm sự hoạt động chính xác của 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 quan

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 lưu trong bộ nhớ Flash

Trang 5

- 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 giai đoạn: đại số, logic và theo bit

- thanh ghi trang thái

Đây là thanh ghi trạng thái có 8 bit lưu trữ trạng thái cua ALU sau các phép tính

số học và logic

Trang 6

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

Trang 7

- 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à S3E (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 vụ 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 hoặc bằng 60H (0x60) vì 5FH trỏ lại là vùng các thanh ghi

- 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 sà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, hoặ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

Trang 8

(con trỏ PC) vào ngăn xếp sau đó trỏ tới vector phục vụ ngắt và thức hiện chương trình phục vụ ngắt đó cho 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ào 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

Trang 9

b) Sơ đồ khối.

Trang 10

c) Sơ đồ chân.

Ý 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

Trang 11

• 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)

• Port D (PD): Port D gồm 8 chân (từ chân 14 đến 21):chưc năng xuất nhập

• Chân RESET(RST): Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy

• Chân XTAL1 và XTAL2 : Hai chân này có vị trí chân là 12 và 13 được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo nguồn xung clock ổn định

• Chân AVCC : Nguồn cấp cho cổng A và bộ chuyển đổi ADC , chân này nên được nối với nguồn cấp VCC bên ngoài , ngay cả khi bộ chuyển đổi ADC không được sử dụng Nếu bộ chuyển đổi ADC không được sử dụng , chân AVCC nên được nối với nguồn qua bộ lọc

• Chân AREF : AREF là chân chuẩn analog cho bộ chuyển đổi ADC

2) LCD 16x2.

Sử dụng LCD 16x2 để hiển thị các phép tính Ngày nay, thiết bị hiển thị LCD(Liquid Crystal Display) được sử dụng rất nhiều trong các ứng dụng của VĐK LCD có rất nhiều ưu điểm so với các dạng hiển thị khác Nó có khả năng hiển thị ký tự đa dạng, trực quan(chữ, số và các ký tự đồ họa), dễ dàng đưa vào

Trang 12

mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên của hệ thống và giá thành rẻ…

Trang 14

Chân Ký

hiệu

Mô tả

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với

GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này

với VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD

4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic

“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với

logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic

“1” để LCD ở chế độ đọc

6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus

DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp

7 - 14 DB0 -

DB7

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :

+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

Trang 15

Chương III: Chương Trình.

1) Mạch Mô phỏng:

2) Chương trình chạy:

Chương IV: Kết luân.

1) Ưu điểm, nhược điểm:

a) Ưu điểm:

b) Nhược điểm:

2) Tính thực tế và hướng cải tiến, phát triển :

3) Kết luân:

Sau một thời gian tìm hiểu, và dưới sự hướng dẫn rất nhiệt tình của GVHD Ths.Bùi Văn Huy, nhóm chúng em đã hoàn thành đề tài “thiết kế mô hình máy tính điện tử: thực hiện các phép tính cộng, trừ, nhân, chia trên các con số<=16bit, hiển thị trên màn hình LCD”

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 sau này

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

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 đề hoàn thiện hơn mô hình đồ án của mình

Nhóm em chân thành cám ơn sự chỉ dẫn nhiệt tình của GVDH Th.S Bùi Văn Huy, và sự giúp đỡ của các bạn trong lớp

Trang 16

Hà Nội, 06/2012

Ngày đăng: 27/06/2014, 23:20

TỪ KHÓA LIÊN QUAN

w