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

Thiết kế đồng hồ thời gian thực dùng vi điều khiển AT MEGA 16

97 1,1K 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 97
Dung lượng 8,36 MB

Nội dung

Bộ vi điều khiển sẽ được đặt lại khi chân này ở chế độ thấp trong hơn 50ns, các xung ngắn hơn không tạo ra tín hiệu đặt lại.. Điều này enable bộ tính toán ALU làm việc đơn chu kỳ.6 tron

Trang 1

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

LỜI NÓI ĐẦU 6

CHƯƠNG I : SƠ LƯỢC VỀ ATMEGA16 7

Sơ đồ khối -7

1.1 ĐẶC TRƯNG -8

1.2 AVR CPU -10

1.2.1 ALU – Arithmetic Logic Unit -12

1.2.2 STATUS REGISTER -12

1.2.3 Thanh ghi mục đích chung -13

1.2.4 STACK POITER (con trỏ ngăn xếp ) -14

1.2.5 Reset và xử lý ngắt -15

1.2.6 Ngắt đáp ứng lại thời gian -16

1.3 BỘ NHỚ AVR ATMEGA16 -17

1.3.1 Hệ thống bộ nhớ lập trình lại flash -17

1.3.2 Bộ nhớ dữ liệu SRAM -17

1.3.3 Bộ nhớ dữ liệu EEPROM -18

1.4 CÁC VECTOR NGẮT VÀ CÁC CỔNG I/O -19

1.4.1 CÁC VECTOR NGẮT CỦA ATMEGA16 -19

1.4.2 CÁC PORT I/O -20

CHƯƠNG II : LẬP TRÌNH I2C – GIAO TIẾP 2 DÂY TRONG AVR 21

2.1 GIAO TIẾP 2 DÂY -21

2.2 CHUYỂN GIAO DỮ LIỆU VÀ ĐỊNH DẠNG KHUNG -22

2.2.1 Điều kiện của START và STOP bit -22

2.2.2 Định dạng gói địa chỉ và định dạng gói dữ liệu -23

2.4 CÁC MODULO TWI -24

Trang 2

2.4.5 Đơn vị điều khiển -26

2.5 CÁC CHẾ ĐỘ TRUYỀN -27

2.6.1 Chế độ truyền Master -27

2.6.2 Chế độ nhận Master -30

2.6.3 Chế độ nhận Slave -32

2.6.4 Chế độ truyền Slave -33

CHƯƠNG 3 : GIỚI THIỆU VỀ CÔNG CỤ LẬP TRÌNH CodeVisionAVR 36

3.1 Môi trường tích hợp phát triển CodeVisionAVR -38

3.2 Làm việc với Files -38

3.3 Làm việc với Project -44

3.4 Tạo một chương trình bằng cách tự sinh mã trong CodeVisionAVR -61

CHƯƠNG 4 PHÂN TÍCH VÀ THIẾT KẾ MẠCH 64

Sơ đồ khối -64

4.1.Khối Reset: -64

4.2.Khối điều khiển: -65

4.3 Khối tạo xung giao động -66

4.4.Khối tạo thời gian thực: -67

4.4.1Giới thiệu chung về DS1307: -68

4.4.2Cơ chế hoạt động và chức năng của DS1307: -68

4.4.3Sơ đồ địa chỉ RAM và RTC: -71

4.4.4Sự truyền nhận dữ liệu trên chuỗi bus 2 dây : -73

4.4.5Chế độ hoạt động của DS1307 -74

4.5 KHỐI HIỂN THỊ LCD -76

4.5.1 ĐẶC TẢ -76

4.5.2.1 Sơ đồ khối của chip HD44780 77

4.5.2.2 Các thanh ghi 78

4.5.2.3 Cờ báo bận BF 79

4.5.2.4 Bộ đếm địa chỉ AC 79

4.5.2.5 Hiển thị dữ liệu DDRAM 80

4.5.2.6 ROM chứa kí tự CGROM ( Character Generator ROM) 81

4.5.3 Giới thiệu tập lệnh “LCD.h” -82

Trang 3

4.5.3.1 Các hàm lcd có mức thấp 82

4.5.3.2 Các hàm LCD mức cao 83

4.6.THIẾT KẾ MẠCH -84

4.6.1SƠ ĐỒ MẠCH -84

4.6.2 LƯU ĐỒ THUẬT TOÁN -85

KẾT QUẢ ĐẠT ĐƯỢC 95

Trang 4

LỜI NÓI ĐẦU

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

Vận dụng những kiến thức đã được học trong quá trình học tập ởtrường,em thực hiện đề tài Thiết kế đồng hồ thời gian thực Đề tài này được ápdụng chủ yếu dựa vào vi điều khiển ATMEGA16, nhằm mục đích giúp em hiểumột cách tường tận hơn về những gì về vi điều khiển, cách đọc, viết va nhận biết

về các chân IC mà em đã được học từ thầy cô trong trường, tìm hiểu và nghiêncứu qua sách cũng như cách thức vận dụng nó trong thực tế

Trong thực tế, các ứng dụng của vi điều khiển rất đa dạng và phongphú.Từ những ứng dụng đơn giản chỉ có vài thiết bị ngoại vi cho đến những hệthống điều khiển phức tạp Tuy nhiên do pham vi trình độ của em còn hạn chế,nên việc nghiên cứu và tìm hiểu về vi điều khiển còn nhiều điều chưa biết Trongbài viết của em, em xin giới thiêu ứng dụng vi điều khiển ATMEGA16 để hiểnthị bộ đếm GIỜ-PHÚT-GIÂY hiển thị trên LCD

Trang 5

CHƯƠNG I : SƠ LƯỢC VỀ ATMEGA16

Atmega16 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 (Reduced Intruction Set Computer) Vào ra Analog – digital

và ngược lại Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì 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á chế độ độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lí

Sơ đồ khối

Atmega16 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc đa

Trang 6

Khi sử dụng vi điều khiển Atmega16, có rất nhiều phần mềm được dùng

để lập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như AVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C,

ICCAVR C - CMPPILER của GNU… Trình dịch C đã được nhiều người dụng

và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu AVR, đó là trình dịch CodeVisionAVR C Phần mềm này hỗ trợ nhiều ứng dụng

và có nhiều hàm có sẵn nên việc lập trình tốt hơn

1.1 ĐẶC TRƯNG

- Đượ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 131 lệnh, hầu hết đều thực thi chỉ trong một chu kì xung nhịp

Bộ nhân 2 chu kỳ

32x8 thanh ghi làm việc đa dụng

Hoạt động tĩnh

16MIPS với thông lượng 16 MHz

8KB Flash ROM lập trình được ngay trên hệ thống

+ Giao diện nối tiếp SPI enable lập trình ngay trên hệ thống

+ Enable 1000 lần ghi/xoá

Bộ EEPROM 512 byte Cho phép 100.000 ghi/xoá

16 K Byte bộ nhớ chương trình in-System Self-programmable Flash

Chu kỳ Write/Erase : 10,000 Flash/100,000 EEPROM

Độ bền dữ liệu 20 năm ở 85°C và 100 năm ở 25°C

Trang 7

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

- 4 kênh điều chế độ rộng xung PWM

- Có đến 13 interrupt ngoài và trong

- Bộ so sánh Analog

- Bộ lập trình Watch dog timer

- 6 chế độ ngủ : Idle, ADC Noise Reduction, Power-save, Power-down, Standby và Extended Standby

- Giao tiếp nối tiếp Master/Slave SPI

Hình 1.1 a,b cấu trúc Atmega16

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

- GND: Nối mass.

- PortA (PA7…PA0): PortA nhận vào tín hiệu Analog và chuyển đổi qua tín

hiệu Digital Ngoài ra PortA có thể được tách ra làm vào ra 2 hướng 2 bit nếu bộ

Trang 8

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ợp kê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 enable giao diện

JTAG, 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ơn 50ns, 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ạo dao độ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ên ngoài, chân XTAL2 để trống, còn chân XTAL1 được nối với bộ dao động bên ngoài

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

- AVCC : là chân nguồn cho PortA và cho bộ chuyển đổi A/D Nó có thể tự

kết nối với nguồn chính ngay cả khi ADC không được sử dụng

1.2 AVR CPU

Kiến trúc AVR nói chung, các chức năng chính của CPU đảm bảo sự thựcthi chính xác process CPU phải có khả năng truy xuất bộ nhớ, thực hiện tính toán, điều khiển thiết bị ngoại vi và các kênh ngắt

Trong thứ tự thực hiện song song, AVR sử dụng kiến trúc Harvard với bộ nhớ tách rời giữa hai luồng process và dữ liệu Các chỉ lệnh trong bộ nhớ processđược thực hiện với những mức đơn pipeline Trong khi một lệnh dang thực thi, lênh tiếp theo sẽ được tìm nạp trước từ bộ nhớ process Khái niệm này enable cáclệnh sẽ được thực hiện trong mọi chu kỳ xung Bộ nhớ process là hệ thống bộ nhớ Flash lập trình lại được Truy xuất nhanh thanh ghi File chứa 32*8 bit thanh

Trang 9

ghi làm việc đa năng với một chu kỳ xung đơn truy xuất thời gian Điều này enable bộ tính toán ALU làm việc đơn chu kỳ.

6 trong 32 thanh ghi có thể sử dụng như 3 địa chỉ gián tiếp thanh ghi con trỏ cho không gian địa chỉ dữ liệu Nó cũng có thể được sử dụng như con trỏ của

bộ nhớ process Flash

Một lệnh AVR có 16 bit đơn định dạng word

Mỗi địa chỉ bộ nhớ process chứa 16 hoặc 32 lệnh

Bộ nhớ process Flash được chia ra làm 2 khu vực, khu vực khởi động process và khu vực ứng dụng process Cả hai khu vực được thiết kế bảo vệ các bit ghi và đọc/ghi

Trong khi các ngắt và process con được gọi, địa chỉ trả về của Counter process (PC) được lưu trữ trong Stack Stack được định phần trong dữ liệu tổng quát SRAM, vì vậy kích thước STACK được hạn chế bởi kích thước SRAM tổng

và cách sử dụng của nó Tất cả các process sử dụng phải khởi tạo giá trị đầu cho Stack Poiter trước khi process con hoặc ngắt được gọi Stack Poiter được đọc/ghiđược sử dụng trong không gian I/O Dữ liệu SRAM có thể dễ dàng được truy xuất qua 5 cách đánh địa chỉ khác nhau hộ trợ trong kiến trúc AVR Không gian

bộ nhớ trong kiến trúc AVR là tất cả những bản đồ bộ nhớ phổ biến tuyến tính Một mô đun ngắt linh hoạt có những thanh ghi điều khiển trong không gian I/O với một ngắt toàn cục enable ngắt trong thanh ghi trạng thái Tất cả các ngắt đều

có vector ngắt riêng biệt trong bảng vector ngắt Địa chỉ vector ngắt càng thấp quyền ưu tiên ngắt càng cao

Không gian bộ nhớ I/O chứa 64 địa chỉ cho các chức năng ngoại vi CPU như thanh ghi điều khiển,SPI, và một số chức năng I/O khác

Trang 10

Hình 1.2: Lược đồ khối kiến trúc AVR MCU

1.2.1 ALU – Arithmetic Logic Unit

Thực thi cao AVR ALU hoạt động trong sự kết nối trực tiếp với tất cả 32 thanh ghi hỗ trợ làm việc Hoạt động trong ALU được chia thành 3 chức năng chính : số học, logic và chức năng bit

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

Trang 11

- Bit 5-H : Cờ nhớ nửa H sử dụng để nhớ nửa hữu ích trong phép tính số BCD

-Bit 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

- Bit 0-C : cờ nhớ

1.2.3 Thanh ghi mục đích chung

Thanh ghi file được tối ưu hóa cho AVR tăng cường lập tập tin Trong mệnh lệnh để đạt được sự thực hiện đòi hỏi và tính tối ưu hóa những sơ đồ vào rađây được hỗ trợ :

 Một toán hạng ngõ ra 8 bit và một kết quả ngõ vào 8 bit

 Hai toán hạng ngõ ra 8 bit và một kết quả ngõ vào 8 bit

 Hai toán hạng ngõ ra 8 bit và một kết quả ngõ vào 16 bit

 Một toán hạng ngõ ra 16 bit và một kết quả ngõ vào 16 bit

Trang 12

Stack Poiter trỏ đến ngăn xếp dữ liệu SRAM lưu trữ những process con và nhữngngắt cục bộ Khoảng trống trong SRAM phải được định nghĩa bởi process trước bất kỳ process con nào gọi nó thực thi hoặc ngắt nào được hoạt động Stack Poiter giảm đi 1 khi dữ liệu được đẩy lên trên Stack với lệnh PUSH, và giảm đi 2khi trả về địa chỉ được đẩy lên trên Stack với sự gọi process con hoặc ngắt được gọi Stack Poiter tăng lên 1 khi dữ liệu được đưa ra khỏi Stack với lệnh POP, và tăng lên 2 khi dữ liệu được đưa ra khỏi Stack trả về từ process con RET hoặc trả

về từ ngắt RETI

Stack Poiter AVR được bổ xung như 2 thanh ghi 8 bit trong không gian I/O Số lượng các bít được sử dụng là sự thi hành phụ thuộc Chú ý không gian dữ liệu trong bổ xung của kiến trúc AVR nhỏ nên chỉ sử dụng thanh ghi SPL, trong trường hợp này không có thanh ghi SPH

1.2.4 STACK POITER (con trỏ ngăn xếp )

Thanh ghi Stack Poiter luôn trỏ đến đỉnh của ngăn xếp

Stack Poiter trỏ đến ngăn xếp dữ liệu SRAM lưu trữ những process con và những ngắt cục bộ Khoảng trống trong SRAM phải được định nghĩa bởi process trước bất kỳ process con nào gọi nó thực thi hoặc ngắt nào được hoạt động StackPoiter giảm đi 1 khi dữ liệu được đẩy lên trên Stack với lệnh PUSH, và giảm đi 2khi trả về địa chỉ được đẩy lên trên Stack với sự gọi process con hoặc ngắt được gọi Stack Poiter tăng lên 1 khi dữ liệu được đưa ra khỏi Stack với lệnh POP, và tăng lên 2 khi dữ liệu được đưa ra khỏi Stack trả về từ process con RET hoặc trả

về từ ngắt RETI

Stack Poiter AVR được bổ xung như 2 thanh ghi 8 bit trong không gian I/O

Số lượng các bít được sử dụng là sự thi hành phụ thuộc Chú ý không gian dữ liệu trong bổ xung của kiến trúc AVR nhỏ nên chỉ sử dụng thanh ghi SPL, trong trường hợp này không có thanh ghi SPH

Trang 13

1.2.5 Reset và xử lý ngắt

AVR cung cấp vài nguồn ngắt khác nhau Các ngắt này có vector Reset riêng biệt với vector process Tất cả các ngắt ghi ở mức logic 1 cùng với ngăt toàn cục.Trong thanh ghi trạng thái các bit enable ngắt phụ thuộc giá trị Counter process Các ngắt có thể tự động bị disable khi khởi động khóa bit BLB02 hoặc BLB12.Khi một ngắt xuất hiện, ngắt toàn cục enable I-bit xóa và tất cả các ngắt còn lại bị disable Sử dụng phần mềm có thể ghi logic 1 cho I-bit enable ngắt Tất cả các ngắt được enable có thể ngắt thường trình I-bit tự động được lập khi một lệnh ngắt trở lại thực thi từ RETI

Có hai kiểu ngắt cơ bản

Kiểu 1 : hoạt động bởi 1 sự kiện lập bởi cờ ngắt Với mỗi ngắt Counter process là một vector tới vector ngắt hiện tại trong thứ tự thực thi, phần cứng sẽ xóa cờ ngắt Các cờ ngắt có thể bị xóa bởi ghi logic 1 tới vị trí bit cờ để xóa Nếu điều kiện một ngắt xuất hiện trong khi enable ngắt bit bị xóa thì cờ ngắt sẽ được lập và nhớ đến khi ngăt enable hoặc cờ ngắt bị xóa bởi phần mềm Tương tự, điều kiện để các ngắt xuất hiện trong khi bit GIE(Global Interrupt Enable) bị xóa thì cờ nhớ sẽ lập và nhớ đến khi bit GIE được lập

Kiểu 2 : các ngắt sẽ được hoạt động nếu điều kiện để ngắt có mặt Những ngắt này không cần có cờ ngắt Nếu điều kiện ngắt không xuất hiện trước khi ngắt enable ngắt sẽ không được hoạt động

Trang 14

Không có ngắt được thực thi sau lệnh CLI ngay cả khi xuất hiện đồng thời với lệnh.

1.2.6 Ngắt đáp ứng lại thời gian

Ngắt thực thi đáp ứng cho tất cả các ngắt cho phép của AVR là 4 chu kỳ xungtối thiểu Sau 4 chu kỳ xung vector process thêm địa chỉ cho ngắt đang hoạt động

Trang 15

trong process con thực thi Trong khoảng thời gian này bộ nhớ process sẽ đẩy lêntrên Stack Vector ngắt nhảy đến ngắt trong process con và lệnh ngắt này sẽ đưa

ra 3 chu kỳ xung Nếu một ngắt xuất hiện trong khi thực thi nhiều chu trình lệnh,thì lệnh sẽ được trước khi ngắt được thực hiện Nếu một ngắt xuất hiện khi MCU

ở chế độ ngủ, ngắt thực thi yêu cầu thời gian tăng bởi 4 chu kỳ xung

Trở về từ ngắt process con đưa rad 4 chu kỳ xung bộ đếm chương trình sẽ được đưa ra từ Stack, Stack Poiter tăng thêm 2 và I-bit trong SREG được lập

1.3 BỘ NHỚ AVR ATMEGA16

Phần này mô tả các bộ nhớ khác nhau trong Atmega16 Kiến trúc AVR có

2 bộ nhớ chính : bộ nhớ dữ liệu và bộ nhớ process Bổ xung thêm vào đặc tính AVR một bộ nhớ EEPROM lưu trữ dữ liệu

1.3.1 Hệ thống bộ nhớ lập trình lại flash

Atmega16 chứa 16 K bytes On-Chip trong hệ thống bộ nhớ lập trình lại Flash

để lưu trữ process Cho AVR 16 hoặc 32 bit thì bộ nhớ flash là 8K*16 Bộ nhớ Flash có khả năng ghi/ xóa 1000 lần cho mỗi vòng Atmega16 có Counter 13 bit cùng với 8K địa chỉ process

Trang 16

Có tới 1120 địa chỉ ô nhớ cho bộ nhớ nhập xuất, thanh ghi file và SRAM nội 96 đường địa chỉ đầu tiên dành riêng cho thanh ghi file và bộ nhớ vào ra và còn 1024 đường địa chỉ còn lại cho SRAM nội

Trang 17

thực hiện 100.000 chu kỳ ghi/xóa Truy xuất giữa EEPRAM và CPU được mô tả theo đặc tả thanh ghi địa chỉ, thanh ghi dữ liệu và thanh ghi điều khiển EEPROM

1.4 CÁC VECTOR NGẮT VÀ CÁC CỔNG I/O

1.4.1 CÁC VECTOR NGẮT CỦA ATMEGA16

Bảng 1.4.1: bảng vector ngắt của Atmega16Ngắt ngoài được khởi tạo bởi các trạng thái INT0, INT1, INT2 Quan sát thấy rằng khi được enable, các ngắt sẽ được khởi tạo nếu các trạng thái INT0, INT1, INT2 được cấu hình là ngõ ra

Trang 18

thanh ghi điều khiển trạng thái MCUCSR Khi được enable và được cấu hình bởicác trạng thái bắt đầu (chỉ dành cho INT0, INT1), các ngắt sẽ có hiệu lực với các chân được giữ mức thấp Chú ý rằng để có sự nhận biết kéo lên hay kéo xuống của ngắt cần có sự hiện diện I/O clock Trạng thái mức thấp của INT0, INT1 và mức kích cạnh của INT2 đều là không đồng bộ Tóm lại các ngắt này dùng để đánh thức các chế độ đang ở trạng thái sleep hơn là để chạy không Xung I/O được chia đôi trong tất cả các trạng thái sleep và chạy không

Thanh ghi điều khiển vector ngắt GICR

Bit 1 – IVSEL: Interrupt Vector Select

Khi bit IVSEL được xóa về 0 thì những vector ngắt được đặt tại điểmbắt đầu của bộ nhớ Flash Khi được đưa lên 1 thì những vector này sẽđược đưa về điểm bắt đầu của đoạn khởi động bộ nhớ Flash

Bit 0 – IVCE: Interrupt Vector Change Enable

Bit IVCE phải ghi bởi logic 1 enable sự thay đổi IVSEL bit.IVCE được xóa bởi phần cứng 4 chu trình sau nó được ghi hoặc bởi IVSEL được ghi Thiết lập bit IVCE sẽ ngăn chặn ngắt

1.4.2 CÁC PORT I/O

Tất cả các Port của AVR đều có các hàm Read- Modify- Write khi sử dụng các Port I/O thông thường Điều này có nghĩa trực tiếp đến một Port có thể thay đổi không lường trước, thay đổi trực tiếp của bất kỳ chân nào với những chỉ dẫn SBI và CBI Cùng ứng dụng khi thay đổi điều khiển (nếu định cấu hình tương tự đầu ra) hay enable / disable sự tăng giá trị trên những điện trở (nếu định cấu hình tương tự như đầu vào) Trình điều khiển chân đủ mạnh để điều khiển hiển thị led trực tiếp Tất cả các chân có thể được chọn lựa riêng lẻ tăng điện trở lên với chế độ điện áp không đổi cho điện trở 3 địa chỉ bộ nhớ I/O được cấp phát

Trang 19

cho mỗi Port, mỗi từng cái cho bộ thanh ghi dữ liệu Portx, thanh ghi điều khiển

dữ liệu DDRx và chân Port vào PINx Những chân ngõ nhập được định vị I/O chỉđọc , trong khi thanh ghi dữ liệu và thanh ghi điều khiển dữ liệu là đọc/ ghi

CHƯƠNG II : LẬP TRÌNH I2C – GIAO TIẾP 2 DÂY

TRONG AVR

Chức năng :

 Nguồn đơn giản và linh hoạt trong giao diện truyền thông ,chỉ cần có 2 đường Bus

 Hoạt động Master và slave đều được hỗ trợ

 Thiết bị này có thể hoạt động truyền và nhận

 7 bit không gian địa chỉ cho phép up lên thành 128 địa chỉ khác nhau

 Nhiều chủ được hỗ trợ

 Đưa lên tới 400kHz tốc độ truyền dữ liệu

 Định mức quay giới hạn cơ cấu truyền động

 Loại bỏ nhiễu trên mạch do đột biến điện trên đường Bus

 Có process đầy đủ tớ với những lời gọi thông thường

Có các địa chỉ đánh thức AVR khi AVR ở chế độ nghỉ

Trang 20

Mỗi dây SDA hay SCL đều được nối với điện áp dương của nguồn cấp thông quamột điện trở kéo lên Sự cần thiết của các điện trở kéo lên này là do chân giao tiếp I2C của các thiết bị ngoại vi thường là máng cực hở Giá trị của các điện trở kéo lên tùy vào từng thiết bị và chuẩn giao tiếp, thường dao động từ 1 KΩ đến 4.7 KΩ

Hình 2.1 : Bus nối liền TWI.

2.2 CHUYỂN GIAO DỮ LIỆU VÀ ĐỊNH DẠNG KHUNG

2.2.1 Điều kiện của START và STOP bit

Trang 21

Lưu chuyển được bắt đầu khi Master đưa ra điều kiện START trên bus, vàkết thúc khi đưa ra một điều kiện STOP Giữa điều kiện START và STOP, không có Master khác chiếm hữu bus khi đang có dữ liệu được truyền Khi một điều kiện START mới được đưa ra giữa một điều kiện START và STOP thì nó sẽđược tham chiếu như một điều kiện REPEATED START

2.2.2 Định dạng gói địa chỉ và định dạng gói dữ liệu

- Start : Chân SDA có cạnh từ cao xuống thấp và chân SCL đang ở mức cao.

- Stop : Chân SDA có cạnh từ thấp lên cao và chân SCL đang ở mức cao.

- SLA+R/W: 7 bit địa chỉ ( 2^7=128 có thể giao tiếp với 128 thiêt bị khách

khác) và bit cuối R/W cho biết là chủ muốn đọc hay ghi lên khách ( 1 là đọc

và 0 là ghi )

- ACK : nếu dịa chỉ tới đúng khách thì chủ sẽ nhận được tín hiệu ACK từ

khách

- Data byte : khi nhận được ACK chủ sẽ truyền 8 bit dữ liệu xuống khách Khi

khách nhận xong 8 bít nó sẽ kéo đường ACK xuống thấp , để báo chủ biết khách đã nhận đủ 8 bit

Chú ý : giá trị dữ liệu được thay đổi khi xung kéo xuống thấp

Hình 2.2.2.1 : định dạng gói địa chỉ.

Trang 22

Hình 2.2.2.2 : Định dạng gói dữ liệu.

2.4 CÁC MODULO TWI

Hình 2.4 : Tổng quan về Module của TWI.

2.4.1 Các chân SCL và SDA

Trang 23

Những chân này là giao diện AVR TWI với phần còn lại của vi điều khiển Quá trình xuất điều khiển chứa đựng tốc độ quay giới hạn để mà làm phù hợp với các đặc điểm của TWI Quá trình nhập chứa đơn vị lọc nhiễu, làm cho lọc nhiễu nhỏ hơn 50ns

2.4.2 Bộ sinh tốc độ bit đơn vị

Trong giai đoạn SCL được điều khiển bởi lập thanh ghi tốc độ bit TWI (TWBR) và các bit Prescaler trong thanh ghi trạng thái TWI (TWSR) Slave hoạtđộng không phụ thuộc tốc độ bit hay việc lập Prescaler nhưng tần số xung CPU trong Slave ít nhất phải cao hơn hơn 16 thời gian so bới tần số SCL Chú ý trongSlave có thể gia hạn thêm giai đoạn thấp SCL

• TWBR = Giá trị của thanh ghi TWI Bit Rate

TWPS = Giá trị prescaler các bit ở trong thanh ghi TWI Status

2.4.3 Đơn vị ghép nối Bus

Đơn vị này chứa đựng dữ liệu và địa chỉ của thanh ghi dịch (TWDR), sự điều khiển Start/Stop và sự phân xử được nhận ra bởi phần cứng Thanh ghi TWDR chứa đựng địa chỉ và dữ liệu để truyền đi và chứa đựng địa chỉ, dữ liệu được nhận Để thêm 8 bit vào thanh ghi TWDR, đơn vị ghét nối bus (Bus

interface Unit) cũng chứa thanh ghi có nội dung bit N (ACK) để truyền và nhận Thanh ghi N (ACK) không được truy cập trực tiếp bởi phần mềm của ứng dụng

Trang 24

nhận ra các điều kiện START/STOP khi vi điều khiển AVR nằm ở chế độ nghỉ, khởi động vi điều khiển AVR được đánh thức nếu địa chỉ là chủ.

2.4.4 Địa chỉ đơn vị phù hợp

Đơn vị này kiểm tra nếu bên nhận có địa chỉ byte phù hợp 7-bit địa chỉ ở thanh ghi địa chỉ TWI(TWAR) Nếu bit TWGCE (TWI General Call RecognitionEnable) ở thanh ghi TWAR được ghi là 1, tất cả địa chỉ đến sẽ so sánh lại với địa chỉ General Call Để làm phù hợp địa chỉ bên trên, đơn vị điều khiển được báo cáo lên, để làm hoạt động cho đúng TWI có thể nhận biết hoặc không thể nhận biết được địa chỉ của nó, phụ thuộc vào sự khởi tạo ở trong TWCR Đơn vị địa chỉ phù hợp có thể so sánh với địa chỉ sự kiện khi vi điều khiển AVR đang ngủ,

có thể đánh thức vi điều khiển nếu địa chỉ này được gọi bởi Master

2.4.5 Đơn vị điều khiển

Đơn vị điều khiển giám sát bus TWI và phát ra đáp ứng đúng với quá trìnhkhởi tạo ở thanh ghi điều khiển TWI (TWCR) Khi sự kiện đáp ứng sự chú ý của các ứng dụng xảy ra trong bus TWI, cờ ngắt TWI(TWINT) được xác nhận Trong những chu kỳ xung tiếp theo, thanh ghi trạng thái (TWSR) được cập nhập với các mã trạng thái nhận dạng cho mỗi sự kiện Thanh ghi TWSR chỉ chứa thông tin trạng thái thích đáng khi cờ ngắt TWI được xác nhận Trong tất cả thời gian khác, TWSR chứa mã trạng thái đặc biệt

Cờ ngắt TWINT được lập trong các tình huống như sau:

• Sau khi TWI đã truyền các điều kiện START/REPEATED START

• Sau khi TWI đã truyền SLA+R/W

• Sau khi TWI đã truyền địa chỉ byte

• Sau khi TWI đánh mất sự giám định

• Sau khi TWI đã được đánh địa chỉ bởi địa chỉ tớ riêng hoặc lời gọi thông thường

• Sau khi TWI đã nhận byte dữ liệu

Trang 25

• Sau khi STOP/REPEATED START đã được nhận trong khi vẫn đánh địa chỉ bên tớ

Khi lỗi bus xảy ra sự chậm trễ để sai các điều kiện START/STOP

2.5 CÁC CHẾ ĐỘ TRUYỀN

TWI hoạt động 1 trong 4 chế độ chính Có tên là Master Transmitter (MT), Master Receiver (MR), Slave Transmitter (ST) và Slave Receiver (SR)

Các ký tự chính của mỗi chế độ

S : điều kiện START

Rs : điều kiện REPEATED START

R : đọc bit (mức cao tại SDA)

W : ghi bit (mức thấp tại SDA)

A : chấp nhận bit (mức thấp tại SDA)

A : không chấp nhận bit (mức cao tại SDA)

Data : 8-bit dữ liệu byte

P : điều kiện STOP

SLA : Slave Address

2.6.1 Chế độ truyền Master

Trang 26

Hình 2.6.1 : Dữ liệu được truyền trong chế độ truyền Master.

Điều kiện START gửi để ghi các giá trị đến TWCR như sau :

TWEN phải được lập để khởi tạo đường truyền 2 dây, TWSTA phải được ghi lên 1 để truyền điều kiện START và TWINT phải ghi lên 1 để xóa cờ

TWINT TWI sẽ kiểm tra sau trên đường truyền 2 dây và phát ra điều kiện START càng sớm càng tốt lúc bus đang còn rảnh Sau khi điều kiện START được truyền đi, cờ TWINT được lập bởi phần cứng và mã trạng thái ở TWSR sẽ

là $08 Để vào chế độ MT, SLA+W phải được truyền Cái này làm việc do ghi SLA+W vào TWDR Sau đó TWINT bit nên được xóa (ghi nó thành 1) để tiếp tục truyền Nó được hoàn thành bởi ghi theo các giá trị của TWCR như sau:

Khi SLA+W được truyền và sự nhận bit đã nhận ra, TWINT được lập lại

và số trạng thái mã ở TWSR có thể thực hiện được.Các mã trạng thái ở Master chế độ là $18, $20, hoặc $38.Khi SLA+W thành công trong quá trình truyền ,gói

dữ liệu phải được truyền Quá trình này được đến TWDR TWDR chỉ được ghi

Trang 27

khi TWINT là cao Nếu không, sự đáp ứng này bị xóa, và ghi xung đột bit (TWWC) sẽ được lập trong thanh ghi TWCR Sau khi cập nhập TWDR, bit TWINT nên được xóa (ghi thành 1) để tiếp tục truyền Cái này được hoàn thành bởi ghi các giá trị của TWCR như sau:

Lược đồ này cứ lập lại mãi cho đến khi byte cuối cùng được gửi và sự truyền này kết thúc bởi phát ra điều kiện STOP hoặc lặp lại điều kiện START Các điều kiện STOP được phát ra bằng cách ghi giá trị vào TWCR như sau:

Các điều kiện REPEATED START được phát ra bằng cách ghi giá trị vào TWCR như sau:

Sau khi lặp lại điều kiện START (trạng thái $10) chế độ truyền nhận 2 dây có thể đáp ứng cùng với tớ lại, hoặc là tớ mới được truyền với điều kiện STOP Sự lặp lại điều kiện START khởi tạo chủ để chuyển đổi giữa chế độ truyền Slaves, Master và chế độ nhận Master mà không mất điều khiển bus

Trang 28

Hình 2.6.1 : Format và các trạng thái trong chế độ truyền Master

2.6.2 Chế độ nhận Master

Trang 29

Hình2.6.2.: Dữ liệu được truyền trong Master Receiver Mode.

Điều kiện START gửi để ghi các giá trị đến TWCR như sau:

TWEN phải được ghi lên 1 để khởi tạo đường truyền 2 dây, TWSTA phải được ghi thành 1 để truyền điều kiện START vàTWINT phải ghi thành 1 để xóa

cờ TWINT TWI sẽ kiểm tra sau trên đường truyền 2 dây và phát ra điều kiện START càng sớm càng tốt bus đang còn rảnh Sau khi điều kiện START được truyền đi, cờ TWINT được lập bởi phần cứng, và mã trạng thái ở TWSR sẽ là

$08 Để vào chế độ MR, SLA+R phải được truyền Nó làm việc do sự ghi SLA+R vào TWDR Sau đó TWINT bit nên được xóa (ghi thành 1) để tiếp tục truyền Nó được hoàn thành bởi ghi các giá trị của TWCR như sau

Khi SLA+R được truyền và sự nhận bit đã nhận ra, TWINT được lập lại

và số trạng thái mã ở TWSR có thể thực hiện được Các mã trạng thái ở chế độ Master là $38, $40, or $48 Quá trình nhận dữ liệu có thể được đọc từ thanh ghi TWDR khi cờ TWINT đươc lập bằng 1 do phần cứng Lược đồ này cứ lặp lại mãi cho đến khi byte cuối cùng được nhận Sau khi byte cuối cùng được nhận,

MR nên gửi đến ST bởi gửi NACK sau khi đã nhận byte dữ liệu cuối cùng Quá trình nhận này kết thúc khi phát ra điều kiện STOP hoặc lặp lại điều kiện

START Các điều kiện STOP được phát ra bằng cách ghi giá trị vào TWCR như sau:

Trang 30

Các điều kiện REPEATED START được phát ra bằng cách ghi giá trị vàoTWCR như sau:

Sau khi lặp lại điều kiện START (trạng thái $10) chế độ truyền nhận 2 dây có thể đáp ứng cùng với Slave lại, hoặc là Slave mới được truyền với điều kiện STOP Sự lặp lại điều kiện START khởi tạo chủ để chuyển chế độ truyền Slaves,Master và chế độ nhận Master mà không mất điều khiển bus

2.6.3 Chế độ nhận Slave

Hình 2.6.3: dữ liệu được truyền trong chế độ nhận Slave.

Để khởi tạo chế độ nhận Slave, TWAR và TWCR phải được khởi tạo như sau:

7 bit cao là địa chỉ mà chế độ truyền 2 dây sẽ đáp ứng khi địa chỉ này là của bên Nếu bit ít quan trọng nhất được lập,TWI sẽ đáp ứng lời gọi địa chỉ thôngthường ($00), mặc dù vậy nó vẫn bỏ qua lời gọi thông thường :

Trang 31

TWEN phải được ghi thành 1 để khởi tạo TWI TWEA bit phải được viết

là 1 để khởi tạo sự nhận của các thiết bị riêng địa chỉ bên Slave hoặc phát ra lời gọi địa chỉ TWSTA và TWSTO phải được ghi bằng 0

Khi TWAR và TWCR được khởi tạo, TWI đợi đến khi nó vào địa chỉ bởi địa chỉ Slave riêng (hoặc lời gọi thông thường được khởi tạo ) theo dõi bởi dữ liệu trực tiếp Nếu bit trực tiếp là“0” (ghi), TWI sẽ hoạt động ở chế độ SR, cách khác chế độ ST phải được bắt đầu Sau đó nó đi vào địa chỉ bên Slave và bit ghi khi được nhận, cờ TWINT được lập và giá trị mã trạng thái có thể đọc từ TWSR

Mã trạng thái này được sử dụng để định nghĩa thích ứng với hoạt động phần mềm Chế độ nhận Slave có thể cũng bắt đầu nếu thích ứng này mất trong khi TWI ở chế độ Master (trạng thái $68 và $78)

Nếu TWEA bit khởi động lại trong suốt quá trình truyền, TWI sẽ trở lại

“Không thừa nhận” (“1”)với SDA sau khi nhận byte dữ liệu kế tiếp Điều này có thể sử dụng để chỉ ra rằng bên Slave không thể nhận nhiều byte Trong khi TWEA là 0, TWI không báo nhận ở địa chỉ bên Slave Tuy nhiên, chế độ 2 dây này vẫn được điều chỉnh và địa chỉ nhận biết có thể điều chỉnh thời gian bởi sự khởi tạo TWEA Điều này chỉ ra rằng TWEA bit có thể được sử dụng kết hợp tạm thời với TWI đến từ chế độ 2 dây

Trong tất cả các trạng thái ngủ hơn là trạng thái nghỉ, đồng hồ hệ thống tắt Nếu TWEA bit được lập, giao diện này có thể nhận biết nó bởi địa chỉ riêng bên Slave hoặc phát ra lời gọi địa chỉ sử dụng đồng hồ của chế độ 2 dây lấy từ

Trang 32

Hình 2.6.4: Dữ liệu được truyền trong chế độ Slave.

Để khởi tạo chế độ nhận Slave, TWAR và TWCR phải được khởi tạo như sau:

7 bit cao là địa chỉ mà chế độ truyền 2 dây sẽ đáp ứng khi địa chỉ này là của bên Nếu bit ít quan trọng nhất được lập, TWI sẽ đáp ứng lời gọi địa chỉ thông thường ($00), mặc dù vậy nó vẫn bỏ qua lời gọi thông thường :

TWEN phải được ghi thành 1 để khởi tạo TWI TWEA bit phải được ghi

là 1 để khởi tạo sự nhận của các thiết bị riêng địa chỉ bên Slave hoặc phát ra lời gọi địa chỉ TWSTA và TWSTO phải được viết bằng 0

Khi TWAR và TWCR được khởi tạo ,TWI đợi mãi đến khi nó vào địa chỉbởi địa chỉ của Slave riêng (hoặc lời gọi thông thường được khởi tạo ) theo dõi bởi dữ liệu trực tiếp Nếu bit trực tiếp là“0” (ghi), TWI sẽ hoạt động ở chế độ ST,cách khác chế độ SR phải được bắt đầu Sau đó nó đi vào địa chỉ bên Slave và bitviết khi được nhận, cờ TWINT được lập và giá trị mã trạng thái có thể đọc từ TWSR Mã trạng thái này được sử dụng để định nghĩa thích ứng với hoạt động

Trang 33

phần mềm chế độ nhận Slave có thể cũng bắt đầu nếu thích ứng này mất trong khi TWI ở chế độ Master (trạng thái $B0 ).

Nếu TWEA bit được ghi là 0 trong suốt quá trình truyền, TWI sẽ bắt đầu truyền những byte sau Trạng thái $C0 hoặc $C8 sẽ bắt đầu, phụ thuộc vào nhậnMaster truyền NACK hoặc ACK sau khi kết thúc byte TWI đã tắt để không nhận địa chỉ chế độ Slave và sẽ bỏ qua chế độ Master nếu nó tiếp tục truyền Do

đó nhận Master nhận tất cả “1” trong dữ liệu Trạng thái $C8 được bắt đầu nếu Master có nhu cầu thêm bytes dữ liệu(bởi sự truyền ACK)

Trong khi TWEA bằng 0, TWI sẽ không đáp ứng địa chỉ riêng Slave Tuy nhiên, quá trình truyền 2 dây này vẫn được kiểm soát và địa chỉ nhận biết có thể tiếp tục trong khoảng thời gian bất kì bởi khởi tạo TWEA Điều này chỉ ra rằng TWEA bit có thể được sử dụng kết hợp tạm thời với TWI đến từ chế độ 2 dây

Trong tất cả các trạng thái ngủ hơn là trạng thái nghỉ, đồng hồ hệ thống tắt Nếu TWEA bit được lập, giao diện này có thể nhận biết nó bởi địa chỉ riêng bên Slave hoặc phát ra lời gọi địa chỉ sử dụng đồng hồ của chế độ 2 dây lấy từ đồng hồ Phần này sẽ đánh thức và TWI sẽ giữ đồng hồ SCL chậm suốt quá trìnhđánh thức và mãi đến khi cờ TWINT bị xóa (được ghi 1)

Trang 34

CHƯƠNG 3 : GIỚI THIỆU VỀ CÔNG CỤ LẬP TRÌNH

Trang 35

thêm vào để thích ứng đặc biệt với kiến trúc của AVR và hệ thống phần mềm nhúng cần.

Các file COFF có thể là nguồn debugged, với các biến xem, với cộng cụ debug Atmel AVR Studio

Môi trường tích hợp sẵn (IDE) đã xây dựng trong phần mềm AVR Chip In-System Programmer để có thể khởi tạo quá trình truyền tự động chương trình đến vi điều khiển sau khi bên dịch thành công chuyển sang mã assembly Phần mềm In-System Programmer được thiết kế để làm việc liên kết với các board phát triểnAtmel STK500, Kanda Systems STK200+/300, Dontronics DT600, Vogel Elektronik VTEC-ISP, Futurlec JRAVR và

MicroTronics’ATCPU/Mega2000, AVR910

Ngoài thư viện C chuẩn, trình biên dịch CodeVisionAVR còn hỗ trợ thư

viện cho :

 Modul Alphanumeric LCD

 Philips I2C bus

 Natrional Semiconductor LM75 Temperature Sensor

 Philips PCF8563,PCF8583,Dallas Semiconductor Ds1302 và DS

1307 Real Time Clocks

 Dallas Semiconductor 1 Wire protocol

 Dallas Semiconductor DS 1820/DS 18S20/DS 18B20 Temperature Sensors

 Dallas Semiconductor DS 1621 Thermometer/Thermostat

 Dallas Semiconductor DS 2430 và DS 2433 EEPROMs

 SPI

Trang 36

CodeVisionAVR cũng chứa đụng quá trình sinh mã tự động ,cho phép bạnviết một chương trình nhanh chóng ,tất cả các code này thực thi cho các chức năng dưới đây:

 Mở rộng bộ nhớ truy cập

 Sự nhận ra nguồn khởi động lại chip

 Khởi tạo các giá trị ban đầu cho Port nhập/xuất

 Khởi tạo các ngắt ngoài

 Khởi tạo Timer/Counters

 Khởi tạo Watchdog Timer

 Khởi tạo UART và các ngắt chạy trên bộ đệm truyền thông nối tiếp

 Khởi tạo Analog Comparator

 Khởi tạo ADC

 Khởi tạo giao diện SPI

 Khởi tạo I2C bus,cảm biến nhiệt độ LM75, nhiệt kế /điều khiển nhiệt DS1621 và PCF8563,PCF8583, đồng hồ đo thời gian thực DS1302, DS1307

 Khởi tạo đường truyền 1 dây và cảm biến nhiệt độ DS 1820/DS 18S20/DS 1820

Khởi tạo modul LCD

3.1 Môi trường tích hợp phát triển CodeVisionAVR

3.2 Làm việc với Files

Sử dụng CodeVisionAVR IDE bạn có thể xem và hiệu chỉnh 1 file sử dụng

và cung cấp bởi trình biên dịch C hoặc assembler.

 Tạo ra một File mới

- Bạn có thể tạo ra một file mới sử dụng File|New trên thanh lệnh hoặc

nhấn nút Create new file trên thanh Toolbar

Trang 37

- Hộp thoại xuất hiện,trong đó bạn phải chọn File Type|Source và nhấn nút Ok:

- Một cửa sổ soạn thảo mới xuất hiện để mà tạo ra một files

- Một file mới có tên là untitled.c.Bạn có thể lưu file này dưới tên mới sử dụng trình đơn File|Save As

Trang 38

- Chứa được 8 files gần đây nhất mà sử dụng mà được mở lại sử dụng trình

đơn File|Reopen.

 Soạn thảo file

- Để mở lại hoặc tạo ra file mới có thể soạn thảo trong trình soạn thảo của

window sử dụng các phím Tab,Arrows,Backspace và Delete.

- Nhấn phím Home di chuyển con trỏ đến nơi bắt đầu của dòng văn bản

hiện hành

- Nhấn phím End di chuyển con trỏ đến nơi kết thúc của dòng văn bản hiện

hành

- Nhấn tổ hợp phím Ctrl+Home di chuyển con trỏ đến nơi bắt đầu của file

- Nhấn tổ hợp phím Ctrl+End di chuyển con trỏ đến nơi kết thúc của file.

- Một phần văn bản có thể được chọn bởi kéo chuột

- Bạn có thể copy 1 đoạn văn bản đến bảng ghi tạm bằng cách sử dụng trình

đơn Edit|Copy bằng cách nhấn tổ hợp phím Ctrl+C hoặc nhấn nút Copy

trên thanh Toolbar

- Bằng cách sử dụng trình đơn Edit|Cut hoặc nhấn tổ hợp phím Ctrl+X hoặc nhấn nút Cut trên thanh Toolbar ,bạn có thể sao chép 1 đoạn văn bản

đến bảng ghi tạm và sau đó xóa nó khỏi file

- Đoạn văn bản trước khi lưu vào bảng ghi tạm có thể đặt nơi mà con trỏ

hiện hành trỏ đến bằng cách sử dụng trình đơn Edit|Paste hoặc nhấn tổ hợp phím Ctrl+V hoặc nhấn nút Paste trên thanh Toolbar.

- Đoạn văn bản chọn có thể bị xóa bằng cách sử dụng trình đơn Edit|Delete hoặc nhấn tổ hợp phím Ctrl+Delete.

- Trình đơn Edit|Print Selection cho phép in 1 đoạn văn bản được chọn.

- Nhấn tổ hợp phím Ctrl+Y để xóa 1 dòng văn bản ở nơi mà dấu caret ở vị

trí hiện hành

- Chọn vị trí dòng văn bản thụt lề ,tương ứng không thụt lề ,sử dụng Edit| Indent Block,tương ứng Edit|Unindent Block trình đơn ,hoặc nhấn tổ hợp phím Ctrl+I,tương ứng Ctrl+U.

Trang 39

- Bạn có thể tìm vị trí của đoạn văn bản trong file soạn thảo bằng cách sử

dụng trình đơn Edit|Find hoặc nhấn tổ hợp phím Ctrl+F hoặc nhấn nút Find trên thanh Toolbar.

- Bạn có thể thay thế vị trí của đoạn văn bản trong file soạn thảo bằng cách

sử dụng trình đơn Edit|Replace hoặc nhấn tổ hợp phím Ctrl+R hoặc nhấn nút Replace trên thanh Toolbar.

- Thay đổi trong trình soạn thảo để có thể hủy tác vụ ,tương ứng là không

hủy ,bằng cách sử dụng Edit|Undo,tương ứng với không hủy là Edit| Redo,trong trình đơn hoặc nhấn tổ hợp phím Ctrl+Z,tương ứng với không

là Shift+Ctrl+Z,hoặc nhấn nút Undo ,tương ứng Redo tren thanh

Toolbar

- Bạn có thể nhảy đến 1 dòng có số đặc biệt nào đó trong file soạn

thảo,bằng cách sử dụng trình đơn Edit|GotoLine hoặc nhấn tổ hợp phím Ctrl+G.

- Làm dấu có thể thêm hoặc loại bỏ 1 dòng nào đó khi con trỏ ở vị trí ,bằng

cách sử dụng trình đơn Edit|Toggle Bookmark hoặc nhấn tổ hợp các phím Shift+Ctrl+0…9.

- Trình đơn Edit|Jump to Bookmark hoặc tổ hợp phím Ctrl+0…9 sẽ đưa

con trỏ đến nơi bắt đầu của nơi phù hợp đã làm dấu trong dòng văn bản

 Lưu 1 file

- Một file soạn thảo hiện hành có thể được lưu bằng cách sử dụng trình đơn

File|Save,hoặc nhấn tổ hợp phím Ctrl+S hoặc nhấn nút Save trên thanh

Toolbar

- Tất cả các file soạn thảo hiện hành có thể được lưu bằng cách sử dụng

trình đơn File|Save All.

Trang 40

Sửa lại tên 1 file

- Các file soạn thảo hiện hành có thể lưu trữ dưới tên mới bằng cách sử dụng trình đơn

File|Save As.Cửa sổ hộp thoại Save sẽ mở

 In ra 1 file

- Bạn có thể in ra 1 file hiện hành sử dụng trình đơn File|Print hoặc nhấn nút Print trên thanh Toolbar.

- Nội dung của file sẽ được in đến máy in mặc định của Window

- Các lề trang sử dụng có thể set sử dụng trình đơn File|Page Setup,mở trong hộp thoại Page Setup:

 Đóng 1 file

Ngày đăng: 30/12/2015, 14:57

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w