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ử ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ TRONG GIA ĐÌNH

mã tài liệu 301000300039
nguồn huongdandoan.com
đánh giá 5.0
mô tả 100 MB Bao gồm tất cả file ....,.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

LỜI NÓI ĐẦU  ĐỒ ÁN TỐT NGHIỆP ĐIỆN tử ĐIỀU KHIỂN TỪ XA  CÁC THIẾT BỊ TRONG GIA ĐÌNH

Trong thời đại phát triển của khoa học kỹ thuật ngày nay, mọi công việc mà trước đây phải trực tiếp làm việc với nó, thì bây giờ được thay thế bằng các dây chuyền sản xuất, điều khiển và xử lý công việc từ xa bằng các thiết bị tiên tiến mà khoa học kỹ thuật mang lại. Ngày nay với sự phát triển của công nghiệp vi điều khiển, điện tử, kỹ thuật số, các hệ thống điều khiển dần dần được tự động hoá với những kỹ thuật tiên tiến như Vi Xử Lý, Vi Mạch Số….. được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ với tốc độ xử lý chậm, ít chính xác sẽ được thay thế bằng các chương trình điều khiển tự động với các lệnh chương trình đã được con người chúng ta thiết lập trước. Đặc biệt với nghành điện tử thì kỹ thuật lập trình vi điều khiển và điều khiển từ xa là được áp dụng rộng rãi nhất. Hầu hết trong các nhà máy xí nghiệp hiện nay, mọi công việc dần dần được tự động hóa hoàn toàn. Chính vì yêu cầu ngày càng cao của cả nhân loại, chúng em cũng muốn thử sức mình vào việc thi công một trong những đề tài về Vi Điều Khiển. Đó chính là Mạch điều khiển từ xa các thiết bị trong gia đình.

Mục đích đầu tiên của chúng em làm đề tài này là hoàn tất chương trình học tại trường, đủ điều kiện để tốt nghiệp ra trường. Cụ thể là chúng em muốn phát huy những thành quả ứng dụng của Vi Điều Khiển nhằm tạo ra những sản phẩm, những thiết bị tiên tiến hơn và đạt hiệu qủa cao hơn. Đồng thời nếu được nghiên cứu sâu hơn và sự giúp đỡ của quý thầy cô, nhất định chúng em sẽ thực hiện đề tài này thật đẹp mắt và sống động hơn nhiều.

Mặt khác, đề tài này cũng làm tài liệu tham khảo cho những khóa sau, giúp họ hiểu rõ hơn những ứng dụng của Vi Điều Khiển. Ngoài ra đây cũng là dịp thuận lợi cho chúng em tự kiểm tra lại những kiến thức cơ bản quan trọng cần phải nắm bắt, ứng dụng.. …Trong đó cần phải tư duy, suy nghĩ giải quyết những vấn đề khó khăn hơn nhiều.

Vì trình độ của chúng em còn hạn chế và thời gian gấp rút nên chúng em chỉ có thể ứng dụng vi điều khiển để thiết kế mạch điều khiển các thiết bị trong gia đình từ xa này có các chức năng chưa thật sự là tối ưu mà chỉ trong phạm vi nhỏ hẹp.

 

MỤC LỤC

_________________________________________________________

LỜI CẢM ƠN                                          

LỜI NÓI ĐẦU ­­­­­                                                                               

PHẦN I :  LÝ THUYẾT CƠ SỞ

          CHƯƠNG I :       GIỚI THIỆU VI ĐIỀU KHIỂN 8051

          I.     CẤU TRÚC PHẦN CỨNG VI ĐIỀU KHIỂN 8051 ......... 8

  1. Giới thiệu họ MCS-51........................................................ 8
  2. Sơ lược về các chân của 8051............................................ 9
  3. Tổ chức bộ nhớ................................................................ 12
  4. Các thanh ghi chức năng đặc biệt..................................... 14
  5. Bộ nhớ ngoài................................................................... 16

II.   HOẠT ĐỘNG CỦA BỘ ĐỊNH THỜI ( Timer ).............. 20

  1. Giới thiệu......................................................................... 20
  2. Thanh ghi  chế độ timer ( TMOD ).................................. 21
  3. Thanh ghi điều khiển timer ( TCON ).............................. 22
  4. Các chế độ timer.............................................................. 22
  5. Nguồn tạo xung nhịp....................................................... 24
  6. Bắt đầu, dừng và điều khiển các timer............................. 24
  7. Khởi động và truy xuất các thanh ghi timer..................... 25

III.  HỌAT ĐỘNG PORT NỐI TIẾP ( Serial port )............... 25

  1. Giới thiệu......................................................................... 25
  2. Thanh ghi điều khiển port nối tiếp................................... 26
  3. Các chế độ hoạt động....................................................... 27
  4. Khởi động và truy xuất các thanh ghi cổng nối tiếp........ 28
  5. Tốc độ baud port nối tiếp................................................ 29

IV.  NGẮT (Interrupt )............................................................ 28

  1. Giới thiệu......................................................................... 29
  2. Tổ chức ngắt của 8051..................................................... 29
CHƯƠNG II :   GIỚI THIỆU LINH KIỆN ĐIỆN TỬ

I. GIỚI THIỆU VỀ ĐIỀU KHIỂN TỪ XA............................. 31

II. GIỚI THIỆU VỀ HỒNG NGOẠI VÀ CÁC THIẾT BỊ THU PHÁT.        32

1. Đại cương về tia hồng ngoại............................................. 32

2. Led hồng ngoại................................................................. 32

3. Linh kiện thu sóng hồng ngoại.......................................... 36

4. Giới thiệu IC thu phát....................................................... 38

  IC phát BL9148................................................................. 38

  IC thu BL9149................................................................... 46

5. IC ổn áp 7805................................................................... 52

6.  Relay............................................................................... 53

            PHẦN II :            THIẾT KẾ – THI CÔNG                                  

         

          I.     SƠ ĐỒ NGUYÊN LÝ

1.   Mạch phát...................................................................... 54.

   2.  Mạch thu......................................................................... 55

 

          II .  SƠ ĐỒ KHỐI            

1.  Sơ đồ khối mạch phát............................................................................. 55

2.Cấu tạo phím ấn......................................................................................... 55

3.Nguyên lý hoạt đông mạch phát............................................................. 56

4.  Sơ đồ khối mạch thu............................................................................... 56

5.  Lưu đồ giải thuật..................................................................................... 58

6.Nguyên lý hoạt động   mạch thu............................................................. 62

7.  Chương trình chính................................................................................. 63

QUÁ TRÌNH THI CÔNG MẠCH................................................................... 68

KẾT LUẬN....................................................................................................... 69

TÀI LIỆU THAM KHẢO................................................................................ 70

 

PHẦN I :   LÝ THUYẾT CƠ SỞ

CHƯƠNG I:    GIỚI THIỆU VI ĐIỀU KHIỂN 8051

 

I. CẤU TRÚC PHẦN CỨNG VI ĐIỀU KHIỂN 8051 :

1.  GIỚI THIỆU HỌ MCS-51 (8051)

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ọ MCS-51 là 8031, 8051, 8751, 8951, 892051,... 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. Chúng có các đặc điểm chung như sau :

ROM  nội: Tùy theo mã hiệu mà sẽ có sự khác nhau:

  • 4KB ROM.
  • 128 byte RAM
  • 4 port  I/O 8 bit
  • 2 bộ định thời 16 bit ( riêng họ 8xx2 có 3 bộ )
  • 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.
  • Một bộ xử lý luận lý Boolean ( thao tác trên các bit đơn ).
  • 210 bit được địa chỉ hóa ( nằm trong vùng ram nội ).
  • Bộ nhân/chia  trong 4s.

Chip            Bộ nhớ chương trình        Bộ nhớ dữ liệu          Các bộ định thời

                     trên chip                             trên chip

8051            4 K ROM                            128 byte                     2

8031            0 K                                       128 byte                     2

8751            4 K EPROM                        128 byte                     2

8052            8 K EPROM                        256 byte                     3

8032            0 K                                       256 byte                     3

8752            8 K EPROM                        256 byte                     3

2.  SƠ LƯỢC VỀ CÁC CHÂN CỦA 8051:

Họ MCS-51 là một vi mạch có 40 chân mỗi chân có một chức năng đặc biệt khác nhau. Trong đó có 24 chân có công dụng kép, mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của bus dữ liệu và bus  địa chỉ.

  • Port 0:  Port 0 là một port có 2 chức năng trên các chân 32–39. 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 xuất/nhập. Đối với các thiết kế lớn với bộ nhớ mở rộng, nó vừa là byte thấp bus địa chỉ và là bus dữ liệu 8 bit.
  • Port 1:   Port 1 là một port xuất/ nhập trên các chân từ 1–8. Các chân được kí hiệu P1.0, P1.1, P1.2, … có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ dùng  cho giao tiếp với các thiết bị ngoài hoặc trao đổi dữ liệu với các hệ thống khác.
  • PORT 2:  Port 2 là một port có công dụng kép trên các chân 21–28 được dùng như các đường xuất/ nhập hoặc là byte cao của bus địa chỉ đối vơí các thiết kế dùng bộ nhớ mở rộng.
  • PORT 3:  Port 3 là một port công dụng kép trên các chân 10–17. Mỗi chân của port này 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

Port 3.0         RXD            Dữ liệu nhận cho port nối tiếp

Port 3.1         TXD           Dữ liệu phát cho port nối tiếp

Port 3.2                 Ngắt 0 bên ngoài

Port 3.3                  Ngắt 1 bên ngoài

Port 3.4         T0               Ngõ vào của timer/counter 0

Port 3.5         T1               Ngõ vào của timer/counter 1

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

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

 

  • PSEN ( Program Store Enable ) : PSEN là tín hiệu ra trên chân 29. Nó là tín hiệu điều khiển để cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE ( output Enable ) của một EPROM để cho phép đọc các byte mã lệnh. PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân 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 của MCS-51 để giải mã lệnh. Khi thi hành chương trình trong ROM nội PSEN sẽ ở mức thụ động ( mức cao ).
  • ALE ( Address Latch Enable ): Tín hiệu ra ALE trên chân 30 chân xuất tín hiệu cho phép chốt địa chỉ ALE để giải đa hợp ( Demultiplexing ) bus dữ liệu và bus địa chỉ MCS-51 dùng ALE một cách tương tự cho việc giải kênh các bus địa chỉ và bus dữ liệu, khi port 0 dùng trong chế độ chuyển đổi của nó: vừa là bus dữ liệu vừa là byte thấp của bus địa chỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa đầu của chu kỳ bộ nhớ. Sau đó, các đường port 0 dùng để xuất và nhập dữ liệu trong nửa sau của chu kỳ bộ 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 nguồn xung nhịp cho các phần khác của hệ thống. Chỉ ngoại trừ khi thi hành lệnh MOVX, .ột xung ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho xung lập trìnhcho EPROM trong các loại có ROM nội.
  • EA (External Access ):  Tín hiệu vào EA ở chân  31 thường được lên mức cao( +5V ) hoặc mức thấp ( GND ). Nếu ở mức cao, 8051/8052 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp 4K ( 8Kbyte). Nếu ở mức 0, 8051/8052 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\ được lấy làm chân nhận điện áp cấp nguồn 21V (Vpp ) cho việc lập trình EPROM nội ( nạp EPROM ).
  • RST ( RESET ):  Ngõ vào RST ở chân 9 là ngõ vào Reset của 8051. Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất là 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 ):  Như đã thấy trong hình trên, mạch dao động trên chip 8051 được ghép với thạch anh bên ngoài ở 2 chân XTAL1 và XTAL2 ( chân 18 và 19 ) Các tụ giữ cần thiết như hình vẽ. Tần số thạch anh thông thường là 12  MHz
  • CÁC CHÂN NGUỒN :  8051 vận hành với nguồn đơn +5V. Vcc được nối vào chân 40 và Vss (GND ) được nối vào chân 20.
  1. TỔ CHỨC BỘ NHỚ:

8051 có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. Như đã nói ở trên, cả chương trình dữ liệu có thể ở bên trong ; dù vậy chúng có thể được mở rộng bằng các thành phần ngoài lên đến tối đa 64 Kbyte bộ nhớ chương trình và 64 Kbyte bộ nhớ dữ liệu.

Bộ nhớ bên trong bao gồm  ROM nội và RAM trên chip, 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 SFR (Special Function Register ).

Bảng tóm tắt các vùng nhớ 8051

Hai đặc tính cần lưu ý:

  • Các thanh ghi và các port xuất/ nhập đã được xếp trong bộ nhớ và có thể được 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ộ vi xử lý khác.
    • Chi tiết về bộ nhớ RAM trên chip:

Như ta thấy trên hình sau, RAM bên trong chip được phân chia giữa các bank thanh ghi ( 00H–1FH ), RAM địa chỉ hóa từng bit ( 20H–2FH ), RAM đa dụng ( 30H–7FH )­ và các thanh ghi chức năng đặc biệt (80H–FFH)

  1. RAM  ĐA  MỤC  ĐÍCH:  Trên hình cho thấy 80 byte từ địa chỉ 30H¸7FH là RAM  đa mục đích chung. Kể cả 32 byte phần dưới từ 00H¸2FH cũng có thể sử dụng giống như 80 byte ở trên, tuy nhiên 32 byte còn có mục đích khác. Bất kỳ vị trí nào trong RAM đa mục đích chung cũng có thể được truy xuất tùy ý giống như việc sử dụng các mode để định địa chỉ trực tiếp hay gián tiếp. Ví dụ để đọc nội dung của RAM nội có địa chỉ 5FH vào thanh ghi tích lũy thì ta dùng lệnh : MOV  A, 5FH.

RAM nội cũng được truy xuất bởi việc  dùng địa chỉ gián tiếp qua R0 và R1. Hai lệnh sau đây sẽ tương đương lệnh trên :

                        MOV R0, #5FH

                        MOV A, @R0

Lệnh thứ nhất dùng sự định vị tức thời để đưa giá trị 5FH vào thanh ghi R0, lệnh thứ hai dùng sự định vị gián tiếp để đưa dữ liệu “đã được trỏ đến bởi R0” vào thanh ghi tích lũy A.

  1. CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT ( SFR ):

Có 21 thanh ghi chức năng đặc biệt SFR ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH. Chú ý hầu hết 128 địa chỉ từ 80H đến FFH là không được định nghĩa. Chỉ có 21 địa chỉ của các thanh ghi chức năng đặc biệt là được định nghĩa.

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 địa chỉ trực tiếp. Chú ý rằng vài thanh ghi chức năng đặc biệt SFR được định địa chỉ từng bit và định địa chỉ từng byte. Người thiết kế sẽ cẫn thận khi truy xuất bit mà không truy xuất byte.

  • Từ trạng thái chương trình ( PSW ):

Từ trạng thái chương trình ( PSW: Program Status Word ) ở địa chỉ D0H chứa các bít trạng thái như bảng tóm tắt sau:

Bit           ký hiệu        Địa chỉ                 Ý nghĩa

      PSW.7         CY               D7H                      Cờ nhớ

      PSW.6         AC               D6H                      Cờ nhớ phụ

      PSW.5         F0                 D5H                      Cờ 0

      PSW.4         RS1              D4H                      Bit 1 chọn bank thanh ghi

      PSW.3         RS0              D4H                      Bit 0 chọn bank thanh ghi

                                                                                 00 = bank 0: địa chỉ 00H­–07H

                                                                                 01 = bank 1: địa chỉ 08H–0FH

                                                                                 10 = bank 2: địa chỉ 10H–17H

                                                                                 11 = bank 3: địa chỉ 18H–1FH

      PSW.2         OV               D2H                      Cờ tràn

      PSW.1         –                   D1H                      Dự trữ

      PSW.0         P                   D0H                      Cờ parity chẵn                          .

  • Cờ nhớ:  Cờ nhớ CY ( carry flag ) có công dụng kép. Thông thường nó được dùng cho các lệnh toán học: nó sẽ được set nếu có một số nhớ sinh ra bởi phép cộng hoặc có một số mượn bởi phép trừ. Cờ nhớ cũng có thể xem như một thanh ghi một bit cho các lệnh luận lý thi hành trên bit.
  • Cờ nhớ phụ:   Khi cộng các số BCD, cờ nhớ phụ AC được set nếu kết quả của 4 bit thấp trong khoảng 0AH–0FH.
  • Cờ 0:   Cờ 0 ( F0 ) là một bit cờ đa dụng cho các ứng dụng của người dùng.
  • Các bit chọn bank thanh ghi:   Các bit chọn bank thanh ghi ( RS0 và RS1 ) xác định bank thanh ghi được tích cực. Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu cần.
  • Cờ tràn:   Cờ tràn ( OV ) được set sau một lệnh cộng hoặc trừ nếu có một phép toán bị tràn. Khi các số có dấu được cộng hoặc trừ, phần mềm có thể kiểm tra bit tràn OV để xác định xem kết quả có nằm trong tầm hay không. Với phép cộng các số không dấu, cờ tràn OV được bỏ qua. Kết quả lớn hơn +128 hoặc nhỏ hơn –127 sẽ set cờ OV bằng 1.
  • Thanh ghi B:   Thanh ghi B ở địa chỉ F0H được dùng với thanh ghi tích lũy A cho các phép toán nhân và chia. Thanh ghi B cũng có thể được xem như thanh ghi đệm đa dụng. Nó được địa hóa từng bit bằng các địa chỉ bit F0H–F7H.
  • Con trỏ ngăn xếp:   Con trỏ ngăn xếp ( SP ) 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 của ngăn xếp. Các lệnh trên ngăn xếp bao gồm các thao tác cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ đọc dữ liệu và giảm SP.
  • Con trỏ dữ liệu (DPTR ):   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 (DPL: byte thấp) và 83H (DPH: byte cao).
  • Các thanh ghi port :   Các thanh ghi Port (Port Register) : bao gồm Port0 ở địa chỉ  80H, Port1 ở địa chỉ 90H, Port2 ở địa chỉ A0H, và Port3 ở địa chỉ B0H. Tất cả các Port này đều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp.
  • Các thanh ghi timer:  Các thanh ghi Timer (Timer Register):    8051 có chứa hai bộ định thời/bộ đếm 16 bit được dùng cho việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer1 ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động timer được SET bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và 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:  Các thanh ghi Port nối tiếp (Serial Port Register): 8051 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 ghi gọi là bộ đệ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 thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành 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.
  • Các thanh ghi ngắt:   Các thanh ghi ngắt (Interrupt Register):   8051 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi bị reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H. Cả hai được địa chỉ hóa từng bit.
  • Thanh ghi điều khiển nguồn:   Thanh ghi điều khiển nguồn PCON (Power Control Register): ở địa chỉ 87H  chứa nhiều bit điều khiển.

Thanh ghi PCON được tóm tắt như sau:

Bit                 ký hiệu                          Ý nghĩa

      7                      SMOD                  Bit gấp đôi tốc độ baud, nếu được set thì                                           tốc độ baud sẽ tăng gấp đôi trong các                                           mode1, 2,và 3 của port nối tiếp.

      6                      –                            Không định nghĩa

      5                      –                            Không định nghĩa

      4                      –                            Không định nghĩa

      3                      GF1                       Bit cờ đa mục đích 1

      2                      GF0                       Bit cờ đa mục đich 2

      1                      PD                         Nguồn giảm; thiết lập để tích cực chế độ                                     nguồn giảm, chỉ ra khỏi chế độ bằng reset.

      0                      IDL                       Chế độ nghỉ; thiết lập để tích cực chế độ                                     nghỉ, chỉ ra khỏi chế độ bằng 1 ngắt hoặc                                                reset hệ thống.                                                           .

           

     Các bit điều khiển nguồn giảm ( PD ) Power Down và nghỉ ( IDL ) 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.

  1. BỘ NHỚ NGOÀI: (external memory)

8051 có khả năng mở rộng bộ nhớ nê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 ROM và RAM nếu cần. Khi dùng bộ nhớ ngoài, Port O 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ớ chương trình mã ngoài.   Truy xuất bộ nhớ mã ngoài (Acessing External Code Memory): Bộ nhớ chương trình bên ngoài là bộ nhớ ROM  được cho phép của tín hiệu PSEN\. Sự kết nối phần cứng của bộ nhớ Eprom như sau :

Accessing External Code Memory (Truy xuất bộ nhớ mã ngoài)

Một chu kỳ máy của 8051 có 12 xung nhịp. Nếu bộ dao động trên chip được lái bởi một thạch anh 12 MHz thì một chu kỳ máy kéo dài 1s. Trong một chu kỳ máy, sẽ có 2 xung ALE và 2 byte được đọc từ bộ nhớ chương trình.

  • Truy xuất bộ nhơ dữ 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). Chỉ có một cách truy xuất bộ nhơ dữ liệu ngoài là với lệnh MOVX dùng con trỏ dữ liệu DPTR 16 bit hoặc R0 và R1 xem như thanh ghi địa chỉ. Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051 cũng giống như EPROM và do đó cũng có thể lên đến 64 Kbyte bộ nhớ RAM. Ngoài ra,  chân RD của 8051 được nối tới chân cho phép xuất ( OE ) của RAM và chân WR được nối tới chân ghi ( WR ) của RAM.

  • Giả mã địa chỉ: ( Address Decoding ).

Sự giải mã địa chỉ (Address Decoding): Sự giải mã địa chỉ là một yêu cầu tất yếu để chọn EPROM, RAM, 8279, … Sự giải mã địa chỉ đối với 8051 để chọn các vùng nhớ ngoài như các vi điều khiển.

  • Xếp chồng các vùng bộ nhớ chương trình và dữ liệu bên ngoài:

Sự đè lên nhau của các vùng nhớ dữ liệu 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ều khiển. Đó là làm cách nào phần mềm có thể sửa đổi chương trình và ghi trở lại khi nó được nhớ trong bộ nhớ chỉ đọc. Cách giải quyết là xếp chồng các vùng nhớ chương trình và dữ liệu. 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 vào 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.

  • Họat độ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. RST có thể kích bằng tay dùng một nút bấm hoặc có thể kích khi cấp điện dùng một mạch R-C.

 

Trạng thái của tất cả các thanh ghi trong 8051 sau khi reset 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 lũyA

Thanh ghi B

Thanh ghi trạng thái PSW

SP

DPTR

Port 0 đến port 3

IP

IE

Các thanh ghi định thời

SCON

SBUF

PCON (HMOS)

PCON (CMOS)

0000H

00H

00H

00H

07H

0000H

FFH

XXX0 0000 B

0XX0 0000 B

00H

00H

00H

0XXX XXXXH

0XXX  0000 B

Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được reset tại địa chỉ 0000H. 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.

II.   HỌAT ĐỘNG CỦA BỘ ĐỊNH THỜI ( TIMER ):

  1. Giới Thiệu:

Timer là một thanh ghi có khả năng tự động tăng giá trị lên 1 sau mỗi xung clock. Ngõ ra của tầng cuối làm xung clock cho Flip Flop báo tràn của Timer ( Flip Flop cờ ). Giá trị nhị phân trong các Flip Flop của Timer có thể xem như số đếm xung clock ( hoặc các sự kiện ) từ khi khởi động Timer 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ần số clock ngõ vào cho 2n.

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à tạo tốc độ Baud cho Port nối tiếp. Mỗi sự định thời là một 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 = 65536.

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 đếm 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 (ví dụ đo độ rộng xung).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:

SFR

Mục đích

Địa chỉ

Địa chỉ hóa

TCON

Điều khiển Timer

88H

TMOD

Chế độ Timer

89H

Không

TL0

Byte thấp của Timer 0

8AH

Không

TL1

Byte thấp của Timer 1

8BH

Không

TH0

Byte cao của Timer 0

8CH

Không

TH1

Byte cao của Timer 1

8DH

Không

           

  1. Thanh ghi chế độ định định thời ( TMOD ) :

Thanh ghi TMOD ( Timer Mode Register ) chứa 2 nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0 và Timer 1. 4 bit thấp đặt chế độ hoạt động cho Timer 0 và 4 bit cao đặt chế đôk hoạt động cho Timer 1. TMOD không được định địa chỉ trực tiếp, nó được nạp một lần bởi phần mềm ở thời điểm bắt đầu của một chương trình để khởi động chế độ hoạt động của bộ định thời.

Bit

Tên

Timer

Mô tả

7

GATE

1

Khi GATE = 1, Timer chỉ làm việc khi INT1=1

6

C/

1

Bit chọn chế độ counter/Timer

C/ = 1 : Đếm sự  kiện

C/ = 0 : Định thời trong khoảng thời gian

 

 

 

 

 

 

5

M1

1

Bit 1 của chế độ của Timer 1

4

M0

1

Bit 0 của chế độ của Timer 1

     00: chế độ 0: Timer 13 bit

     01: chế độ 1: Timer 16 bit

     10: chế độ 2: Tự động nạp lại 8 bit

     11: chế độ 3: Tách Timer

3

GATE

0

Bit ( mở ) cổng của Timer 0

2

C/

0

Bit chọn Counter/Timer của Timer 0

1

M1

0

Bit 1 của chế độ của Timer 0

0

M0

0

Bit 0 của chế độ của Timer 0

                                       

                                          TÓM  TẮT  THANH  GHI  TMOD

  1. Thanh ghi điều khiển định thời ( TCON ):

Thanh ghi TCON ( Timer Control Register ) chứa các bit điều khiển và trạng thái của bộ định thời 0 và bộ định thời 1.

Bốn bit cao trong TCON ( TCON.4–TCON.7 ) được dùng để điều khiển các bộ định thời hoạt động hoặc ngưng ( TR0, TR1 ) hoặc để báo các bộ định thời tràn (TF0, TF1) Bốn bit thấp của TCON ( TCON.0–TCON.3 ) không dùng để điều khiển các bộ định thời, chúng được dùng để phát hiện và khởi động các ngắt ngoài. Thanh ghi TCON có bit định địa chỉ trực tiếp. Hoạt động của từng bit được tóm tắt như sau:

Bit

Ký hiệu

Địa chỉ bit

Mô tả

TCON.7

TF1

8FH

Cờ báo tràn Timer 1 được set bởi phần cứng ở sự tràn, được xóa bởi phần mềm hoặc bởi phần cứng khi bộ xử lý đến chưopưng trình phục vụ ngắt ISR

TCON.6

TR1

8EH

Bit điều khiển chạy  Timer 1 được set hoặc xóa bởi phần mềm để chạy hoặc ngưng chạy Timer.

TCON.5

TF0

8DH

Cờ báo tràn Timer 0 ( tương tự TF1)

TCON.4

TR0

8CH

Bit điều khiển chạy Timer 0 ( TR1 )

TCON.3

IE1

8BH

Cờ ngắt bên ngoài 1. Được set bởi phần cứng Khi cạnh xuống xuất hiện trên INT1 thì IE1 đượ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

IT1

8AH

Cờ ngắt bên ngoài 1 được set hoặc xóa bằng phần khi xảy ra cạnh xuống hoặc mức thấp tại chân ngắt ngoài.

TCON.1

IE0

89H

Cờ ngắt bên ngoài 0

TCON.0

IT0

88H

Cờ ngắt bên ngoài 0

 

                    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    TÓM  TẮT  THANH  GHI  TCON.

  1. Các chế độ Timer:
    • Chế độ 0:  Chế độ Timer 13 bit.
      • Để tương thích với 8048.
      • 3 bit cao của TLx ( TL0 hoặc TL1 ) không dùng.

      Xung nhịp

      time

                                                                                                      Cờ báo tràn

  • Chế độ 1:  Chế độ Timer 16 bit.
  • Hoạt động như  Timer 16 bit đầy đủ
  • Cờ báo tràn là bit TFx trong TCON có thể đọc hoặc ghi bằng phân mềm.
  • MSB của giá trị trong các thanh ghi Timer là bit 7 của THx và LSB là bit 0 của TLx. Các thanh ghi Timer ( TLx/ THx ) có thể được đọc hoặc ghi bất cứ lúc nào bằng phần mềm.

Xung nhịp

Timer

                                                                                                                        Cờ báo tràn

                                                           

  • Chế độ 2:  Chế độ tự nạp lại 8 bit.

TLx hoạt động như một Timer 8 bit, trong khi đó THx vẫn giữ nguyên giá trị được nạp. Khi số đếm tràn từ FFH đến 00H, không những cờ Timer được set mà giá trị trong THx đồng thời được nạp vào TLx, việc đếm tiếp tục từ giá trị này lên đến FFH xuống 00H và nạp lại, v.v… chế độ này rất thông dụng vì sự tràn Timer xảy ra trong những khoảng thời gian nhất định và tuần hoàn một khi đã khởi động TMOD và THx.

                           nạp lại                  Cờ báo tràn               

  • Chế độ 3:  Chế độ tách Timer.
  • Timer  0 tách thành 2 Timer 8 bit. ( TL0 và TH0 ), TL0 có cờ báo tràn là TF0 và TH0 có cờ báo tràn là TF1.
  • Timer 1 ngưng ở chế độ 3, nhưng có thể được khởi động bằng cách chuyển sang chế độ khác.
  • Khi Timer 0 ở chế độ 3, có thể cho Timer 1 chạy và ngưng bằng cách chuyển nó ra ngoài và vào chế độ 3.

Xung nhịp

Timer

Xung nhịp

Timer

                                                                                                                                                    Cờ báo tràn

1/12 Fosc

                                                                                          Cờ báo tràn                           

  1. Nguồn xung clock.  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.
  • Định khoảng thời gian ( interval timing ):  Nếu C/T = 0, hoạt động định thời được chọn và Timer được dùng cho việc định khoảng thời gian. Lúc đó Timer lấy xung clock từ bbộ dao động trên chip. Bộ chia 12 được thêm vào để giảm tần số xung clock đến giá trị thích hợp cho phần lớn các ứng dụng. Các thanh ghi định thời ( TLx / THx ) đếm lên với tần số xung clock bằng 1/12 tần số của mạch dao động trên chip, nghĩa là thạch anh 12 MHz, tần số xung clock là 1 MHz. Bộ định thời sẽ tràn sau một số xung clock cố định phụ thuộc vào giá trị ban đầu nạp cho các thanh ghi định thời ( TLx / THx ).
  • Đếm sự kiện ( event couting ):  Nếu C/T = 1, bộ định thời được cung cấp xung clock từ một nguồn tạo xung bên ngoài. Trong hầu hết các ứng dụng, nguồn bên ngoài này cung cấp cho Timer một xung khi xảy ra một sự kiện – Timer dùng đếm sự kiện. Số sự kiện được xác định bằng phần mềm bằng cách đọc các thanh ghi TLx/THx vì giá trị 16 bit trong các thanh ghi này tăng thêm 1 cho mỗi sự kiện. Nguồn xung clock ngoài có từ thay đổi chức năng của các chân port 3. P3.4 dùng làm ngõ vào tạo xung clock bên ngoài cho Timer 0 ( T0 ), P3.5 là ngõ vào tạo xung clock cho Timer 1 ( T1). Trong các ứng dụng bộ đếm, các thanh ghi Timer được tăng thêm 1 tương đương với chuyển từ 1 xuống 0 ở ngõ vào bên ngoài Tx. Mất 2 chu kỳ máy ( 2s ) để ghi nhận một sự chuyển từ 1 sang 0, tần số ngoài tối đa là 500 MHz ( giả sử hoạt động ở 12MHz ).

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

Cách đơn giản nhất dể khởi động và dừng các bộ định thời là sử dụng bit điều khiển hoạt động TRx trong thanh ghi TCON. Do thanh ghi TCON là thanh ghi được định địa chỉ từng bit ta dễ dành khởi động và dừng các bộ định thời bằng chương trình. Để bắt đầu các 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 SETB TR0 và được kết thúc bởi lệnh CLR TR0 (bit Gate= 0). Bit TRx bị xóa sau sự reset hệ thống, do đó các Timer bị cấm bằng sự mặc định. Một phương pháp khác để điều khiển các Timer là dùng bit GATE trong TMOD và ngõ vào bên ngoài INTx. Đặt bit GATE = 1 cho phép Timer sẽ được điều khiển bằng INTx.

7.         Sự khởi động và truy xuất các thanh ghi Timer:  Các Timer được khởi động 1 lần ở đầu chương trình để đặt chế độ 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ụ thể.

III.  HOẠT ĐỘNG PORT NỐI TIẾP ( serial port )

  1. Giới thiệu :

8051 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 của port nối tiếp là thực hiện chuyển đổi song song sang nối tiếp đối 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. Truy xuất phần cứng đến port nối tiếp qua các chân TXD ( P3.1 ) và RXD ( P3.0 ).

Port nối tiếp cho hoạt động song công ( full duplex : thu và phát đồng thời ), và đệm lúc thu (receiver buffering ) cho phép một kí tự sẽ được thu và được giữ trong khi kí tự thứ hai được nhận.

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 ) ở địa chỉ 99H. Viết vào SBUF để nạp dữ liệu sẽ được phát và đọc SBUF để truy xuất dữ liệu thu được. Đây là 2 thanh ghi riêng biệt : thanh ghi chỉ ghi để phát và thanh ghi chỉ đọc để thu.

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

            DJNZ R4,BACK44

            LJMP MAIN

NEXT45:MOV        R4,#100

BACK45:JB P3.4,NEXT46

            DJNZ R4,BACK45

            LJMP NEXT1

NEXT46:MOV        R4,#100

BACK46:JB P3.5,NEXT47

            DJNZ R4,BACK46

            LJMP NEXT2

NEXT47:MOV        R4,#100

BACK47:JB P3.7,NEXT48

            DJNZ R4,BACK47

            LJMP NEXT4

CONE:

NEXT57:MOV        R4,#100

BACK50:JB P1.6,NEXT51

            DJNZ R4,BACK50

            CPL    P1.2

            LJMP MAIN

NEXT51:MOV        R4,#100

BACK51:JB P1.7,NEXT52

            DJNZ R4,BACK51

            CPL    P1.1

            LJMP MAIN

NEXT52:MOV        R4,#100

BACK52:JB P3.0,NEXT53

            DJNZ R4,BACK52

            CPL    P1.0

            LJMP MAIN

NEXT53:MOV        R4,#100

BACK53:JB P3.3,NEXT54

            DJNZ R4,BACK53

            LJMP MAIN

NEXT54:MOV        R4,#100

BACK54:JB P3.4,NEXT55

            DJNZ R4,BACK54

            LJMP NEXT1

NEXT55:MOV        R4,#100

BACK55:JB P3.5,NEXT56

            DJNZ R4,BACK55

            LJMP NEXT2

NEXT56:MOV        R4,#100

BACK56:JB P3.6,NEXT57

            DJNZ R4,BACK56

            LJMP NEXT3

END

  1. QUÁ TRÌNH THI CÔNG MẠCH
  • Thiết kế mô hình
  • Vẽ mạch in và ngâm mạch
  • Khoan và ráp linh kiện
  • Kiểm tra, cân chỉnh và thử mạch
  • Kết nối mạch điện trong mô hình
  • Kiểm tra, nạp chương trình
  • Trang trí

KẾT LUẬN

Trong thờ gian thực hiện đồ án ,được sự chỉ dạy nhiệt tình của thầy hướng dẫn, cũng là thầy chủ nhiệm,Thầy Trương Quang Trung  Đề tài: “ ĐIỀU KHIỂN  TỪ XA CÁC THIẾT BỊ TRONG GIA ĐÌNH” đã hoàn thành đúng thời gian qui định.

Với sự quyết tâm và nỗ lực không ngừng của chúng em trong thời gian làm đồ án tốt nghiệp, chúng em có dịp kiểm tra lại những gì mình đã học  tại trường trong suốt thời gian qua và tìm tòi học hỏi được nhiều kiến thức mới trong quá trình làm đồ án tốt nghiệp. Cuốn quyển đồ án này ghi lại những gì liên quan đến đồ án tốt nghiệp của chúng em.

Trong quá trình làm đồ án cũng gặp một số khó khăn như: viết chương trình vẫn mắc phãi nhưng lỗi, làm phần cứng khó khăn vì thiết kế mô hình và có những lúc mạch điện hoạt động chưa ổn định. Nhưng với sự quyết tâm của nhóm và được sự chỉ dạy tận tình của Thầy hướng dẫn nên chúng em cũng khắc phục được khó khăn vàhoàn thành đề tài theo quy định.

Qua quá trình thực hiện đồ án, chúng em có dịp nâng cao kiến thức thiết kế đường đi dây điện trong nhà và có khả năng viết một số chương trình  với IC89C51 một cách thành thạo hơn. 

Chúng em xin chân thành cảm ơn mọi sự giúp đỡ tận tình của các thầy - cô trong Trường và khoa Điện Tử- Tin Học, Thầy hướng dẫn - Thầy Trương Quang, đã tạo nhiều điều kiện cho chúng em hoàn thành tốt đề tài được giao đúng thời gian qui định.

Một lần nữa, chúng em rất mong sự đóng góp ý kiến của quý thầy – cô trong Trường và khoa Điện Tử- Tin Học cùng với các bạn  học sinh_sinh viên để cuốn quyển đồ án này được  hoàn chỉnh hơn.

 

                                                                                  

                                                                     Nhóm thực hiện         

  1. TÀI LIỆU THAM KHẢO
  • Các tài liệu liên quan tìm trên mạng internet.

Trang web truy cập: www.google.com.vn.

  • Họ vi điều khiển 8051(nhà xuất bản và xã hội).
  • Tài liệu đồ án môn học của những năm trước.

Close