ứng dụng ngôn ngữ lập trình c vào vi điều khiển thiết kế mạch đồng hồ điện tử led hiển thị thời gian thực rtc - Pdf 32

TRƢỜNG ĐẠI HỌC CẦN THƠ
KHOA SƢ PHẠM
BỘ MÔN SƢ PHẠM VẬT LÝ

ỨNG DỤNG NGÔN NGỮ LẬP TRÌNH C VÀO VI ĐIỀU KHIỂN THIẾT
KẾ MẠCH ĐỒNG HỒ ĐIỆN TỬ LED HIỂN THỊ THỜI GIAN THỰC
RTC
Luận văn tốt nghiệp
Ngành: SƢ PHẠM VẬT LÝ

GVHD:

SVTH:

Vƣơng Tấn Sĩ

Nguyễn Long Phƣớc Đƣờng
MSSV: 1110193
Lớp: Sƣ Phạm Vật Lý - TL11012A1
Khóa: 37

Cần Thơ, năm 2015


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

LỜI CẢM ƠN

Em xin bày tỏ lòng biết ơn chân thành và sâu sắc đến

luận văn.

Cần Thơ, ngày 24 tháng 4 năm 2015
Tác giả

Nguyễn Long Phƣớc Đƣờng

Luận văn tốt nghiệp


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

MỤC LỤC
Mục lục……………………………………………………………………………... i
Danh mục ký hiệu, chữ viết tắt…………………………………………………….iii
PHẦN 1: MỞ ĐẦU………………………………………………………………….1
1.
2.
3.
4.

Lý do chọn đề tài…………………………………………………………1
Mục tiêu của đề tài……………………………………………………….2
Giới hạn đề tài……………………………………………………………2
Phƣơng pháp và phƣơng tiện thực hiện đề tài…………………………2
4.1 Phƣơng pháp…………………………………………………………2
4.2 Phƣơng tiện…………………………………………………………..3


1. Chƣơng 1 Giới thiệu các khối và các linh kiện trong mạch…………...47
1.1 Giới thiệu các linh kiện trong mạch…………………………………47
1.2 Các khối trong mạch………………………………………………….62
2. Chƣơng 2 Sơ đồ nguyên lý và mạch mô phỏng………………………….67
2.1 Sơ đồ nguyên lý………………………………………………………..67
2.2 Mạch in………………………………………………………………...68
2.3 Mạch mô phỏng……………………………………………………….68
3. Chƣơng 3 Lƣu đồ giải thuật và chƣơng trình…………………………..70
3.1 Lƣu đồ giải thuật……………………………………………………..70
3.2 Mã nguồn chƣơng trình……………………………………………...77
PHẦN 4: KẾT LUẬN………………………………………………………………92
1. Kết quả đạt đƣợc của đề tài……………………………………………..92
2. Đề nghị……………………………………………………………………93
3. Hƣớng phát triển…………………………………………………………93
Danh mục tài liệu tham khảo……………………………………………………….94
Phụ lục……………………………………………………………………………….95
Phụ lục 1……………………………………………………………………………..95
Phụ lục 2……………………………………………………………………………..96
Phụ lục 3……………………………………………………………………………..97
Luận văn tốt nghiệp
ii


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

DANH MỤC KÍ HIỆU, CHỮ VIẾT TẮT

AC


Central Processing Unit

Đơn vị xử lý trung tâm

CS

Chip Select

Chọn chip

CTS

Clear to Send

Xoá để gửi

C/T

Timer/Counter

Bộ định thời/ đếm

DCD

Data Carrier Detect

Tách tín hiệu mang dữ liệu

DCE


External Access

Tín hiệu cho phép chọn bộ nhớ

EIA

Electronics Industry
Asscociation

Hiệp hội công nghiệp điện tử

EN

Enable

Chân cho phép

Luận văn tốt nghiệp
iii


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

GND

Ground


Thanh ghi ưu tiên ngắt

ISR

Interrupt Service Routine

Chương trình con phục vụ ngắt

LCHCLK

Latch Clock

Xung cock chốt dữ liệu

Luận văn tốt nghiệp
iv


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

PHẦN 1: MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Ngày nay công nghệ kỹ thuật vi điều khiển và lập trình nhúng đã trở nên quen thuộc
trong các ngành kỹ thuật và trong dân dụng từ các dây truyền sản xuất lớn đến các thiết bị gia
dụng nhỏ chúng ta đều thấy sự hiện diện của vi điều khiển. Các bộ vi điều khiển có khả năng
xử lý nhiều hoạt động phức tạp mà chỉ cần sử dụng một chip vi mạch nhỏ, nó đã thay thế các
hệ thống điều khiển lớn và phức tạp bằng những mạch điện nhỏ và gọn nhẹ, dễ dàng thao tác
và sử dụng.


Một trong những ứng dụng thiết thực của lâp trình nhúng vào vi điều khiển đó là thiết kế đồng
hồ hiển thị thời gian. Đây là một ứng dụng thường thấy nhất trong cuộc sống.
Qua các môn đã được học: kỹ thuật điện tử 1, thực tập kỹ thuật điện tử 1, CAD, cảm
biến….Với mục đích kiểm tra lại kiến thức về điện tử nên ở luận văn này, em chọn thi công
mạch đồng hồ số hiện thời gian thực dùng DS1307 để vận dụng tất cả các kiến thức cơ bản đã
được học.
Ở đây, do được học cơ bản về AT89S52 nên sẽ sử dụng vi xử lý AT89S52 để thi công mạch.
Về phần hiển thị thời gian có thể dùng led 7 đoạn, led đơn,led ma trận, hay LCD để hiển thị.
Đối với led ma trận thì khá phức tạp cho việc hiển thị, do đó em sử dụng led 7 đoạn cho việc
hiển thị. Xuất phát từ thực tiễn này em đã chọn đề tài “Ứng dụng ngôn ngữ lập trình C vào vi
điều khiển thiết kế mạch đồng hồ Led 7 đoạn hiển thị thời gian thực RTC”

2. MỤC TIÊU CỦA ĐỀ TÀI
Kiến thức vật lý luôn là 1 phần rất quan trọng trong các môn khoa học tự nhiên và trong
mọi ngành kỹ thuật – đời sống, là nền tảng cho mọi ngành công nghiệp hiện đại như tin học,
điện tử,… Việc ứng dụng các kiến thức đó vào việc chế tạo các thiết bị phục vụ đời sống
thường ngày cũng như nghiên cứu và dạy học nói chung nhằm đáp ứng các yêu cầu của việc
dạy và học về điện tử cho sinh viên ngành Sư Phạm Vật Lý. Thực hiện nghiên cứu và chế tạo
mạch đồng hồ Led là sự ứng dụng các kiến thức vật lý vào cuộc sống thường ngày, qua đó cho
thấy rằng Vật Lý không đơn thuần là những định luật khô khan hàn lâm mà luôn hiện diện
xung quanh ta ở mọi khía cạnh.

3. GIỚI HẠN ĐỀ TÀI
Trước sự phát triển mạnh mẽ của công nghệ phần cứng và công nghệ phần mềm có rất
nhiều vi điều khiển và phần mềm hỗ trợ lập trình và biên dịch nhưng đề tài của em chỉ nghiên
cứu về vi điều khiển AT89S52 và ngôn ngữ lập trình C mà thôi.

4. PHƢƠNG PHÁP VÀ PHƢƠNG TIỆN THỰC HIỆN ĐỀ TÀI
4.1 Phƣơng pháp

PHẦN 2: NỘI DUNG
CHƢƠNG 1: GIỚI THIỆU CHUNG VỀ HỌ VI ĐIỀU KHIỂN 8051
1.1 Sơ lƣợc về vi điều khiển:
Năm 1976, hãng Intel giới thiệu bộ vi điều khiển 8748 – mở đầu cho họ vi điều khiển MCS-48.
8748 là một vi mạch chứa hơn 17.000 transistor bao gồm một CPU, 1 kbyte bộ nhớ EPROM,
64B RAM, một bộ đếm/định thời 8 bit và 27 chân vào/ra. 8748 và các vi điều khiển tiếp theo
của nó trong họ MCS-48 đã được sử dụng phổ biến trong các ứng dụng hướng điều khiển như
máy giặt, ôtô, các thiết bị ngoại vi của máy tính… Sau 8748, các bộ vi điều khiển mới liên tục
được các hãng sản xuất như Intel, Atmel, Siemens… giới thiệu cho các ứng dụng nhúng.
Vi mạch tích hợp, hay vi mạch, hay mạch tích hợp (integrated circuit) hay vi điều khiển, gọi tắt
IC, hay chip là các mạch điện chứa các linh kiện bán dẫn (như transistor) và linh kiện điện tử
thụ động (như điện trở) được kết nối với nhau, kích thước nhỏ và chế tạo bởi công nghệ silicon
cho lĩnh vực điện tử.
Vi điều khiển là những vi mạch điện tử tích hợp (chip) mà chúng ta có thể lập trình để thực
hiện những nhiệm vụ mà bạn muốn. Khác với vi xử lý, các vi điều khiển ngoài chức năng xử
lý dữ liệu thuật toán nó còn được tích hợp các bộ chức năng đặc biệt khác, các vi điều khiển
ngõ vào để nhận và xuất dữ liệu, các bộ timer xử lý thời gian, các bộ trao đổi dữ liệu theo một
số chuẩn giao tiếp, thậm chí có một số loại vi điều khiển còn có cả bộ chuyển đổi AD, bộ điều
khiển động cơ…
Vi điều khiển (MCU – viết tắt của cụm từ “Micro Control Unit”) có thể được coi như một máy
tính thu nhỏ trên một chip, nó có thể hoạt động với vài linh kiện phụ trợ ở bên ngoài.Vi điều
khiển khác với vi xử lý ở những điểm sau:
+ Về phần cứng: Vi xử lý cần ghép thêm các thiết bị ngoại vi bên ngoài như bộ nhớ và các
thiết bị ngoại vi khác để có thể tạo thành một bản mạch hoàn chỉnh. Với vi điều khiển bản thân
nó là một hệ máy tính hoàn chỉnh với CPU, bộ nhớ, mạch giao tiếp, các bộ định thời và mạch
điều khiển ngắt được tích hợp bên trong.
+ Về ứng dụng: Các bộ vi xử lý chủ yếu được dùng làm CPU trong các máy tính còn các bộ vi
điều khiển dùng làm trong các ứng dụng hướng điều khiển.
+ Về các đặc trưng tập lệnh: Do ứng dụng khác nhau nên các bộ vi xử lý và vi điều khiển cũng
có những yêu cầu khác nhau đối với tập lệnh của chúng. Tập lệnh của các vi xử lý thường

5


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

bị mất khi mất nguồn nuôi, RAM để lưu trữ toán hạng mã lệnh, kết quả của chương trình khi
nó đang thực hiện. RAM có dung lượng là 1, 2, 4, 8, 16, 32, 64, 128, 256, 512MB.
1.2.2 Đơn vị xử lý trung tâm
Giả sử đã có ít nhất là 3 ô nhớ ta thêm vào một khối có cấu tạo đặc biệt, khối này có khả
năng thực hiện các phép toán cộng, trừ, nhân, chia và di chuyển nội dung từ ô nhớ này đến ô
nhớ khác. Khối ta vừa thêm vào gọi là “đơn vị xử lí trung tâm” và ô nhớ của nó gọi là các
thanh ghi. Do đó những thanh ghi là những ô nhớ và vai trò của nó là hỗ trợ ta thực hiện
nhiều phép toán bất kì trên dữ liệu được tìm thấy trên vi điều khiển. Như vậy hiện tại có hai
khối thực hiện độc lập (bộ nhớ và bộ xử lí trung tâm) được kết nối với nhau.
1.2.3 BUS hệ thống
Các đường dẫn để di chuyển dữ liệu từ khối này sang khối khác gọi là bus. Về mặt vật
lí bus là một nhóm các đường dẫn có thể có 8,16 hoặc nhiều hơn. Bus chia làm 3 loại: bus
điều khiển, bus địa chỉ và bus dữ liệu. Bus điều khiển là các đường dây mang tín hiệu điều
khiển hoạt động hoặc phản ánh trạng thái của các khối như /RD (read - đọc bộ nhớ hoặc thiết
bị vào), /WR (write - ghi dữ liệu vào bộ nhớ hoặc xuất ra thiết bị ra), INT (interrup – ngắt vi
xử lí để trao đổi dữ liệu)… Bus dữ liệu là các đường dây mang số liệu mà vi xử lí đang trao
đổi với bộ nhớ hoặc thiết bị vào ra
Bus địa chỉ bao gồm số đường dẫn tương xứng với dung lượng bộ nhớ ta muốn định địa chỉ.
Bus địa chỉ mang thông tin về địa chỉ ô nhớ. Bus địa chỉ để truyền địa chỉ từ CPU tới bộ nhớ
còn bus dữ liệu để kết nối tất cả các khối trong vi điều khiển.
1.2.4 Khối vào và ra
Có ba loại cổng là vào, ra, cổng hai chiều. Khi làm việc với cổng trước tiên ta phải
chọn cổng cần giao tiếp sau đó truyền dữ liệu tới hoặc nhận dữ liệu từ cổng. Khi làm việc

chương trình trở nên tin cậy hơn mà không cần sự giám sát của người dùng.
1.3 Giới thiệu về họ vi điều khiển 8051
Năm 1981, hãng Intel giới thiệu bộ vi điều khiển 8051, bộ vi điều khiển này có 128
byte RAM, 4 kbyte ROM, hai bộ định thời, một cổng nối tiếp và bốn cổng vào/ra song song,
tất cả được đặt trên một chip. 8051 là bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với
8 bit tại một thời điểm. Dữ liệu lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để xử lý,
8051 cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có thể xóa và lập trình
nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 3 TIMER/COUNTER 16 Bit, 5 vectơ ngắt
có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo xung Clock
và bộ dao động ON-CHIP. [2]
Bảng 1.1 Các đặc tính của 8051 đầu tiên
Đặc tính
Số lượng
ROM

4 Kbyte

RAM

128 byte

Bộ định thời

2

Luận văn tốt nghiệp
7


GVHD: Thầy Vương Tấn Sĩ

- 128 byte RAM,
- 32 đường xuất nhập,
- 1 port nối tiếp và 2 bộ định thời 16 bit.
Tiếp theo sau đó là sự ra đời của chip 8052,8053,8055 với nhiều tính năng được cải tiến .
Hiện nay Intel không còn cung cấp các loại Vi điều khiển họ MCS-51 nữa, thay vào đó các
nhà sản xuất khác như Atmel, Philips/Signetics, AMD, Siemens, Matra&Dallas,
Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51.
Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi
điều khiển của hãng Atmel. Các mã số chip được thay đổi chút ít khi được Atmel sản xuất.
Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành
89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau. Tương tự
8051,8053,8055 có mã số tương đương ở Atmel là 89C51, 89C53, 89C55.
Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng Vi điều
khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp chương
trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng.

89S51
89S52
89S53
89S55

Dung lƣợng RAM Dung lƣợng ROM
128 byte
4 Kbyte
128 byte
8 Kbyte
128 byte
12 Kbyte
128 byte
20 Kbyte

GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

Hình 0.1 Cấu trúc của các chân trên port 1 và port 3

Port 2 (P2.0 – P2.7)
Port 2: Từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một Port có tác dụng kép dùng như các
đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.

Hình 2.4 Cấu trúc của các chân trên Port 2.
Luận văn tốt nghiệp
11


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường


Port 3 (P3.0 – P3.7)
Port 3:Từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng kép. Các chân của port
này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của
89S52 như ở bảng 2.1.

Bit

Bảng 2.1 Chức năng của Port 3.
Tên
Chức năng


P3.5

T1

Ngõ vào của timer/counter1

P3.6

/WR

Xung ghi bộ nhớ dữ liệu ngoài

P3.7

/RD

Xung đọc bộ nhớ dữ liệu ngoài

 PSEN (Program store enable)
PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc chương trình ở bộ nhớ ngoài và thường được
nối đến chân OE để cho phép đọc các byte mã lệnh trên ROM ngoài. Nối với chân PSEN ở
mức thấp trong thời gian 89S52 lấy lệnh. Các mã lệnh của chương trình được đọc từ EPROM
qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89S52 để giải mã lệnh. Khi 89S52 thi
hành chương trình trong ROM nội, PSEN ở mức cao.
 ALE (Address Latch Enable)
ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằn 1/6 lần tần số dao động của vi điều
khiển. Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài như 74373, 74573 chốt
byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ/dữ liệu (Port 0).


AT89S52 dùng nguồn một chiều có dải điện áp từ 4V đến 5.5V được cấp qua chân 40 và
chân 20.
2.2.2 Chức năng:
Chức năng: Là vi điều khiển chính của mạch.
Luận văn tốt nghiệp
13


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

- 8 KB EPROM bên trong.
- 256 Byte RAM nội.
- 4 Port xuất /nhập I/O 8 bít.
- 3 bô ̣ đinh
̣ thời 16 bit
- Watch dog timer
- Các đặc điểm khác giố ng AT89C51.
AT89S52 có 8kbyte Flash ROM trên chip, khi chân /EA (chân số 31) được đặt ở mức logic
cao (+5V), bộ vi điều khiển sẽ thực hiện chương trình trong bộ nhớ này bắt đầu từ địa chỉ
0000H. Số lần lập trình cho bộ nhớ này khoảng 1000 lần. Khi chân /EA ở mức logic thấp, bộ
nhớ chương trình sẽ thực hiện ở bộ nhớ ngoài (EPROM ngoài), tuy nhiên cần có mạch phối
ghép AT89S52.
2.3 Bộ nhớ dữ liệu
Bộ nhớ dữ liệu ngoài là RAM được đọc hoặc được ghi bởi tín hiệu /RD và /WR.RAM bên
trong AT89S52 được phân chia như sau:
Các bank thanh ghi có địa chỉ từ 00H đến 1FH: 32 byte thấp của bộ nhớ nội được dành cho các
bank thanh ghi. Bộ lệnh 8951 hỗ trợ 8 thanh ghi có tên là R0 – R7 và mặc định sau khi reset hệ
thống thanh ghi có địa chỉ từ 00H – 07H. Do có 4 bank thanh ghi nên tại một thời điểm chỉ có

D3H
00= Bank 0 địa chỉ: 0H÷07H
Luận văn tốt nghiệp
14


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường
01= Bank 1 địa chỉ: 08H÷0FH
10= Bank 2 địa chỉ: 10H÷1FH
11= Bank 3 địa chỉ: 18H÷1FH
cờ tràn
dự trữ
cờ chẵn lẻ

PSW.2
0V
D2H
PSW.1
D1H
PSW.0
P
D0H
2.4 Các bƣớc lập trình cho 89S52
2.4.1 Giới thiệu
Lập trình cho IC là việc thiết kế các thuật toán bằng cách sử dụng các tập lệnh để IC giải
quyết các nhiệm vụ cụ thể tùy theo yêu cầu của mạch điện tử. Vì mạch đồng hồ của luận văn
đặt ra đa phần liên quan đến việc định thời và đếm sự kiện nên ở đây đi sau phân tích các vấn
đề liên quan đến việc định thời và đếm sự kiện.


7

GATE1

SVTH: Nguyễn Long Phước Đường

1

6

C/#T1

1

5

M1

1

4

M0

1

3

GATE0

bằng 1 thì timer 0 chỉ chạy khi chân INT0 ở
mức cao.
Bit chọn chế độ couter/timer của timer 0
Bit 1 chon chế độ của timer 0
Bit 0 chọn chế độ của timer 0

TF2: Cờ báo tràn của timer 2. TF2 không được thiết lập khi TCLK hoặc RCLK được đặt bằng
1.
EXF2: Cờ ngắt ngoài của timer 2. EXF2 = 1 khi xảy ra sự nạp lại hoặc thu nhận. EXF2 = 1
cũng gây ra ngắt do Timer 2 nếu như ngắt này được lập trình cho phép.
RCLK: Bit chọn timer cung cấp xung nhịp cho đường nhận của cổng nối tiếp.
TCLK: Bit chọn timer cung cấp xung nhịp cho đường truyền của cổng nối tiếp.
EXEN2: Bit điều khiển hoạt động của Timer 2. Khi EXEN2=1 việc nạp lại hoặc thu nhận
(Capture) diễn ra khi có sự chuyển trạng thái từ 1 sang 0 ở chân T2EX nếu Timer 2 không sử
dụng để cung cấp tốc độ Baud cho cổng nối tiếp.
TR2: Bit điều khiển hoạt động của timer 2 (tương tự như TR0, 1).
C/#T2: Bit chọn chế độ đếm hoặc định thời của Timer 2 (tương tự như C/#T0,1).
CP/#RL2: Bit chọn chế độ thu nhận hay nạp lại của Timer 2.

Luận văn tốt nghiệp
16


GVHD: Thầy Vương Tấn Sĩ

SVTH: Nguyễn Long Phước Đường

Khi CP/#RL2C được thiết lập bằng 1 việc thu nhận được thực hiện khi có sườn xuống ở chân
T2EX và bit EXEN1 được đặt là 1.
Khi CP/#RL2C được đặt bằng 0, việc nạp lại được thực hiện khi có sườn xuống ở chân T2EX

T2MOD.2

Không sử dụng

T2MOD.1

T2OE

Cho phép đầu ra khi sử dụng Timer 2 để chế tạo
xung (chế tạo xung – clock out).

T2MOD.0

DCEN

Bit cho phép Timer 2 hoạt động như bộ đếm
tiến/lùi

2.4.4 Chế độ hoạt động của bộ định thời
Timer 0 và timer 1:
+ Chế độ 0: Chế độ 0 là chế độ định thời 13 bit (8 bit của TH và 5 bit cao của TL) để chứa các
giá trị đếm, 3 bit thấp của TL không được sử dụng.
+ Chế độ 1: Trong chế độ 1, bộ Timer dùng cả hai thanh ghi TH và TL để chứa giá trị đếm, vì
vậy chế độ này được gọi là chế độ định thời 16 bit. Với chế độ 1, giá trị lớn nhất mà Timer
chứa được là 65535 (tương ứng với FFFFFH), khi đếm quá giá trị này sẽ xảy ra tràn, khi cờ
tràn TF sẽ được đặt bằng 1. Sau khi xảy ra tràn nếu muốn Timer tiếp tục đếm, chương trình
phải có câu lệnh nạp lại giá trị khởi tạo sau khi đã dừng Timer bằng cách xoá bit TR.
+ Chế độ 2:Trong chế độ 2 bộ Timer dùng TL để chứa các giá trị đếm và TH để chứa các giá
trị nạp lại vì vậy chế độ này được gọi là chế độ tự nạp lại 8 bit. Sau khi đếm quá 255 sẽ xảy ra
tràn, khi đó TF được đặt bằng 1 đồng thời giá trị của timer tự động được nạp lại bằng nội dung

16 bit Auto-reload:16 bit tự nạp lại
0
1
1
16 bit Capture:16 bit thu nhận
Baud Rate Generator:cung cấp tốc
1
X
1
độ baud.
X
X
0
Off
2.4.5 Cổng nối tiếp
AT89S52 có một cổng nối tiếp (UART) trên chip có thể hoạt động ở nhiều chế độ khác
nhau với các tốc độ khác nhau. Chức năng chủ yếu của cổng nối tiếp là chuyển đổi song song
sang nối tiếp với dữ liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhận.Dữ liệu
đi và về hoàn toàn độc lập với nhau, do đó có thể truyền nhận đồng thời, và cổng nối tiếp có
đặc tính như vậy còn gọi là cổng song cổng (Full Duplex).

Máy tính

Cổng RS232

Bộ
chuyển
mức

Luận văn tốt nghiệp


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status