intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Các họ vi điều khiển thế hệ mới - Vi xử lý: Phần 2

Chia sẻ: Minh Vũ | Ngày: | Loại File: PDF | Số trang:46

106
lượt xem
17
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nối tiếp nội dung phần 1 Tài liệu tham khảo hỗ trợ môn Vi xử lý - Các họ vi điều khiển thế hệ mới, phần 2 giới thiệu tới người học các kiến thức chung nhất về họ vi điều khiển AVR và một vi điều khiển PSoC. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Các họ vi điều khiển thế hệ mới - Vi xử lý: Phần 2

  1. CHƯƠNG 2. HỌ VI ĐIÈU KHIỂN AVR AT90S8535 2.1 Các đặc tính AVR có cấu trúc RISC (reduced instruction set computer: máy tính dùng tập lệnh lút gọn) hiệu năng cao - nguồn điện thấp. • 118 lệnh mạnh mẽ - Đa số thực hiện theo đồng hồ chu kỳ đơn • 32 thanh ghi 8 bit làm việc chế độ đa dụng. • Thực hiện 8 triệu lệnh mỗi giây với tần số 8 MHz. • 8 KHytes bộ nhớ chương trình bên trong chíp. • Bộ giao diện nối tiếp SPI trong lập trình hệ thống. • Khả năng chịu đựng : 1,000 viết/xoá bộ nhớ chương trình. • 512 Bytes EEPROM • 512 Bytes SRAM bên trong • Chương trình có thể khoá bằng phần mềm. • 8 kênh, ADC 10 bit • Có thể truyền thông UART • Độ giao diện nối tiếp SPI chủ/khách • Hai bộ Timer/counter 8 bit cùng với bộ đếm và chế độ so sánh riêng biệt . • Một bộ Timer/counter 16 bit cùng với máy đếm, chế độ so sánh và tạo bộ 8, 9, 1 0 bit PWM • Bộ định thời Watchdog • Bộ so sánh tương tự trên chíp • Mạch xác lập lại nguồn diên • Đồng hồ thời gian thực (RTC) cùng với bộ dao động • Các nguồn ngắt bên trong và bên ngoài • Ba chế độ ngủ (tĩnh): chế độ nhàn rỗi, chế độ tiết kiệm điện, chế độ ngắt điện. Tiêu thụ điện ở 4 MHz 3V, 200C 60
  2. - Hoạt động : 6,4 mA - Chế độ nhàn rỗi: 1,9 mA -Chế độ ngắt điện:
  3. Hình 2.2. Sơ đồ khối AT90S8535 Lõi AVR kết hợp với một lệnh thiết lập với 32 thanh ghi đa năng đang làm việc. Tất cả 32 thanh ghi được nối trực tiếp tới bộ số học logic (ALU), cho phép hai thanh ghi độc lập được truy cập trong một lệnh đơn được thực hiện trong một chu kỳ đồng hồ. Kết quả cấu trúc là nhiều mã hiệu quả hơn trong khi dạt được lưu lượng lên lới mười lần nhanh hơn CISC microcontrollers. AT90S8535 cung cấp những đặc tính sau: 8KB cho hệ thống lập trình tia sáng, 512Byte EEPROM, 512Byte SRAM, 32 chân vào ra đa năng. 32 thanh ghi đa năng đang làm việc, đồng hồ thời gian thực, (RTC). ba bộ Timer/counter linh hoạt với cách thức so sánh, những ngắt ngoài và bên trong một UART tuần tự lập trình được, 8 kênh ADC 10 bit thiết bị bấm giờ lập trình được với bộ giao động bên trong. một cổng SPI nối tiếp và ba chọn lựa bằng phần mềm để chọn được chế độ tiết kiệm điện. Chế độ nhàn rỗi dừng CPU trong khi cho phép SRAM, bộ 62
  4. Timer/counter, hệ thống cổng và ngắt tiếp tục được hoạt động. Chế độ ngắt diên cất giữ nội dung thanh ghi nhưng làm treo máy tạo dao động, vô hiệu hoá Tất cả các chức năng khác của chíp cho tới khi ngắt tiếp hoặc phần cứng thiết lập lại. Trong chế độ tắt điện máy tạo dao động tính giờ tiếp tục để chạy, cho phép người sử dụng bảo vệ thiết bị tính giờ căn bản trong khi các phần còn lại của thiết bị đang dừng ở giữa chừng. Thiết bị được sản xuất đang sử dụng mật độ cao bộ nhớ công nghệ không linh hoạt. ISP trong chíp Flash cho phép bộ nhớ chương trình được chương trình hóa trong hệ thống qua một mạch ghép nối tiếp SPI hoặc bởi kí ức lập trình viên không linh hoạt. Bằng việc kết hợp một CPU có tệp thu gọn 8 bit cùng với hệ thống lập trình được flash hoá trên một chíp đơn. AT90S8535 Atmel là một vi điều khiển thanh mà cung cấp một giải pháp có tính linh hoạt cao và chi phí hợp lí tới nhiều điều khiển nhúng. AVR AT90S8535 được hỗ trợ với một bộ đầy đủ chương trình và những công cụ phát triển hệ thống. Bao gồm: Những người biên tập C, những chương trình hợp ngừ vĩ mô. những trình gỡ rôi/những sự mô phỏng, sự mô phỏng trong mạch. Mô tả chân VCC Cung cấp Điện áp GND (Nguồn âm) Port A (PA7..PA0) Cổng A là một cổng vào ra có hướng 8-bit. Những chốt cổng có thê cung cấp một điện trở trong quá tải (được chọn cho mỗi bit). Cổng A bộ đệm đầu ra có thể cấp 20 mA đầu ra và có thể trực tiếp điều khiển hiển thị đèn LED. Khi các chốt từ PA0 đến PA7 được sử dụng như những dữ liệu vào thì ngoài được kẻo thấp, chúng sẽ là dòng điện nguồn nếu điện trở trong quá tải lên được hoạt động. Cổng A cũng đáp ứng như những dữ liệu vào tương tự đến bộ biến đổi A/D. Các chốt cổng A là bộ trạng thái khi một điều kiện thiết lập lại được hoạt động, thậm chí nếu đồng hồ không phải đang chạy. Port B (PB7..PBO) Cổng B là một cổng vào ra có hướng 8-bit cùng với điện tử kéo trong. Cổng B bộ đệm đầu ra có thể cấp 20 mA. Như những dữ liệu vào, các chốt công B những cái mà ngoài được kéo thấp sẽ là nguồn điện nếu như điện trở quá tải được hoạt động. Cổng B cũng phục vụ cho các chức năng của những đặc tính đặc biệt khác của AT90S8583. Các chốt cổng B là ba trạng thái khi một điều kiện thiết lập lại được hoạt động của nó khi hệ thống đang hoạt động. Port C (PC7..PCO) Cổng C những bộ đệm dầu ra có thể cấp 20 mA. Hai chân cổng có thể lựa chọn để sử dụng như bộ tạo dao động cho thiết Timer/counter 2. Các chân cổng C có ba trạng thái khi một điều kiện thiết lập lại 63
  5. được hoạt động của nó. Port D (PD7..PDO) Cổng D là một cổng vào ra có hướng 8- bit cùng với điện tử kẻo trong. Cổng B bộ đệm đầu ra có thể cấp dòng 20 mA. Cổng D cũng phục vụ cho các chức năng của những đặc tính đặc biệt khác như trong hình của AT90S8535. Các chân cổng D có ba trạng thái khi một điều kiện thiết lập lại được hoạt động. Reset dữ liệu đầu vào. Một thiết lập bên ngoài được sinh ra bởi một mức thấp tên chốt Reset. Thiết lập lại xung dài hơn 50 ns sẽ sinh ra một reset, dù đồng hồ l\hôn ) l~h~li dụng chạy. Các xung ngắn hơn không dược bảo đảm phát sinh ra một reset. XTAL1 Dữ liệu tới bộ khuếch đại bộ dao động đảo và dữ liệu mạch dao động bên trong đồng hồ. XTAL2 tín hiệu ra từ máy khuếch đại bộ dao động đảo AVCC là chân cung cấp điện áp cho cổng A và bộ biến đổi tương tự/số. Nếu ADC không được sử dụng, chốt này phải được kết nối tới VCC. Nếu ADC được sử dụng, chốt này phải được kết nối tới VCC qua một bộ lọc thông thấp. AREF là điện áp tham chiếu dữ liệu vào tương tự cho bộ biến đổi tương tự/số. Để ADC hoạt động, một điện áp trong phạm vi 2V phải được đưa vào chân này. AGND Tiếp đất số. Bộ dao động tinh thể XTAL1 và XTAL2 là dữ liệu đầu vào và dữ liệu đầu ra, tương ứng. của một máy khuếch đại đảo có thể được cấu hình cho việc sử dụng như một bộ dao động trong chíp, như biểu diễn trong hình 2.3. Cũng giống như một tinh thể thạch anh hoặc một thiết bị cộng hưởng âm thanh có thể được sử dụng. 64
  6. Bộ dao động Timer: Cho các chốt bộ dao động Timer, TOSC1 và TOSC2, tinh thể được kết nối trực tiếp giữa các chốt. Không một tụ điện ngoài nào được cần đến bộ dao đông được tối ưu hoá cho sự sử dụng cùng với một đồng hồ tinh thể tần số 32,768KHz. Kiến trúc tổng quan: Truy cập nhanh thông qua 32 thanh ghi đa năng 8 bit cùng với thế gian truy xuất một chu kỳ đồng hồ đơn. Điều đó có nghĩa là trong suốt một chu kỳ đồng hồ đơn, một thao tác ALU (Arithmetic Logic Unit: Đơn vị số học logic) được thực hiện. Hai toán hạng là dữ liệu đầu ra từ thanh ghi. Phép toán được thực hiện và kết quả được lưu trữ trong thanh ghi trong một chu kỳ đồng hồ. Sáu trong số 32 thanh khi có thể được sử dụng khi ba con trỏ thanh ghi địa chỉ gián tiếp 16 bit định vị trí không gian dữ liệu, cho phép những sự tính toán địa chỉ hiệu quả. Một trong ba con trỏ địa chỉ cũng có thể được sử dụng như con trỏ địa chỉ để chức năng của bảng tra cứu không thay đôi. Những thanh ghi chức năng bổ sung này là 16 bít thanh ghi -X, thanh ghi - Y, thanh ghi - Z. 65
  7. Hình 2.4. Cấu trúc AT90S8535 AVR RISC ALU hỗ trợ các hàm số học và các hàm logic học giữa các thanh ghi hoặc giữa một hằng số và một thanh ghi. Các thao tác thanh ghi đơn cũng được thực hiện trong ALU. Hình 4 biểu diên cấu trúc vi điều khiển AT90S8535 AVR RISC. Ngoài thao tác thanh ghi, cách đánh địa chỉ bộ nhớ quy ước cũng có thể được sử dụng trên thanh ghi tệp tin cũng được. Điều đó được cho phép bởi thực tế mà thanh ghi được gán 32 địa chỉ không gian dữ liệu thấp nhất ($00-$1F) cho phép chúng được truy cập như chúng là những sự định vị bộ nhớ bình thường. Không gian nhớ vào/ra chứa 64 địa chỉ cho những chức năng ngoại vi CPU khi những thanh ghi điều khiển, Timer/counters, các bộ đổi tương tự/số và các hàm vào ra khác vận hành. Bộ nhớ vào ra có thể được truy cập trực tiếp hoặc trong khi sự định vị trí không gian dữ liệu theo sau đó của thanh ghi tệp tin $20 - $5F. AVR sử dụng khai mềm cấu trúc Harvard cùng với các bộ nhớ riêng biệt các bus chương trình và dữ liệu. Bộ nhớ chương trình được thực hiện cùng với một ứng dẫn hai bước. Trong khi một chỉ dẫn đang được thực hiện, thì chỉ dẫn tiếp theo được đem về trước từ bộ nhớ chương trình. Khái niệm này cho phép các chỉ dẫn sẽ được thực hiện trong mọi chu kỳ đồng hồ. Bộ nhớ chương trình có thể tải xuống hệ thống bộ nhớ Flash. Với sự nhảy tương đối và những chỉ dẫn gọi, toàn 66
  8. bộ 4 K vùng địa chỉ trực tiếp được truy nhập. Đa số AVR chỉ dẫn có một khổ từ 16 bít đơn. Mỗi địa chỉ bộ nhớ chương trình chứa 16 hoặc 32 bit chỉ dẫn. Trong thời gian những ngắt và những sự gọi chương trình con, bộ đếm địa chỉ chương trình (PC) và ngăn xếp. Ngăn xếp được cấp phát trong dữ liệu chung SRAM và vì vậy kích thước ngăn xếp chỉ được hạn chế bởi tổng kích thước của SRAM và cách dùng SRAM. Hầu hết người sử dụng chương trình phải được khởi tạo lại SP trong việc khởi động lại thủ tục (trước khi các chương trình con hay các ngắt được thực hiện). Con trỏ ngăn xếp 10 bít (SP) thì có thể tiếp cân đọc/ghi trong không gian vào/ra. 512 bytes dữ liệu SRAM có thể dễ dàng được truy nhập qua năm cách đánh địa chỉ khác nhau được hỗ trợ trong cấu trúc AVR. Không gian bộ nhớ trong cấu trúc AVR là tất cả bản đồ bộ nhớ tuyến tính và bình thường. Một module ngắt linh hoạt có các thanh ghi điều khiển của nó trong không gian vào/ra với một bổ sung ngắt chung cho phép bit trong thanh ghi trạng thái. Hầu hết các ngắt khác có một vectơ ngắt riêng biệt trong bảng vectơ ngắt tại lúc bắt đầu bộ nhớ chương trình. Các ngắt khác có quyền ưu tiên theo vị trí vectơ ngắt của chúng. Địa chỉ vecter ngắt càng thấp, quyền ưu tiên càng cao. Thanh ghi tệp tin đa năng: hình 2.6 biểu diễn cấu trúc sự hoạt động của 32 thanh ghi đa năng trong CPU. 67
  9. Hình 2. 6. Sự hoạt động của thanh ghi đa năng trong AVR CPU Mọi lệnh điều hành thanh ghi trong tập lệnh có chu trình trực tiếp và đơn truy nhập tới mọi thanh ghi. Chỉ có một ngoại lệ là năm chỉ dẫn hằng số số học và logic học SBCI, SUBI, CPL, ANDI và ORI giữa một hằng số và một thanh ghi và chỉ dẫn LDI để tải dữ liệu triền miên tức thời. Những chỉ dẫn này ứng dụng vào một nửa các thanh ghi trong thanh ghi tệp tin (R16..R31). Nói chung SBC, SUB, CP, AND hoặc OR và mọi thao tác giữa hai thanh ghi hoặc trên một thanh ghi áp dụng tới toàn bộ thanh ghi. Như biểu diễn ở hình 2.6. mỗi thanh ghi được gán một dữ liệu địa chỉ bộ nhớ, ánh xạ trực tiếp chúng vào trong 32 vị trí đầu tiên của người sử dụng không gian dữ liệu. Mặc dù không được thực hiện về mặt vật lý như vị trí SRAM, việc tổ chúc bộ nhớ này cung cấp sự linh hoạt lớn trong truy nhập thanh ghi, như các thanh ghi X-, Y-, và Z có thể dược thiết lập tới chỉ mục một vài thanh ghi trong tệp tin. Thanh ghi X, thanh ghi Y. Các thanh ghi từ R26..R31 có bổ sung thêm một số thanh ghi Z chức năng đến cách sử dụng đa năng của chúng. Những thanh ghi này là những con trở địa chỉ cho sự định địa chỉ gian tiếp của không gian địa chỉ. Ba thanh khi định địa chỉ gián tiếp X, Y, Z được định nghĩa trong hình 2.8. 68
  10. Hình 2.8. Thanh ghi X-, Y-, Z Trong các cách đánh địa chỉ khác nhau, những thanh ghi địa chỉ này có các chức năng như sự dịch chuyển cố định sự gia tăng và sự giảm bớt tự động (xem sự mô tả cho những sự chỉ dẫn khác nhau). ALU-Arithmetic Logic Unit: AVR ALU có hiệu năng cao trong kết nối trực tiếp với tất cả sự hoạt động của 32 thanh ghi đa năng. Bên trong một đồng hồ chu kỳ đơn. thao tác ALU giữa các thanh ghi trong thanh ghi được thực hiện. Thao tác ALU dược chia thành ba mục chính: số học, logic, các bộ chức năng. Hệ thống lập trình cực nhanh AT90S8535 chứa đựng 8 KB trong chíp hệ Bộ nhó chương trình: Flash được sắp xếp như 4K x 16. Bộ nhớ Flash có khả năng ghi xoá ít nhất 1000 chu kỳ. Bộ đêm chương trình AT90S8535 là 12 bits rộng, như vậy định vị 4096 địa chỉ chương trình bộ nhớ. NHỮNG CÁCH ĐÁNH ĐỊA CHỈ CHO CHUƠNG TRÌNH VÀ DỮ LIỆU AT90S8535 được người điều khiển máy tính hổ trợ những cách đánh địa chỉ hiệu quả và mạnh cho sự truy nhập vào bộ nhớ chương trình (flash) và bộ nhớ dữ liệu (SRAM, Register file and I/O memory). Mục này mô tả sự khác nhau giữa các cách đánh địa chỉ được hỗ trợ bởi cấu trúc AVR. Trong hình, OP có nghĩa là thao tác phần mã của từ lệnh. Đơn giản hoá, không phải tất cả các hình cho thấy sự định vị chính xác của các bits địa chỉ. THANH GHI TRỰC TIẾP, THANH GHI ĐƠN Rd 69
  11. Hình 2.9. Thanh ghi địa chỉ đơn trực tiếp Toán hạng dược chứa đựng trong thanh ghi d(Rd) THANH GHI TRỰC TIẾP, HAI THANH GHI Rd và Rr Hình 2. 10. Thanh ghi địa chỉ trực tiếp, hai thanh ghi Toán hạng dược chứa đựng trong thanh ghi rời r(Rr) và d(Rd). Kết quả được lưu trữ trong thanh ghi d (Rd). VÀO / RA TRỰC TIẾP Hình 2. 11 Địa chỉ vào/ra trực tiếp Địa chỉ toán hạng được chứa dựng trong 6 bits của từ lệnh. n là đích hoặc nguồn của thanh ghi địa chỉ. DỮ LIỆU TRỰC TIẾP 70
  12. Hình 2. 12. Địa chỉ dữ liệu trực tiếp Một địa chỉ dữ liệu 16 bits được chứa đựng trong 16 LSBS của 2 từ lệnh.Rd/Rr chỉ rõ đích hoặc nguồn của thanh ghi. DỮ LIỆU GIÁN TIẾP VỚI SỰ THUYỆN CHUYỂN Hình 2. 13. Dữ liệu gián tiếp với sự thuyên chuyển Địa chỉ toán hạng là kết quả của thanh ghi Y- hoặc Z- nội dung thêm vào những địa chỉ dược chứa đựng trong 6 bits của từ lệnh. ĐỊA CHỈ GIÁN TIẾP Hình 2. 14. Địa chỉ dữ liệu gián tiếp Địa chỉ toán hạng là nội dung thanh ghi X-,Y- hoặc Z-. DỮ LIỆU GIÁN TIẾP VỚI SỰ GIẢM BỚT 71
  13. Hình 2. 15 Địa chỉ dữ liệu gián tiếp với sự giảm bót Thanh ghi X-.Y- hoặc Z- được giảm bớt trước khi thao tác. Địa chỉ toán hạng là nội dung giảm bớt của các thanh ghi X-.Y- hoặc Z-. DỮ LIỆU GIÁN TIẾP VỚI SỰ TĂNG DẦN Hình 2.16. Địa chỉ dữ liệu gián tiếp với sự tăng dần Thanh ghi X-.Y- hoặc Z- được tăng lên sau khi thao tác. Địa chỉ toán hạng là nội dung của thanh ghi X-.Y- hoặc Z- theo trật tự tăng dần. ĐỊA CHỈ HẰNG SỐ SỬ DỤNG LỆNH LPM Hình 2. 17 Mã bộ nhớ địa chỉ hằng số Địa chỉ hằng số byte được chỉ rõ bởi nội dung của thanh ghi Z. MSB (bit 15) lựa chọn từ địa chỉ (0-4k), LSB lựa chọn byte thấp nếu xoá (LSB=0) hoặc lựa chọn byte cho nêu thiết lập (LSB=1). SỰ ĐỊNH VỊ CHƯƠNG TRÌNH GIÁN TIẾP IJMP VÀ ICALL 72
  14. Hình 2.18. Sự định vị bộ nhớ chương trình gián tiếp Sự thực hiện chương trình tiếp tục ở địa chỉ chứa đựng bởi thanh ghi Z- (i.e., PC được nạp vào với nội dung của thanh ghi Z- ) SỰ ĐỊNH VỊ CHƯƠNG TRÌNH TƯƠNG ĐỐI RJMB VÀ RCALL Hình 2. 19 Sự định vị bộ nhớ chương trình tương đối Sự thực hiện chương trình tiếp tục ở địa chỉ PC + k + 1. Địa chỉ tương đối k là từ 2048 tới 2047. BỘ NHỚ DỮ LIỆU EEPROM AT90S8535 chứa 512 bytes của bộ nhớ dữ liệu EEPROM. Nó được tổ chức như là một không gian dữ liệu riêng biệt, trong đó không có một bits đơn nào có thể được đọc và viết EEPROM có một sự chịu dựng của ít nhất 100.000 viết/xoá. THỜI GIAN TRUY CẬP BỘ NHỚ VÀ CHỈ DẪN TÍNH TOÁN THỜI GIAN THỰC HIỆN Mục này mô tả những khái niệm tính toán thời gian truy nhập chung cho sự thực hiện lệnh và truy cập bộ nhớ trong AVR CPU được điều khiển bởi đồng hồ hệ thống. Hình 2.20 cho thấy chu kỳ tìm nạp lệnh và thực hiện lệnh song song bởi cấu trúc 1 larvard và khái niệm truy nhập nhanh danh sách thanh ghi. Đây là khái niệm cơ bản về việc thực hiện lệnh IMIPS cho mỗi MHZ với những kết quả 73
  15. duy nhất tương ứng cho những hàm giá, hàm đồng hồ, hàm luỹ thừa đơn vị. Hình 2.20 : Tìm nạp lệnh và thực hiện lệnh song song Hình 2. 21 cho thấy khái niệm tính toán thời gian bên trong cho danh sách thanh ghi. trong một chu kỳ máy một thao tác ALU sử dụng hai thanh ghi toán hạng được thực hiện và kết quả được lưu trữ sau thanh ghi đích. Hình 2. 21. Chu trình thao tác đơn ALU Sự truy nhập dữ liệu bên trong SRAM dược thực hiện trong hai chu kỳ máy được mô tả trong hình 2.22 Hình 2.22. Chu trình truy cập dữ liệu trên SRAM BỘ NHỚ VÀO/RA Định nghĩa không gian I/O của AT90S8035 được thể hiện ở bảng 2.1 Bảng 2.1. Không gian vào ra của AT90S8535 74
  16. Địa chỉ Tên CHỨC NĂNG vào/ra (Địa chỉ SRAM) $3F ($5F) SREG Thanh ghi trạng thái $3E ($5E) SPH Thanh ghi con trỏ ngăn xếp cao $3D ($5D) SPL Thanh ghi con trỏ ngăn xếp thấp $3B ($5B) GIMSK Thanh ghi mặt nạ ngắt tống quát $3A ($5A) GIFR Thanh ghi cờ ngắt tông quát $39 ($59) TIMSK Thanh ghi mặt nạ ngắt Timer/counter $38 ($58) TIFR Thanh ghi cờ ngắt Timer/counter $35 ($55) MCUCR Thanh ghi điều khiến tống quát MCU $34 ($45) MCUSR Thanh ghi trạng thái tống quát MCU $33 ($53) TCCRO Thanh ghi điêu khiên Timer/counter 0 $32 ($52) TCNTO Thanh ghi Timer/counter 0 $2F ($4F) TCCRIA Thanh ghi điều khiến A Timer/counter 1 $2E ($4E) TCCRI B Thanh ghi điêu khiên B Timer/counter 1 $2D ($4D) TCNTI H Thanh ghi Timer/counter 1 byte cao $20 ($4c) TCNTI L Thanh ghi Timer/counter 1 byte thấp $2B ($4B) OCRIAH Thanh ghi so sánh A byte cao đầu ra bộ Timer/counter 1 $2A ($4A) OCR1AL Thanh ghi so sánh A byte thấp đầu ra bộ Timer/counter 1 $29 ($49) OCR1BH Thanh ghi so sánh B byte cao đầu ra $28 ($48) OCR1BL Thanh ghi so sánh B byte thấp đầu ra bộ Timer/counter 1 $27 ($47) ICR1H T/C 1 nhập vào thanh ghi bắt giữ lại byte cao $26 ($46) ICR1L T/C 1 nhập vào thanh ghi bắt giữ lại byte thấp $25 ($45) TCCR2 Thanh ghi điều khiên bộ Timer/counter 2 $24 ($44) TCNT2 Thanh ghi bộ Timer/counter 2 (8-bit) $23 ($43) OCR2 Thanh ghi so sánh đầu ra bộ Timer/counter 2 $22 ($42) ASSR Thanh ghi trạng thái kiếu không đông bộ $21 ($4 1 ) VVDTCR Thanh ghi điều khiển Timer Watchdog $1F ($3E) EEARH EEPROM thanh ghi địa chỉ byte cao 75
  17. $1E ($3E) EEARL EEPROM thanh ghi địa chỉ byte thấp $1D ($3D) EEDR EEPROM thanh ghi dữ liệu $1C ($3C) EECR EEPRM thanh ghi điều khiển $1B ($3B) PORTA Thanh ghi dữ liệu, cổng A $1A ($3A) DDRA Hướng thanh ghi dữ liệu, cổng A $19 ($39) PINA Nhập vào các chân cổng A $18 ($38) PORTB Thanh ghi dữ liệu, cổng B $17 ($37) DDRB Hướng thanh ghi dữ liệu, cổng B $16 ($36) PINB Nhập vào các chân cổng B $15 ($35) PORTC Thanh ghi dữ liệu, cổng C $14 ($34) DDRC Hướng thanh ghi dữ liệu, cổng C $13 ($33) PINC Nhập vào các chân cổng C $12 ($32) PORTD Thanh ghi dữ liệu, cổng D $11 ($31) DDRD Hướng thanh ghi dữ liệu, cổng D $10 ($30) PIND Nhập vào các chân cổng D $0F ($2F) SPDR Vào/ra thanh ghi dữ liệu SPI $0E ($2E) SPSR Thanh ghi trạng thái SPI $0D ($2D) SPCR Thanh ghi điều khiển SPI $0C ($2C) UDR Vào/ra thanh ghi dữ liệu UART $0B ($2B) USR Thanh ghi trạng thái UART $0A ($2A) UCR Thanh ghi điều khiển UART $09 ($29) UBRR UART Baud thanh ghi tốc độ $08 ($28) ACSR So sánh thanh ghi điều khiển và thanh ghi trạng thái $07 ($27) ADMUX ADC bộ đa hợp lựa chọn thanh ghi $06 ($26) ADCSR ADC thanh ghi điều khiển và thanh ghi trạng thái $05 ($25) ADCH Thanh ghi dữ liệu ADC $04 ($24) ADCL Thanh ghi dữ liệu thấp ADC Tất cả các chân vượng AT90S8535 và thiết bị ngoại vi được đặt trong không gian vào/ra. Vị trí vào/ra được truy cập bởi lệnh IN và OUT. Việc chuyển dữ liệu giữa 32 thanh ghi đa mục đích và không gian vào/ra. Thanh ghi vào/ra trong phạm vi địa chỉ $00=$1F được trực tiếp tiếp cận bit sử dụng lệnh SBI và CBI. Trong những thanh ghi này giá trị của bits đơn có thể được kiểm tra bằng lệnh SBIS và SBIC, để cập lệnh lập hợp mục cho nhiều chi tiết hơn. Khi sử dụng những lệnh đặc biệt vào/ra IN và OUT địa chỉ vào/ra $00-$3F phải được thực 76
  18. hiện. Khi địa chỉ thanh ghi vuông như SRAM. S20 phải được thêm vào những địa chỉ này. Tất cả những thanh ghi địa chỉ vào/ral tài liệu này cho thấy với địa chỉ SRAM trong dấu ngoặc. Để thích hợp với những thiết bị các bit dành riêng cần phải được viết 0 nếu truy cập Một số cờ trạng thái được xoá bằng cách viết một logic ‘1’ tới chúng. Ghi chú rằng lệnh CBI và SBI sẽ có tác dụng trên tất cả các bits trong thanh ghi vào/ra, viết ‘1’ vào sau bất kỳ cờ dọc nào như là tập hợp, như vậy làm xoá cờ. Lệnh CBI và SBI chỉ làmviệc với thành ghi $00 tới $1F. Thanh ghi điều khiển thiết bị ngoại vi được giải thích trong những mục sau: THANH GHI TRẠNG THÁI - SREG Thanh ghi trạng thái AVR (SREG) tại vị trí không gian I/O được định nghĩa như sau: BIT 7-l: Cho phép ngắt toàn cục Cho phép ngắt toàn cục bit phải là tập hợp (một) cho ngắt để được cho phép. Ngắt cho phép điều khiển riêng lẻ rồi được thực hiện trong những thanh ghi điều khiển riêng biệt. Nếu thanh ghi cho phép ngắt toàn cục bị xoá, không có ngắt thì có thể không phụ thuộc vào sự thiết đặt cho phép ngắt riêng lẻ. Bit -I bị xoá bởi phần cứng sau khi một ngắt đã xuất hiện và được thiết lập bởi RETI để cho phép ngắt kế tiếp. BIT 6-T: Lưu trữ bản sao bit Lệnh sao chép bit BLD (Bit LoaD) và BST (Bit Store) sử dụng T-Bit như nguồn và đích cho hoạt động bit. Một bit từ một thanh ghi trong danh sách các thanh ghi có thể sao chép vào trong T bởi lệnh BST và một bộ trong T có thể sao chép cao trong một bộ trong một thanh ghi trong danh sách các thanh ghi bởi lệnh BLD. Bit 5-H: half-carry flag Half-cary flag H cho biết một half-carry trong một vài thao tác số học. Thấy sự mô tả thiết lập lệnh cho thông tin chi tiết. Bit 4 -S: Kí hiệu bit, (S=N + V) 77
  19. Bit-S luôn luôn được dành riêng hoặc ở trong cờ ngược N và bổ sung tràn bộ nhớ cờ V. Thấy sự mô tả thiết lập lệnh cho thông tin chi tiết. Bit 3 - V: hai lần bổ sung tràn bộ nhớ cờ V Hai lần bổ sung tràn bộ nhớ cờ V hỗ trợ hai lần bổ sung số học. Thấy sự mô tả thiết lập lệnh cho thông tin chi tiết. Bit 2 -N: Cờ ngược Cờ ngược cho biết một kết quả ngược từ thao tác số học hoặc logic. Thấy sự mô lả thiết lập lệnh cho thông tin chi tiết. Bit 1 -Z : cờ 0 Cờ 0 -Z cho biết một kết quả 0 từ một thao tác số học hoặc logic. Thấy sự mô ta thiết lập lệnh cho thông tin chi tiết. Bit 0 -C : cờ nhỏ Cờ mang -C cho biết một carry (mang) từ một thao tác số học hoặc logic. Thấy sự mô tả từ thiết lập lệnh cho thông tin chi tiết. Chú ý rằng trong thanh ghi trạng thái không tự động cất giữ khi một việc vào ngắl thường trình và được lưu trữ khi trở lại một ngắt thường trình. Cái này phải được điều khiên bởi phần mềm. CON TRỎ NGĂN XẾP - SP Con trỏ ngăn xếp AT90S8535 được thực hiện như hai thanh ghi 8-bit trong vị trí không gian do $3E ($5E) and $3D ($5D). Như bộ nhớ dữ liệu AT90S8535 có vị trí $25S, 10 bit được sử dụng. Ngăn xếp con trỏ vào vùng ngăn xếp dữ liệu SRAM ở đầu chương trình con và ngắt những ngăn xếp được định vị. Không gian ngăn xếp này phải được định nghĩa bởi chương trình trước khi bất kỳ ngùng sự gọi chương trình con nào được thực hiện hoặc ngắt được cho phép. Ngăn xếp con trỏ phải được thiết đặt trỏ phía trên $60. Ngăn xếp con trỏ được giảm bớt bởi 1 khi dữ liệu được đẩy lên trên ngăn xếp với lệnh PUSH và nó là sự giảm bớt bởi 2 khi một địa chỉ 78
  20. được đẩy lên trên ngăn xếp với chương trình con gọi và ngắt. Con trỏ ngăn xếp được tăng lên bởi 1 khi dữ liệu được bật ra khỏi ngăn xếp với lệnh POP và nó được tăng lên bởi 2 khi một địa chỉ được bật ra từ ngăn xếp với sự gọi chương trình con RET hoặc trở lại từ ngắt RET XÁC LẬP LẠI VÀ NGẮT HANDLING AT90S8535 cung cấp 16 nguồn ngắt khác nhau. Những ngắt và xác lập lại vector riêng biệt từng cái có một vector chương trình riêng biệt trong không gian bộ nhớ chương trình. Mọi ngắt được gán riêng lẻ làm cho bits phải được thiết lập cùng nhau với I-BIT trên thanh ghi trạng thái trong thứ tự để cho phép ngắt. Những địa chỉ thấp nhất trong không gian bộ nhớ chương trình tự động được định nghĩa như xác lập lại và ngắt vector. Danh sách đầy đủ của những vector được cho thấy trong bảng 2. Danh sách cũng xác định rằng những mức quyền ưu tiên khác nhau của ngắt. Thấp hơn địa chi, mức ưu tiên cao hơn, RESET có mức ưu tiên cao nhất và tiếp theo là INTO (the External lnterrupt Request 0),… Bảng 2.2. Sự xác 1ập 1ại và các véc tơ ngắt 79
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2