Thông báo

Tất cả đồ án đều đã qua kiểm duyệt kỹ của chính Thầy/ Cô chuyên ngành kỹ thuật để xứng đáng là một trong những website đồ án thuộc khối ngành kỹ thuật uy tín & chất lượng.

Đảm bảo hoàn tiền 100% và huỷ đồ án khỏi hệ thống với những đồ án kém chất lượng.

ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử ĐỒNG HỒ VẠN NĂNG

mã tài liệu 301000300016
nguồn huongdandoan.com
đánh giá 5.0
mô tả 100 MB Bao gồm tất cả file asm, hex, lst....,.lưu đồ giải thuật.. CDR thuyết minh, bản vẽ nguyên lý, bản vẽ thiết kế, FILE lập trình, và nhiều tài liệu liên quan kèm theo đồ án này
giá 989,000 VNĐ
download đồ án

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ủa cá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.
  • 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ển hoặ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.

          - 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

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RXT

TXD

INT0\

INT1\

T0

T1

WR\

RD\

B0H

B1H

B2H

B3H

B4H

B5H

B6H

B7H

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 30 dù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ệu khi kết nối chúng với IC chốt.

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

          Đối với 8051 thì :

              EA = 5V : Chọn ROM nội.

              EA = 0V : Chọn ROM ngoại

   EA = 21V : Lập trình EPROM nội.

    + Ngõ tín hiệu RST (reset):

      - Ngõ vào RST ở chân 9 là ngõ reset của 8051. Khi ngõ vào tín hiệu này đưa lên cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi đông hệ thống. Khi cấp điện mạch tự động reset.

   + 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.

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

    1.  Tổ chức bộ nhớ: (Bảng tóm tắt các vùng nhớ 8051) 

 

      00

      On – Chip                                                             

       Memory

                                                                                                         External

     On chip memory: bộ nhớ trên chip.

               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:

               
 

Địa chỉ byte

 

 

Địa chỉ bit

 

Địa chỉ byte

 

 

Địa chỉ bit

 

 

7F

 

 

FF

 

 

 

 

 

F0

F7

F6

F5

F4

F3

F2

F1

F0

B

 

RAM đa dụng

 

 

 

 

 

 

 

E0

E7

E6

E5

E4

E3

E2

E1

E0

ACC

 

 

 

 

 

 

 

 

 

D0

D7

D6

D5

D4

D3

D2

D1

D0

PSW

 

 

 

 

 

 

30

 

 

B8

-

-

-

BC

BB

BA

B9

B8

IP

2F

7F

7E

7D

7C

7B

7A

79

78

 

 

 

 

 

 

 

 

 

 

 

2E

77

76

75

74

73

72

71

70

 

B0

B7

B6

B5

B4

B3

B2

B1

B0

P.3

2D

6F

6E

6D

6C

6B

6A

69

68

 

 

 

 

 

 

 

 

 

 

 

2C

67

66

65

64

63

62

61

60

 

A8

AF

 

 

AC

AB

AA

A9

A8

IE

2B

5F

5E

5D

5C

5B

5A

59

58

 

 

 

 

 

 

 

 

 

 

 

2A

57

56

55

54

53

52

51

50

 

A0

A7

A6

A5

A4

A3

A2

A1

A0

P2

29

4F

4E

4D

4C

4B

4A

49

48

 

 

 

 

 

 

 

 

 

 

 

28

47

46

45

44

43

42

41

40

 

99

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

SBUF

27

3F

3E

3D

3C

3B

3A

39

38

 

98

9F

9E

9D

9C

9B

9A

99

98

SCON

26

37

36

35

34

33

32

31

30

 

 

 

 

25

2F

2E

2D

2C

2B

2A

29

28

 

90

97

96

95

94

93

92

91

90

P1

24

27

26

25

24

23

22

21

20

 

 

 

 

23

1F

1E

1D

1C

1B

1A

19

18

 

8D

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

TH1

 

 

 

 

 

 

 

 

 

 

 

 

 

22

17

16

15

14

13

12

11

10

 

8C

 

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

TH0

 

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

TL0

1F

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

10

 

 

 

 

 

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

                                                                                                                 

                                 

      RAM                                                 CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT

  - Bộ nhớ trong 8051 bao gồm ROM và RAM. RAM trong 8051 bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hoá từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt.

  - 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 đa dụngtừ 30H đến 7FH.

     - Các thanh ghi chức năng đặc biệt từ 80H đến FFH.

 Ram đa dụng:

   -  Mặc dù trên hình vẽ cho thấy 80 byte đa dụng chiếm các dịa chỉ từ 30H đến 7FH, 32 byte dưới từ 00H đến 1FH cũng có thể dùng với mục đích tương tự (mặc dù các địa chỉ này đã có mục đích khác).

  - Mọi địa chỉ trong vùng Ram đa dụng đều có thể truy xuất tự do dùng kiểu địa chỉ trực tiếp hoặc gián tiếp qua các thanh ghi R0, R1.

    + 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. 

    - Ý 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ười thiế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:

 

Bit

SYMBOL

ADDRESS

DESCRIPTION

PSW.7

CY

D7H

Cary flag

PSW.6

AC

D6H

Auxiliary cary flag

PSW.5

F0

D5H

Flag 0

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;address

08H ÷ 0FH

 

 

 

10 = bank  2; address

10H ÷ 17H

 

 

 

11 = bank  3; address

18H ÷ 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.

RS1

RS0

BANK

0

0

0

0

1

1

1

0

2

1

1

3

 

   - 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ầm xá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ẻ.

    - 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) :

    - 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 địa chỉ 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ống nhau, 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

8051

8031

8751

8052

8032

8732

4K ROM

0K

4K EPROM

8K ROM

0K

4K EPROM

128 bytes

128 bytes

128 bytes

256 bytes

256 bytes

256 bytes

 

2

2

2

3

3

3

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 đượ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

Đếm chương trình PC

Thanh ghi tích luỹ A

Thanh ghi B

Thanh ghi trạng thái PSW

SP

DPTR

P0rt 0 đến port 3

IP

IE

Các thanh ghi định thời

SCON SBUF

PCON (MHOS)

PCON (CMOS)

0000H

00H

00H

00H

00H

07H

0000H

FFH

XXX00000B

0X0X0000B

00H

00H

00H

0XXXXXXXB

0XXX0000B

  • Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được reset tai địa chỉ 0000H. 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 cua RAM trên chip không bị thay đổi bởi tác động của ngõ vào reset.

IV. HOẠT ĐỘNG TIMER CỦA 8051:

     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 tần 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 n tầng phải chia tầng số clock ngõ vào cho 2n. Ngõ ra của tầng cuối cùng là clock của flip flop tràn timer hoặc cờ mà nó kiểm tra bởi phần mềm hoặc sinh ra ngắt. Giá trị nhị phân trong các flip flop của bộ timer có thể  được nghĩ như đếm xung clock hoặc các sự kiện quan trọng bởi vì timer được khởi động. Ví dụ timer 16 bit có thể đếm từ FFFFH sang 0000H .

  - Các timer được ứng dụng thực tế cho các hoạt động định hướng .8051 có 2 bộ timer 16 bit, mỗi timer có 4 mode hoạt động. Các timer dùng để đếm giờ, đếm các sự kiện cần thiết và sự sinh ra tốc độ của tốc độ baud bởi sự gắn liền port nối tiếp.

 - Mỗi sự định thời là một bộ timer 16 bit, do đó tầng cuối cùng là tầng thứ 16 sẽ chia tần số clock vào cho 216  = 65,537.

 - Trong các ứng dụng định thời, 1 timer được lập trình để tràn ở một khoảng thời gian đều đặn và được set cờ tràn timer. Cờ được dùng để đồng bộ chương trình để thực hiện một hoạt động như việc đưa tới 1 tầng các ngõ vào hoặc gởi dữ liệu đến ngõ ra. Các ứng dụng khác có sử dụng việc ghi giờ đều đều của timer để đo thời gian đã trôi qua hai trạng thái. Việc đếm một sự kiện được dùng để xác định số lần xuất hiện của sự kiện đó tức thời gian trôi qua giửa các sự kiện.

Các timer của 8051 được truy xuất bởi việc dùng 6 thanh ghi chức năng đặc biệt như sau:

Timer SFR

Purpose

Address

Bit addressable

TCON

Control

88H

YES

TMOD

Mode

89H

NO

TL0

Timer 0 low byte

8AH

NO

TL1

Timer 1 low byte

8BH

NO

TH0

Timer 0 high byte

8CH

NO

TH1

Timer 1 high byte

8DH

NO

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 ghi mode gồm hai nhóm 4 bit là: 4 bit 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 ghi TMOD được tóm tắt như sau:

BIT

NAME

TIMER

DESERIPTION

7

GATE

1

Khi gate = 1, timer chỉ làm việc khi INT1 =1

6

C/T

1

Bit cho đếm sự kiện hay ghi giờ

C/T =1; đếm sự kiện

C/T =0;ghi giờ đều đặng

5

M1

1

Bit chọn mode của timer 1

4

M0

1

Bit chọn mode của timer 1

3

GATE

0

Bit cổng của timer 0

2

C/T

0

Bit chọn counter/timer của timer 0

1

M1

0

Bit chọn mode của timer 0

0

M0

0

Bit chọn mode của timer 0

Hai bit M0 và M1 của TMOD để chọn mode cho timer 0 hoặc timer1

M1

M0

MODE

DESCRIPTION

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.

1

1

3

Timer 1: được ngừng lại.

Timer 0: TL0 là timer 8 bit được điều khiển bởi các bit của timer 0. TH0 tương tự nhưng được điều khiển bởicác bit của mode timer 1.

 

- 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 timer TCON:

  - 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 và timer 1. Thanh ghi TCON có bit định vị. Hoạt động của từng bit được tóm tắt như sau:

Bit

Symbol

Bit

Address

Deseription

TCON.7

TF1

8FH

Cờ tràn timer1 được set bởi phần cứng ở sự tràn, được xoá bởi phần mềm hoặc bởi phần cứng khi các vectơ xử lý đến các thủ tục phục vụ cho ngắt ISR.

TCON.6

TR1

8EH

Bit điều khiển chạy timer 1 được set hoặc được xoá bởi phần mềm để chạy hoặc ngưng chạy timer.

TCON.5

TF0

8DH

Cờ tràn timer 0 (hoạt động tương tự TF1)

TCON.4

TR0

8CH

Bit điều khiển chạy timer 0 (giống TR1)

TCON.3

IE1

8BH

Cờ kiểu ngắt 1 ngoài. Khi cạnh xuống xuất hiện trên INT1thì IE1 được xoá bởi phần mềm hoặc phần cứng khi CPU dịnh hướng đến thủ tục phục vụ ngắt ngoài.

TCON.2

IT1

8AH

Cờ kiểu ngắt 1 ngoài được set hoặc xoá 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.0

IT0

88H

Cờ kiểu ngắt 0 ngoài.

 

2.3. Các nguồn xung nhịp cho timer:

  - 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 được khởi động.

+ Sự đếm giờ bên trong:

    - Nếu bit C/T =0 thì hoạt động của timer liên tục được chọn vào bộ timer được ghi giờ từ dao động trên chip. Một bộ chia 12 được thêm vào để giảm tần số clock đến một  giá trị phù hợp với các ứng dụng. Các thanh ghi TLx và THx tăng ở tốc độ 1/12 lần tần số dao động trên Chip. Nếu dùng thạch anh 12MHz thì sẽ đi đến tốc độ clock 1MHx.

    - Các sự tràn Timer sinh ra sau một con số cố định của nhữmg xung clock, nó phụ thuộc vào giá trị khởi tạo được LOAD vào các thanh ghi THx và TLx, sự đếm các sự kiện (Event Counting):

 - Nếu bit 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 một sự định giờ với một xung trên sự xảy ra của sự kiện. Sự định giờ là sự đếm 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 (T0) và P3.5 là ngõ nhập của xung clock bởi Timer 1 (T1).

  - 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ột chu kỳ máy: do đó khi ngõ nhập đưa tới mức cao trong 1 chu kỳ và tới mức thấp trong 1 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 1 sự chuyển đổi. Bởi vì nó chiếm 2 chu kỳ máy (2ms) để 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à 500 Khz nếu dao động thạch anh 12 Mhz.

 2.4.  Sự bắt đầu, kết thúc và sự điều khiển các timer:

    - Bit TRx trong thanh ghi có bit đị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 các timer ta set bit TRx và để kết thúc timer ta Clear TRx.

   - Thêm phương pháp nữa để điều khiển timer là dùng bit GATE trong thanh ghi TMOD và ngõ nhập bên ngoài INTx. Điều này được dùng để đo độ rộng xung. Giả sử xung đưa vào chân INT0 ta khởi động timer 0 cho mode 1 là mode 16 bit voi TL0/TH0 = 0000H, GATE = 1, TR = 1. Như vậy khi INT0 = 1 thì timer “được mở cổng” và ghi giờ với tốc độ của tần số 1MHz. Khi INT0 xuống thấp thì timer “đóng cổng” và khoảng thời gian của xung tính bằng ms là sự đếm được trong thanh ghi TL0/TH0.

...............................................................

+Đặc điểm

  • Dòng ngõ ra trên 1A
  • Điện áp ngõ ra 5v
  • Có sự bảo vể khi quá tải
  • Có sự bảo vệ khi ngắn mạch
  • Nếu bộ thu nhận được sự nung nóng thỏa đáng tại nơi cung cấp dự phòng thì nó có thể phát với dòng ngõ ra trên 1A. Tất cả đầu ra được thiết kế như bộ điều chỉnh sự cố định của điện áp.

Công suất tối đa tuyệt đối:

Thông số

Ký hiệu

Giátrị

Đơn vị

Điện áp vào( với V0=5-8V

V0=24V)

VI

VI

35

40

V

V

Vỏ tiếp giáp điện trở nhiệt

 

5

0C/W

Khe tiếp giáp điện trở nhiệt

 

65

0C/W

Tầm họat động nhiệt độ

TOPR

0 ~+125

0C

Tầm lưu trữ nhiệt độ

TSTG

65 ~+150

0C

 

 

 

 

+Đặc trưng về điện (MC7805/LM7805):

Thông số

Ký hiệu

Điều kiện

MC7805/LM7805

Đơn vị

Nhỏ nhất

Điển hình

Lớn nhất

Điện áp ra

V0

5mA--I0-1A, P0-15W

VI = 7V-20V

4,75

5

5,25

V

Vạch điều chỉnh

Regline

TJ = +1250 C

V0 = 7V-25V

-

4

100

mV

VI = 8V-12V

-

1,6

50

Tải điều chỉnh

Regload

TJ = +1250 C

I0 = 5mA--5A

-

9

100

mV

I0=250mA-750A

-

4

50

Dòng không có tín hiệu vào

IQ

TJ = +250C

-

5

8

mA

Dòng không có tín hiệu vào thay đổi

- IQ

I0 = 5mA-1A

-

0,03

0,5

mA

VI = 7V-25V

-

0,3

1,3

Sự trễ điện áp ra

-V0/-T

I0 = 5mA

-

-0,8

-

mV/0C

Sự nhiễu điện áp ra

VN

f = 120Hz-100KHz

T-= +25 0C

-

42

-

-

Lọai trừ sự gợn sóng

RR

f= 120Hz

V0 = 8-18V

62

73

-

dB

Điện áp đồng bộ

VDrop

I0 = 1A, TJ = +250C

-

2

-

V

Trở kháng ngõ ra dòng ngắn mạch

r0

ISC

f = 1KHz

VI = 35V, TA = +250C

-

-

15

230

-

-

m-

mA

Dòng đỉnh

IPR

TJ = +250C

-

22

-

A

PHẦN B: THI CÔNG

  CHƯƠNG 1: THIẾT KẾ PHẦN CỨNG

 I. NHIỆM VỤ THIẾT KẾ:

  - Nhiệm vụ cần thực hiện là thiết kế mạch đồng hồ vạn năng. Nhiệm vụ đặt ra là:

  - Thiết kế mạch hiển thị giờ, phút, giây, ngày, tháng, năm bằng led 7 đoạn.

  - Hiển thị và đo nhiệt độ bằng led 7 đoạn.

  - Phát ra tiếng bip sau mỗi giờ.

II. SƠ ĐỒ KHỐI:

III. NHIỆM VỤ TỪNG KHỐI:

- Khối xử lý 8051: là phần tử chính xử lý các thông tin nhập vào và đưa ra các quyết định điều khiển.

- Khối hiển thị: gồm 15 led 7 đoạn dùng để hiển thị số và chữ số ( để chỉ dẫn phần sử dụng). Khối này sẽ nhận lệnh từ khối xử lý 8051 đưa tới và chỉ có nhiệm vụ là lấy dữ liệu đó để hiển thị ra thành số hay chữ số cho người sử dụng dễ quan sát. Như hiển thị nhiệt độ môi truờng, hiển thị giờ, phút, giây, ngày, tháng, năm.

- Khối biến đổi ADC: là ADC0804 được kết nối với khối xử lý 8051 và cảm biến LM35 có nhiệm vụ là biến đổi điện áp tương tự sang số.

- Khối cảm biến: dùng LM35 dùng để khuếch đại tín hiệu và đo lường nhiệt độ môi trường xung quanh.

- Khối điều chỉnh: gồm 4 phím là phím Up, Down, Mode, Enter

     +Phím Up, Down: dùng để tăng, giảm giá trị hiển thị của led 7 đoạn.

     +Phím Mode: là phím thay đổi màn hình, khi phím này được tác động thì chế độ chỉnh giờ, phút, giây chuyển sang chế độ chỉnh ngày, tháng, năm

   +Phím Enter: là phím dùng để nhập dữ liệu vào khi phím Enter được tác động thì chế độ chỉnh giờ, phút, giây bắt đầu sau đó là chỉnh ngày, tháng, năm  và sau lần nhấn Enter tiếp theo thì màn hình led sẽ quay lại chế độ hiển thị như ban đầu sau khi đã chỉnh đúng yêu cầu (với màn hình led đã thay đổi).

- Khối chuông báo: dùng để phát ra tiếng bit sau mỗi giờ khối này cho chúng ta biết giờ hiện hành là bao nhiêu. VD: 1 giờ thì phát ra 1 tiếng .v..v.

- Khối nguồn: Khối nguồn là bộ phận không thể thiếu của bất kỳ thiết bị điện tử nào.

- Tùy theo các lọai thiết bị mà yêu cầu đối với các nguồn nuôi có khác  nhau. Tuy vậy, bất cứ nguồn nuôi nào cũng phải đảm bảo các yêu cầu tối thiểu về mặt chất lượng điện áp một chiều tại lối ra: giá trị và độ ổn định, độ gợn sóng, dòng điện tải…. Đặt biệt là các mạch IC và các chất bán dẫn khác được sử dụng trong các khối chức năng khác nhau ở một số loại thiết bị, cần những điện áp một chiều thích hợp để chúng hoạt động. Vì vậy, nguồn nuôi cần phải có: mạch chỉnh lưu, mạch lọc và mạch ổn áp một chiều như hình vẽ. Ngoài ra còn có thể có biến áp nguồn, mạch bảo vệ

+ Nhiệm vụ các khối của mạch nguồn:

- Biến áp: có nhiệm vụ tăng hay giảm điện áp xoay chiều ở ngõ vào để có điện áp một chiều thích hợp ở ngõ ra.

- Mạch chỉnh lưu: gồm một hay nhiều diode, dùng để biến đổi điện áp xoay chiều ở ngõ vào thành điện áp một chiều ở ngõ ra.

- Mạch lọc: là các mạch R, L, C dùng để làm phẳng điện áp một chiều ở ngõ ra mạch chỉnh lưu.

 -Mạch ổn áp: dùng để ổn định điện áp một chiều ở lối ra khi có tác nhân bên ngoài thay đổi.

IV. SƠ ĐỒ  VÀ HOẠT ĐỘNG:

   1. Sơ đồ mạch nguồn:

2. Sơ đồ nguyên lý:

3. Hoạt động:

- Màn hình hiển thị gồm 15 led 7 đoạn được lập trình bằng phương pháp quét từ led thứ nhất đến led 15 để hiển thị giờ, phút, giây, ngày, tháng, năm đo và hiển thị nhiệt độ theo yêu cầu người sử dụng. Khi có tín hiệu điều khiển từ vi xử lý 8051 gởi qua p2.0-p2.3 , IC gải mã 74LS154 sẽ giải mã 4 đường thành 16 đường địa chỉ ở ngõ ra của để chọn led hiển thị thông qua chân B của Transistor đệm A1015 ghép nối với 2 điện trở 1K và 10K (điện trở 1K dùng để hạn dòng và điện trở 10K dùng để chống nhiễu). Dữ liệu được gởi qua led thông qua  IC giải mã 74LS47( với 4 ngõ vào D0-D3 của 74LS47 được kết nối với p2.4-p2.7 của 8051 và sau đó 74LS47 sẽ giải mã để xuất dữ liệu ra led 7 đoạn và hiển thị  những con số từ 0 - 9 theo như đã lập trình trước đó). Ds12887 đuợc kết nối với port0 của 8051 (từ chân AD0-AD7) và chân R/W, IRQ\ được kết nối với các chân từ p3.6-p3.7 và được truy xuất giống như RAM ngoài sau đó chế độ RTC được thiết lập để cho hiển thị đồng hồ và lịch với thời gian thực một cách chính xác với sai số (1 phút/tháng). Thông tin đồng hồ và lịch có được bằng cách đọc những ô nhớ thích hợp và những thông tin này có thể được khởi tạo bằng cách ghi lên các byte nhớ thích hợp. Ds12887 thực hiện một chu kỳ cập nhật mỗi giây một lần bất kể bit Set trên thanh ghi B. Khi bit set=1, các byte đồng hồ, lịch, báo động sẽ không được cập nhật. Sau khi đã hiển thị giờ thì RTC phát tín hiệu cho ADC bắt đầu biến đổi với ADC0804 được kết nối với port1 của 8051 và phải đợi 100Ms để ADC biến đổi xong. Bộ ADC biến đổi tín hiệu tương tự sang số sau thời gian biến đổi thì ADC báo cho vi xử lý biết là thời gian đã biến đổi xong thông qua chân Start (WR\) nối với p3.5 của 8051 trong thời gian biến đổi cảm biến LM35 cảm nhận nhiệt độ môi trường xung quanh và chuyển tín hiệu sang ADC  biến đổi tín hiệu này sang số và kết nối với vi xử lý cho chúng ta biết được giá trị nhiệt độ hiện hành là bao nhiêu.

- Thạch anh 11.059Mhz tạo ra xung dao động tốc độ baud 2400 ở chân 18, 19 của 89C51 xung này kích thích dữ liệu trong EPROM xuất  ra chương trình đã lập trình trước .Với thời gian là 120s, có tần số quét rất cao cho 15 led nên dữ liệu hiện ra trên led không bị nhấp nháy, trong quá trình hoạt động của mạch ta có thể hiệu chỉnh giờ bằng hai nút nhấn là: Up và Down và có thể phát ra tiếng bip sau mỗi giờ thông qua loa âm thanh. Bộ vi xử lý có nhiệm vụ thực hiện chương trình và xuất ra những lệnh trên cơ sở trình tự những lệnh chấp hành trước đó và được khuếch đại lên khi chuyển qua mạch hiển thị trên led 7 đoạn.

CHƯƠNG 2: PHÂN TÍCH - THIẾT KẾ

 

I. TÍNH TẦN SỐ QUÉT LED:

 -Gọi n là số led cần hiển thị

 -Gọi Í : thời gian phát sáng của mỗi led (s)

 - Gọi T là chu kỳ hiển thị của led thì T= n. Í(s)

 - Gọi f là tần số quét: f= 1/T=1/ n. Í(Hz) ( với Í = ÍN : chu kỳ ngắt của mỗi led (s)

     => f= 1/T = 1/n. ÍN

  - Chọn thời gian quét cho các led trong thời gian 1s một led sáng lên ít nhất là 24 lần.  Trong mạch có 15 led cần quét. Vậy 1 led phải quet 15*24 = 360 lần và thời gian để  một led sáng là 1/360 = 2700uS.

II. TÍNH GIÁ TRỊ ĐIỆN TRỞ HẠN DÒNG NỐI VỚI CỰC B CỦA A1015:

- Để cho 1 thanh led đủ sáng thì dòng điện qua nó là 10mA. Do đó để cả led 7 đoạn sáng thì dòng cung cấp là: I = 7*10 = 70m A. Đây là dòng IB của BJT. Vậy chọn BJT loại A1015 với hệ số khuếch đại  là 60 – 250 và ICS (dòng I bão hòa của BJT) là 150mA. Ở đây ta chọn  = 60 ta có:

   =>    IB = IC /  = 70/60 = 1.1mA

      Điện trở phân cực RB-1 là:   RB-1 = Vcc – VBE /IB = (5-0.7)/1.1 = 3.9K

       Chọn RB-1 = 1K nhỏ hơn giá trị tính toán để BJT nhanh bão hoà

 III. TÍNH GIÁ TRỊ ĐIỆN TRỞ HẠN DÒNG NỐI VỚI 74LS47:

  • Khi BJT dẫn bảo hòa điện áp Vcesat=0.2v và điện áp rơi trên led lúc đó là 2V do đó:

VRD-1 = VCC - VCE SAT – VLED = 5 – 0,2 – 2 = 2,8 V

Vậy RD-1 = VRD-1 /I­C .60/7 =  = 251W

Chọn RD-1  = 270W. Chọn RD-1   lớn hơn tính toán để BJT nhanh bão hoà.

  1. TÍNH GIÁ TRỊ ĐIỆN TRỞ NỐI VỚI  C1815:
  • Do C1815 có dòng cung cấp là IB = 1mA (theo thông số nhà sản xuất). Ap giữa hai đầu điện trở là: 5-0.7 = 4.3v nên Rloa= = 4.3/1 = 4.3k => chọn Rloa = 4.7K.
  • ..............................
  •  

ENTER_HOUR. . . . . .  C ADDR   017AH   A  

ENTER_MIN . . . . . .  C ADDR   01BCH   A  

ENTER_MONTH . . . . .  C ADDR   024AH   A  

ENTER_YEAR. . . . . .  C ADDR   0287H   A  

EXIT_NHIETDO. . . . .  C ADDR   0091H   A  

EXIT_RING . . . . . .  C ADDR   0416H   A  

FLAG0 . . . . . . . .  B ADDR   0020H.0 A  

HOUR. . . . . . . . .  N NUMB   0008H   A  

HOUR_DOWN_OK. . . . .  C ADDR   0179H   A  

HOUR_UP_OK. . . . . .  C ADDR   0163H   A  

HTHI_CALENDAR_VUA_SET  C ADDR   01E1H   A  

HTHI_DAYOFMONTH . . .  C ADDR   02F8H   A  

HTHI_GIAITRI_VUA_SET.  C ADDR   0150H   A  

HTHI_HOUR . . . . . .  C ADDR   035BH   A  

HTHI_MIN. . . . . . .  C ADDR   037CH   A  

HTHI_MONTH. . . . . .  C ADDR   0319H   A  

HTHI_NHIETDO. . . . .  C ADDR   007DH   A  

HTHI_RTC. . . . . . .  C ADDR   02D9H   A  

HTHI_SEC. . . . . . .  C ADDR   039DH   A  

HTHI_YEAR . . . . . .  C ADDR   033AH   A  

IE. . . . . . . . . .  D ADDR   00A8H   A  

INIT_RTC. . . . . . .  C ADDR   0291H   A  

ISR_T0. . . . . . . .  C ADDR   0417H   A  

LAP_HT1 . . . . . . .  C ADDR   0152H   A  

LAP_HTHI_2. . . . . .  C ADDR   01E3H   A  

LOA . . . . . . . . .  B ADDR   00B0H.4 A  

LOOPD1. . . . . . . .  C ADDR   0445H   A  

 LOOPD2. . . . . . . .  C ADDR   044EH  A  

LOOPD3. . . . . . . .  C ADDR   0456H   A   

LOOPD4. . . . . . . .  C ADDR   045EH   A  

LOOPD5. . . . . . . .  C ADDR   0466H   A  

LOOP_SET1 . . . . . .  C ADDR   00D1H   A  

LOOP_SET2 . . . . . .  C ADDR   010BH   A  

MAIN. . . . . . . . .  C ADDR   0030H   A  

MIN . . . . . . . . .  N NUMB   0009H   A  

MIN_DOWN_OK . . . . .  C ADDR   01BBH   A  

MIN_UP_OK . . . . . .  C ADDR   01A5H   A  

MODE. . . . . . . . .  B ADDR   00B0H.3 A  

MONTH . . . . . . . .  N NUMB   000DH   A  

MONTH_DOWN_OK . . . .  C ADDR   0249H   A  

MONTH_UP_OK . . . . .  C ADDR   0236H   A  

NHIETDO . . . . . . .  N NUMB   0015H   A  

P1. . . . . . . . . .  D ADDR   0090H   A  

P2. . . . . . . . . .  D ADDR   00A0H   A  

P3. . . . . . . . . .  D ADDR   00B0H   A  

QUAY_LAI_MAIN_1 . . .  C ADDR   00F3H   A  

QUAY_LAI_MAIN_2 . . .  C ADDR   0131H   A  

READ_NHIETDO. . . . .  C ADDR   007AH   A  

READ_RTC. . . . . . .  C ADDR   02A1H   A  

RING. . . . . . . . .  C ADDR   040CH   A  

SEC . . . . . . . . .  N NUMB   000AH   A  

SET_CALENDAR. . . . .  C ADDR   00F9H   A  

SET_CLOCK . . . . . .  C ADDR   00C2H   A  

SP. . . . . . . . . .  D ADDR   0081H   A  

START . . . . . . . .  B ADDR   00B0H.5 A  

START_NHIETDO . . . .  C ADDR   006FH   A  

TEST_CHUONG . . . . .  C ADDR   0404H   A  

TH0 . . . . . . . . .  D ADDR   008CH   A  

THOAT_1 . . . . . . .  C ADDR   0430H   A  

THOAT_2 . . . . . . .  C ADDR   042EH   A  

TL0 . . . . . . . . .  D ADDR   008AH   A  

TMOD. . . . . . . . .  D ADDR   0089H   A  

TMP_CHUONG. . . . . .  N NUMB   0017H   A  

TMP_DAYOFMONTH. . . .  N NUMB   0014H   A  

TMP_HOUR. . . . . . .  N NUMB   0012H   A  

TMP_MIN . . . . . . .  N NUMB   0013H   A  

TMP_MONTH . . . . . .  N NUMB   0015H   A  

TMP_YEAR. . . . . . .  N NUMB   0016H   A  

TR0 . . . . . . . . .  B ADDR   0088H.4 A  

UP. . . . . . . . . .  B ADDR   00B0H.0 A  

UPDATE_CALENDAR . . .  C ADDR   03E1H   A  

UPDATE_CLOCK. . . . .  C ADDR   03C1H   A  

UP_DAYOFMONTH . . . .  C ADDR   01D4H   A  

UP_HOUR . . . . . . .  C ADDR   0140H   A  

UP_MIN. . . . . . . .  C ADDR   0191H   A  

UP_MONTH. . . . . . .  C ADDR   0224H   A  

UP_YEAR . . . . . . .  C ADDR   0262H   A  

WAIT_DAYOFMONTH . . .  C ADDR   01C9H   A  

WAIT_HOUR . . . . . .  C ADDR   0137H   A  

WAIT_MIN. . . . . . .  C ADDR   0186H   A  

WAIT_MONTH. . . . . .  C ADDR   0219H   A  

WAIT_RTC. . . . . . .  C ADDR   02D2H   A  

WAIT_YEAR . . . . . .  C ADDR   0257H   A  

YEAR. . . . . . . . .  N NUMB   000EH   A  

YEAR_DOWN_OK. . . . .  C ADDR   0286H   A  

YEAR_UP_OK. . . . . .  C ADDR   0273H   A  

REGISTER BANK(S) USED: 0

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

TÀI LIỆU THAM KHẢO

  • Họ vi điều khiển 8051......................................... Tống Văn On
  • Giáo trình kỹ thuật số ........................................  TS. Nguyễn Viết Nguyên
  • Ưng dụng kỹ thuật số......................................... Võ Trí An  
  • http/www.google.com
  • Kỹ thuật đo......................................................... Nguyễn Ngọc Tân

Close