1. Trang chủ
  2. » Tất cả

Đồ án tốt nghiệp điện tử đồng hồ vạn năng

25 6 0
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 đề Đồ án tốt nghiệp điện tử đồng hồ vạn năng
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Điện Tử
Thể loại Đồ án
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 86,72 KB

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

Nội dung

ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ ĐỒNG HỒ VẠN NĂNG NỘI DUNG ĐỒ ÁN PHẦN A LÝ THUYẾT CHƯƠNG 1 GIỚI THIỆU VI ĐIỀU KHIỂN 8051 I GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MCS 51 MCS 51 là họ IC vi điều khiển do hãng Intel s[.]

Trang 1

ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ ĐỒNG HỒ VẠN

NĂNG

NỘI DUNG ĐỒ ÁN

PHẦN A: LÝ THUYẾT CHƯƠNG 1: GIỚI THIỆU VI ĐIỀU KHIỂN 8051

 

I.  GIỚI THIỆU CẤU TRÚC PHẦN CỨNG HỌ MCS-51:

   - MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất Các IC tiêu biểu cho

họ là 8031, 8051, 8951 Những đặc điểm chính và nguyên tắc hoạt động củacác bộ vi điều khiển này khác nhau không nhiều Khi đã sử dụng thành thạo một loại vi điều khiển thì ta có thể nhanh chóng vận dụng kinh nghiệm để làm quen và làm chủ các ứng dụng của một bộ vi điều khiển khác Vì vậy để

có những hiểu biết cụ thể về các bộ vi điều khiển cũng như để phục vụ cho đềtài tốt nghiệp này ta bắt đầu tìm hiểu một bộ vi điều khiển thông dụng nhất,

đó là họ MCS-51 và nếu như họ MCS-51 là họ điển hình thì 8051 lại chính là đại diện tiêu biểu

          Các đặc điểm của 8051 được tóm tắt như sau :

 4 KB ROM bên trong

 128 Byte RAM nội

 4 Port xuất /nhập I/O 8 bit

 Giao tiếp nối tiếp

 64 KB vùng nhớ mã ngoài

 64 KB vùng nhớ dữ liệu ngoại

Trang 2

 Xử lý Boolean (hoạt động trên bit đơn).

 210 vị trí nhớ có thể định vị bit

 4 ms cho hoạt động nhân hoặc chia

Sơ đồ khối của 8051       CPU: đơn vị xử lý trung tâm

          Timers: các bộ định thời

          Interrup control: điều khiển ngắt

          Serial port: port nối tiếp

          Address, data, and control  buses: các bus địa chỉ, dữ liệu và điều khiển

          RAM: bộ nhớ đọc/ghi (128 byte RAM )

          I/O port: port nhập/xuất

          Ocilator: mạch dao động

Other register: các thanh ghi khác

II.   KHẢO SÁT SƠ ĐỒ TỪNG CHÂN 8051, CHỨC NĂNG TỪNG CHÂN:

     1. Sơ đồ chân 8051:

2. Hình dạng:

3.  Chức năng các chân của 8051:

    - IC 8051/8031 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 1 chân có 2 chức năng), mỗi đường có thể hoạt động như các đường xuất nhập hoặc như đường điều khiểnhoặc là thành phần của các bus dữ liệu và bus địa chỉ

        a.   Các Port:

          - Port 0: là port có  2 chức năng ở các chân 39 – 32 Trong các thiết kế

cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các  đường I/O Đối với các  thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ

và bus dữ liệu đa hợp (Byte thấp của bus địa chỉ nếu là địa chỉ)

          - Port1: chỉ có 1 công dụng là dùng  làm Port xuất nhập I/O để giao

tiếp với các thiết bị bên ngoài trên các chân 1 - 8

Trang 3

          - Port 2: Từ chân 21 - 28 (P2.0, P2.1, , P2.7) dùng vào hai mục đích:

làm Port xuất/nhập I/O 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

          - Port 3: từ chân 10 - 17 (P3.0, P3.1, , P3.7) dùng vào hai mục đích:

dùng là Port xuất / nhập I/O hoặc mỗi chân giữ một chức năng đặc  biệt được tóm tắt sơ bộ như sau :

Bit Tên Địa Chỉ Chức năng chuyển đổi

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

Ngõ xuất dữ liệu nối tiếp

Ngõ vào ngắt 0

Ngõ vào ngắt 1

Ngõ vào củaTIMER/COUNTER thứ 0

Ngõ vào củaTIMER/COUNTER thứ 1

Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

Tín hiệu đọc bộ nhớ dữ liệu ngoài

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

      + Ngõ tín hiệu PSEN (program store enable):

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

chương trình mở rộng thường được nối đến chân OE của Eprom cho phép đọc các byte mã lệnh

   - PSEN ở mức thấp trong thời gian Microcontroller 8051 lấy lệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong để giãi mã lệnh Khi thi hành chương trình trong ROM nội (8051) PSEN sẽ ở mức logic 1

 + Ngõ tín hiệu điều khiển ALE (address latch enable):

   - Khi truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus

dữ liệu do đó phải tách các đường dữ liệu và địa chỉ IC 8051 sử dụng chân 30dùng làm tín hiệu cho phép chốt ALE để giãi đa hợp bus địa chỉ và bus dữ liệukhi kết nối chúng với IC chốt

Trang 4

   - Chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của địa chỉ 16 bit) vào một thanh ghi ngoài trong suốt ½ đầu của chu kỳ bộ nhớ Sau khi  điều này

đã được thực hiện, port 0 sẽ xuất nhập dữ liệu hợp lệ trong suốt ½ thứ hai của chu kỳ nhớ

    - Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và

có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 8051

 + Ngõ tín hiệu AE\ (external access):

   - Chân 31 (EA : Eternal Acess) được đưa xuống thấp cho phép chọn bộ nhớ

mã ngoài đối với 8031

   + Các ngõ vào bộ dao động XTAL1, XTAL2:

     - Các chân 18,19 của 8051 được nối với bộ dao động thạch anh 12 MHz đểtạo dao động trên CHIP Hai tụ 30 pF được thêm vào để ổn định dao động

       + Chân 20 (Vss) nối đất (Vss = 0).

       + Chân 40 (Vcc) được nối lên nguồn 5V.

III.  CẤU TRÚC BÊN TRONG VI ĐIỀU KHIỂN:

Trang 5

               External memory: bộ nhớ ngoài.

     Code memory: bộ nhớ chương trình (mã)

     Data memory: bộ nhớ dữ liệu

     Enable via PSEN: được cho phép bởi PSEN

          Enable via RD & WR: được cho phép bởi RD &WR

  Bản đồ bộ nhớ Data trên Chip như sau:

21 0F 0E 0D 0C 0B 0A 09 08   8B không được địa chỉ hoá bit TL1

20 07 06 05 04 03 02 01 00   8A không được địa chỉ hoá bit TL01F Bank 3   89 không được địa chỉ hoá bit TMOD

18     88 8F 8E 8D 8C 8B 8A 89 88 TCON

17 Bank 2   87 không được địa chỉ hoá bit PCON

0F Bank 1   83 không được địa chỉ hoá bit DPH

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

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 P0                                                                  

           

 Địa chỉ byte

   Địa chỉ bit Địa chỉ byte   Địa chỉ bit

 

Trang 6

  - 8051 có bộ nhớ theo cấu trúc HARVARD: có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bên trong

8051 nhưng 8051 vẫn có thể kết nối với 64KB bộ nhớ chương trình và 64KB

dữ liệu. 

Hai đặc tính cần chú ý là:

     + Các thanh ghi và các port xuất nhập đã được định vị (xác định) 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 như trong các bộ Microcotroller khác

     RAM bên trong 8051 được phân chia như sau:

     - Các bank thanh ghi có địa chỉ từ 00H đến 1FH

     - RAM địa chỉ hoá từng bit có địa chỉ từ 20H đến 2FH

    + Ram có thể truy xuất từng bit:

     - 8051 chứa 210 bit được địa chỉ hoá, trong đó có 128 bit chứa các byte cóchứa các địa chỉ từ 20H đế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. 

Trang 7

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

bộ vi điều khiển Các bit có thể được đặt, xoá, AND, OR,…, bằng một lệnh đơn Đa số các bộ 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

    - 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

    + Các băng thanh ghi (Register Banks)

   - 32 vị trí nhớ cuối cùng của bộ nhớ từ địa chỉ byte 00H¸1FH tức các dãy thanh ghi Tập hợp các lệnh của 8051 cung cấp 8 thanh ghi từ R0¸R7 ở địa chỉ 00H¸07H nếu máy tính mặc nhiên chọn để thực thi Những lệnh tương đương dùng  sự định vị trực tiếp Những giá trị dữ liệu được dùng thường xuyên chắc chắn sẽ sử dụng một trong các thanh ghi này

    +  Các thanh ghi chức năng đặc biệt (Special Function Register)

      - Có 21 thanh ghi chức năng đặc biệt SFR ở đỉnh của RAM nội từ địa chỉ

các thanh ghi chức năng đặc biệt được định rõ, còn phần còn lại không định

rõ.       

     - Mặc dù thanh ghi A có thể truy xuất trực tiếp, nhưng hầu hết các thanh ghi chức năng đặc biệt được truy xuất bằng cách sử  dụng sự định vị địa chỉ trực tiếp Chú ý rằng vài thanh ghi SFR có cả bit định vị và byte định vị Ngườithiết kế sẽ cẩn thận khi truy xuất bit mà không truy xuất byte

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 được tóm tắt như sau:

PSW.4 RS1 D4H Register bank select 1

PSW.3 RS0 D3H Register bank select 0

      00 = bank  0; address

      00H ÷ 07H

      01 = bank   1;address08H ÷ 0FH

      10 = bank  2; address

Trang 8

10H ÷ 17H

      11 = bank  3; address18H ÷ 1Fh

PSW.2 OV D2H Overlow flag

PSW.1 - D1H Resered

PSW.0 P D0H Even parity flag

    + Chức năng từng bit trạng thái chương trình:

   - Cờ carry CY (cary flag): Cờ nhớ có tác dụng kép Thông thường nó được

dùng cho các lệnh toán học là được set bằng 1 nếu phép toán cộng có tràn hoặc phép trừ có mượn và ngược lại C = 0 nếu phép toán cộng không tràn và phép toán trừ không mượn

  - Cờ carry phụ AC (auxiliary carry flag): khi cộng những giá trị BCD, 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 nếu các giá trị được cộng là giá trị BCD, lệnh cộng phải được tiếp theo bởi lệnh DAA (hiệu chỉnh thập phân thanh chứa A)

để đưa các kết quả lớn hơn  9 về giá trị đúng

 - Cờ 0 (flag 0): là một bit cờ đa dụng dùng cho các ứng dụng của người

dùng

  + Những bit chọn thanh ghi truy xuất:

  - RS1 và RS0 dùng để xác định dãy thanh ghi tích cực Chúng được xoá sau khi reset hệ thống và được thay đổi bởi phần mềm khi cần thiết Tuỳ theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn bank tích cực tương ứng là bank 0, bank1, bank2, bank3

 

   - Cờ tràn OV (over flag): 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 Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này để xác định xem kết quả có nằm trong tầmxác định hay không Khi các số không dấu được cộng bit 0V được bỏ qua Các kết quả lớn hơn +127 hoặc nhỏ hơn -127 thì bit 0V = 1

  +  Bit parity (p):  bit chẵn lẻ.

Trang 9

    - Thanh ghi B: ở địa chỉ F0H được dùng cùng với thanh ghi A cho các phép

toán nhân chia Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa mục đích

    - Con trỏ ngăn xếp SP (stack pointer): là một thanh ghi 8 bit ở địa chỉ

81H, nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh ngăn xếp

    - Con trỏ dữ liệu DPTR (data pointer): được dùng để truy xuất bộ nhớ

ngoài, là một thanh ghi 16 bit ở địa chỉ 82H (byte thấp) và 83H (byte cao)

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

  - Các Port 0, Port 1, Port 2, Port 3 có địa chỉ tương ứng 80H, 90H, A0H, B0H Các P0, P1, P2, P3 không còn tác dụng xuất nhập nữa nếu bộ nhớ ngoài được dùng hoặc một vài cá tính đặc biệt của 8051 được dùng (như Interrupt, Port nối tiếp ) Do vậy chỉ còn có P1 có tác dụng xuất nhập I/O

    - Tất cả các Port đều có bit địa chỉ, do đó nó có khả năng giao tiếp với bên ngoài mạnh mẽ

     + Các thanh ghi Timer (Timer Register) :

    - 8051 có 2 bộ : Một bộ Timer 16 bit và một bộ Counter 16 bit, hai bộ này dùng để định giờ lúc nghỉ của chương trình hoặc đếm các sự kiện quan trọng Timer 0 có bit thấp TL0 ở địa chỉ 8AH và có bit cao TH0 ở địa chỉ 8CH Timer 1

có bit thấp ở địa chỉ 8BH và bit cao TH1 ở địa chỉ 8DH Hoạt động định thời được cho phép bởi thanh ghi mode định thời TMOD (Timer Mode Register) Ở địa chỉ 89H và thanh ghi điều khiển định thời TCON (Timer Control Register) ởđịa chỉ 88H Chỉ có TCON có bit định vị

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

   - 8051 chứa một Port nối tiếp trên Chip cho việc truyền thông tin với những thiết bị nối tiếp như là những thiết bị đầu cuối, modem, hoặc để giao tiếp IC khác với những bộ biến đổi A/D, những thanh ghi di chuyển, RAM ) Thanh ghi đệm dữ liệu nối tiếp SBUF ở địa chỉ 99H giữ cả dữ liệu phát lẫn dữ liệu thu.Việc ghi lên SBUF để LOAD dữ liệu cho việc truyền và đọc SBUF để truy xuất

dữ liệu cho việc nhận những mode hoạt động khác nhau được lập trình thông qua thanh ghi điều khiển Port nối tiếp SCON

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

Trang 10

    - 8051 có hai cấu trúc ngắt ưu tiên,  5 bộ nguồn Những Interrupt bị mất tác dụng sau khi hệ thống reset (bị cấm) và sau đó được cho phép bởi việc cho phép ghi lên thanh ghi cho phép ngắt IE (Interrup Enable Register) ở địa chỉ A8H Mức ưu tiên được đặt vào thanh ghi ưu tiên ngắt IP (Interrupt 

Priority Level) tại địa chỉ B8H Cả 2 thanh ghi trên đều có bit địa chỉ

  + Thanh ghi điều khiển nguồn PCON (Power Control Register) :

   - Thanh ghi PCON không có bit định vị Nó ở địa chỉ 87H bao gồm các bit địachỉ tổng hợp Các bit PCON được tóm tắt như sau :

PBit 7 (SMOD) : Bit có tốc độ Baud ở mode 1, 2, 3 ở Port nối tiếp khi set

PBit 6, 5, 4 : Không có địa chỉ

PBit 3 (GF1) : Bit 1 của cờ đa năng

PBit 2 (GF0) : Bit 2 của cờ đa năng

PBit 1 (PD) : Set để khởi động mode Power Down và thoát để reset

PBit 0 (IDL) : Set để khởi động mode Idle và thoát khi ngắt mạch hoặc reset

   - Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các

IC họ  MSC-51 nhưng chỉ được thi hành trong sự biên dịch của CMOS Họ vi điều khiển Mcs – 51 ra đời từ năm 1980 bởi hãng Intel, với sản phẩm đầu tiên

là 8051 Các IC này gọi là vi điều khiển vì chúng bao gồm cả ROM, RAM, timer, các cổng nối tiếp và song song Đây là đặc điểm chính để ta phân biệt giữa vi điều khiển và vi xử lý 8051 không được sử dụng trong máy tính nhưngđược sử dụng rộng rãi trong công nghiệp và trong sản  phẩm máy móc tiêu dùng

  - Cùng họ với 8051 có một số vi điều khiển khác Về cơ bản chúng đều giốngnhau, chúng chỉ khác nhau ở vùng nhớ nội bao gồm vùng nhớ mã lệnh, vùng nhớ dữ liệu và số timer Sự khác nhau đó được mô tả bằng bảng dưới đây:

Vi điều khiển Vùng mã lệnh nội Vùng dữ liệu nội Số timer

222333

Trang 11

Bảng  So sánh các IC của họ Msc-51

2.  Bộ nhớ ngoài (external memory):

  - 8051 có khả năng mở rộng bộ nhớ đến 64 k bytes bộ nhớ chương trình và

64 k bytes bộ nhớ dữ liệu ngoài Do đó có thể dùng thêm Ram và Eprom nếu cần Khi dùng bộ nhớ ngoài, Port 0 không còn chức năng I/O 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ỉ chỉ khi bắt đầu mỗi chu kì bộ nhớ Port 2 được cho là byte cao của bus địa chỉ

 + Truy xuất bộ nhớ mã ngoài :

 - Bộ nhớ chương trình bên ngoài là bộ nhớ Eprom được cho phép bởi tín hiệu PSEN\ Sự kết nối phần cứng của bộ nhớ Eprom như sau :

   - Trong một chu kì máy, tín hiệu ALE tích cực 2 lần Lần đầu cho phép

74HC373 mở cổng chốt địa chỉ 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 1 trở lại thì port 0 đã có dữ liệu là Opcode ALE tích cực lần thứ 2 đượ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ứ 2 bỏ đi

 + Truy xuất bộ nhớ dữ liệu ngoài (accessing external data memory) :

 - Bộ nhớ dữ liệu ngoài là bộ nhớ Ram được đọc hoặc ghi khi có tín hiệu RD\

và WR\ Hai tín hiệu này nằm ở hai chân p3.6 và p3.7 Lệnh MOVX dùng để truy xuất dữ liệu ngoài và dùng một bộ đệm dữ liệu 16 bit (DPTR), R0 và R1 coi như là thanh ghi địa chỉ

 - Các Ram có thể giao tiếp với 8051 tương tự cách thức như Eprom ngoại trừ chân RD\ của 8051 nối với chân OE\  của Ram và chân WR\ của 8051 nối với

chân WE\  của Ram.+   Sự giải mã địa chỉ (address decoding ):

 - Đó là một yêu cầu tất yếu để chọn Eprom, Ram, … Sự giải mã địa chỉ đối với 8051để chọn các vùng nhớ ngoài Nếu các con 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: 0000H – 1FFFH; 2000H – 3FFFH; … Cụ thể là Ic 74LS138

Trang 12

được dùng với những ngõ ra của nó nối với những ngõ vào chọn chip CS trên những IC nhớ Eprom, Ram, …

+ Sự đè lên nhau của các vùng nhớ dữ liệu ngoài :

 - Vì bộ nhớ chương trình là Eprom 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ều khiển Một nhược điểm chung  của 8051 là các vùng nhớ dữ liệu ngoài nằm đè lên nhau, vì tín hiệu PSEN\  được dùng để đọc

bộ nhớ mã ngoài và tín hiệu RD\ được dùng để đọc bộ nhớ dữ liệu , nên một

bộ nhớ Ram có thể chứa cả chương trình và dữ liệu bằng cách nối đường OE\ của Ram nên ngõ ra một cổng And có hai ngõ vào là RD\ và PSEN\

  -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 động Reset :

 - Ngõ vào RST là ngõ vào xóa chính (master reset) của 8051 dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống Khi ngõ vào này được treo ở logic 1 tối thiểu 02 chu kì máy , các thanh ghi bên trong của 8051 được nạp các giá trị thích hợp cho việc khởi động lại hệ thống

 Trạng thái của tất cả các thanh ghi trong 8051 sau khi reseet hệ thống được tóm tắt như sau:

Thanh ghi Nội dung

00H00H0XXXXXXXB

0XXX0000B

Ngày đăng: 27/03/2023, 23:01

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

TÀI LIỆU LIÊN QUAN

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

w