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

HỌ VI ĐIỀU KHIỂN AVR

29 1,2K 4
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 29
Dung lượng 460 KB

Nội dung

HỌ VI ĐIỀU KHIỂN AVR

MỤC LỤC MỤC LỤC 2 .2 LỜI NÓI ĐẦU 2 Chương I .4 CƠ SỞ LÝ THUYẾT .4 I.1 HỌ VI ĐIỀU KHIỂN AVR 4 I.1.1 GIỚI THIỆU CHUNG 4 I.1.1.1 Giới thiệu AT90S8535 .4 I.1.1.2 Tính năng của AT90S8535 5 I.1.3 SƠ ĐỒ KHỐI VÀ SƠ ĐỒ CHÂN TÍN HIỆU CỦA AVR 7 I.1.3.1 Sơ đồ chân tín hiệu: 7 I.1.3.2 Sơ đồ khối chức năng 8 I.1.4 BỘ NHỚ CỦA AVR : 12 II.1.5 CẤU TRÚC NGẮT : 14 I.1.5.1 Chức năng điều khiển ngắt : .14 I.1.5.2 Tổ chức ngăn xếp trong AVR: 15 I.1.6 GHÉP NỐI NỐI TIẾP : 15 I.1.7 MỘT SỐ LỆNH CƠ BẢN .17 I.1.8 CẤU TRÚC 1 CHƯƠNG TRÌNH ĐIỀU KHỂN AVR 18 I.2 VI MẠCH VÀO RA ĐA NĂNG PPI – 8255A 19 I.2.1 GIỚI THIỆU PPI – 8255 .19 I.2.2 SƠ ĐỒ KHỐI VÀ SƠ ĐỒ CHÂN TÍN HIỆU PPI-8255 19 I.2.2.1 Sơ đồ khối :( hình 3) 19 I.2.2.2 Sơ đồ chân tín hiệu :( hình 4) 20 I.2.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA 8255A .21 I.2.3.1 Chức năng điều khiển ngắt : .22 I.2.3.2 Các chế độ hoạt động : .22 I.2.4 CÁC BƯỚC VIẾT CHƯƠNG TRÌNH .23 Chương II .24 THỰC NGHIỆM - GHÉP NỐI AVR VÀ 8255 24 II.1 SƠ ĐỒ KHỐI PHỐI GHÉP GIỮA AVR VÀ 8255A .24 II.2 SƠ ĐỒ CHI TIẾT KHỐI PHỐI GHÉP GIỮA AVR VÀ 8255A .25 II.3 THUẬT TOÁN ĐIỀU KHIỂN 27 KẾT LUẬN 28 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN .30 LỜI NÓI ĐẦU Công nghệ thông tin đã phát triển một cách nhanh chóng trong những năm gần đây và có nhiều bước tiến nhảy vọt trên nhiều mặt. Nghành công nghệ thông tin ở nước ta tuy còn non trẻ nhưng tốc độ phát triển khá nhanh và đang dần được ứng dụng trong nhiều lĩnh vực của nền kinh tế, góp phần thúc đẩy vào sự phát triển của xã hội. Việc đưa tin học hóa vào công việc kỹ thuật giảm bớt sức lao động của con người, tiết kiệm được thời gian, độ chính xác cao và tiện lợi hơn rất nhiều so với việc làm thủ công trên các công cụ thông thường .Việc ghép nối máy tính với các thiết bị ngoại vi giúp con người dễ dàng theo dõi các thông số kỹ thuật tại mọi thời điểm. Đưa ra các quyết định kịp thời nhất nhanh và chính xác nhất Tìm hiểu các chip khả lập trình là đề tài của em trong lần thực tập cơ sở này. Mục đích của đề tài này tìm hiểu các chip cho phép lập trình chẳng hạn như các chip 8255, 8051, AVR cách thức hoạt động và việc ghép nối chúng với hệ thống máy vi tính cũng như khi chúng làm việc độc lập. Do còn nhiều hạn chế về thời gian, về kiến thức và điều kiện làm việc cũng như sự thử nghiện thực tế, việc tìm hiểu của em chắc chắn còn nhiều sai sót. Em rất mong nhận được sự góp ý của các thầy cô cùng các bạn để có thể hiểu hơn về sự hoạt động của các chip và thời gian tới có thể lập trình cho các chip hoạt động. Em xin chân thành cảm ơn. Sinh viên : Lê Văn Chung Chương I CƠ SỞ LÝ THUYẾT I.1 HỌ VI ĐIỀU KHIỂN AVR I.1.1 GIỚI THIỆU CHUNG Ngày nay những ứng dụng của vi điều khiển đã đi xâu vào trong đời sống sinh hoạt và sản xuất của con người. Có một thực tế là hầu hết các thiết bị điều khiển, thiết bị tự động, thiết bị điện dân dụng bây giờ đều có sự góp mặt của các vi điều khiểnvi xử lý. Ứng dụng của vi điều khiển đã làm cho các thiết bị trở lên ổn định hơn hoạt động tốt hơn, ổn định hơn. Trên thị trường có rất nhiều họ vi điều khiển: họ 8051 của Intel, 68HC11 của Motorola, Z80 của hãng Eilog, PIC của hãng Microchip, H8 của Hitachi, vv và cuối cùng là AVR của hãng Atmel. AVRhọ Vi điều khiển khá mới trên thị trường cũng như đối với người sử dụng. Ðây là họ VÐK được chế tạo theo kiến trúc RISC ( Reduced Intruction Set Computer) có cấu trúc khá phức tạp. Ngoài các tính năng như các họ VÐK khác, nó còn tích hợp nhiều tính năng mới rất tiện lợi cho người thiết kế và lập trình. Sự ra đời của AVR bắt nguồn từ yêu cầu thực tế là hầu hết khi cần lập trình cho vi điều khiển, chúng ta thường dùng những ngôn ngữ bậc cao HLL ( Hight Level Language) để lâp trình ngay cả với loại chip xử lí 8 bit trong dó ngôn ngữ C là ngôn ngữ phổ biến nhất. Tuy nhiên khi biên dịch thì kích thước đoạn mã sẽ tăng nhiều so với dùng ngôn ngữ Assembly. Hãng Atmel nhận thấy rằng cần phải phát triển một cấu trúc đặc biệt cho ngôn ngữ C để giảm thiểu sự chênh lệch kích thước mã đã nói trên. Và kết quả là họ vi điều khiển AVR ra đời với việc làm giảm kích thước đoạn mã khi biên dịch và thêm vào đó là thực hiện lệnh đúng trong 1 chu kỳ máy với 32 thanh ghi tích lũy và đạt tốc độ nhanh hơn các họ vi điều khiển khác từ 4 đến 12 lần. thế nghiên cứu AVR là một đề tài khá lý thú và giúp cho sinh viên biết thêm một họ vi điều khiển vào loại mạnh nhất hiện nay I.1.1.1 Giới thiệu AT90S8535 AT 90S8535 là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựa trên kiến trúc RISC. Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì nhịp xung, thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ở tần số 1 Mhz. Vi điều khiển này cho phép người thiết kế có thể tối ưu hoá mức độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lý. Phần cốt lõi của AVR kết hợp tập lệnh phong phú và số lượng với 32 thanh ghi làm việc đa năng. Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU ( Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập trong một chu kì xung nhịp. Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC thông thường. I.1.1.2 Tính năng của AT90S8535 − Ðược chế tạo theo kiến trúc RISC, hiệu suất cao và điện năng tiêu thụ thấp − Bộ lệnh gồm 118 lệnh, hầu hết đều thực thi chỉ trong một chu kì xung nhịp. − 32x8 thanh ghi làm việc đa năng. − Cổng Giao diện nối tiếp SPI cho phép lập trình ngay trên hệ thống . − 8KB Flash ROM lập trình được ngay trên hệ thống.  Cho phép 1000 lần ghi/ xoá. − Bộ EEPROM 512 byte .  Cho phép 100.000 ghi/ xoá. − Bộ nhớ SRAM 512 byte. − Bộ biến đổi ADC 8 kênh, 10 bit . − 32 ngõ I/ O lập trình được . − Bộ truyền nối tiếp bất đồng bộ vạn năng UART . − Vcc= 2.7V đến 6V − Tốc độ làm việc từ 0 đến 8 Mhz − Tốc độ xử lý lệnh đạt đến 8 MIPS ở 8 MHz nghĩa là 8 triệu lệnh trên giây. − Bộ đếm thời gian thực ( RTC) với bộ dao động và chế độ đếm tách biệt . − 2 bộ Timer 8 bit và 1 bộ Timer 16 bit với chế độ so sánh và chia tần số tách biệt và chế độ bắt mẫu. − Ba kênh điều chế độ rộng xung PWM. − Có đến 13 interrupt ngoài và trong . − Bộ định thời Watchdog lập trình được. − Tự động reset khi treo máy. − Bộ so sánh tương tự . − Ba chế độ ngủ : chế độ rảnh rỗi ( Idle), tiết kiệm điện ( Power save) và chế độ Power Down − Sau đây là bảng so sánh những đặc tính giữa AT90S8535 với họ AT89C51 một trong những chíp trong họ AVR nhưng đời cũ hơn. Bảng 1 : Ðặc tính AT90S8535 AT89C51 Flash ROM 8K Byte có thể lập trình trên hệ thống - 4 KB EEPROM - 512 byte - Không RAM nội - 512 byte SRAM - 128 byte ram Bộ Timer - 2 bộ timer 8 bit - 1 bộ timer 16 bit - 1 bộ watchdog timer - 2 bộ timer 16 bit : Bộ ADC - 1 bộ ADC 8 kênh 10 bit - Không Giao thức truyền nối tiếp chủ/ tớ - Có - Không Bộ PWM – Bộ điều chế PWN 8-, 9- và 10- bit - Không Bộ truyền nối tiếp UART - Có 2 chế độ - Có 4 chế độ Bộ so sánh tương tự - Có - Không Nguồn ngắt - Có 17 nguồn ngắt - Có 6 nguồn ngắt Tần sô hoạt động - 0 ÷ 8 Mhz - ( 0 ÷ 24 Mhz)/ 12 Ðiện áp tiêu thụ Thạch anh 4 Mhz , VCC= 3V: - Trạng thái tích cực : 6.4mA – Trạng thái rỗi : 1.9mA – Trạng thái Power Down : < 1 uA Thạch anh 12Mhz,VCC= 3V: - Trạng thái tích cực : 20 mA – Trạng thái rỗi : 5 mA – Trạng Power Down : < 40 Ua I.1.3 SƠ ĐỒ KHỐI VÀ SƠ ĐỒ CHÂN TÍN HIỆU CỦA AVR I.1.3.1 Sơ đồ chân tín hiệu:  VCC: điện áp nguồn cung cấp cho AVR hoạt động.  GND: tín hiệu đất.  PA0-PA7, PB0- PB7, PC0- PC7, PD0- PD7 : là các cổng vào ra 8 bit  RESET : khi chân reset ở mức thấp sẽ sinh ra tín hiệu reset. Khi một xung tín hiệu reset kéo dài hơn 50 ns sẽ sinh ra 1 reset, sự kiện này xảy ra khi đồng hồ không chạy. AVR 1. PB0 (T0) 2. PB1 (T1) 3. PB 2 (AIN0) 4. PB 3 (AIN1) 5. PB 4 (SS) 6. PB 5 (MOSI) 7. PB 6 (MISO) 8. PB 7 (SCK) 9. RESET 10. PD0 (RXD) 11. PD1 (TXD) 12. PD2 (INT0) 13. PD3 (INT0) 14. PD4 (OC1B) 15. PD5 (OC1A) 16. PD6 (ICP) 40. VCC 39. PA 0 38. PA 1 37. PA 2 17. PD7 (OC2) 18. XTAL1 19. XTAL2 20. GND 28. PC7 27. PC6 26. PC5 25. PC4 24. PC3 23. PC2 22. PC1 21. PC0 36. PA 3 35. PA 4 34 PA 5 33. PA6 32. PA7 31. AREF 30. AGND 29. AVCC PB0: đưa vào time/counter0 từ bộ đếm bên ngoài PB1: đưa vào time/counter1 từ bộ đếm bên ngoài PB 2 (AIN0) : đưa vào bộ so sánh tương tự gtrị rõ ràng PB 3 (AIN1): đưa vào bộ so sánh tương tự gtrị tự nhiên PB 4 (SS) : Lựa chọn đường nối Slave trên kết nối SPI PB 5 (MOSI): đưa vào bus Master output/slave PB 6 (MISO) đưa ra bus Master input/slave PB 7 (SCK) SPI Bus serial clock RXD : UART nhận dòng dữ liệu TXD: UART gửi dòng dữ liệu INT0 : Ngắt bên ngoài 0 INT1: Ngắt bên ngoài 1 OC1B: time /counter1 so sánh lối ra OC1A: so sánh lối vào ICP: time/ counter 1 input capture thanh ghi chỉ để đọc OC2 : Time/cuonter2 so sánh lối ra Hình 1: Sơ đồ chân tín hiệu của AVR  XTAL1: đưa tín hiệu tới 1 máy tạo dao động khuếch đại và được dùng làm xung đồng hồ cho hệ thống mạch.  XTAL2: lấy tín hiệu từ 1 máy tạo dao động.  AVCC : nguồn cung cấp cho bộ biến đổi A/D.  AREF : chuyển tín hiệu tương tự cho đầu vào của bộ biến đổi A/D.  AGND: tín hiệu đất. I.1.3.2 Sơ đồ khối chức năng Trong AT90S8535 có thêm bộ nhớ EEPROM 512 byte. Bảng vecto ngắt được đặt ở địa chỉ đầu tiên của bộ nhớ program memory. Ngoài ra còn có bộ nhớ vào/ra là 32 thanh ghi đa năng được thiết kế giống như SRAM và có thể trao đổi dữ liệu theo cả 3 kiểu giống như SRAM hoặc giống như các thanh ghi I/O. 32 thanh ghi đó bao gồm: SREG thanh ghi trạng thái, SP thanh ghi con trỏ ngăn xếp, thanh ghi che ngắt GIMSK, thanh ghi cờ ngắt GIFR, thanh ghi điều khiển MCUCR, thanh ghi trạng thái bộ xử lý MCUSR, thanh ghi TIMER/COUNTER0 TCNT0, thanh ghi điều khiển TIMER/COUNTER1A TCCR1A, thanh ghi điều khiển TIMER/ COUNTER1B TCCR1B, thanh ghi TIMER/COUNTER1, các thanh ghi so sánh lối ra bộ OCR1AH, OCR1AL, các thanh ghi so sánh lối vào OCR1BH, OCR1BL, ICR1H, ICR1L, thanh ghi bộ định thời Watchdog WDTCR, thanh ghi địa chỉ bộ nhớ EEPROM EEAR, thanh ghi dữ liệu bộ nhớ EEDR, mỗi cổng A, B, C, D có 3 thanh ghi: hướng dữ liệu, dữ liệu, chân dữ liệu PIN, thanh ghi dữ liệu, trạng thái, điều khiển cổng truyền dữ liệu nối tiếp SPI, và của cổng song song UART , thanh ghi tốc độ của UART, thanh ghi trạng thái, điều khiển của bộ so sánh tương tự ACSR. ANALOG MUX ADC TIME/ COUNTER 8 GENERAL PUSPOSE REGISTER + - RESET 8 BIT DATA BUS PORT A DRIVERS PORT A DRIVERS DATA DIR REG PORT ADATA REGISTER PORT A PORT C DRIVERS PORT C DRIVERS DATA DIR REG PORT C DATA REGISTER PORT C MCU CONTROL REGISTER WATCH DOG TIME STACK POINTER SRAM INSTRUCTION REGISTER PROGRAM FLASH PROGRAM COUNTER TIMING AND CONTROL OBCILLATOR OBCILLATOR INTERNAL OBCILLATOR INTERUPT UNIT EEPROM INSTRUCTION DECODER CONTROL LINE X Y Z ALU STATUS REGISTER UARTPROGRAMMING LOGIC SPI PORT B DRIVERS PORT B DRIVERS DATA DIR REG PORT B DATA REGISTER PORT B PB0 - PB7 PORT D DRIVERS PORT D DRIVERS DATA DIR REG PORT D DATA REGISTER PORT D PDO-PD7 XTAL2 XTAL1 8 BIT DATA BUS 8 BIT DATA BUS Avcc AGND AREF Gnd Vcc PA0 - PA7 PC0 - PC7 − Các thanh ghi X, Y, Z là các thanh ghi được thêm vào các chức năng cho các mục đích thông thường. Chúng thường được dùng như các thanh ghi control trong việc truy cập bộ nhớ. − Khối ALU (Arithmetic Logic Unit) : Đây là khối thực thi việc điều hành AVR nó được kết nối trực tiếp cả với 32 thanh ghi trong cùng xung nhịp. Khối ALU có 3 chức năng chính là thực thi các toán hạng, các phép toán logic, các phép toán trên bit. − Bộ định thời Watchdog timer: đây là 1 định thời riêng biệt từ một chip tạo dao động. Với 8 chu kỳ đồng hồ khác nhau có thể được lựa chọn để quyết định thời điểm reset. Nếu thời điểm reset không có hiệu lực bởi 1 bộ định thời nào thì việc reset của At90s8535 được thực hiện từ vecto reset. Việc reset hệ thống nhằm tránh các sai lệch dữ liệu trong AVR 1 lý do nào đó chẳng hạn như sụt áp với 1 thời gian quá 1 mức nào đó. − EEPROM bộ nhớ truy cập đọc/ ghi: tốc độ ghi khoảng chừng 2,5 đến 4 ms và nó được quyết định bởi điện áp Vcc. Khi muốn ghi dữ liệu tới thanh ghi EEPROM ta thực hiện ghi dữ liệu tới thanh ghi dữ liệu EEDR. Khi muốn đọc dữ liệu trong EEPROM ta phải chờ sau khi quá trình ghi thực hiện xong. EEPROM có các ngắt đặc biệt được thiết lập khởi tạo nhận dữ liệu mới khi nó sẵn sàng. Khi EEPROM đọc hoặc ghi thì cpu tạm nghỉ trong 2 chu kỳ đồng hồ trước khi lệnh tiếp theo được thực hiện. EEPROM có 2 thanh ghi địa chỉ EEARH , EEARL, 1 thanh ghi dữ liệu EEDR, và 1 thanh ghi điều khiển EECR. EECR : 7 6 5 4 3 EERIE 2 EEMWE 1 EEWE 0 EERE Bit 7- 4 là các bit dành riêng trong 8535 và có gia tri 0. o Bit 3: Interupt enable khi bit I trên Sreg và bit EERIE trên thanh ghi điều khiển có giá trị 1 thì EEPROM cho phép ngắt. o Bit 2: Master write enable: khi bit này có gia trị 1 thì nó thiết đặt EEWE sẽ viết dữ liệu vào EEPROM tại địa chỉ được chọn. Nếu EEMWE có giá trị 0 thì việc thiết lập EEWR sẽ không có hiệu lực. o Bit 1: EEPROM Write Enable: là tín hiệu EEPROM cho phép ghi vào EEPROM khi địa chỉ và dữ liệu được thiết lập chính xác. Bit EEWE cần thiết lập để viết giá trị tới EEPROM. Bit EEMWE cần phải đặt ở mức logic 1 khi viết tới EEWE, nếu không sẽ không viết được tới EEPROM. Thủ tục khi viết tới EEPROM qua các bước sau: 1. Đợi đến khi EEWE có giá trị 0. 2. Viết địa chỉ mới tới EEPROM tại thanh ghi EEARL và EEARH (theo tuỳ chọn). 3. Viết dữ liệu mới vào thanh ghi EEDR cho EEPROM . 4. Đặt mức logic 1 tại bit EEMWE trong thanh ghi control EECR. 5. Trong 4 chu kỳ đồng hồ sau khi thiết đặt EEMWE, nó viết mức logic 1 tới EEWE. Nếu có 1 ngắt giữa bước 4 và 5 sẽ làm thất bại quá trình viết tới EEPROM do vậy nên làm sạch các cờ ngắt trong thời gian 4 bước cuối để tránh các vấn đề này. Thời gian truy cập khi viết tiêu biểu là 2.5 ms tại VCC = 5v hoặc 4ms tại VCC = 2.77 V. o Bit 0: EERE: EEPROM Read Enable: EEPROM báo cho phép đọc khi địa chỉ được thiết lập đúng bên trong thanh ghi địa chỉ EEAR. − Time/Couter: AT90S8535 cung cấp 3 bộ Time 2 bộ 8 bit và 1 bộ 16 bit. Có thể tuỳ chọn đồng hồ không đồng bộ từ bộ tạo dao động ở bên ngoài. Bộ tạo dao động đó có thể dễ dàng tạo dao động ở tần số 32768 Khz. Bộ Time/counter 0: là 1 bộ định thời đơn gian dùng để đếm tiến từ giá trị đếm đã được nạp vào. Bộ đếm được tăng thêm 1 giá trị mỗi khi có thêm 1 tín hiệu đồng hồ ở lối vào của nó. − UART: AT90S8535 có thể truyền song công thu phát không đồng bộ với UART. Các tính năng của chúng gồm có: o Truyền dữ liệu với tốc độ cao. o Tốc độ cao tại tần số thấp của XTAL. o 8 hoặc 9 bit dữ liệu. o Lọc nhiễu. o Phát hiện tràn . o Phát hiện khung truyền lỗi. o Phát hiện bit start sai. o 3 ngắt riêng biệt thanh ghi data rỗng, TX hoàn thành, RX hoàn thành. o Đệm truyền và nhận. Việc truyền dữ liệu qua UART được khởi tạo bằng cách ghi dữ liệu vào thanh ghi dữ liệu I/O (UDR). Sau đó dữ liệu được truyền từ UDR đến thanh ghi dịch truyền khi :  Khi có 1 ký tự mới được ghi tới UDR sau khi bit stop của ký tự trước đã được dịch chuyển ra. Thanh ghi dịch chuyển ra sẽ được nạp ngay tiếp đó.  Ký tự mới được ghi tới UDR trước khi bit stop của ký tự trước đã được dịch đi. Thanh ghi dịch chuyển ra sẽ được nạp khi bit stop của ký tự trước đang được dịch chuyển ra.  Thanh ghi dữ liệu vào/ra UART: trên thực tế chúng là 2 thanh ghi nhưng có chung 1 địa chỉ vật lý. Khi ghi dữ liệu vào địa chỉ này nó ghi vào thanh ghi truyền dữ liệu. Khi đọc từ địa chỉ này nó đọc từ thanh ghi nhận dữ liệu.  Thanh ghi trạng thái UART: dùng để giám sát trạng thái của của UART. o Bit 7: (Receive Complete)mức giá trị 1 cho biết UART đã nhận 1 byte dữ liệu từ thanh ghi dịch bộ nhận. o Bit 6: (Transmit Complete) mức 1 cho biết 1 byte đã được dịch chuyển ra từ thanh ghi dịch và không có dữ liệu mới được ghi vào. o Bit 5: (Data Register Empty) UART sẵn sành nhận dữ liệu mới. o Bit 4: (Framing Error) báo lỗi khung truyền bằng cách kiểm tra parity. [...]... bằng vi c chạy các lệnh IN, OUT Các từ điều khiển đặt chế độ cho 8255A và thông tin trạng thái cũng được truyền qua bộ đệm này  Các mạch logic đọc /vi t và điều khiển quản lý các quá trình truyền số liệ, truyền các từ điều khiển, chấp nhận các tín hiệu vào từ các bus địa chỉ và bus điều khiển của CPU và lần lượt phát ra các lệnh tới cả 2 nhóm điều khiển A và B  Điều khiển đọc /vi t Bộ đệm số liệu Điều. .. điều khiển để chọn cổng vào ra trên 8255A, chọn chế độ đọc vi t tới các cổng trên 8255 Sau khi vi t từ điều khiển cho 8255 vi c vào ra dữ liệu giữa AVR và 8255 được thực hiện Nếu AVR muốn đưa dữ liệu ra dữ liệu trước tiên được vi t tới thanh ghi dữ liệu của cổng A (cổng được ghép nối với đường dữ liệu của 8255) Sau đó dữ liệu này được vi t tới bộ đệm dữ liệu của 8255 Bằng vi c xác định CW và lựa chọn... vào cho AVR II.3 THUẬT TOÁN ĐIỀU KHIỂN BẮT ĐẨU Cấu hình các cổng trên AVR Nạp từ điều khiển cho 8255 Chọn PA của 8255 Ghi Đọc Đọc /ghi Lấy dl từ Ram của avr đưa ra PA Lấy dl từ PA đưa vào ram của avr Chọn PB của 8255 Đọc Đọc /ghi Ghi Lấy dl từ Ram của avr đưa ra PA Lấy dl từ PB đưa vào ram của avr Chọn PC của 8255 Đọc Đọc /ghi Ghi Lấy dl từ Ram của avr đưa ra PA Lấy dl từ PC đưa vào ram của avr Khi... hoạt động và các vi điều khiển cũng bắt đầu hoạt động thì vi c đầu tiên chúng cần phải được đặt cấu hình Ta cần phải cấu hình trước tiên cho các cổng trên AVR sau đó là cho các cổng trên 8255A bằng vi c nạp từ điều khiển CWR cho 8255 Công vi c này được bắt đầu bằng vi c vi t từ điều khiển đó vào 1 thanh ghi dữ liệu của một cổng nào đó trên AVR rồi xuất chúng tới bộ đệm dữ liệu trên 8255 Vi c đưa giá trị... các cô, các bạn sinh vi n Em xin chân thành cảm ơn Trong thời gian tới em rất muốn nghiên cứu sâu hơn về các loại vi điều khiển và các ứng dụng thực tiễn của chúng Để từ đó có thể có các đề tài nghiên cứu đưa các vi điều khiển vào các ứng dụng thực tiễn Em rất mong nhận được sự hướng dẫn của các thầy các cô TÀI LIỆU THAM KHẢO 1 Kỹ thuật vi điều khiển với AVR (Nhà xuất bản khoa học và kỹ thuật) của... Nguồn nuôi VCC BỘ TẠO DAO ĐỘNG PA DATA D0 – D7 PA PB AVR PD ADD PPI - 8255 PC KHỐI RESET PD CONTROL RESET Hình 7: sơ đồ khối ghép nối 8255 với AVR Sơ đồ trên thực hiện vi c điều khiển vào ra của AVR với PPI-8255A AVR sẽ điều khiển 8255A vào ra qua các cổng để tăng thêm số cổng vào ra cho bộ vi xử lý Đường dữ liệu là 1 đường dẫn 8 bit mà 1 cổng trên AVR là cổng ra và cổng trên 8255A là cổng nhận dữ liệu... quan đến tới bit IBF được điều khiển bởi vi c đặt/xóa bit PC4 I.2.4 CÁC BƯỚC VI T CHƯƠNG TRÌNH B1: Xác định địa chỉ của các cổng và CW B1: nạp từ điều khiển vào CW để xác định chế độ họat động và cho các cổng là vào hay ra B3: vi t chương trình điều khiển cho chúng theo các mục tiêu đã đặt ra Chương II THỰC NGHIỆM - GHÉP NỐI AVR VÀ 8255 II.1 SƠ ĐỒ KHỐI PHỐI GHÉP GIỮA AVR VÀ 8255A Nguồn nuôi VCC BỘ... Vi c đưa giá trị vào các chân trên AVR cụ thể là các chân chọn cổng A0( chân PD0), A1(chân PD1), và CS(chân PD3) sẽ hỗ trợ cho vi c vi t từ điều khiển này Sau đó công vi c điều khiển của hệ thống được bắt đầu: AVR sẽ kiểm tra lần lượt các cổng trên 8255 xem chúng là đọc hay ghi và nếu là đọc thì dữ liệu đọc vào từ 1 cổng nào đó sẽ được ghi tại bộ đệm của 8255 và AVR cần lấy dữ liệu từ đây vào Nếu cổng... lập trình cho PPI thành các cổng vào ra được tiến hành trên AVR Điều khiển với vi c chọn cổng và giá trị hoàn toàn trên AVR bằng vi c đặt giá trị cho từ điều khiển CW Trước tiên để có giá trị cho chân CS của 8255 thì các chân số 2 của cổng D, AVR được thiết lập thành các chân ra và thiết lập cho chúng giá trị =1 Các chân PD0, PD1 được dùng để chọn các cổng hoặc CW trên 8255 theo bảng trên Các chân này... Đọc dữ liệu từ cổng B vào bus số liệu Đọc dữ liệu từ cổng C vào bus số liệu Đọc từ điều khiển vào bus số liệu Vi t dữ liệu từ bus số liệu vào cổng A Vi t dữ liệu từ bus số liệu vào cổng B Vi t dữ liệu từ bus số liệu vào cổng C Vi t dữ liệu từ bus số liệu vào từ điều khiển CW Với vi c dễ dàng thiết lập cho các chân của AVR là các chân vào/ra, trong trường hợp này ta cần thiết lập toàn bộ các chân của

Ngày đăng: 26/04/2013, 11:19

TỪ KHÓA LIÊN QUAN

w