1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế mạch báo khói trong phòng thí nghiệm

37 23 0

Đ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 37
Dung lượng 1,57 MB

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

Nội dung

Các vật dụng điện tử tiện dụng với độ xác cao, tốc độ xử lí nhanh, gọn nhẹ, thân thiện với người yếu tố cần thiết góp phần giúp đỡ hoạt động bảo vệ tài sản tính mạng người trở lên ngày hiệu Điện tử hỗ trợ người thực nhiệm vụ Điện tử góp phần đáp ứng nhiệm vụ khác ngành, lĩnh vực với đặc thù riêng nhu cầu thiết yếu người hàng ngày Một ứng dụng ngày công nghệ điện tử mạch cảm biến với linh kiện điện tử tích hợp cao Mạch cảm biến ứng dụng nhiều công nghiệp lĩnh vực khác sống với thiết bị điều khiển tử xa tinh vi đạt xuất cao, tiết kiệm thời gian, hiệu kinh tế cao Để làm sáng tỏ vai trò thiết bị điện tử cảm biến sống Em chọn đề tài: THIẾT KẾ MẠCH BÁO KHÓI TRONG PHÒNG THÍ NHIỆM

Trang 2

LỜI MỞ ĐẦU

Thế giới ngày càng phát triển, khoa học kĩ thuật ngày càng trở lên tân tiến với những phát minh hiện đại và tiết kiệm sự giúp đỡ cho con người Các vật dụng điện tử tiện dụng với độ chính xác cao, tốc độ xử lí nhanh, gọn nhẹ, thân thiện với con người là yếu tố rất cần thiết góp phần giúp đỡ hoạt động và bảo

vệ tài sản tính mạng con người trở lên ngày một hiệu quả hơn Điện tử đã hỗ trợ con người thực hiện nhiệm vụ này

Điện tử đã góp phần đáp ứng những nhiệm vụ khác nhau của từng ngành,lĩnh vực với những đặc thù riêng hơn nữa là những nhu cầu thiết yếu của conngười hàng ngày Một trong những ứng dụng của ngày công nghệ điện tử là cácmạch cảm biến với các linh kiện điện tử tích hợp cao Mạch cảm biến được ứngdụng rất nhiều trong công nghiệp và các lĩnh vực khác trong cuộc sống với cácthiết bị điều khiển tử xa rất tinh vi và đạt năng xuất cao, tiết kiệm thời gian, hiệuquả kinh tế cao

Để làm sáng tỏ vai trò của các thiết bị điện tử cảm biến trong cuộc sống

Em chọn đề tài: THIẾT KẾ MẠCH BÁO KHÓI TRONG PHÒNG THÍ NHIỆM.

Bài tập tốt nghiệp gồm hai chương:

Chương I: Tìm hiểu về Vi điều khiển ATMEGA 32Chuong II: Thiết kế mạch báo khói trong phòng thí nghiệmTrong thời gian làm bài tập tốt nghiệp, em đã nhận được nhiều sự giúp đỡ,đóng góp ý kiến và chỉ bảo tận tình từ các thầy cô, gia đình và bạn bè Em xingửi lời cảm ơn đến các thầy cô trong khoa Vô tuyến Điện tử đã tạo điều kiệngiúp đỡ và trang bị cho em những kiến thức quý báu Em cũng xin chân thànhcảm ơn thầy Nguyễn Hữu Thọ đã hướng dẫn tận tình và giúp đỡ em hoàn thànhtốt bài tập đúng thời hạn

Tuy nhiên, do hạn chế về mặt thời gian cũng như năng lực bản thân nên nộidung bài tập của em không tránh khỏi những thiếu sót Rất mong nhận được

Trang 3

những ý kiến đóng góp của thầy cô giáo và các bạn để bài tập của em được hoànthiện hơn

Trang 4

Trên thị trường có hàng trăm loại vi xử lý và vi điều khiển vì thế việc lựachọn 1 loại cụ thể phù hợp với ứng dụng của ta trở thành một công việc hết sứckhó khăn Thông thường việc lựa chọn phụ thuộc vào một số yếu tố như: tínhnăng công việc, giá thành, thị trường, khả năng thiết kế,

Nếu xét trên phương diện giá thành thì họ vi điều khiển AVR có giá thànhcao gấp nhiều lần so với vi điều khiển loại cũ như 89C51, nhưng xét trênphương diện chức năng và ứng dụng thì giá thành của AVR lại rẻ hơn rất nhiều

Để có thể có những chức năng như AVR thì 89C51 cần rất nhiều mạch hỗ trợbên ngoài, giá thành của những mạch bên ngoài sẽ làm tăng giá thành chung vàkích cỡ mạch, công suất tiêu thụ vì thế cũng tăng lên rất nhiều

Ngược lại, với AVR được tích hợp nhiều thành phần ngoại vi trên cùng một

vỏ chip nên kết cấu mạch nhỏ gọn hơn nhiều theo đó giá thành và công suất tiêuthụ cũng giảm đi

Ngày nay những ứng dụng điện tử và điều khiển đòi hỏi phải thật nhỏ gọn

và có trình độ công nghệ cao Người làm kĩ thuật luôn luôn tìm tòi, khám phánhững thành tựu công nghệ Vì những lý do trên, em quyết định chọn họ vi điềukhiển AVR mà cụ thể là vi điều khiển ATMEGA32 làm dối tượng nghiên cứu

và ứng dụng

Trang 5

1.1 Tìm hiểu về Vi điều khiển ATMEGA 32

Hình 1.1 Sơ đồ khối Vi điều khiển ATMEGA 32

Trang 6

1.1.1 Cấu trúc Vi điều khiển ATMEGA 32

ATMEGA32 là loại vi điều khiển CMOS, nguồn thấp, 8 bit, xây dựng trênnền tảng cấu trúc tập lệnh thu gọn tiên tiến cho AVR

- RISC – Reduced Instruction Set Computer

- CISC – Complex Instruction Set ComputKhả năng thực thi 1MIPS (Mega Instruction Per Second) trên 1MHz

Bao gồm 32 thanh ghi làm việc (General Purpose Working Register) liên kếttrực tiếp với bộ xử lý số học ALU (Arithmetic Logic Unit)

1.1.2 Sơ đồ chân ATMEGA 32

Hình 1.2 Sơ đồ các chân ATMEGA 32

+ VCC: Điện áp nguồn nuôi

+ GND: Nối mass

Atmega 32 gồm có 4 port: port A, port B, port C, port D

Trang 7

+ PortA (PA7…PA0): PortA nhận vào tín hiệu tương tự (Analog) và chuyển đổithành tín hiệu số (Digital) Ngoài ra PortA có thể được tách ra làm vào/ra 2hướng 2 bits nếu bộ chuyển đổi A/D không được sửdụng Khi các chân PA0 đếnPA7 là các lối vào và được đặt xuống chế độ thấp từ bên ngoài, chúng sẽ lànguồn dòng nếu các điện trở nối lên nguồn dương được kích hoạt Các chân củaPortA ở vào trạng thái có điện trở cao khi tín hiệu Reset ở chế độ tích cực hoặcngay cả khi không có tín hiệu xung đồng hồ.

+ Port A cung cấp các đường địa chỉ/dữ liệu vào/ra hoạt động theo kiểu đa hợpkênh khi dùng bộ nhớ SRAM ở bên ngoài

+ PortB, D: tương tự như PortA

+ PortC (PC7…PC0): tương tự như PortA Nhưng nếu cho phép giao diệnJTAG, thì các chân PC5, PC3, PC2 sẽ hoạt động ngay cả khi reset lại tín hiệu.+ Reset: Lối vào đặt lại Bộ vi điều khiển sẽ được đặt lại khi chân này ở chế độthấp trong hơn50ns, các xung ngắn hơn không tạo ra tín hiệu đặt lại

+ XTAL1: Lối vào bộ khuếch đại đảo và lối vào mạch tạo xung nhịp bên trong + XTAL2: Lối ra bộ khuếch đại đảo: XTAL1 và XTAL2 lần lượt là lối vào vàlối ra của một bộ khuếch đại đảo Bộ khuếch đại này được bố trí để làm bộ tạodao động trên chip Một bộ tinh thể thạch anh hoặc một bộ cộng hưởng gốm cóthể được sử dụng Để điều khiển bộ vi điều khiển từ một nguồn xung nhịp bênngoài, chân XTAL2 để trống, còn chân XTAL1 được nối với bộ dao động bênngoài

+ ICP: Là chân vào cho chức năng bắt tín hiệu cho bộ đồng thời/đếm 1

+ AREF: Là chân chuyển đổi tín hiệu analog cho bộ chuyển đổi A/D

+ OCB1(chân 18): Là chân cho chức năng so sánh lối ra bộ định thời/đếm1+Chân OCB1(chân 18):là chân cho chức năng so sánh lối ra bộ định thời/đếm1

Trang 8

+ AVCC: Là chân nguồn cho PortA và cho bộ chuyển đổi A/D Nó có thể tự kếtnối với nguồn chính ngay cả khi ADC không được sử dụng.

1.1.3 Một số đặc trưng

Hoạt động: Các lệnh được chứa trong bộ nhớ chương trình Flash Memorydưới dạng các thanh ghi 16 bit Bộ nhớ chương trình được truy cập trong mỗichu kỳ xung Clock và một lệnh chứa trong Program memory được nạp vàothanh ghi lệnh (instruction Register), thanh ghi lệnh ác động cũng như lựa chọntệp thanh ghi cũng như RAM cho ALU thực thi Trong khi thực thi chươngtrình, địa chỉ của dòng lệnh đang thực thi được quyết định bởi bộ đếm chươngtrình – PC (Program Counter)

AVR có ưu điểm là hầu hết các lệnh đều được thực thi trong một chu kỳxung nhịp, vì thế mà trong một số trường hợp dù nguồn clock của AVR nhỏ hơnmột số loại vi điều khiển khác (như PIC) nhưng thời gian thực thi vẫn nhanhhơn

Thiết bị được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao củaAtmel Bộ nhớ On-chip ISP Flash cho phép lập trình lại vào hệ thống qua giaodiện SPI bởi bộ lập trình cố định truyền thống hoặc bởi chương trình On-chipboot chạy trên nhân AVR

Chương trình boot có thể sử dụng bất cứ giao diện nào để download chươngtrình ứng dụng trong bộ nhớ flash ứng dụng

Trang 9

Hình 1.3 Cấu trúc bên trong AVR

Phần mềm trong vùng boot flash sẽ tiếp tục chạy trong khi vùng Applicationflash được cập nhật, cung cấp thao tác Read-While-Write thực sự

Bằng kết hợp 1 bộ 8bit RISC CPU với In-System Seft-Programmable Flashtrong chỉ nguyên vẹn 1 chip Atmega 32 là một bộ VSĐ mạnh có thể cung cấpgiải pháp có tính linh động cao, giá thành rẻ cho nhiều ứng dụng điều khiểnnhúng

1.1.4 Các tính năng của ATMEGA 32

ATMEGA 32 có những tính năng sau:

+ 32K byte Flash có khả năng lập trình được tương thích hoạt động While-Write

Trang 10

bộ và ADC, tối thiểu hoá switching noise trong khi ADC đang hoạt động Chế

độ standby, bộ tạo dao động (thuỷ tinh thể/bộ cộng hưởng) chạy trong khi cácthiết bị còn lại ngủ Các đi ều này cho phép bộ vi điều khiển khởi động rất nhanhtrong chế độ tiêu thụ công suất thấp

Thiết bị được sản xuất sử dụng công nghệ bộ nhớ cố định mật độ cao củaAtmel Bộ nhớ On-chip ISP Flash cho phép lập trình l ại vào hệ thống qua giaodiện SPI bởi bộ lập trình bộ nhớ cố định truyền thống hoặc bởi chương trình On-chip Boot chạy trên nhân AVR Chương trình boot có thể sử dụng bất cứ giaođiện nào để download chương trình ứng dụng trong bộ nhớ Flash ứng dụng.Phần mềm trong vùng Boot Flash sẽ tiếp tục chạy trong khi vùng ApplicationFlash được cập nhật, cung cấp thao tác Read-While-Write thực sự Bằng việckết hợp 1 bộ 8-bit RISC CPU với In-System Self-Programmable Flash trong chỉnguyên vẹn 1 chip ATmega32 là một bộ vi điều khiển mạnh có thể cung cấp gi

ải pháp có tính linh động cao, giá thành rẻ cho nhiều ứng dụng điều khiểnnhúng

Trang 11

* Chế độ tiết kiệm năng lượng:

+ Chế độ nghỉ (IdIe) CPU trong khi cho phép bộ truyền tin nối tiếp đồng

bộ USART, giao tiếp 2 dây, chuyển đổi A/D,SRAM, bộ đếm định thời, cổng SPI

và hệ thống ngắt tự động

+ Chế độ power-dow lưu giữ nội dung của các thanh ghi nhưng làm đônglạnh bộ tạo dao động, thoát khỏi các chức năng của chip cho đến khi có ngắtngoài hoặc reset phần cứng

Chế độ power-save đồng hồ đồng bộ tiếp tục chạy cho phép chương trình sửdụng giữ được đồng bộ thời gian nhưng các thiết bị còn lại ngủ

1.1.5 Ứng dụng Vi điều khiển ATMEGA 32

+ Điều khiển động cơ

+ Thiết bị đo

+ Điều khiển thiết bị,máy móc công nghiệp

+ Giao diện người dùng ( giúp tương tác, giao tiếp giữa người với máy)+ Thiết bị điện tử dân dụng

1.2 Tổng quan về AVR

Lõi AVR sử dụng kiến trúc Harvard – với các bus riêng biệt cho chươngtrình và dữ liệu Lệnh từ bộ nhớ chương trình thực thi thông qua một ống đơncấp Khi một lênh đang thực thi, lệnh tiếp theo sẽ được nhốt (pre-fetch) từ bộnhớ chương trình, cho phép các lệnh được thực thi trong mỗi chu kì clock

Các 32 thanh ghi (8-bit) làm việc cho phép truy xuất nhanh trong 1 chu kỳclock Trong hoạt động thông thường của ALU, 2 toán hạng xuất ra từ thanh ghilàm việc, lệnh thực thi, và kết quả lưu ngược lại thanh ghi làm việc chỉ trong 1chu kì clock 6 trong số 32 thanh ghi được dùng như con trỏ địa chỉ gián tiếp

Trang 12

16bit sử dụng cho địa chỉ không gian dữ liệu 1 trong 3 thanh ghi địa chỉ này cóthể dùng như con trỏ địa chỉ look-up table trong bộ nhớ Flash.

Bộ ALU hỗ trợ các hoạt động tính toán số học và logic giữa thanh ghi vớinhau, hay giữa thanh ghi với hằng số Các hoạt động từng thanh ghi đơn cũngđược thực hiện trong ALU Sau khi tính toán, thanh ghi trạng thái (StatusRegister) cập nhật thông tin liên quan đến kết quả tính toán

Dòng chương trình (Program Flow) được cung cấp bởi các lệnh nhảy cóđiều kiện hoặc không điều kiện, và có thể định địa chì trực tiếp đến toàn bộkhông gian địa chỉ Hầu hết các lệnh trong AVR đều ở dạng 16-bit Mỗi địa chỉ

bộ nhớ chương trình chứa một lệnh 16 hoặc 32-bit

Bộ nhớ chương trình chia ra làm 2 phần: Boot Loader và vùng ứng dụng Cả

2 đều sử dụng các lockbit để bảo vệ đọc/ghi Lệnh SPM thựcthi việc ghi dữ liệuvào vùng flash ứng dụng phải được đặt trong vùng Boot Loader

Trong quá trình ngắt hay hàm chương trình con được gọi, địa chỉ trả về của

bộ đếm chương trình lưu trong ngăn xếp (stack) Stack được phân bồ hiệu quảtrong 1 phần bộ nhớ SRAM, vì vậy, độ lớn của stack chỉ phụ thuộc vào SRAM

và việc sử dụng SRAM Chương trình người dùng cần phải khởi tạo giá trị nàycho SP – Con trỏ ngăn xếp (Stack Pointer) trong chương trình sau khi reset vàtrước khi thực hiện bất kì việc gọi hàm hay chương trình ngắt được thực thi.Module ngắt linh hoạt có thanh ghi điều khiển riêng trong không gian IO và cóbit cho phép ngắt toàn cục trong thanh ghi trạng thái (Status Register) Tất cảcác ngắt đều có vector ngắt riêng trong bảng vector ngắt Các ngắt có ưu tiênngắt theo đúng vị trí ngắt của nó Địa chỉ ngắt càng thấp thì độ ưu tiên ngắt càngcao

1.2.1 ALU – Arithmetic Logic Unit

Bộ ALU hiệu suất cao của AVR hoạt động trong liên kết trực tiếp với 32thanh ghi làm việc Trong 1 chu kì clock, hoạt động tính toán số học giữa các

Trang 13

thanh ghi hoặc giữa thanh ghi với dữ liệu trực tiếp sẽ được thực thi Hoạt độngcủa ALU được chia ra làm 3 phần chính: xử lý số học, phép toán logic và cácphép toán với bit Một số bổ sung trong kiến trúc cũng cho phép

1.2.2 Thanh ghi trạng thái – Status Register

Thanh ghi này chứa kết quả liên quan đến lệnh xử lý số học gần nhất Kếtquả chứa trong thanh ghi này có thể được sử dụng để thực hiện các hoạt động cóđiều kiện

Thanh ghi trạng thái không tự động lưu lại khi nhảy vào interrupt vàcũng không

tự động phục hồi (restore) khi quay về, cần thực hiện điều này bằng phần mềm

Bảng 1.1 Xử lí số học của thanh ghi trạng thái

Có thể được đặt hoặc được xóa bởi SEI và CLI

Bit 6-T : bit lưu trữ Có thể chép từ BST sang BLD và ngƣợc lại

Bit 5-H : Cờ nhớ nửa H sử dụng để nhớ nửa hữu ích trong phép tính số BCDBit 4-S : tín hiêu bit S = N+ V

Bit 3-D : 2 cờ tràn

Bit 2-N : cờ phủ định

Bit 1-Z : cờ zero

Trang 14

Bit 0-C : cờ nhớ

1.2.3 Tập các thanh ghi làm việc đa năng

Tất cả các lệnh đều thực thi trên các thanh ghi làm việc có thể truy xuất trựctiếp đến các thanh ghi, và hầu hết là các lệnh thực thi trong 1 chu kì clock

Dưới đây là hình 1.4, tất cả các thanh ghi được gán địa chỉ bộ nhớ dữ liệu,ánh xạ chúng trực tiếp đến 32 phân vùng đầu tiên trong không gian dữ liệu Mặc

dù không được hiện thực vật lý như phân vùng SRAM, nhưng tổ chức bộ nhớnày cung cấp khả năng truy xuất phức tạp tuyệtvời của các thanh ghi, như thanghi con trỏ X-, Y- và Z- có thể được set để định vị đến bất kì thanh ghi nào trongtập thanh ghi

Tất cả các lệnh đều thực thi trên các thanh ghi làm việc có thể truy xuất trựctiếp đến các thanh ghi, và hầu hết là các lệnh thực thi trong 1 chu kì clock Nhưtrên hình 1.4, tất cả các thanh ghi được gán địa chỉ bộ nhớ dữ liệu, ánh xạ chúngtrực tiếp đến 32 phân vùng đầu tiên trong không gian dữ liệu Mặc dù khôngđƣợc hiện thực vật lý như phân vùng SRAM, nhưng tổ chức bộ nhớ này cungcấp khả năng truy xuất phức tạp tuyệt vời của các thanh ghi, như thanh ghi contrỏ X-, Y- và Z- có thể được set để định vị đến bất kì thanh ghi nào trong tậpthanh ghi

Trang 15

Hình 1.4 Các thanh ghi hỗ trợ làm việc

Thanh ghi X, Y và Z: Các thanh ghi làm việc từ R26 đến R31 có các chứcnăng phụ trợ Những thanh ghi này là con trỏ địa chỉ 16-bit để định địa chỉ giántiếp trong không gian dữ liệu

Trong các chế độ định địa chỉ khác nhau, các thanh ghi này có các chứcnăng như chuyển dịch cố định, tự động tăng/giảm

1.2.4 Xử lý reset và ngắt – Reset and Interrupt Handling

AVR cung cấp các nguồn ngắt khác nhau Mỗi vector ngắt và reset này cóvector chương trình riêng rẽ trong không gian bộ nhớ chương trình Tất cả cácngắt đều được gán bit cho phép ngắt riêng biệt cùng với bit cho phép ngắt toàncục, tất cả các bit trên phải được set lên 1 Phụ thuộc vào giá trị của PC, các ngắt

có thể bị cấm tự động khi Boot Lock bit BLB02 và BLB12 được lập trình Tínhnăng này đảm bảo chức tính bảo mật phần mềm

Trang 16

Địa chỉ thấp nhất trong không gian bộ nhớ mặc định là được định nghĩa làvector Reset và vector ngắt Địa chỉ vector ngắt cũng đồng thời quy định ưu tiênngắt cho, địa chỉ ngắt thấp hơn có mức ưu tiên ngắt cao hơn và ngƣợc lại.RESET có mức ưu tiên ngắt cao nhất, kế đến là INT0 – External Interrupt 0Request

Các vector ngắt có thể đƣợc di chuyển lên vị trí bắt đầu của khu vực BootFlash bằng bit IVSEL trong thanh ghi General Interrupt Control Register(GICR) Vector RESET cũng có thể dời lên vị trí bắt đầu của Boot Flash bằngcách thiết lập bit cầu chì BOOTSRT

Khi có ngắt xảy ra, bit cho phép ngắt toàn cục (Global Interrrupt Enable bit) sẽ

bị xóa tự động bằng phần cứng, do đó tất cả các ngắt đều bị cấm Phần mềm cóthể set bit này lên 1 trở lại để cho phép ngắt trùm (nested interrupt) cóthể xảy ra.Tất cả các ngắt được kích hoạt sau đó có thể “ngắt” trong chương trình xử lýngắt (Interrupt subrountine) hiện tại Bit này cũng tự động được set lên 1 trở lạisau khi quay về từ chương trình ngắt khi thực thi lệnh RETI

Có 2 dạng ngắt cơ bản:

+ Dạng thứ nhất: Ngắt được kích hoạt (trigger) bởi sự kiện đặt cờ ngắt(Interrupt Flag) Với những ngắt này, PC được trỏ tới vector chương trình ngắtnhằm thực thi chương trình xử lý ngắt, và phần cứng sẽ xóa cờ ngắt tương ứngnày Cờ ngắt cũng có thể được xóa bằng phần mềm bằng cách ghi 1 vào vị trí bitcủa cờ ngắt đó Nếu một điều kiện ngắt xảy ra trong khi bit cho phép ngắt đó bịxóa, thì cờ ngắt vẫn được đặt và ngắt sẽ xảy ra khi ngắt đó được cho phép trở lại,hoặc phần mềm phải xóa cờ ngắt đó đi bằng cách ghi 1 Tương tự như vậy, nếumột hay nhiều điều kiện ngắt xảy ra trong khi bit cho phép ngắt toàn cục bị xóa,các cờ ngắt tương ứng đó sẽ được set lên, và đến khi nào bit cho phép ngắt toàncục đƣợc đặt trở lại, thì các ngắt đó sẽ được thực thi tương ứng theo thứ tự ưutiên ngắt

Trang 17

+ Dạng thứ hai: Ngắt được kích hoạt khi nào điều kiện ngắt vẫn còn hiệnhữu Những ngắt này không cần có cờ ngắt Nếu điều kiện ngắt ngừng xuất hiệntrước khi ngắt được phép hoạt động, ngắt đó sẽ không xảy ra Khi AVR thoát ra

từ chương trình ngắt, nó luôn quay về chương trình chính và sẽ thực hiện thêmmột hay vài lệnh nữa trước khi phục vụ các ngắt khác đang treo

Lưu ý rằng thanh ghi trạng thái (Status Register) sẽ không tự động lưu lạikhinhảy vào chương trình ngắt, cũng như không được phục hồi lại khi quay về

từ chương trình ngắt Điều này cần thực hiện bằng phần mềm

1.2.5 Con trỏ ngăn xếp – Stack Pointer (SP)

Stack được sử dụng với mục đích chính là lưu trữ các dữ liệu tạm thời, cácbiến cục bộ và lưu trữ giá trị địa chỉ trả về sau khi gọi chương trìnhngắt hayhàm/chương trình con (subroutine) Thanh ghi con trỏ địa chỉ luôn luôn trỏ tớiđỉnh của stack (Top of the Stack) Lưu ý rằng, stack được hiện thực theo cáchgiảm từ địa chỉ bộ nhớ cao hơn xuống thấp hơn Ngầm định rằng lệnh PUSH(cất) sẽ giảm giá trị con trỏ SP

SP trỏ tới vùng SRAM nơi mà stack của chương trình interrupt vàsubroutine phân bổ Không gian cho stack phải được chương trình phần mềmđịnh nghĩa trước khi thực thi subrountine hay ngắt xảy ra (kích hoạt ngắt)

SP cần phải trỏ tới địa chỉ từ trên $60 SP sẽ giảm đi 1, khi dữ liệu được cấtvào stack sau khi thực hiện lệnh PUSH, và stack sẽ giảm đi 2 khi giá trị trả vềđược cất vào stack khi gọi subrountine hay chương trình ngắt

SP sẽ tăng lên 1 khi dữ liệu được đẩy (pop) ra khỏi stack với lệnh POP, và

SP sẽ tăng lên 2 khi dữ liệu được đẩy ra khỏi stack với lệnh RET khi trở vể từsubrountine hay lệnh RETI khi trở về từ chương trình ngắt SP trong AVR hiệnthực hóa từ 2 thanh ghi 8-bit

Trang 18

Bảng 1.2 Sự thay đổi của stack pointer (sp)

1.3 Giao tiếp cổng COM

1.3.1 Giới thiệu

Ngày nay, việc sử dụng máy vi tính làm bộ xử lý trung tâm cho các hệ thống

đo lường và điều khiển rất phổ biến Trong hệ thống đó một yêu cầu đặt ra là taphải thực hiện giao tiếp giữa thiết bị ngoại vi với máy tính Chuẩn giao tiếpđược coi là đơn giản và dễ dùng đó là RS232 Hầu như các thiết bị đều đượcgiao tiếp với máy tính thông qua chuẩn này Ở đây em thực hiện giao tiếp giữamáy tính và vi điều khiển theo chuẩn RS232 Vấn đề giao tiếp giữa PC và viđiều khiển rất quan trọng trong các ứng dụng điều khiển, đo lường… Ghép nốiqua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng rãi đểghép nối các thiết bị ngoại vi với máy tính Nó là một chuẩn giao tiếp nối tiếpdùng định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị, chiều dài kết nốilớn nhất cho phép để đảm bảo dữ liệu là 12.5m đến 25.4m, tốc độ 20kbit/s đôikhi là tốc độ 115kbit/s với một số thiết bị đặc biệt Ý nghĩa của chuẩn truyềnthông nối tiếp nghĩa là trong một thời điểm chỉ có một bit được gửi đi dọc theođường truyền

Ngày đăng: 16/12/2021, 21:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w