1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng vi Điều khiển 8951 thiết kế Đồng hồ số

100 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Tiêu đề Ứng dụng vi điều khiển 8951 thiết kế đồng hồ số
Tác giả Trần Quang Vũ, Thị Công Lơn
Người hướng dẫn PTS. Trần Văn Trọng
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Điện tử
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2002
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 10,19 MB

Nội dung

PSEN ở mức thấp trong thời gian vi điều khiển 8951 lấy lệnh .Các mã lệnh của chương trình đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh .Kh

Trang 1

BO GIAO DUC VA DAO TAO TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP

UNG DUNG VI DIEU KHIEN 8951 THIET KE DONG HO SO

GVHD: TRAN VAN TRONG

Trang 2

BO GIAO DUC VA DAO TAO

ca Oe _ Tai ĐẠI HỌC SƯ PHẠM KỸ kg TP.HCM

Tí =L$% KHOA ĐIỆN- BIEN TI —

Trang 3

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

422 Ø1 Ø7 (

cận văn tốt nghiệp này được hoàn thành tốt đẹp và

đúng thời hạn là nhờ vào sự giúp dờ của các thầy cô trong khoa

Điện Trường Dat hoe Su phạm Kỳ thuật TP.HCM Chúng em xin

chân thành cảm on qui thầy cô đã tận tâm giúp dd trong sui

thời gian qua Đặc biệt là thầy Trần Văn Trọng dã hướng dẫn

nhóm thực luện đề tài này tới tất cá tòth thuần trách nhiệm và

lòng nhiệt thành

Chân thành cảm ơn điên Thứ viền trường Đại Học Sự

phạm KỸ thuật, các bạn vừnh viễn cùng khóa đã tạo điêu kiện

và đóng góp ý kiến cho nhòm để: đề tài này thực hoàn thành tốt

Trang 4

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

6 Ngày giao nhiệm vụ:

7 Ngày hoàn thành nhiệm vi

Cán bộ hướng dẫn: Thông qua bộ môn

Ngày tháng năm 2002

Chủ nhiệm bộ môn Trần Văn Trọng

“Trang ii

Trang 5

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

Trang 6

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

Trang 7

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

Trang nhận xét giáo viên hướng dẫn iii

Trang nhận xét giáo viên phản biện iv

I, Giới thiệu cầu trie 8951 4

I Khảo sắt ví điểu khiển 89ST 5

2 Thanh ghi điều khiển port nối tiếp 31

3 Cac chế độ port nối tiếp 32

Trang 8

Tài liệu tham khảo

———ễễễềễễễễ

Trang vi

Trang 9

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

£69 N09 PAU

ong quá trinh phat trién cia khoa hoe kj tual tide day oào

uhitug thời diém chia phéi la xa lim , ngudi ta chi phan bigt hai pham ta

kỹ that diéu khiéu la diéu khién bang eo khi va diéu khién bing dign Mutug từ caối thập diều 20 nqudi ta dang uhiéu chi tiêu chỉ tiết dé phan biét ede logi kg thugl điều khién bei de khong ugiuy nang ean vige ty dong

khóa nên các ngành cảng nghiệp đã nà đang đồi khói nbitug beg thuật dieu khién mang tinh ting thé han chi piíải tôak độ các hệ Hung vám sud day chuyén céng ugh) 4 clit khang edn li điều khiéu don lé ting thiét bi hay từng egan thiết Bị

Higu nay, nde ta dang phan dia dé phat tridn leinh té «a hoi, trong

uhiing nam qua da at due aluing think twa ding khich lp , lao litn dé

cho Cong ughifp hoa - hign dai hea dit wide Tvong cdug enpe (26g ughi¢n hda- higu ial hoa dat mucde , dign td la nganh muti uhon then chét đầm cơ vở nà động lực Húic đâu cúc dgàdk Kiuáe phat triểu đồug bộ

đự nhát triển của kù tuuệt tự động dựa trêu et sé tin hoe aing 066 hang logt phiit mink much tich hep FC , b6 v6 xit ly, vi diéu khién da déng gép mgt vai Wd quan trong od quyét dink troug vi¢e séng tao „uy dung rgug rai kg thagt diéu khién eb khi nang lap With duge Tiy theo yeu edu cia ngudi ui dung ma chon thiét bi thich hep od lap tinh la duge

Gi dang lugn van nay uham gidi thitu khdi quat vé vi diéu khién

8951 vt tug dung nd để thiết kế (Đô hé 66° theo nha cầu của người sử dung

Do thoi gian , tai liệu tham khéo 0a trinh dé eb han nén luận oan udy khéug trénh khébi uhiing thiéu sét , rat mong sự góp ý, eÌa ede qui thay

6 ott ete ban

Thanh phé HOM thang 02 nam 2002

Dthim thite hign

FRAN QUANG OU

FHA CONE LOM

SS

Trang vii

Trang 10

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

CHƯƠNG I: DAN NHAP

1.ĐẶT VẤN ĐỀ

Ngày nay kỹ thuật vi điều khiển đã xâm nhập mạnh vào các lĩnh vực

khoa học kỹ thuật và trở nên quen thuộc trong ngành điện tử Nhìn chung,từ các

dây chuyển sản xuất lớn đến các thiết bị dan dung đều có sự tham gia 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 một chip vi mạch nhỏ chứa đưng

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 đơn

giản và gọn nhẹ hơn đồng thời các thao tác cho người sử dụng được dễ dàng

hơn

ác chương trình điều khiển, nó đã

Vi điều khiển không những góp phần vào kỹ thuật điều điện tử ma củn

góp phần to lớn vào việc phải tiến các ngành thuộc Hình vực truyền thông Đó

chính là sự ra đời của hàng loạt tuét bị ti tin trong ngành viền thông, tựu

hình, đặc biệt là sự ra đơi của màng Eaternet, góp phần đưa con ngưới đế:

cao của nền văn mình nhân loại Chính vì vậy mà việc tìm hiểu, khảo sát

khiển ño thiết kề các mạch điện chuyên ngành kỹ thuật

tử là điều mà các sinh viên hệt sức quản tầm nói chung và của nhóm nói riéng nhằm đáp ứng nhù cầu do

toán phức tạp trong vài phần triệu giây, điều đó thực hiện được là do kha nang

của con người Nếu không có sự tham gia của con người thì hệ thống vi điều

khiển cũng chỉ là một vật vô tri Do vậy vi điều khiển cũng giống như máy tính

bao gồm 2 phân chính là phần cứng và phần mềm Với công nghệ tiên tiến,

ngày nay các máy tính có thể đi đến việc suy nghĩ và nhận biết được các thông

tin đưa vào , đó là các máy tính thuộc thế hệ trí tuệ nhân tạo

Mặc dù vi diéu khiển đã đi được những bước dài như vậy nhưng để tiếp

cận được với kỹ thuật này không thể là một việc có được trong một sớm một

chiều Việc hiểu được cơ chế hoạt động của bộ vi điểu khiển là cơ sở để chúng ta tìm hiểu và sử dụng chúng để điều khiển một cách tối tân hơn, do vậy

mà việc tìm hiểu này sẽ tạo tiền để cho sau này thâm nhập vào các kỹ thuật lập

trình và điều khiển bằng vi xử lý Để tìm hiểu bộ vi điều khiển một cách khoa

Trang 1

Trang 11

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

“———-———————-—-— -

học và mang lại hiệu quả cao làm nền tẩn cho việc xâm nhập vào những hệ

thống tối tân hơn Việc tìm hiểu về kiến thức vi điều khiển là hết sức cần thiết

Để đáp ứng các yêu cầu trên , chúng em bắt tay vào tìm hiểu chip vi điều

khiển 8951 và thiết kế đồng hổ số báo giờ tự động ứng dụng vào các nhà

máy ,xí nghiệp ,trường học để thực hiện báo giờ theo một lịch trình mong muốn

II GIỚI HẠN VẤN ĐỀ

Vì thời gian có hạn, tài liệu tham khảo và kiến thức còn hạn chế nên việc

thực hiện để tài * Ứng dụng vi điều khiến 8951 thiết kế đồng hồ số báo giờ tự

động “ chỉ giới hạn ở 3 phần

+ Khảo sắt ví điều khiển R95]

+ Thiết kế thí công phần cứng mạch đồng hồ báo giờ tự đồng,

+ Xây dựng lưu đồ khôi, viết chương tình phán mềm điều khiến theo yêu

cầu trên

Tuy nhiên, trong xuất quá trình thí hiện không ranh khối những thiếu sót

và khó có thể hoàn chính một cách tuyết đội , nên chỉ có thể đạt được ở

phạm vi tương đôi, rất mong sự đong góp ý Kiên của các quí thầy có và các bạn

để cho để tài được hoàn chính hơn

II MỤC ĐỈCH NGHI CỨU,

Quá để tài nhầm trang bi cho sinh viên những kiến thức tổng quát vé vi

điều khiển từ cấu ưue phần cứng , cách thức kết nối phần cứng cho đến sử dụng tập lệnh để viết chương trình phần mềm theo yêu cầu để ra

Đề tài giới thiệu chỉ tiết về vi điều khiển 8951 giúp cho sinh viên sử dụng thành thạo tập lệnh để thiết kế phần mềm Trên cơ sở đó xây dựng lý thuyết về

vi điều khiển 8951

Khi nghiên cứu thực hiện để tài chúng em muốn phát huy những ứng dụng vốn có của vi điều khiển để tạo ra sản phẩm của riêng mình Ngoài ra khi thực

hiện để tài là cơ hội để chúng em tự kiểm tra lại những kiến thức đã học ở

trường ,đồng thời phát huy tính sáng tạo khả năng giải quyết vấn để theo yêu cầu đặt ra và đây cũng là dịp để chúng em tự khẳng định mình trước khi ra

trường để tham gia vào các hoạt động sản xuất trong xã hội Ngoài ra tập luận văn này cũng có thể làm tài liệu tham khảo cho những sinh viên khóa sau giúp

họ hiểu rõ hơn những ứng dụng của vi điều khiển

Trang 2

Trang 12

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

”———————————ễễễễễ-

1V THỂ.THỨC NGHIÊN CỨU

1 Đối tượng nghiên cứu

Như đã giới thiệu ở trên để tài “ Ứng dụng vi điều khiển 8951 thiết kế

đồng hồ số báo giờ tự động “ đã được thực hiện qua sự phân tích khảo sát vi

điều khiển 8951 , người nghiên cứu đã xây dựng sơ đồ nguyên lý phần cứng ,

viết chương trình phần mêm ,

2 Phương pháp nghiên cứu

Do tính chất của để tài là ứng dụng vi điều khiển 8951 thiết kế đồng hỗ

số báo giờ tự động , trong quá trình nghiên cứu thực hiện để tài , người nghiên cứu đã thực hiện các phương pháp sau :

© Phương pháp tham khảo tài liều

® Phương pháp trò chuyên trao đổi, tham khảo ý kiến của giáo viên

hướng

Xây dựng mạch điện phẩn cứng „ viết chương trình phần mễm tiến cỡ sở

những tài liệu tham khảo được qua phần ch Kháo sắt những ứng dụng của vị

điều khiển ,kết hợp những hiểu biết về vì mạch ví điều khiển , người nghiên cứu

ln và các bạn sinh viên

cố gắng đưa ra tập luận vấn và thì công để đưa vào ứng dụng thực tế,

3 Kế hoạch nghiên cứu

Trong thực tế ,vấn để về vì điển Khiế

không còn là mới mẻ nữa , ngưởi

lầy đúng thời gian đã định Vì váy kế

sười nghiên cứu được đề ra như sau:

“Thủ thặp tài Hiệu tham khảo

®- Soạn để cường chỉ tiết cho luận văn như sau : Chương 1: Dần nhập

Chương 2 : Khảo sát vi điều khiển 8951 để ứng dụng vào thiết

Trang 3

Trang 13

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

—————ễễễễễ

CHƯƠNG 2: KHẢO SÁT VI ĐIỀU KHIỂN

1 GIỚI THIỆU CẤU TRÚC PHAN CUNG CUA HỌ MSC-51

MSC-51 là một họ IC vi diéu khién do hang INTEL san xuất Các IC tiêu biểu cho họ MSC-51 là 8031, 8051 , 8751 , 8951 ,892051 Chúng, có đặc điểm chung như sau :

Dao động Điều khiển bus Các port ƯO Port nối tiếp

Trang 14

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

- 4portnhap xuat /O 8 bit

- 26 dinh thdi 16 bit (riêng họ 8xx2 có 3 bộ )

-_ 1 cổng nối tiếp

- _ 64 Kbyte không gian bộ nhớ chương trình mở rộng

-_ 64 Kbyte không gian bộ nhớ dữ liệu mở rộng

-_1 bộ xử lý luận lý (thao tắc trên các bit đơn )

- 210 bit dia chi hóa ( nằm trang vùng RAM nội )

- Bộ nhân và hộ chia 4 pis,

Nhìn vào sơ đồ khôi ta thấy nó báo gồm một ví xử lý và các thiết bị tối

®- Có 128 byte RAM nội

® Có 4 Port xuất nhập VO 8 bit

ø _ Có khả năng giao tiếp truyền dữ liệu nối tiếp

© Cé thé giao tiếp với 64 Kbyte bộ nhớ EPROM bên ngoài dùng để

lưu chương trình điều khiển

© Có thể giao tiếp với 64 Kbyte bộ nhớ bên ngoài dùng để lưu dữ

Trang 15

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

l XTAL2 poa [Ss Abd

An Alo

3 Chức năng các chân của 8951

Vi điều khiển có tất cả 40 chân có chức năng như các đường xuất nhập

trong đó có 24 chân có tác dụng kép (có nghĩa là I chân có 2 chức năng ) ,mỗi

đường có thể hoạt động như đường xuất nhập điều khiển hoặc là thành phần của các bus dữ liệu va bus địa chỉ để tải địa chỉ và dữ liệu khi giao tiếp với bộ nhớ

ngoài

¬———“——>—-———-

Trang 6

Trang 16

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

——————————————ễễễễễ-—— 3.1 Cac Port

e Port0:

Port 0 là một Port có hai chức năng với số thứ tự trên các chân từ 32-39

-Trong các hệ thống điều khiển đơn giẩn sử dụng bộ nhớ bên trong (không

dùng bộ nhớ mở rộng bên ngoài ) thì Port 0 có chức năng như các đường

điều khiển xuất nhập IO Trong các hệ thống điều khiển lớn sử dụng

bộ nhớ mở rộng bên ngoài thì Port0 có chức năng là bus dữ liệu 8 bit ADO-AD7

© Portl:

Port 1 là một Port xuất nhập O có số thứ tự chân từ I-§ các chân được

ký hiệu PI.0, PI.L, PI.2 PI.7 có thể dùng cho giao tiết

bị ngoài để điều khiển xuât nhập - Por 1 không có chúc nấng khác ,vì vậy

Port 2 là Pon có 3 chức năng ( tác du

21-28 Trong các hệ thông điều khiển đứa giản sử dụng bộ nhớ bén trong

kép) với số thứ tự chán từ

khong ding bo ahd med rong bến ngoài thì Port 2 được dung lãm các

đường điều khiển xuất nhập Trong các hệ thống điều khiến lớn sứ

dụng bộ nhữ mở rồng bên ngoài thì Port 2 có chức năng là bus đi

cao A8 -ÄAIã

® PorL3:

Port 3 la Port co 2 chive nàng với số thứ tự chân 10 — 17, các chân của

Port này có nhiều chức năng ,vừa có chức năng trao đổi dữ liệu vừa có

chức năng đặc biệt như ở bảng sau :

Bit Tên Chức năng chuyển đổi

P3.0 RXT Ngõ vào dữ liệu nối tiếp

P3.1- TXD Ngõ xuất dữ liệu nối tiếp

P3.2 INTO\ Ngõ vào ngắt cứng thứ 0

P3.3 INTI\ Ngõ vào ngắt cứng thứ 1

P3.5 ‘Eh Ngõ vào của TIMER/COUNTER thứ 1 P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài P3.7 RD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài

Trang 7

Trang 17

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

._—————————

3.2 Các ngõ tín hiệu điều khiển

« Ngõ tín hiệu PSEN (Program Store Enable )

PSEN là ứn hiệu ngõ ra trên chân 29 có tác dụng cho phép đọc bộ nhớ

chương trình mở rộng thường nối đến chin OE ( Output Enable) ctia EPROM cho phép đọc các byte mở rộng

PSEN ở mức thấp trong thời gian vi điều khiển 8951 lấy lệnh Các mã

lệnh của chương trình đọc từ EPROM qua bus dữ liệu và được chốt vào

thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hành chương

trình trong ROM nội thì PSEN ở mức l

© Ngo tin hiệu điều khiển ALE (Address Latch Enahle )

Khi vi điều khiển 8951 truy xuất bộ nhớ bên ngoài , PorL0 có chức năng,

là bus địa chỉ và bus dữ liệu do đó phải tách các đường địa chỉ và dữ liệu,

Tín hiệu ALE ở chân 30 dùng làm tin hiệu điều khiển để giải đá hợp các

đường địa chỉ và dữ liệu khủ kết nội chúng với ÍC chốt

Tín hiệu ra ở chân AT là một xung trong Khoảng thời gian Pon 0 đồng vai trò là đ

lá chí thấp nền việc chốt địa chí được thực hiện một c

toàn tự động, Các xung Hi liệu AE có tốc độ bằng 1/6 lần tán số

trên chỉp và có thế di dàng làm tú hiệu xung clock cúng cấp cho c phần khác của hệ thông Chỉ ngoại ưrừ khi thí hành lệnh MOVX, một

bị mất (Trong chế độ lắp trình cho bộ nhớ nội thì chân ALE dude

đồng làm ngõ vàu xung làp trình cho EPROM trong 8951

e Ngo tin higu MA (lh xternal Access )

Tín hiệu vào BA 6 chin 31 thudng nối lên mức 1 (Vcc) hoặc mức Ø

(GND) Nếu nồi lên mức logic 1 thì vi điểu khiển sẽ thi hành chương

trình từ ROM nội trong khoảng địa chỉ thấp 4 Kbyte Nếu EA nối với mức

logic 0 thì vi điều khiển 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng

©_ Các ngõ vào bộ đao động trên chip X1 ,X2

Bộ dao động được tích hợp bên trong 8951, khi sử dụng 8951 người

thiết kế chỉ cần kết nối thêm tụ thạch anh ,và các tụ như sơ đổ tân số tụ thạch'anh thường sử dụng cho 8951 là 12 MHz, được kết nối ở 2 chân

Trang 18

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

© Các chân nguễn :

Vi mạch 8951 được vận hành với nguồn đơn +5V , Vec nối vào chân

40, Vss (GND) nối vào chân 20

II CẤU TRÚC BỘ NHỚ BÊN TRONG VI ĐIỀU KHIỂN

nhiên chúng có thể mở rộng bằng các thành phần bên ngoài lên đến tối đa 64

Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu

Bộ nhớ bên trong bao gồm EPROM nội và RAM trên chip , EPROM gồm

bộ nhớ dữ liệu và bộ nhớ mã , RAM trên chip bao gồm nhiều phần : phần lưu trữ

đa dụng , phần lưu trữ địa chỉ hóa từng bit , các bank thanh ghi và các thanh ghi

chức năng đặc biệt

——=—

Trang 9

Trang 19

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

E0 [E7 | E6 | E5 | E4 |E3|E2| E1 | E0 |ACC

“JAB LAA} a9 [as

qH|d1a [12 +tr|0 su không được dia chi hod bit SBUF

[ABP AAT 301 a8 98 |9E|9E |9D|9C JĐB|9A|99| 95 SCON

SAP DP aad |

25 |2F|2E [2D] 2C [2B] 2A] 29 | 28 | 90 [97] 96 | 95 | 94 |93|92|91 | 90 Pi

24 [27] 26] 25 | 24] 23] 22/21] 20]

23 |IF|IE|ID|LC|tn [1A] 19 [18 §D | _ không được địa chỉ hoá bit [THI

22 |17|16|15|14|13|12|1110 §C không được địa chỉ hoá bit {THO

21 0E |0E |0D |0C|0B |0A | 09 | 08 8B không duge dia chi hod bit ÍTLI

20 [07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 8A không được địa chỉ hoá bit _[TLO 1F Bank 3 89 không được địa chỉ hoá bit MOD

18 88 | 8F|8E|8D|8C |8B/8A/ 89 | 88 [TCON

17 Bank 2 87 không được dia chi hod bit PCON

10

OF Bank 1 83 không được dia chi hod bit DPH

08 82 không được địa chỉ hoá bit PL

07 Bank thanh ghi 0 81 không được địa chỉ hoá bit SP

00 (mặc định cho R0 -R7) 88 |87 | 86 | 85 | 84 [83/82] 81| 80 [PO

RAM Các thanh ghi chức năng đặc biệt

Tran, 2 10

Trang 20

PEE—————————

Hai đặc tinh can lưu ý là :

* Các thanh ghi và các Port đã được xếp trong bộ nhớ và có thể truy xuất

trực tiếp giống như các địa chỉ bộ nhớ khác

* Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoại so với các bộ

vi xử lý khác

® Chỉ tiết về bộ nhớ RAM trên chip :

® Các Bank thanh ghi có địa chỉ từ 00H - IFH

® RAM dia chỉ hóa từng bit có địa chỉ từ 20H - 2FH e@ RAM da dung tit 30H — 2FH

© Các thanh ghi chức năng đặc biệt từ 80H - FIH

Œ RAM đa dụng:

Mặc dù trên hình vẻ cho thầy ÑÚ bvte đa dụng chiếm các địa chỉ từ 30H

đến 7FH, 32 byte dưới từ 00H đến I1H cũng có thể dùng với mục đích lương tứ

Ye tiếp hoặc gián Hep Ví du, để đọc nội dụng ở dia chi SEH cia

xác định địa chỉ nguồn (SH), Địch nhận dữ liệu được ngầm xác định trong mã

lệnh là thanh ghi tích lủy A

RAM bên trong cũng có thể truy xuất dùng cách đánh địa chỉ gián

qua thanh ghi RO hay RI Vidy , hai lệnh sau thí hành cùng nhiệm vụ như lệ:

đơn ở trên :

MOV RO, #5FH MOV A, @RO

Lệnh đầu dùng địa chí tức thời để đi chuyển giá trị 5FH vao thanh ghi RO

và lệnh thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu vào thanh ghi tích lũy

R0

O RAM có thể truy xuất từng bit:

Vi điểu khiển 8951 chứa 210 bit được địa chỉ hóa, trong đó có 128 bit có

chứa các byte có chứa các địa chỉ từ 20F đến 2FH và các bit còn lại chứa trong

nhóm thanh ghi có chức năng đặc biệt

Ý tưởng truy xuất từng bit bằng phần mễm là các đặc tính mạnh củavi

điều khiển Các bit có thể được đặt, xóa, AND, OR, , với 1 lệnh đơn Đa số

các vi xử lý đòi hỏi một chuổi lệnh đọc - sửa - ghi để đạt được mục đích tương

tự Ngoài ra các port cũng có thể truy xuất được từng bit

—————————————

Trang 11

Trang 21

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

.————————————————ễ——

Có 128 bit truy xuất từng bit này cũng có thể truy xuất như các byte hoặc

như các bit phụ thuộc vào lệnh được dùng Ví dụ , để đặt bit 67H ta dùng lệnh

sau :

SET 67H

Chú ý rằng địa chi 67H là bit có trọng số lớn nhất (MSB) 6 dia chi byte 2CH Lệnh trên không tác động đến các bit khác ở địa chỉ này Các vi xử lý sẽ

thi hành nhiệm vụ tương tự sau :

MOV A,2CH ¡ đọc cả byte

ORL A,#10000000B ;set(MSB) MOV 2CH.A ‡ phí lai ca byte

Ø1 Các bank thanh ghi:

32 byte thấp của bộ nhớ nội đc đành cho các banh thanh ghi, BO lệnh

8951 hổ trợ 8 thanh phí có tên là RO đến R7 và theo mặc định sau khi reset hé

thống, các thanh phí này có các địa chỉ từ OOH đến 07H Lệnh sau sẽ đúc nội

dung ở địa chỉ 0511 vào thanh ghụ tịch lây Á

MOV ALRS

Day là lénh Thyte diuy dia chi thank gia Tháo bác tướng từ có thể đưc

hành bằng lệnh 2 byte dung dha chỉ tức tiếp nam tong byte thứ hai

Do c6 4 bank thành phí nên tại một thời điểm chỉ có một bank thanh ghi

¡ RO đến R7 để chuyển đổi việc truy xuất các

bit chọn bank trong thanh ghi trạng thái

dùng thường xuyên nên dùng một trong

được truy xuất bởi cúc thành

bank thanh ghi ta phái thay d

2 Các thanh ghi có chức năng đặc biệt

Các thanh ghi nội của 8951 được truy xuất ngầm định bởi bộ lệnh

Các thanh ghi trong 8951 được định dạng như một phần của RAM trên

chip vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp) Cũng

như R0 đến R7, 8951 có 21 thanh ghi có chức năng đặc biệt (SER: Special

Function Register) ở vùng trên của RAM nội từ địa chi 80H đến FFH

Chú ý: tất cá 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có

21 thanh ghi có chức năng đặc biệt được định nghĩa sẵn các địa chỉ

Ngoại trừ thanh ghi A có thể được truy xuất ngầm như đã nói, đa số các thanh ghi có chức năng đặc biệt SFR có thể địa chỉ hóa từng bit hoặc byte

—————————=——_————-

Trang 12

Trang 22

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

————————————ễễễễễễễễ

«Thanh ghi trạng thái chương trình (PSW: Program Status Word):

Từ trạng thái chương trình ở địa chỉ D0H chứa các bit trạng thái được tóm

Cờ nhớ cũng có thể xem như thanh ghi 1 bit cho các lệnh luận lý thi hành

trên bit Ví dụ , để AND bit 25H với cờ nhớ và đặt kết quả trở vào cờ nhớ „ta

dùng lệnh như sau :

ANL C, 25H

¢ C@nhé phu AC (Auxiliary Carry Flag) :

Khi cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC được

set nếu kết quả 4 bit thấp nằm trong phạm vi điều khiển 0AH+ 0FH Ngược lại

AC=0

Trang 13

Trang 23

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

——————————————

e Cờ0(Flag0):

Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng của người dùng

«Các bit chọn bank thanh ghi truy xuất:

RS1 va RSO quyết định dãy thanh ghi tích cực Chúng được xóa sau khi

reset hệ thống và được thay đổi bởi phần mễm khi cần thiết

Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng

là Bank 0, Bank 1, Bank 2, Bank 3

_RSO | BANK

o | 0 1L | q1

0 2

® Cờ trànOV (Over Play):

Cờ trần được set sau một hoạt động công hoặc trừ nếu có sự trần toán học

số có dấu được công hoặc trừ với nhau, phần mêm có thể kiểm tra bít này đi € định xem kết quả có nằm trong tầm xác định không Khi các số không có dấu được cộng bì OV được bổ qua Các kết quả lớn hơn +127 hoặc

nhỏ hơn — 128 thi bit OV = 1

« Bit Parity (P):

Bit P ty déng được set hay Clear ở mỗi chu kỳ máy để lập Parity chẩn với

thanh ghỉ A Sự đếm các bit 1 trong thanh ghi A cộng với bit Parity luôn luôn

chấn Ví dụ A chứa 10101101B thì bit P set lên một để tổng số bit l trong A và

P tạo thành số chan

Bit Earity thường được dùng trong sự kết hợp với những thú tục của Port

nối tiếp để tạo ra bit Parity trước khi phát đi hoặc kiểm tra bit Parity sau khi thu

e Thanh ghi B:

Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi A để thực hiện các phép toán nhân chia Lệnh MUL AB sẽ nhận những giá trị không dấu 8 bit trong hai thanh ghi A và B, rồi trả về két qua 16 bit trong A (byte cao)

———ễ————Ễ——_Ễ_—_——————

Trang 14

Trang 24

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

“——————

và B (byte thấp) Lệnh DIV AB lấy A chia B, kết quả nguyên đặt vào A, số dư

đặt vào B

Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa mục

đích Nó là những bit định vị thông qua những địa chỉ từ F0H+F7H

« Con tré Ngan xép SP (Stack Pointer) :

Con trổ ngăn xếp là một thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉ của

nh trên ngăn xếp bao gồm các

; dữ liệu ra khỏi Ngăn xếp (POP)

Lệnh cất dữ liệu vào ngăn xếp sẽ làm tang SP tude khí phi dữ liệu và lệnh lấy

ra khỏi ngăn xếp sẽ làm giảm SP Ngăn xếp của 8031/8051 được giữ trong RAM nội và giới hạn các địa chỉ có thể truy xuất

byte dau ciia 8951,

lệnh cất dữ liệu vào ngăn

ằng địa chí gián tiếp, chúng là 128

Để khởi động SP với ngân xếp bất đâu tại địa chí 6Ó, các lệnh sau đầy

được dùng:

MOVSP",#SEH

Với lệnh trên thì ngắn xếp của S9ẤI chỉ có 32 byte vi dia chi cao nhất của

RAM chíp là 7EH, Số dị má trị SEN được nạp vào SP vì SP tăng lên 60H

trước khi cất byte dữ liệu

Khi Reset 895L, SP sẻ mù i trị mặc định là 07H và dữ liệu đầu tiền sẽ

được cất vào ô nhớ n ia chi 08H Nếu phần mềm ứng dụng khóng

khởi động SP một giá trị mới thì bank thanh ghi1 có thể cả 2 và 3 sé không dùng

được vì vùng RAM: này đã được dùng làm ngăn xếp Ngăn xếp được truy xuất

trực tiếp bằng các lệnh PUSH và POP để lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con ( ACALL, LCALL) và các lệnh

trở về (RET, RETD để lưu trữ giá trị của bộ đếm chương trình khi bắt đâu thực

hiện chương trình con và lấy lại khi kết thúc chương trình con

săn Xếp c

¢ Con tré dữ liệu DPTR (Data Pointer) :

Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một thanh

ghi 16 bit 6 dia chỉ 82H (DPL: byte thấp) và 83H (DPH: byte cao) Ba lệnh sau

sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000

MOV DPTR, #1000H MOV @DPTR, A

———

Trang 15

Trang 25

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

“—————————————

Lệnh đầu tiên dùng để nạp 55H vào thanh ghi A Lệnh thứ hai dùng để

nạp địa chỉ của ô nhớ cần lưu giá trị 55H vào con trỏ dữ liệu DPTR Lệnh thứ ba

sẽ di chuyển nội dung thanh ghi A (55H) vào ô nhớ RAM bên ngoài có địa chỉ chứa trong DPTR (1000H )

« Các thanh ghi Port (Port Register) :

Các Port của 8951 bao gồm Port0 ở dia chi 80H, Portl ở địa chỉ 90H, Port2 6 dia chi AOH, va Port3 ở địa chỉ B0H Tất cả các Port nay đều có thể truy

xuất từng bit nên rất thuận tiện trong khẩ năng giao tiếp

e Cac thanh ghi Port (Port Register) :

Các Port của 8951 bạo gồm Pon0 ở dia chi 8OH, Port 1d địa chỉ 20H,

Por2 ở địa chỉ AOIH, và Per3 ở địa chỉ BỌN, Tất cả các Pon này đến có thể

truy xuất từng bỉL nên rãi thuận tiện tong kha nang giao ep Vi du, acu mit motor được nối qua một cuôn diy co Gansister lar den bil 7 cua Port £ ne cd thé

tắt và bật bằng I lệnh đưn

SEP PL? + BẬt motOF CLR PL? ¡ KẤt motOr

Các lệnh trên dùng dâu châm để xác định một bít trong một bytc Trình

hợp địch sẽ thì hành sự chuyển đổi cần thiết vi vay hai lệnh sau đây như nhau :

Khi xem xét giap tiếp đến một thiết bị với một bit trạng thái gọi là BUSY được xét khi thiết bị đang bận và được xóa khi thiết bị đã sẵn sàng Nếu BUSY được nối tới P1.5 , vòng lặp sau đây được dùng để chờ thiết bị trở lại rạng thái sẵn sang :

WAIT: JB P1.5, WAIT

e Cac thanh ghi Timer (Timer Register) :

Vi mạch 8951 có chứa hai bộ định thời / bộ đếm 16 bit được dùng cho việc

định thời được đếm sự kiện Timer0 ở địa chi 8AH (TLO: byte thấp ) và 8CH (THO: byte cao) Timerl ở địa chỉ 8BH (TLI: byte thấp) và 8DH (THI: byte cao) Việc khởi động timer được SET bởi Timer Mode (TMOD) ở địa chỉ 89H và

Trang 16

Trang 26

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

———————————ễỄễễ

thanh ghi điều khiển Timer (TCON) ở địa chỉ 88H Chỉ có TCON được địa chỉ

hóa từng bit

« _ Các thanh ghi Port nối tiếp (Serial Port Register) :

Vi điều khiển 8951 chứa một Port nối tiếp cho việc trao đổi thông tin với

các thiết bị nối tiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC

khác Một thanh ghỉ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả hai dữ liệu truyền và dữ liệu nhập Khi truyền dữ liệu ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Các mode vận khác nhau được lập trình qua thanh ghi điều khiển

Port nối tiếp (SCON) được địa chỉ hóa từng bit ở địa chỉ 98H,

e_ Các thanh ghi ngắt (Interrupt Register):

Vi diéu khiển Ñ9SL có cầu trúc Š nguồn ngất, 2 mức tu tiến Các ngất bị

cấm sau khi bị reset hệ thông và sẽ đước chị

phép ngắt (E) ở địa chỉ ARH Cả hài thành chì ¿

ép bằng việc phí thánh phí cho

dc địa chỉ hóa tưng bít

© Thanh ghi diéu khién ayudn POON (Power Control Register):

Thanh ghi PCON khong có bú định vị No ở địa chỉ 87H chứa nhiều bịt

điều khiển Thanh phí PCON được tôm tắt như sau:

[tp — | $A

7 SMOD Bit gấp đôi tốc độ baud , nếu được set thì tốc đó |

baud tăng gấp đôi trong các mode 1 ,2 và 3 của

port nối tiếp

3 GEI Bit cd đa dụng 1

2 GFO Bit cd da dung 0

it PD Giảm công suat , duoc set dé kich hoat mode gam

công suất , chi thoat khi reset ,

0 IDL Mode chi , set dé kích hoạt mode chờ , chỉ thoát

` | khi cố ngắt hoặc reset hệ thống

re

oer OTS Trang 17

Trang 27

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

———=ễễỄễễễễễễễ—ễễễ

3 Bộ nhớ ngoài ( External Memory ) :

Vi điều khiển 8951 có khả năng mở rộng bộ nhớ lên đến 64K byte bộ nhớ

chương trình và 64k byte bộ nhớ dữ liệu ngoài Do đó có thể dùng thêm RAM và

ROM nếu cần

Khi dùng bộ nhớ ngoài, Port0 không còn chức năng LO nữa Nó được kết

hợp giữa bus địa chỉ (A0-A7) và bus dữ liệu (D0-D7) với tín hiệu ALE để chốt

byte của bus địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port dude cho là byte cao

của bus địa chỉ

Trong nữa đả

của chu kỳ bộ nhớ ,byte thấp của địa chí được cấp trong Port 0 và được chốt bằng xung AL.E Mỏt vì mạch chốt sẽ giữ byIe địa chỉ thấp trong phân còn lại của chủ kỳ bộ nhỏ Trong nữa sau của chủ kỹ bộ nhớ , Port 0

dùng như bus đữ liệu và được đọc hoặc phì tùy theo lệnh

3.1 Truy xuft bé nhé ma ngoai (Accessing External Code Memory: +

Bộ nhớ chướng trình bên ngoặt là bộ nhớ ROM được cho phép của tín hiệu

PSENV Sự kết nối phần cứng của bộ nhĩ F PROM như sau

Trong một chu ky máy tiêu biểu, tín hiệu ALE tích 2 lần Lần thứ nhất cho

phép 74HC373 ống chốt dia chi byte thấp, khi ALE xuống 0 thì byte thấp và byte cao của bộ đếm chương trình đều có nhưng EPROM chưa xuất vì PSEN\ chưa

tích cực, khi tín hiệu lên một trở lại thì Port 0 đã có dữ liệu là Opcode ALE tích

cực lần thứ hai được giải thích tương tự và byte 2 được đọc từ bộ nhớ chương trình Nếu lệnh đang hiện hành là lệnh 1 byte thì CPU chỉ đọc Opcode, còn byte thứ hai

bồ đi

3.2 Truy xuất bộ nhớ đữ liệu ngoài (Accessing External Data Memory) :

Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được đọc hoặc ghi khi được cho phép của tín hiệu RD\ và WR Hai tín hiệu này nằm ở chân P3.7 (RD) và P3.6

(WR) Lệnh MOVX được dùng để truy xuất bộ nhớ dữ liệu ngoài và dùng một

bộ đệm dữ liệu 16 bit (DPTR), R0 hoặc R1 như là một thanh ghi địa chỉ

Trang l8

Trang 28

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

————————————

Các,RAM có thể giao tiếp với 8951 tương tự cách thức như EPROM ngoại trừ chân RD\ của 8951 nối với chân OE\ (Output Enable) của RAM và chân WR\ của 8951 nối với chân WE\ của RAM Sự nối các bus địa chỉ và dữ liệu tương tự

như cách nối của EPROM

Cs\

OE\ D0- D7 IWR\

RAM

‘A0+AI2 8K Bytes

Trang 29

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

Sự giải mã địa chỉ là một yêu câu tất yếu để chọn EPROM, RAM, Sự

giải mã địa chỉ đối với 8951 để chọn các vùng nhớ ngoài như các vi điều khiển

'Nếu các EPROM hoặc RAM 8K được dùng thì các bus địa chí phái được giải mã

để chọn các IC nhớ nằm trong phạm vi giới hạn 8K: 0000HzIFFFH,

2000H+3FFFH,

Một cách cụ thể, IC giải mã 74HC138 được dùng với những ngõ ra của nó được nối với những ngõ vào chọn Chip CS (Chip Select) trên những IC nhớ

EPROM, RAM, Hình trên cho kết nối nhiều EPROM va RAM

3.3 Sự xếp chông các vùng bộ nhớ chương trình và dữ liệu bên ngoài:

Vĩ bộ nhớ chương trình là ROM nên nảy sinh một vấn để bất tiện khi phát

triển phần mềm cho vi điển khiển Mỗi nhước điểm chúng của 8951 lá các vùng,

nhớ dữ liệu ngoài nầm đè lên nhàn, vì tín hiệu PSUNV được dùng để đọc bộ nhớ

mã ngoài và tín hiệu RA được dũng để đọc bộ nhớ dự liệu, nền mốt bọ nhớ

RAM có thể chứa cả chủng bình và dữ hee bang cach noi dudng OF) cua RAM đến ngõ ra một cổng AND có hài ngà vào PSENN và RỦV SƯ đó mạch như

hình sau cho phép cho phép bà nh RAM vò hai chức nàng vừa là bộ nhớ chứ

Vậy một chương trình có thể được tải vào RAM bằng cách xem nó như bộ

nhớ dữ liệu và thi hành chương trình băng cách xem nó như bộ nhớ chương

trình

Hoạt déng Reset:

Vi điểu khiển 8951 có ngõ vào reset (RST) tác động ở mức cao trong

khoảng thời gian 2 chu kỳ xung máy, sau đó xuống mức thấp để 8951 bắt đầu

làm việc RST có thể kích bằng tay bằng một phím nhấn thường hở, sơ đồ mạch

reset nhu sau:

LEE

Trang 20

Trang 30

Reset bing tay

“Trạng thái của tất cá các thanh phì trong SOSL sau Khí reseL hé thông được

Trang 31

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

—————————ễễễ

Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được Reset

tai dia chi OOOOH Khi ngõ vào RST xuống mức thấp, chương trình luôn bắt đầu

tại địa chỉ 0000H của bộ nhớ chương trình Nội dung của RAM trên chip không

bị thay đổi bởi tác động của ngõ vào Reset

IV HOẠT ĐỘNG ĐỊNH THỜI CỦA 8951:

1 Giới thiệu :

Bộ định thời của Timer là một chuỗi các Flip Flop được chia làm 2, nó

nhận tín hiệu vào là một nguồn xung clock, xung clock được đưa vào Flip Flop

thứ nhất là xung clock của Flip Flop thứ hai mà nó cũng chia tin số clock này

cho 2 và cứ tiếp tục

Vì:mỗi tầng kế tiếp chia cho 2, nén Timer ñ tầng phải chía tấn số clock

ngõ vào cho 2" Ngõ ra của tầng cuối cùng là clock của Flip Flop tran Timer hoặc cờ mà nó kiểm tra bởi phần mễm hoặc sình tá ngất, Giá 0 nhì phán trong các FE của bộ Timer có thế được nhì như đếm xung clock hoặc các sự kiến quan trọng béi vi Timer dite khổi dong Vid Timer 16 bit co thể đếm đến tư

FEFFH sang 000011 Hoài dụng của Tuner đơn giản 3 bít được mình hoa nhữ sau:

Trang 32

| Trong hình trên mỗi tầng là một EF loại D phủ định tác động cạnh xuống

được hoạt động ở mode chia cho 2 (ngõ ra Q\ được nối vào D) FF cờ là một bộ

' chốt đơn giẩn loại D được set bởi tầng cuối cùng trong Timer Trong biểu đồ + thời gian, tẳng đầu đổi trạng thái ở 1 tần số clock, tầng thứ hai đổi trạng thái ở

Ỉ tần số 4 tần số clock Số đếm được biết ở dạng thập phân và được kiểm tra

i lai dé dàng bởi việc kiểm tra các tầng của 3 FF Ví dụ số đếm “4” xuất hiện khi

| Q2=1,Q1=0, Q0=0 (4;9=100,),

| Các Timer được ứng dụng thực tế cho các hoạt động định hướng 8951 có

Í_ 2 bộ Timer 16 bit, mỗi Timer có 4 mode hoạt động Các Timcr dùng để đếm giờ,

| đếm các sự kiện cần thiết và sự sinh ra tỏc độ của tốc độ J3aud bởi sự gắn liên

Port nối tiếp

Mỗi sự định thời ld mot Timer 16 bit, do đồ tầng cuối cũng lá táng thứ 16

Trong các ứng dụng định thời, E Punet được lắp Đình để tran ở môi khuẩng

thời gian đều đặn và đức set cờ trần Thiết Cờ được dùng để đồng bố chưới trình để thực hiện màt hoạt đong nhữ việc đưa tới T tảng cí

dữ liệu đếm ngò tà, Cúc ứng dụng Khác có sử dụng việc ghí gig déu

Timer để đo thời gián đã trôi quá hài trật i

đếm một sự kiện được dùng đẻ xác định só lần xuất hiện của sự kién dd, vite thei

ng thai (vi du do độ rộng xung

Ỉ gian trôi qua gìửa các sự kiện

| Các Timer của R95L được truy xuất bởi việc dùng 6 thanh ghi chức náng

+ đặc biệt như suu :

Trang 33

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

2 Các thanh ghi điều khiển Timer:

2.1 Thanh ghi điều khiển chế độ timer TMOD (Timer Mode Register) :

Thanh ghỉ mode gồm hai nhóm 4 bit là: 4 bịt thấp đặt mode hoạt động cho Timer 0 và 4 bit cao đặt mode hoạt động cho Timer 1 8 bit của thanh ghỉ TMOD

được tóm tắt như sau:

7 GATE i Khi GATE = 1, Timer chi lam viéc khi INTI=1

6 cr 1 Bitcho dém su kiện hay phi gis

C/T = Dem sit _kign

CIV = 0- Ghi gies đều đặn _

5 MI \ Ha chon mode cia Timer |

3 GATE 0 Ni vòng của Timer 0

2 Cre 0 Rit chon Counter/Timer cia Timer 0

1 ML 0 Ritchon mode ctta Timer 0

0 Mo 0 | BiLchon mode của Timer 0 |

Hai bit MO va MI cla TMOD dé chon mode cho Timer 0 hodc Timer 1

0 0 0 Mode Timer 13 bit (mode 8048)

0 1 1 Mode Timer 16 bit

1 0 2 Mode tự động nạp 8 bit

Mode Timer tách ra :

1 1 3 Timer 0 : TL0 là Timer 8 bit được điều khiển bởi

các bit của Timer 0 THO tương tự nhưng được

điều khiển bởi các bit của mode Timer I

Timer 1 ; Được ngừng lại

Trang 24

Trang 34

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

TMOD không có bit định vị, nó thường được LOAD một lân bởi phần mềm

ở đầu chương trình để khởi động mode Timer Sau đó sự định giờ có thể dừng

lại, được khởi động lại như thế bởi sự truy xuất các thanh ghi chức năng đặc biệt của Timer khác

2.2 Thanh ghi điều khiển TCON (Timer Control Register) :

Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển bởi

Timer 0 va Timer 1 Thanh ghỉ TCON có bit định vị Hoạt động của từng bit

được tóm tắt như sau :

Stn Cỡ tan Timer | duge set bdi phan cứng Ở

sv trăn, được xóa bởi phân mém boác bới phần cứng khi các vecld xứ lí đến thú tục |

phúc vụ ngắt ISR

TCON.6 TRI SELL Ria dieu kien chay Timer | duge set heae |

xóa bởi phần mềm để chạy hoae ng

vhay Timer

TCON.5 TRO SDH Cờ tràn Timer 0 (hoạt động tương tự TF1)

TCON.4 TRO SCH Bit điều khiển chạy Timer 0 (giống TR1) |

TCON.3 Wl §BH Cờ kiểu ngắt I ngoài Khi cạnh xuống xuất

hiện trên INTI thì IEI được xóa bởi phân

mềm hoặc phần cứng khi CPU định hướng đến thủ tục phục vụ ngắt ngoài

TCON.2 TTI 8AH | Cờ kiểu ngất 1 ngoài được set hoặc xóa

bằng phấn mềm bởi cạnh kích hoạt bởi sự ngắt ngoài

TCON.1 IE0 89H Cờ cạnh ngắt 0 ngoài

TCON TT0 88H | Cờ kiểu ngắt 0 ngoài

—=—=ƑƑ:: _

Trang 25

Trang 35

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

"”————————————ễễễễễễ

2.3 Các nguồn xung nhịp cho Timer (Clock Sources):

Có hai nguồn xung clock có thể đếm giờ là sự định giờ bên trong và sự

đếm sự kiện bên ngoài Bit C/T trong TMOD cho phép chọn 1 trong 2 khi Timer

b= Down (Event Counting)

©— Đếm giờ bên trong (Enterval Piming) :

Néu bit C/T = 0 thi hoat động của Thuer liên tục được chọn vào bộ Timer được ghỉ giờ từ dao động trên Chín, Một bộ chia 12 được thêm vào để giá:

số clock đến 1 giá trị phù hợp với các ứng dụng, Các thanh ghi TLx va THx tang

ở tốc độ 1/13 lần tần số đào dòng trên Chip Néu ding thạch anh 12MHz thi sé

đưa đến tốc độ clock LMH¿

tán

Các sự tràn Timer sinh ra sau một con số cố định của những xung clock,

nó phụ thuộc vào giá trị khởi tạo được LOAĐ, vào các thanh ghi THx và TLx

e _ Đếm các sự kiện bên ngoài (Event Counting) :

Nếu bịt C/T = 1 thì bộ Timer được ghi giờ từ nguồn bên ngoài trong nhiều

ứng dụng, nguồn bên ngoài này cung cấp 1 sự định giờ với 1 xung trên sự xảy ra

của sự kiện Sự định giờ là sự đếm sự kiện Con số sự kiện được xác định trong

phần mềm bởi việc đọc các thanh ghi Timer TLx/THx, bởi vì giá tri 16 bit trong các thanh này tăng lên cho mỗi sự kiện

Nguồn xung clock bên ngoài đưa vào chân P3.4 là ngõ nhập của xung

clock bởi Timer 0 (TO) va P3.5 là ngõ nhập của xung clock bởi Timer 1 (T1)

Trang 26

Trang 36

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

Trong các ứng dụng đếm các thanh ghi Timer được tăng trong đáp ứng của

sự chuyển trạng thái từ 1 sang 0 ở ngõ nhập Tx Ngõ nhập bên ngoài được thử

trong suốt S5P2 của mọi chu kỳ máy: Do đó khi ngõ nhập đưa tới mức cao trong

một chu kỳ và mức thấp trong một chu kỳ kế tiếp thì bộ đếm tăng lên một Giá

trị mới xuất hiện trong các thanh ghi Timer trong suốt S5P1 của chu kỳ theo sau một sự chuyển đổi Bởi vì nó chiếm 2 chu kỳ máy (2us) để nhận ra sự chuyển

đổi từ 1 sang 0, nên tần số bên ngoài lớn nhất là 500KHz nếu dao động thạch

anh 12 MHz

2.4 Quá trình bắt đầu đếm , kết thúc đếm và điều khiển các Timer

(Starting, Stopping and Controlling the Timer) :

Bit TRx trong thanh ghi có bít định vị TCON được điều khiển bởi phần mềm để bắt đầu hoặc kết thúc các Timer Để bắt đầu cae Timer ta set bit TRx

và để kết thúc Timer ta Clear TRx, Ví dụ Timer 0 được bất đầu bởi lénh SHPB

TRO và được kết thúc bởi lệnh CÍR TRÒ (bit Gate= 0) Bí TRx bị xóa sau sử

reset hệ thong, dodo cae Timer bream bằng sự mặc định

Thêm phương phái vita dé dieu ken cae Tuner ti dung bit GATE ue

thanh ghi TMOD va yd nhap bea ngoar INTA, Dieu nay duve dung dé d

độ rộng xung Giả sử xung đưa vào chân TN TỦ tí khới động Timer Ô cho moặc }

là mode Timer 16 bit vai EI 0/EHO = OOOOH, GATE = 1, TRO = I Như váy khi

INTO =1 thi Timer “diate nở công” và ghí giờ với tốc độ của tần số IMHz

INT0 xuống thấp thì Timer "đong công” và khoảng thời gian của xung tính b; 1s là sự đếm được trong thanh ghi TLO/THO

Trang 37

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

2.5 Sự khởi động và truy xuất các thanh ghỉ Timer:

Các Timer được khởi động 1 lần ở đầu chương trình để đặt mode hoạt

động cho chúng Sau đó trong chương trình các Timer được bắt đầu, được xóa,

các thanh ghi Timer được đọc và cập nhật theo yêu câu của từng ứng dụng cụ

Trong lệnh này MI =0, M0 = I để vào mode | va C/T = 0, GA

cho phép shi giờ bên trong đồng thời xóa các bít mode cha Timer 0, Sau lệnh trên Timer vẫn chưa đếm giờ, nó chỉ bắt đầu đêm giờ khi set bít điều khiển chạy TRI của nó

Nếu ta không khởi gân giá tị đầu cho các thành phí TA/PHš th Timef sẽ

bắt đầu đếm từ 00001lền và khí nàn từ ĐEN sáng Q0U00HE nộ sẽ bất đầu trái:

TEx rồi tiếp tục đếm từ 000011 lén tiếp

Nếu ta khởi gan pid ty du cho TLYTHs, thi Timer sé bat dau đếm tư giá

trị khởi gần đó lên nhưng khi trần từ FEEEH sang 0000H lại đếm từ 0000H lén

Chú ý rằng cờ trăn TES ay dong due set bởi phần cứng sau mỗi sự tran vã

sẽ được xóa bởi phần mềm, Chúnh vì vậy ta có thể lập trình chờ sau mỗi lần tran

ta sẽ xóa cờ TEx và quay vòng lặp khởi gán cho TLX/THx để Timer luôn luôn

bất đầu đếm từ giá trị khởi gắn lèn theo ý ta mong muốn

Đặc biệt những sự khởi gần nhỏ hơn 256 ps, ta sé gọi mode Timer ty dong nạp 8 bit của mode 2 Sau khi khởi gán giá trị đầu vào THx, khi set bit TRx thì

Timer sẽ bắt đầu đếm giá trị khởi gán và khi tràn từ FFH sang 00H trong TLx,

cờ TFx tự động được set đồng thời giá trị khởi gán mà ta khởi gán cho Thx được , nạp tự động vào TLx và Timer lại được đếm từ giá trị khởi gán này lên Nói cách khác, sau mỗi tràn ta không cần khởi gán lại cho các thanh ghi Timer mà chúng vẫn đếm được lại từ giá trị ban đầu

3 Các chế độ Timer và cờ tràn (Timer Modes and Overflow):

Vi điều khiển 8951 có 2 Timer là Timer 0 va timer 1 Ta ding ký hiệu TLX

và Thx để chỉ 2 thanh ghi byte thấp và byte cao của Timer 0 hoặc Timer 1

Trang 28

Trang 38

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

Mode 0 1A mode Timer 13 bit, trong 46 byte cao cla Timer (Thx) duge dat

thấp và 5 bit trọng số thấp nhất của byte thấp Timer (TLx) đặt cao để hợp thành

Timer 13 bit 3 bit cao cia TLx khéng ding

3.2 MODE 1 (Mode Timer 16 bit) :

tăng lên 0000H, 000111, 000211, , và mùi sự trần xế xuất hiện khi có sự chủ

trên bộ đếm Timer từ PEELE sang OOOOH và sẽ set cỡ wan Time, sau d6 Tir

đếm tiếp

Cờ tràn là bít TIx trong thành chỉ TCON mà nó sẽ được đọc hoặc ghi bởi

phần mềm

Bit c6 trọng số lớn nhất (MSB) của giá trị trong thanh ghi Timer là bít 7

của THx va bit 6 trọng số thấp nhất (LSB) la bit 0 của TLx Bit LSB đổi trạng

thái ở tần số clock vào được chia 2! = 65.536

Các thanh ghi Timer TLx va Thx 06 thể được đọc hoặc ghi tại bất kỳ thời

điểm nào bởi phần mềm

3.3 MODE 2 (Mode ty dong nap 8 bit) :

Trang 39

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

đếm tràn từ FFH sang 00H, không chỉ cờ tràn được set mà giá trị trong THx

cũng được nạp vào TLx : Bộ đếm được tiếp tục từ giá trị này lên đến sự chuyển

trạng thái từ FFH sang 00H kế tiếp và cứ thế tiếp tục Mode này thì phù hợp bởi

vì các sự tràn xuất hiện cụ thể mà mỗi lúc nghỉ thanh ghi TMOD và THx được

Mode 3 1A mode ‘Timer teh ra và Tà sự khác biệt cho mit Timer

Timer 0 ở mode 3 được chúa là 2 umer § bụi TÔ và THÔ hoạt động như những Timer riêng lẻ với sự tràn sẻ set các bị PUO và TET tương ứng

Timer 1 hị dừng lại ở mode 1, những có thể được khởi động bởi việc

nó vào một trong các mode Khác, Chỉ có nhược điểm là cờ tràn TF1 của Timer í

không bị ảnh hưởng bởi các sự trần của Timer | bdi vi TFI được nối với THƠ

§ bit là Timer thứ ba của 8951 Khi vao

Timer 0 & mode 3, Tìmer có thể hoạt động hoặc tắt bởi sự ngắt nó ra ngoài va vào trong mode của chính nó hoặc có thể được dùng bởi Port nối tiếp như là một

máy phát tốc độ Baud, hoặc nó có thể dùng trong hướng nào đó mà không sứ

dụng Interrupt

Mode 3 cung cấp 1 Timer

V HOẠT ĐỘNG PORT NỔI TIẾP

1 Giới thiệu

Vi điều khiển 8951 có một port nối tiếp trong chip có thể hoạt động ở nhiều chế độ trên một dãy tần số rộng Chức năng chủ yếu là thực hiện 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ập

Port nối tiếp cho hoạt động song công (full duplex: thu và phát đồng thời)

và đệm thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ

————Ễ—Ễ—————-——

Trang 30

Trang 40

Bit | Ky higu | Dia chi

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

trong khi ký tự thứ hai được nhận Nếu CPU đọc ký tự thứ nhất trước khi ký tự

thứ hai được thu đầy đủ thì dữ liệu sẽ không bị mất

Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port

nối tiếp là: SBUF và SCON Bộ đệm port nối tiếp (SBUF) ở dia chỉ 99H nhận dữ

liệu để thu hoặc phát Thanh ghi điều khiển port nối tiếp (SCON) ở dia chi 98H

là thanh ghi có đi chỉ bit chứa các bit trạng thái và các bit điều khiển Các bit

điều khiển đặt chế độ hoạt động cho port nối tiếp, và các bit trạng thái Báo cáo

kết thúc việc phát hoặc thu ký tự Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể lập trình để tạo ngắt

2 Thanh ghi điều khiển port n 2

Chế độ hoạt động của port nối tiếp được đặt bằng cách ghỉ vào thanh ghi

chế độ port nối tiếp (SCON) ở địa chỉ 9§H Sau dây các bắn tóm tắt thanh ghi SCON và các chế độ của port nổi trếp:

SCON.7 SMO OPH | Bí của chế đề pod nói tiếp

SCON.6 SMI 911 [HH beta che dé port mor tiep

SCON.5 SM3 ODE | Hie 2 ola che dO port nor ep Cho phép tuys

| thong xa Ww tong cae ehé dO 2 va 3, RE sé

| by tae dong nêu bít thử 9 thụ được là Ó

SCON.4 | REN OCH | Cho phép bệ thụ phải được đặt lên ] để thu các ký

§CON.3 | TRS 9H81 Tự

, | Hic § phat, bit thir 9 duge phát trong chế độ 2 v2

SCON.2 RBS OAH | được đặt và xóa bằng phần mềm

Cờ ngắt phát Đặt lên 1 khi kết thúc phat ky wy, |

§CON.0 RI 98H | được xóa bằng phần mềm |

Cờ ngắt thu Đặt lên 1 khi kết thúc thu ký tự, được

xóa bằng phần mềm

'Tóm tắt thanh ghi chế độ port nối tiếp

0 0 0 Thanh ghi | Cố định (Fosc/12)

0 1 1 địch Thay đổi ( đặt bằng Timer )

1 0 8 UART 8bit | Cố định (Fosc /12 hoặc Fosc/64 )

1 1 3 UART 9 bit | Thay đổi ( đặt bằng Timer )

Ngày đăng: 19/11/2024, 11:52

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

TÀI LIỆU LIÊN QUAN

w