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ử BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH

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

BẢNG QUANG BÁO GIAO TIẾP MÁY TÍNH

LỜI NÓI ĐẦU

    Với sự phát triển không ngừng của khoa học công nghệ.Việc ứng dụng các thành tựu khoa học kỹ thuật hiện đại trong tất cả các lĩnh vực đã và đang rất phổ biến trên toàn thế giới, thay thế dần những phương thức lao động  thủ công , lạc hậu  và ngày càng được cải tiến hiện đại hơn.

    Trong đó lĩnh vực Điện Tử - Tin Học – Viễn Thông ngày càng đóng vai trò quan trọng trong việc phát triển kinh tế và đời sống con người. Sự phát triền của nó ảnh hưởng không nhỏ tới sự phát triển của tất cả các ngành sản xuất, giải trí,... và thúc đẩy sự phát triển chung của xã hội.Đồng thời việc tiếp cận,quảng bá hình ảnh,thương hiệu của sản phẩm đến người tiêu dùng là một trong những chiến lược mà bộ phận maketing của nhiều công ty hướng đến.Trong nhiều hình thức đa dạng của thông tin quảng cáo như: báo, đài, tivi, tờ rơi, áp phích… thì việc dùng bảng thông tin điện tử là một cách đơn giản và hiệu quả để quảng cáo.Với khoảng không gian nhỏ một bảng led điện tử đã thể hiện được hình ảnh cần thiết cho sản phẩm,giúp người tiêu dùng nhanh chóng có thể nhận biết.Với đủ loại màu sắc,hình thức thề hiện... bảng thông tin điện tử đã ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như: giới thiệu sản phẩm, thông báo tin tức,…Với ứng dụng rộng rãi như vậy, việc tìm hiểu và thiết kế một bảng led điện tử đã thôi thúc chúng em thực hiện đề tài này.

            Quang báo có rất nhiều tính năng như hiện thị chữ chạy trái sang  phải,từ trên xuống dưới,thể hiện được hình ảnh động,đồng thời có thể kết nối với các thiết bị hỗ trợ điều khiển từ xa.Nhưng với kiến thức còn hạn chế và thời gian thực hiện đề tài không nhiều nên nhóm chúng em chỉ thực hiện được bảng quang báo chạy chữ từ trái sang phải và có thể giao tiếp đơn giản với máy tính thông qua phần mềm Visual Basic.Do lần đầu nhóm em thực hiện đề tài này nên chắc chắn không tránh khỏi sai sót.Kính mong sự hướng dẫn và góp ý từ quý thầy cô và bạn bè.

MỤC LỤC

PHẦN GIỚI THIỆU

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

NHẬN XÉT CỦA HỘI ĐỒNG CHẤM ĐIỂM ĐỒ ÁN TỐT NGHIỆP

LỜI NÓI ĐẦU

LỜI CẢM ƠN

CHƯƠNG DẪN NHẬP ...................................................................................................... 11

Lý do chọn đề tài...................................................................................................... 11

Nội dung đề tài ......................................................................................................... 11

Mục đích đề tài......................................................................................................... 11

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

Lập kế hoạch nghiên cứu ....................................................................................... 12

Kế hoạch nghiên cứu............................................................................................... 12

 

CHƯƠNG II LED MA TRẬN VÀ BẢNG QUANG BÁO ........................................... 13

2.1 Led ma trận ...................................................................................................... 13

            2.1.1 Phân loại led ma trận.................................................................................... 13

             2.1.2 Led ma trận 8x8............................................................................................. 13

  2.1.3 Sơ đồ nguyên lý,hình dạng và sơ đồ chân của led ma trận..................... 14

2.2 Bảng quang báo led ma trận trong đồ án.................................................... 15

 

CHƯƠNG III CÁC PHƯƠNG PHÁP THỂ HIỆN LED MA TRẬN   ...................... 16

3.1 Phương pháp chốt ............................................................................................ 16

  3.1.1  Chốt hàng ..................................................................................................... 16

  3.1.2 Chốt cột ......................................................................................................... 17

              3.1.3 Ưu,nhược điểm của phuong pháp dùng IC chốt  ..................................... 17

3.2 Phương pháp sử dụng thanh ghi dịch ........................................................... 17

  3.2.1 Quét cột.......................................................................................................... 17

  3.2.2 Quét hàng....................................................................................................... 19

             3.2.3 Ưu,nhược điểm của phương pháp dùng  thanh ghi dịch.......................... 21

          3.3 Mạch quang sử dụng trong đồ án.................................................................... 21

CHƯƠNG IV TỔNG QUAN VỀ VI ĐIỀU KHIỂN ..................................................... 22

          4.1 Giới thiệu khái quát về vi điều khiển PIC..................................................... 22

 4.1.1 Sự phổ biến của vi điều khiển PIC.............................................................. 22

 4.1.2 Kiến trúc của PIC.......................................................................................... 22

 4.1.3 RISC và CISC.................................................................................................. 23

            4.1.4 PIPELINING  ................................................................................................... 23

            4.1.5 Các dòng PIC và cách lựa chọn PIC ............................................................ 24

            4.1.6 Ngôn ngữ lập trình ......................................................................................... 24

 

         4.2 Giới thiệu về PIC 16F877A................................................................................. 25

            4.2.1 Hình dạng và sơ đồ chân  ............................................................................. 25

            4.2.2 Một vài thông số về PIC 16F877A .............................................................. 25

            4.2.3 Sơ đồ khối của PIC 16F877A ....................................................................... 27

            4.2.4 Tổ chức bộ nhớ .............................................................................................. 28

            4.2.5 Các cổng xuất nhập của PIC 16F877A ....................................................... 32

            4.2.6 TIMER ............................................................................................................. 34

            4.2.7 ADC ................................................................................................................. 37

            4.2.8 Giao tiếp nối tiếp ........................................................................................... 37

            4.2.9 Cổng giao tiếp song song PSP ...................................................................... 39

            4.2.10 Các đặc tính của OSCILLATOR ................................................................ 40

            4.2.11 Các chế độ RESET ....................................................................................... 40

 4.2.12 Ngắt................................................................................................................ 42

CHƯƠNG V KHẢO SÁT LINH KIỆN .......................................................................... 44

5.1 IC74HC595............................................................................................................. 44

5.1.1 Chức năng các chân của IC 74HC595.......................................................... 44

5.1.2 Nguyên lý hoạt động của IC 74HC595........................................................ 44

5.1.3 Cấu tạo bên trong của IC 74HC595.............................................................. 45

5.2 TRANSISTOR S8550............................................................................................ 45

5.2.1 Sơ đồ chân và thông số kỷ thuật .................................................................. 45

CHƯƠNG VI GIAO TIẾP NỐI TIẾP............................................................................. 46

6.1 Cấu trúc cổng nối tiếp ......................................................................................... 46

6.2 Chuẩn RS232.......................................................................................................... 46

6.2.1 Giới thiệu về RS232....................................................................................... 46

6.2.2 Các phương thức nối giữa DTE và DCE....................................................... 47

6.2.3  Sơ đồ chân RS232.......................................................................................... 48

6.3. Truyền thông giữa hai nút.................................................................................. 50

6.3.1 Các sơ đồ khi kết nối dùng cổng nối tiếp.................................................... 50

6.3.2 Sơ đồ kết nối RS232 với vi điều khiển........................................................ 51

6.4. Truy xuất trực tiếp thông qua cổng.................................................................. 51

6.4.1 Địa chỉ truy xuất cổng COM......................................................................... 51

6.4.2 Các thanh ghi giao tiếp với máy tính........................................................... 51

6.5 Truyền thông nối tiếp dùng ActiveX................................................................. 56    

  6.5.1 Giới thiệu MSComm........................................................................................................................ 56     

6.5.2 Các thuộc tính cài đặt MSComm trong Visual Basic.................................................................. 57   

   6.5.3 Các thuộc tính dữ liệu MSComm trong Visual Basic................................................................. 59     

6.5.4 Các thuộc tính xuất dữ liệu MSComm trong Visual Basic......................................................... 60   

   6.5.5 Sự kiện OnCom ........................................................................................................................... 62

6.6 Giao tiếp với vi điều khiển.................................................................................. 64

 

CHƯƠNG VII SƠ ĐỒ NGUYÊN LÝ,TÍNH TOÁN,NGUYÊN LÝ HOẠT ĐỘNG VÀ LƯU ĐỒ GIẢI THUẬT.................................................................................................................................. 65

7.1 Sơ đồ nguyên lý ..................................................................................................... 65

      7.2 Tính toán mạch....................................................................................................... 65

7.2.1 Mạch kéo dòng................................................................................................ 65

7.2.2 Mạch nguồn..................................................................................................... 68

7.2.3 Thiết kế............................................................................................................. 68

7.3 Nguyên lý hoạt động............................................................................................. 69

7.4 Lưu đồ giải thuật .................................................................................................. 70

7.5 Code chương trình ................................................................................................ 72

       7.5.1 Code chương trình CCSC............................................................................ 72

       7.5.2 Code chương trình Visual Basic................................................................. 84

 

CHƯƠNG VIII TỔNG KẾT...................................................................................... 86

8.1 Các vấn đề đã được giải quyết trong đồ án ..................................................... 86

            8.1.1 Các vấn đề đã nghiên cứu ............................................................................. 86

            8.1.2 Các vấn đề đã thực hiện................................................................................. 86

            8.1.3 Thi công mạch................................................................................................. 86

       8.2 Ưu và nhược điểm của thi công mạch .............................................................. 86

            8.2.1 Ưu điểm............................................................................................................ 86

            8.2.2 Nhược điểm...................................................................................................... 87

       8.3 Các phương hướng phát triển đề tài.................................................................. 87     

PHỤ LỤC............................................................................................................................. 88

CHƯƠNG DẪN NHẬP:

1.1       LÝ DO CHỌN ĐỀ TÀI:

Ngày nay, với sự phát triển của xã hội thì ngày càng có nhiều cách tiếp cận với những thông tin mới. Ta có thể biết được thông tin qua báo chí, truyền hình, mạng internet, qua các pano, áp phích… Thông tin cần phải được truyền đi nhanh chóng, kịp thời và phổ biến rộng rãi trong toàn xã hội. Và việc thu thập thông tin kịp thời, chính xác là yếu tố hết sức quan trọng trong sự  thành công của mọi lĩnh vực. Các thiết bị tự động được điều khiển từ xa qua một thiết bị chủ hoặc được điều khiển trực tiếp qua hệ thống máy tính.

Việc sử dụng vi điều khiển để điều khiển,lập trình  hiển thị có rất nhiều ưu điểm mà các phương pháp truyền thống như panô, áp phích không có được như việc điều chỉnh thông tin một cách nhanh chóng bằng cách thay đổi phần mềm. Với những lý do  trên, nhóm thực hiện đề tài đưa ra một cách thức nữa phục vụ thông tin là dùng quang báo giao tiếp với máy tính. Nội dung nghiên cứu của đề tài chính là tạo ra một bảng quang báo ứng dụng trong việc hiển thị truyền thông ở các nơi công cộng như công ty, nhà xưởng, các ngã tư báo hiệu…mà chúng ta có thể thay đổi thông tin một cách dễ dàng.

1.2       NỘI DUNG ĐỀ TÀI:

            Trong khoảng thời gian thực hiện đề tài,nhóm chúng em  đã thảo luận và chọn nội dung của đề tài như sau:

- Thi công bảng quang báo hiển thị kích thước 16×40 điểm ảnh.

- Tìm phương án điều khiển và xử lý dữ liệu cho bảng led ma trận hiển thị.

- Thi công mạch giao tiếp giữa máy tính và bảng quang báo.

- Viết chương trình và xử lý dữ liệu.

1.3       MỤC ĐÍCH ĐỀ TÀI:

            Trong quá trình nghiên cứu và thực hiện đề tài này nhằm giúp người học:

-  Tăng khả năng tự nghiên cứu cũng như tự học.

-  Bước đầu tiếp xúc với thực tế.

- Vận dụng những kiến thức đã có đồng thời tìm tòi những kiến thức mới để hiểu sâu sắc hơn trong lĩnh vực này.

1.4 ĐỐI TƯỢNG NGHIÊN CỨU:

- Các phương án điều khiển và xử lý dữ liệu cho bảng led ma trận.

- Tìm hiểu vi điều khiển PIC16F877A.

- Tìm hiểu phương pháp lập trình CCS cho PIC.

- Tìm hiểu phương pháp lập trình VISUAL BASIC.

- Bảng quang báo led ma trận kích thước 16x40 điểm ảnh.

1.5 LẬP KẾ HOẠCH NGHIÊN CỨU:

     Để thực hiện đề tài này nhóm sinh viên đã kết hợp sử dụng nhiều phương pháp và phương tiện hỗ trợ gồm có:

- Tham khảo tài liệu: kỹ thuật xung, kỹ thuật số, điện tử căn bản, vi điều khiển…. 

- Quan sát.

- Thực nghiệm.

- Tổng kết kinh nghiệm.

- Phương tiện:  máy vi tính, Internet, thư viện….

1.6  KẾ HOẠCH NGHIÊN CỨU :

- Tuần 1: Nhận đề tài và lập đề cương tổng quát.

             + Thu thập tài liệu và lập đề cương chi tiết.

- Tuần 2, 3, 4: Thiết kế thi công và viết báo cáo.

 

 

 

 

 

 

CHƯƠNG II

LED MA TRẬN VÀ BẢNG QUANG BÁO

          Ngày nay khi nhu cầu về thông tin quảng cáo rất lớn, việc áp dụng các phương tiện kỹ thuật mới vào các lĩnh  vực trên là rất cần thiết. Khi bạn đến các nơi công cộng, bạn dễ dàng bắt gặp những áp phích quảng cáo điện tử chạy theo các hướng khác nhau với nhiều hình ảnh và màu sắc rất ấn tượng.

2.1 Led ma trận:

          Ma trận Led bao gồm nhiều Led cùng nằm trong một vỏ chia thành nhiều cột và hàng, mỗi giao điểm giữa hàng và cột có thể là một Led( Led 1 màu) hay nhiều Led( 2 Led tại một vị trí tạo thành ma trận Led 3 màu).Để Led tại một vị trí nào đó sáng thì phải cấp hiệu điện thế dương giữa Anode và Cathode.Trên cơ sở cấu trúc như vậy, ta có thể mở rộng hàng và cột của ma trận Led để tạo thành các bảng quang báo.

          2.1.1 Phân loại led ma trận:

Theo kích cỡ

  Theo màu sắc

        Theo hình dạng điểm chấm

5x7

1 màu

Tròn       

5x8

2 màu

Vuông    

8x8

3 màu

Bầu dục  

 

 

 

 

 

 

 

Bảng 2.2   Bảng phân loại LED ma trận

 

2.1.2  Led ma trận 8x8:

          Led ma trận m×n là Led ma trận có m hàng và n cột . Led ma trận này có hai loại:

loại thứ nhất là cathode chung (common cathode – hàng cathode, cột anode), loại thứ hai là anode chung (common anode– hàng anode, cột cathode).

          Đề tài sử dụng loại Led ma trận anode chung (cathode cột) vì dễ dàng tìm mua được Led ma trận loại này trên thị trường linh kiện điện tử ở nước ta, đa dạng về kích cỡ và màu sắc, có loại indoor, outdoor.

          2.1.3 Sơ đồ nguyên lý , hình dạng thực tế và sơ đồ chân led ma trận:

          Led ma trận m x n  là ma trận có m cột và n hàng, tùy theo từng loại mà con những led một màu hay 2 màu để tạo ra màu sắc khác nhau.Bảng hiện thị ma trận LED ( dot-matran display) có rất nhiều loại và đủ kích cỡ to nhỏ khác nhau, mỗi bảng gồm có rất nhiều LED đơn được ghép lại với nhau trong một khối.

          Trong khối đó các LED đơn được sắp sếp theo các hàng va các cột, tại mỗi giao điểm của hang với cột là một LED đơn, và người ta thường phân biệt các loại bảng LED theo số hang và cột. Một bảng LED 5x7 tức là có 5 cột dọc và 7 hàng ngang, tổng cộng sẽ có 5x7=35 LED đơn được ghép lại. Cũng nhu vậy một bảng 8x8 là có 8 hàng và 8 cột, do 64 LED đơn ghép được lại. Và nhiều loại cỡ to hơn như  6x16 hay 32x32……

a1

                                    Hình 2.3 Cấu trúc kết nối của led ma trận

          Trên thị trường ta thường thấy các bảng LED cỡ lớn, dài hàng mét với đủ kích cở.  Các bảng Led đó là do hàng nghìn Led đơn ghép lại. Khi thiết kế những bảng LED to như vậy ta cần chú ý đến sự đồng điều về độ sang cùa LED để việc hiện thị được đồng điều. Bên cạnh đó vấn đề cấp nguồn cho mạch cũng cần được chú ý và thiết kế cho phù hợp. Trong đề tài này em sử dụng 10  LED 8x8 cho việc hiện thị.

led matrix                       

   

 

 

 

 

                                    Hình dạng thực tế và sơ đồ chân led ma trận 8x8

2.2 Bảng quang báo led ma trận trong đồ án:

          - Độ phân giải (số điểm ảnh):16 x 40.

          - Bảng này có khả năng hiển thị một dòng chữ cao 12 cm.

          - Hiển thị màu đỏ.

          - Dùng ngôn ngữ lập trình CCS để lập trình cho vi xử lý PIC16F877A

 

 

 

 

 

 

 

 

 

CHƯƠNG III

CÁC PHƯƠNG PHÁP HIỂN THỊ LED MA TRẬN

3.1 Phương pháp chốt :

          Hiển thị led ma trận bằng phương pháp chốt giúp cho người lập trình thay đổi cách thức quét và hiển thị một cách linh hoạt và nhanh chóng.

 

 

                        Hình 3.1: Giao tiếp led ma trận dùng phương pháp chốt.

 

          3.1.1 Chốt hàng :

          Chốt hàng là phương pháp trong một khoảng thời gian xác định chỉ có một cột được tích cực, dữ liệu được đưa ra 8 hàng rồi chốt lại, dữ liệu được hiển thị trên màn hình led ma trận.

          Sau đó dữ liệu kế tiếp được đưa ra 8 hàng và được chốt lại bởi một IC chốt khác, trong khi đó dữ liệu trước đó vẫn hiện diện tại ngõ ra của IC chốt. Như vậy dữ liệu của hàng nào được đưa ra đúng địa chỉ của hàng đó trong khi các dữ liệu của các hàng khác vẫn hiện diện trên hàng mà không bị mất đi.

         

          3.1.2 Chốt cột  :

          Chốt cột là phương pháp trong một khoảng thời gian xác định chỉ có một hàng được tích cực, dữ liệu được đưa ra 8 cột rồi chốt lại, dữ liệu được hiển thị trên màn hình led ma trận. Sau đó dữ liệu được đưa ra 8 cột kế tiếp và được chốt lại bởi một IC chốt khác, trong khi đó dữ liệu trước đó vẫn hiện diện tại ngõ ra của IC chốt (dữ liệu vẫn hiện diện tại các cột). Như vậy dữ liệu của cột nào được đưa ra đúng địa chỉ của cột đó trong khi các dữ liệu của các cột khác vẫn hiện diện trên cột mà không bị mất đi.

          3.1.3 Ưu , nhược điểm của phương pháp dùng IC chốt:

          * Ưu điểm:

          - Mở rộng số hàng, số cột của bảng quang báo.

          - Dữ liệu được truyền đi nhanh.

          - Chuyển đổi cách quét hàng, cột một cách linh hoạt.

          * Nhược điểm:

          - Tạo bảng mã khó khăn.

          - Khó khăn trong việc lập trình xuất dữ liệu ra.

          3.2 Phương pháp sử dụng thanh ghi dịch:

          3.2.1 Quét cột  :

          a) Giới thiệu chung về phương pháp quét cột :

          Phương pháp quét cột là phương pháp mà trong một khoảng thời gian xác định chỉ cho một cột được tích cực hiển thị trong khi các cột khác đều tắt, các cột được quét (tích cực) tuần tự ở các khoảng thời gian kế tiếp nhau được lặp lại nhiều lần với tốc độ > 24 hình/1s sẽ cho ta một hình ảnh liên tục cần hiển thị lên trên màn hình led ma trận.

          b) Quá trình thực hiện quét cột :

          Dữ liệu của cột thứ nhất được đưa ra hàng sau đó tích cực cột thứ nhất như vậy dữ liệu của cột thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữ liệu của cột thứ hai được đưa ra hàng sau đó tích cực cột thứ hai lúc này dữ liệu của hàng thứ hai được hiển thị trên man hình led ma trận, cứ như vậy cho đến dữ liệu của cột cuối cùng được đưa ra hàng sau đó tích cực cột cuối cùng. Cứ như thế quá trình trên được lặp đi lặp lại > 24lần/1s, đến đây chúng ta quan sát được một hình ảnh liên tục hiển thị trên màn hình led ma trận.

          Ví dụ:

          Hiển thị chữ A lên màn hình Led ma trận (hàng được tích cực ở mức 1, cột được tích cực ở mức 0).

 

 

 

 

 

 

 

            Hiển thị chữ A trên led ma trận dùng phương pháp quét cột

    

          Quá trình đưa dữ liệu ra hàng và cột được tiến hành đồng thời với các giá trị theo bảng dưới đây:

 

Dữ liệu đưa vào các hàng

H8H7H6H5H4H3H2H1

Cột được chọn tích cực

(mức 0)

Dữ liệu thứ nhất

11111000

C1

Dữ liệu thứ 2

00100100

C2

Dữ liệu thứ 3

00100010

C3

Dữ liệu thứ 4

00100100

C4

Dữ liệu thứ 5

11111000

C5

Dữ liệu thứ 6

00000000

C6

Dữ liệu thứ 7

00000000

C7

Dữ liệu thứ 8

00000000

C8

 

            Như vậy toàn bộ dữ liệu của chữ A đã được đưa ra hiển thị trên màn hình Led ma trận. Quá trình trên được diễn ra rất nhanh > 24lần/s nên chúng ta có cảm giác nó diễn ra một cách đồng thời, nhờ đó chúng ta quan sát được trên màn hình Led ma trậnlà một chữ A liên tục.

          Phương pháp quét cột thích hợp cho các bảng quang báo sử dụng Led ma trậncó số lượng cột ít hơn số lượng hàng, vì thời gian sáng của LED khi quét cột  lớn hơn thời gian sáng của LED khi quét hàng. Như vậy điện áp nguồn cung cấp được sử dụng trong quét cột  nhỏ hơn  điện áp nguồn cung cấp sử dụng trong quét hàng. Trong phương pháp quét cột việc đưa dữ liệu ra hàng và tạo bảng mã là khá dễ dàng cho người lập trình.

           

          3.2.2 Quét hàng :

         

          a) Giới thiệu chung về phương pháp quét hàng:

          Quét hàng là phương pháp mà trong một khoảng thời gian xác định chỉ cho một hàng được tích cực hiển thị trong khi các hàng khác đều tắt, các hàng được quét (tích cực) tuần tự ở các khoảng thời gian kế tiếp nhau được lặp lại nhiều lần với tốc độ > 24hình /1s sẽ cho ta một hình ảnh liên tục cần hiển thị lên trên màn hình led ma trận.

          b) Quá trình thực hiện quét hàng:

          Quét hàng sử dụng thanh ghi dịch là tương đối phức tạp cho người lập trình trong việc đưa dữ liệu ra cột. Dữ liệu lần lượt được đưa vào chân Datain của thanh ghi dịch sau đó tác động xung clock dữ liệu đươc dịch đi.Dữ liệu của hàng thứ nhất được đưa ra cột sau đó tích cực hàng thứ nhất, như vậy dữ liệu của hàng thứ nhất được hiển thị trên màn hình led ma trận, tiếp tục dữ liệu của hàng thứ hai được đưa ra cột sau đó tích cực hàng thứ hai lúc này dữ liệu của hàng thứ hai được hiển thị trên màn hình led ma trận, cứ như vậy cho đến dữ liệu của hàng cuối cùng được đưa ra cột sau đó tích cực hàng cuối cùng. Cứ như  thế quá trình trên được lặp đi lặp lại > 24lần/1s, đến đây chúng ta quan sát được một hình ảnh liên tục hiển thị trên màn hình led ma trận.

            Ví dụ :

            Hiển thị chữ A lên màn hình Led ma trận (hàng được tích cực ở mức 1, cột được tích cực ở mức 0).

 

 

 

 

 

 

 

Hiển thị chữ A  trên led ma trận dùng phương pháp quét hàng

Quá trình đưa dữ liệu ra hàng và cột được tiến hành đồng thời với các giá trị theo bảng dưới đây:   

 

Dữ liệu đưa vào các cột

C8C7C6C5C4C3C2C1

Hàng được chọn tích cực

(mức 1)

Dữ liệu thứ nhất

11111111

H1

Dữ liệu thứ 2

11111011

H2

Dữ liệu thứ 3

11110101

H3

Dữ liệu thứ 4

11101110

H4

Dữ liệu thứ 5

11101110

H5

Dữ liệu thứ 6

11100000

H6

Dữ liệu thứ 7

11101110

H7

Dữ liệu thứ 8

11101110

H8

 

          Như vậy toàn bộ dữ liệu của chữ A đã được đưa ra hiển thị trên màn hình Led ma trận. Quá trình trên được diễn ra rất nhanh > 24lần/s nên chúng ta có cảm giác nó diễn ra một cách đồng thời, nhờ đó mà chúng ta quan sát được trên màn hình Led ma trận là một chữ A liên tục.

          Phương pháp quét hàng thích hợp cho các bảng quang báo sử dụng Led ma trận có số lượng hàng nhỏ hơn số lượng cột, vì thời gian sáng của Led khi quét hàng lâu hơn thời gian sáng của Led khi quét cột. Như vậy điện áp nguồn cung cấp được sử dụng trong quét hàng nhỏ hơn điện áp nguồn cung cấp sử dụng trong quét cột. Tuy nhiên trong phương pháp quét hàng thì việc đưa dữ liệu ra cột và tạo bảng mã là khó khăn hơn trong phương pháp quét cột.

         

 

 

          3.2.3 Ưu nhược điểm của phương pháp hiển thị dùng thanh ghi dịch:

          * Ưu điểm:

          - Tiết kiệm đường truyền, hiệu quả kinh tế.

          - Tiết kiệm chân PORT.

           - Truyền dữ liệu đi xa hơn.

          - Mở rộng bảng ma trận lên một cách dễ dàng.

          * Nhược điểm:

          - Tốn thời gian để thực hiện việc truyền dữ liệu đến các cột.

          - Chuyển đổi không linh hoạt bằng sử dụng phương pháp chốt.

          - Lập trình khó khăn hơn khi sử dụng phương pháp quét hàng.

          3.3 MẠCH QUANG BÁO SỬ DỤNG TRONG ĐỒ ÁN:

           Do mạch quang báo trong đồ án được thiết kế với độ phân giải 16x40 (16 hàng, 40cột ) nên chọn phương pháp quét hàng để đảm bảo cho hình ảnh hiển thị được liên tục và sắc nét.

 

 

 

 

 

 

 

 

 

 

 

CHƯƠNG IV

TỔNG QUANG VỀ VI ĐIỀU KHIỂN

4.1 Giới thiệu khái quát về Vi điều khiển PIC :

           PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều khiển đầu tiên của họ: PIC1650 được thiết kế   để dùng làm các thiết bị ngoại vi cho vi điều khiển CPU1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng vi điều khiển PIC ngày nay.

          4.1.1 Sự phổ biến của vi điều khiển PIC :Trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC, AVR, ARM... Tuy nhiên, hiện nay PIC đang được sử dụng rộng rãi ở Việt Nam vì những nguyên nhân sau:

          - Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam.

          - Giá thành không quá đắt.

          - Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập.

           - Là sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển        mang tính truyền thống: họ vi điều khiển 8051.

          - Hiện nay tại Việt Nam cũng như trên thế giới, PIC được sử dụng khá rộng rãi.

          4.1.2 Kiển trúc  PIC :

          Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến trúc: kiến trúc Von-Neumann và kiến trúc Harvard.      

 

 

 

 

Kiến trúc Harvard và kiến trúc Von-Neuman

     Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Harvard. Điểm khác biệt giữa kiến trúc Harvard và kiến trúc Von-Neumann là cấu trúc bộ nhớ dữ liệu và bộ nhớ chương trình.

          Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm chung trong một bộ nhớ, do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ chương trình và bộ nhớ dữ liệu.Như vậy có thể nói kiến trúc Von-Neumann không thích hợp với cấu trúc của một vi điều khiển.

          Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai bộ nhớ riêng biệt. Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể. Ví dụ, đối với vi điều khiển dòng 16Fxxx, độ dài lệnh luôn là 14 bit,còn đối với kiến trúc Von-Neumann, độ dài lệnh luôn là bội số của 1 byte.

          4.1.3 RISC và CISC :

          Như đã trình bày ở trên, kiến trúc Harvard là khái niệm mới hơn so với kiến trúc Von-Neumann. Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một vi điều khiển. Qua  việc  tách  rời  bộ  nhớ  chương  trình  và  bộ  nhớ  dữ liệu, bus chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương trình và bộ nhớ dữ liệu, giúp tăng tốc độ xử lí của vi điều khiển lên gấp đôi. Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh của họ vi điều khiển PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ 16Fxxxx chiều dài mã lệnh luôn là 14 bit) và cho phép thực thi lệnh trong một chu kì của xung clock ( ngoại trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trình con … cần hai chu kì xung đồng hồ).Vi điều khiển được tổ chức theo kiến trúc Harvard còn được gọi là vi điều khiển RISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn. Vi điều khiển được thiết kế theo kiến trúc Von-Neuman còn được gọi là vi điều khiển CISC (Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì mã lệnh của nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte).

          4.1.4 PIPELINING :

          Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC. Một chu kì lệnh của vi điều khiển sẽ bao gồm 4 xung clock. Ví dụ ta sử dụng oscillator có tần số 4 MHZ, thì xung lệnh sẽ có tần số 1 MHz (chu kì lệnh sẽ là 1 us). Giả sử ta có một đoạn chương trình như sau:

 

            1. MOVLW     55h

            2. MOVWF     PORTB

            3. CALL          SUB_1

            4. BSF PORTA,BIT3

            5. INTRUCTION @ ADDRESS SUB_1

          4.1.5  Các dòng  PIC và cách lựa chọn  PIC :

          * Các kí hiệu của vi điều khiển PIC:

          - PIC12xxxx: độ dài lệnh 12 bit.

          - PIC16xxxx: độ dài lệnh 14 bit.

          -PIC 18xxxx:độ dài lệnh 16 bit.      

          - C:  PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM).           

          - F:  PIC có bộ nhớ flash .     

          - LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp LV: tương tự như LF, đây là kí    hiệu cũ.         

          Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F877A là flash).Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC.     

          *Cách lựa chọn PIC:                                   

           Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng. Có nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có 8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44 … chân.                           

          Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình được nhiều lần hơn. Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn trong vi điều khiển, các chuẩn giao tiếp bên trong. Sau cùng cần chú ý đến bộ nhớ chương trình mà vi điều khiển cho phép.

 

 

          4.1.6 Ngôn ngữ lập trình :   

           Ngôn ngữ lập trình cho PIC rất đa dạng. Ngôn ngữ lập trình cấp thấp có MPLAB (được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập trình cấp cao hơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được phát triển dành riêng cho PIC như PICBasic, MikroBasic…

          4.2 Giới thiệu về PIC16F877A:

            4.2.1 Hình dạng và sơ đồ chân :

   

            Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân

          4.2.2 Một vài thông số về PIC 16F877A:

          Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit. Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tốc độ hoạt động tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 byte. Số PORT I/O là 5 với 33 pin I/O.

          Các đặc tính ngoại vi bao gồm các khối chức năng sau:

           - Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.

          - Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa vào            xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.

           -Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.

          - Hai bộ Capture/so sánh/điều chế độ rông xung.

          - Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.      

          - Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.

          - Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD,     WR, CS ở bên ngoài.

          Các đặc tính Analog: 

          - 8 kênh chuyển đổi ADC 10 bit.    

          - Hai bộ so sánh.

          Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:    

          - Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.  

          - Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.   

           - Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.   

          - Khả năng tự nạp chương trình với sự điều khiển của phần mềm.        

          - Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming)

            thông qua 2 chân.

          - Watchdog Timer với bộ dao động trong.

          - Chức năng bảo mật mã chương trình.

- Chế độ Sleep.

- Có thể hoạt động với nhiều dạng Oscillator khác nhau.

 

 

 

 

 

          4.2.3 Sơn đổ khối của PIC16F877A:

                      Sơ đồ khối vi điều khiển PIC16F877A.

         

          4.2.4. Tổ chức bộ nhớ :

          Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trình (Program memory) và bộ nhớ dữ liệu (Data Memory).

          * Bộ nhớ chương trình:

          Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page 3) . Như vậy bộ nhớ chương trình có khả năng chứa được 8*1024 = 8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit).Khi vi điều khiển được reset, bộ đếm chương trình sẽ chỉ đến địa chỉ 0000h (Reset vector). Khi có ngắt xảy ra, bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h (Interrupt vector). Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình.

          * Bộ nhớ dữ liệu:

          Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làm nhiều bank. Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank. Mỗi bank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank. Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghi STATUS) sẽ được đặt ở tất cà các bank của bộ nhớ dữ liệu giúp thuận tiện trong quá trình truy xuất và làm giảm bớt lệnh của chương trình. Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau:

 

 

 

 

                                    Sơ đồ bộ nhớ dữ liệu của PIC16F877A

 

            ** Thanh ghi chức năng đặc biệt  SFR:

          Đây là các thanh ghi được sử dụng bởi CPU hoặc được dùng để thiết lập và điều khiển các khối chức năng được tích hợp bên trong vi điều khiển. Có thể phân thanh ghi SFR làm hai lọai: thanh ghi SFR liên quan đến các chức năng bên trong (CPU) và thanh ghi SRF dùng để thiết lập và điều khiển các khối chức năng bên ngoài (ví dụ như ADC, PWM …).

          Thanh ghi STATUS (03h, 83h, 103h, 183h):thanh ghi chứa kết quả thực hiện phép toán của khối ALU, trạng thái reset và các bit chọn bank cần truy xuất trong bộ nhớ dữ liệu.

          Thanh ghi OPTION_REG (81h, 181h): thanh ghi này cho phép đọc và ghi, cho phép điều khiển chức năng pull-up của các chân trong PORTB, xác lập các tham số về xung tác động, cạnh tác động của ngắt ngoại vi và bộ đếm Timer0.

           Thanh ghi INTCON (0Bh, 8Bh,10Bh, 18Bh):thanh ghi cho phép đọc và ghi, chứa các bit điều khiển và các bit cờ hiệu khi timer0 bị tràn, ngắt ngoại vi RB0/INT và ngắt interrputon- change tại các chân của PORTB.

          Thanh ghi PIE1 (8Ch): chứa các bit điều khiển chi tiết các ngắt của các khối chức năng ngoại vi.

          Thanh ghi PIR1 (0Ch) chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1.

          Thanh ghi PIE2 (8Dh): chứa các bit điều khiển các ngắt của các khối chức năng CCP2, SSP bus, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM.

          Thanh ghi PIR2 (0Dh): chứa các cờ ngắt của các khối chức năng ngoại vi, các ngắt này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2.

          Thanh ghi PCON (8Eh): chứa các cờ hiệu cho biết trạng thái các chế độ reset của vi điều khiển.

          ** Thanh ghi mục dích  GPR:

          Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông qua thanh ghi FSG (File Select Register). Đây là các thanh ghi dữ liệu thông thường, người sử dụng có thể tùy theo mục đích chương trình mà có thể dùng các thanh ghi này để chứa các biến số, hằng số, kết quả hoặc các tham số phục vụ cho chương trình.

          * Stack:

          Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là một vùng nhớ đặc biệt không cho phép đọc hay ghi.

            Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8 địa chỉ và hoạt động theo cơ chế xoay vòng. Nghĩa là giá trị cất vào bộ nhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị cất vào Stack lần thứ 2.

          Cần chú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta không biết được khi nào stack tràn. Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng không có lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được điều khiển bởi CPU.

          4.2.5. Các cổng xuất nhập của PIC16F877A :

          Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tác với thế giới bên ngoài. Bên cạnh đó, do vi điều khiển được tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng là cổng xuất nhập thông thường, một số chân xuất nhập còn có thêm các chức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối với thế giới bên ngoài.

          Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE.

          *PORT A:

          PORTA (RPA) bao gồm 6 I/O pin. Đây là các chân “hai chiều” (bidirectional pin), nghĩa là có thể xuất và nhập được. Chức năng I/O này được điều khiển bởi thanh ghi TRISA (địa chỉ 85h). Muốn xác lập chức năng của một chân trong PORTA là input, ta “set” bit điều khiển tương ứng với chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong PORTA là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghi TRIS.Bên cạnh đó PORTA còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port).

          Các thanh ghi SFR liên quan đến PORTA bao gồm:

          - PORTA (địa chỉ 05h) : chứa giá trị các pin trong PORTA.       

          - TRISA (địa chỉ 85h) : điều khiển xuất nhập.      

          - CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh.

          - CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp.

          - ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC.

          * PORT B:      

          PORTB (RPB) gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISB. Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau. PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0. PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình.

          Các thanh ghi SFR liên quan đến PORTB bao gồm:

          - PORTB (địa chỉ 06h,106h) : chứa giá trị các pin trong PORTB           

          - TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập

          - OPTION_REG (địa chỉ 81h,181h) : điều khiển ngắt ngoại vi và bộ Timer0.

          * PORT C:     

          PORTC (RPC) gồm 8 pin I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISC. Bên cạnh đó PORTC còn chứa các chân chức năng của bộ so sánh, bộ Timer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART.

          Các thanh ghi điều khiển liên quan đến PORTC:

          - PORTC (địa chỉ 07h) : chứa giá trị các pin trong PORTC

          - TRISC (địa chỉ 87h) : điều khiển xuất nhập.

          * PORT D:     

          PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISD. PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port).

           Các thanh ghi liên quan đến PORTD bao gồm:

           - Thanh ghi PORTD : chứa giá trị các pin trong PORTD.

          - Thanh ghi TRISD : điều khiển xuất nhập.           

          * PORT E:

          PORTE (RPE) gồm 3 chân I/O. Thanh ghi điều khiển xuất nhập tương ứng là TRISE. Các chân của PORTE có ngõ vào analog. Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP.

          Các thanh ghi liên quan đến PORTE bao gồm:

          - PORTE : chứa giá trị các chân trong PORTE.

          - TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp PSP.

          - ADCON1 : thanh ghi điều khiển khối ADC.

          4.2.6. TIMER :

          * TIMER 0:Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F877A. Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần số (prescaler) 8 bit. Cấu trúc của Timer0 cho phép ta lựa chọn xung clock tác động và cạnh tích cực của xungclock.        Muốn Timer0 hoạt động ở chế độ Timer ta clear bit TOSC (OPTION_REG<5>), khi đó giá trị thanh ghi TMR0 sẽ tăng theo từng chu kì xung đồng hồ (tần số vào Timer0 bằng ¼tần số oscillator). Khi giá trị thanh ghi TMR0 từ FFh trở về 00h, ngắt Timer0 sẽ xuất hiện. Thanh ghi TMR0 cho phép ghi và xóa được giúp ta ấn định thời điểm ngắt Timer0 xuất hiện một cách linh động. Muốn Timer0 hoạt động ở chế độ counter ta set bit TOSC (OPTION_REG<5>). Khi đó xung tác động lên bộ đếm được lấy từ chân RA4/TOCK1. Bit TOSE (OPTION_REG<4>) cho phép lựa chọn cạnh tác động vào bột đếm. Cạnh tác động sẽ là cạnh lên nếu TOSE=0 và cạnh tác động sẽ là cạnh xuống nếu TOSE=1. Khi thanh ghi TMR0 bị tràn, bit TMR0IF (INTCON<2>) sẽ được set. Đây chính là cờ ngắt của Timer0. Cờ ngắt này phải được xóa bằng chương trình trước khi bộ đếm bắt đầu thực hiện lại quá trình đếm. Ngắt Timer0 không thể “đánh thức” vi điều khiển từ chế độ sleep.

          Các lệnh tác động lên giá trị thanh ghi TMR0 sẽ xóa chế độ hoạt động của prescaler.

            Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:

          - TMR0 (địa chỉ 01h, 101h) : chứa giá trị đếm của Timer0.        

          - INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và PEIE).

          - OPTION_REG (địa chỉ 81h, 181h): điều khiển prescaler.

          *TIMER 1:

          Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi (TMR1H:TMR1L). Cờ ngắt của Timer1 là bit TMR1IF (PIR1<0>). Bit điều khiển của Timer1 sẽ là TMR1IE (PIE<0>). Tương tự như Timer0, Timer1 cũng có hai chế độ hoạt động: chế độ định thời (timer) với xung kích là xung clock của oscillator (tần số của timer bằng ¼ tần số của oscillator) và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cần đếm lấy từ bên ngoài thông qua chân RC0/T1OSO/T1CKI (cạnh tác động là cạnh lên). Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động là timer hay counter) được điều khiển bởi bit TMR1CS (T1CON<1>). Sau đây là sơ đồ khối của Timer1:

                                    Sơ đồ khối của Timer1

Các thanh ghi liên quan đến Timer1 bao gồm:

          - INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và            PEIE).

          - PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF).

          - PIE1( địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE).  

          - TMR1L (địa chỉ 0Eh): chứa giá trị 8 bit thấp của bộ đếm Timer1.      

          - TMR1H (địa chỉ 0Eh): chứa giá trị 8 bit cao của bộ đếm Timer1.

          - T1CON (địa chỉ 10h): xác lập các thông số cho Timer1.          

          *TIMER 2:

          Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler và postscaler. Thanh ghi chứa giá trị đếm của Timer2 là TMR2. Bit cho phép ngắt Timer2 tác động là TMR2ON (T2CON<2>). Cờ ngắt của Timer2 là bit TMR2IF (PIR1<1>). Xung ngõ vào (tần số bằng ¼ tần số oscillator) được đưa qua bộ chia tần số prescaler 4 bit (với các tỉ số chia tần số là 1:1, 1:4 hoặc 1:16 và được điều khiển bởi các bit T2CKPS1:T2CKPS0 (T2CON<1:0>)).

     

                                                Sơ đồ khối của Timer 2

          Ngoài ra ngõ ra của Timer2 còn được kết nối với khối SSP, do đó Timer2 còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP.

          Các thanh ghi liên quan đến Timer2 bao gồm:

          - INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép toàn bộ các ngắt (GIE và                     PEIE).

          - PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer2 (TMR2IF).

          - PIE1 (địa chị 8Ch): chứa bit điều khiển Timer2 (TMR2IE).

          - TMR2 (địa chỉ 11h): chứa giá trị đếm của Timer2.

          - T2CON (địa chỉ 12h): xác lập các thông số cho Timer2.

          - PR2 (địa chỉ 92h): thanh ghi hỗ trợ cho Timer2.

            4.2.7. ADC:

          ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạng tương tự và số. PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0). Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điện thể chuẩn được xác lập trên hai chân RA2 và RA3. Kết quả chuyển đổi từ tín tiệu tương tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong hai thanh ghi ADRESH:ADRESL.

          Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm:       

          - INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép các ngắt (các bit GIE, PEIE).

          - PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD (bit ADIF).           

          - PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE).     

          - ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghi chứa kết quả        chuyển đổi AD.

          - ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông số cho bộ     chuyển đổi AD.         

          - PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõ vào analog ở             PORTA.

          - PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõ vào analog ở PORTE.

          4.2.8 Giao tiếp nối tiếp :      

          USART (Universal Synchronous Asynchronous Receiver Transmitter) là một trong hai chuẩn giao tiếp nối tiếp.USART còn được gọi là giao diện giao tiếp nối tiếp SCI(Serial Communication Interface). Có thể sử dụng giao diện này cho các giao tiếp với các thiết bị ngoại vi, với các vi điều khiển khác hay với máy tính. Các dạng của giao diện USART ngoại vi bao gồm:

          - Bất động bộ (Asynchronous).       

          - Đồng bộ_ Master mode.     

          - Đồng bộ_ Slave mode.       

          PIC16F877A được tích hợp sẵn bộ tạo tốc độ baud BRG (Baud Rate Genetator) 8 bit dùng cho giao diện USART. BRG thực chất là một bộ đếm có thể được sử dụng cho cả hai dạng đồng bộ và bất đồng bộ và được điều khiển bởi thanh ghi PSBRG. Ở dạng bất đồng bộ, BRG còn được điều khiển bởi bit BRGH ( TXSTA<2>). Ở dạng đồng bộ tác động của bit BRGH được bỏ qua. Tốc độ baud do BRG tạo ra được tính theo công thức sau:

          Trong đó X là giá trị của thanh ghi RSBRG ( X là số nguyên và 0<X<255).

          Các thanh ghi liên quan đến BRG bao gồm:

          - TXSTA (địa chỉ 98h): chọn chế độ đồng bộ hay bất đồng bộ ( bit SYNC) và chọn mức tốc độ baud (bit BRGH).  

          - RCSTA (địa chỉ 18h): cho phép hoạt động cổng nối tiếp (bit SPEN).

          - RSBRG (địa chỉ 99h): quyết định tốc độ baud.  

          * USART bất đồng bộ: Ở chế độ truyền này USART hoạt động theo chuẩn NRZ (None-Return-to-Zero), nghĩa là các bit truyền đi sẽ bao gồm 1 bit Start, 8 hay 9 bit dữ liệu (thông thường là 8 bit) và 1 bit Stop. Bit LSB sẽ được truyền đi trước. Các khối truyền và nhận data độc lập với nhau sẽ dùng chung tần số tương ứng với tốc độ baud cho quá trình dịch dữ liệu (tốc độ baud gấp 16 hay 64 lần tốc độ dịch dữ liệu tùy theo giá trị của bit BRGH), và để đảm bảo tính hiệu quả của dữ liệu thì hai khối truyền và nhận phải dùng chung một định dạng dữ liệu.

          Các thanh ghi liên quan đến quá trình truyền dữ liệu bằng giao diện USART bất đồng bộ:

          - Thanh ghi INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép tất cả các ngắt

          - Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF.

          - Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE.

          - Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu (hai pin

            RC6/TX/CK và RC7/RX/DT).

          - Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền.

          - Thanh ghi TXSTA (địa chỉ 98h): xác lập các thông số cho giao diện.

          - Thanh ghi SPBRG (địa chỉ 99h): quyết định tốc độ baud.

          * USART đồng bộ: Giao diện USART đồng bộ được kích hoạt bằng cách set bit SYNC. Cổng giao tiếp nối tiếp vẫn là hai chân RC7/RX/DT, RC6/TX/CK và được cho phép bằng cách set bit SPEN. USART cho phép hai chế độ truyền nhận dữ liệu là Master mode và Slave mode. Master mode được kích hoạt bằng cách set bit CSRC (TXSTA<7>), Slave mode được kích hoạt bằng cách clear bit CSRC. Điểm khác biệt duy nhất giữa hai chế độ này là Master mode sẽ lấy xung clock đồng bộ từ bộ tao xung baud BRG còn Slave mode lấy xung clock đồng bộ từ bên ngoài qua chân RC6/TX/CK. Điều này cho phép Slave mode hoạt động ngay cả khi vi điều khiển đang ở chế độ sleep.

          Các thanh ghi liên quan đến quá trình truyền dữ liệu bằng giao diện USART đồng bộ Master mode:

          - Thanh ghi INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép tất cả các ngắt.

          - Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF.

          - Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE.

          - Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu (hai pin     RC6/TX/CK và RC7/RX/DT).

          - Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền.

          - Thanh ghi TXSTA (địa chỉ 98h): xác lập các thông số cho giao diện.

          - Thanh ghi SPBRG (địa chỉ 99h): quyết định tốc độ baud.        

          4.2.9  CỔNG GIAO TIẾP SONG SONG PSP (PARALLEL SLAVE PORT)

            Ngoài các cổng nối tiếp và các giao điện nối tiếp được trình bày ở phần trên, vi điều khiển pic16F877A còn được hỗ trợ một cổng giao tiếp song song và chuẩn giao tiếp song song thông qua portd và porte. do cổng song song chỉ hoạt động ở chế độ slave mode nên vi điều khiển khi giao tiếp qua giao diện này sẽ chịu sự điều khiển của thiết bị bên ngoài

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

thông qua các pin của porte, trong khi dữ liệu sẽ được đọc hoặc ghi theo dạng bất đồng bộ thông qua 8 pin của portd.

          Các thanh ghi liên quan đến psp bao gồm:

          - Thanh ghi portd (địa chỉ 08h): chứa dữ liệu cần đọc hoặc ghi.           

          - Thanh ghi porte (địa chỉ 09h): chứa giá trị các pin porte.        

          - Thanh ghi trise (địa chỉ 89h): chứa các bit điều khiển porte và psp.

          - Thanh ghi pir1 (địa chỉ 0ch): chứa cờ ngắt pspif.

           - Thanh ghi pie1 (địa chỉ 8ch): chứa bit cho phép ngắt psp.

          - Thanh ghi adcon1 (địa chỉ 9fh): điều khiển khối adc tại porte.

          4.2.10 Các đặc tính của OSCILLATOR:

          Pic16F877A có khả năng sử dụng một trong 4 loại oscillator, đó là:    

          - LP: (low power crystal).     

          - XT: thạch anh bình thường.           

          - HS: (high-speed crystal).   

          - RC: (resistor/capacitor) dao động do mạch RC tạo ra. đối với các loại oscillator lp, hs, xt, Oscillator được gắn vào vi điều khiển thông qua các pin osc1/clki và Osc2/Clko. Các linh kiện sử dụng cho mạch RC  oscillator phải bảo đảm các giá trị sau: 3 k < rext < 100 k ; cext >20 pf       

          4.2.11 Các chế độ RESET:  

          Có nhiều chế độ reset vi điều khiển, bao gồm:     

          - Power-on Reset POR (Reset khi cấp nguồn hoạt động cho vi điều khiển).

          - Reset trong quá trình hoạt động.

          - Từ chế độ sleep.      

          - WDT reset (reset do khối WDT tạo ra trong quá trình hoạt động).

          - WDT wake up từ chế độ sleep.

          - Brown-out reset (BOR).

          - Power-on reset (POR): Đây là xung reset do vi điều khiển tạo ra khi phát hiện nguồn cung cấp VDD.Nếu các tham số này không được đảm bảo, xung reset do POR tạo ra sẽ đưa vi điều khiển về trạng thái reset và chỉ tiếp tục hoạt động khi nào các tham số trên được đảm bảo.

          - Power-up Timer (PWRT): đây là bộ định thời hoạt động dựa vào mạch RC bên trong vi điều khiển. Khi PWRT được kích hoạt, vi điều khiển sẽ được đưa về trạng thái reset. PWRT sẽ tạo ra một khoảng thời gian delay (khoảng 72 ms) để VDD tăng đến giá trị thích hợp.

          - Oscillator Start-up Timer (OST): OST cung cấp một khoảng thời gian delay bằng 1024 chu kì xung của oscillator sau khi PWRT ngưng tác động (vi điều khiển đã đủ điều kiện hoạt động) để đảm bảo sự ổn định của xung do oscillator phát ra. Tác động của OST còn xảy ra đối với POR reset và khi vi điều khiển được đánh thức từ chế đợ sleep. OST chỉ tác động đối với các lọai oscillator là XT, HS và LP.

          - Brown-out reset (BOR): Nếu VDD hạ xuống thấp hơn giá trị VBOR (khoảng 4V) và kéo dài trong khoảng thời gian lớn hơn TBOR (khoảng 100 us), BOR được kích hoạt và vi điều khiển được đưa về trạng thái BOR reset.Nếu trong khoảng thời gian này điện áp cung cấp cho vi điều khiển lại tiếp tục hạ xuống dưới mức điện áp VBOR, BOR reset sẽ lại được kích hoạt khi vi điều khiển đủ điện áp hoạt động. Một điểm cần chú ý là khi BOR reset được cho phép, PWRT cũng sẽ hoạt động bất chấp trạng thái của bit PWRT.

          Tóm lại để vi điều khiển hoạt động được từ khi cấp nguồn cần trải qua các bước sau:

          - POR tác động.

          - PWRT (nếu được cho phép hoạt động) tạo ra khoảng thời gian delay TPWRT để ổn định nguồn cung cấp.

          - OST (nếu được cho phép) tạo ra khoảng thời gian delay bằng 1024 chu kì xung của oscillator để ổn định tần số của oscillator.

          Đến thời điểm này vi điều khiển mới bắt đầu hoạt động bình thường. Thanh ghi điều khiển và chỉ thị trạng thái nguồn cung cấp cho vi điều khiển là thanh ghi PCON

                        Sơ đồ các chế độ reset của PIC16F877A

          4.2.12  Ngắt:

          PIC16F877A có đến 15 nguồn tạo ra hoạt động ngắt được điều khiển bởi thanh ghi INTCON (bit GIE). Bên cạnh đó mỗi ngắt còn có một bit điều khiển và cờ ngắt riêng. Các cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xảy ra bất chấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuôc vào bit GIE và các bit điều khiển khác. Bit điều khiển ngắt RB0/INT và TMR0 nằm trong thanh ghi INTCON, thanh ghi này còn chứa bit cho phép các ngắt ngoại vi PEIE. Bit điều khiển các ngắt nằm trong thanh ghi PIE1 và PIE2. Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2.

          Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chương trình ngắt được kết thúc bằng lệnh RETFIE. Khi chương trình ngắt được thực thi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương trình chính được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h. Lệnh RETFIE được dùng để thoát khỏi chương trình ngắt và quay trở về chương trình chính, đồng thời bit GIE cũng sẽ được  set    để  cho phép các ngắt hoạt động trở lại. Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy ra và phải được xóa bằng chương trình trước khi cho phép ngắt tiếp tục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo mà ngắt xảy ra.

          Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạng thái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm xảy ra ngắt.

          Cần chú ý là trong quá trình thực thi ngắt, chỉ có giá trị của bộ đếm chương trình được cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ không được cất và có thể bị thay đổi giá trị trong quá trình thực thi chương trình ngắt. Điều này nên được xử lí bằng chương trình để tránh hiện tượng trên xảy ra.

Sơ đồ logic của tất cả các ngắt trong vi điều khiển PIC16F877A.

CHƯƠNG V

KHẢO SÁT LINH KIỆN

5.1  IC 74HC595 :

          IC 74HC595 cũng là  thanh ghi dịch dùng để giải mã cột, hàng led ma trận, chức năng các chân tương tự như IC TPIC6B595, chỉ khác nhau ở sơ đồ chân và IC 74HC595 không có đệm dòng ở ngõ ra.

          5.1.1 Chức năng các chân của IC 74HC595 :

          - Chân DATA-IN (14) để đưa dữ liệu nối tiếp vào.

          - Chân CLK (11) đưa xung đồng hồ.                                                                                                            -Chân LATCH(12) để chốt dữ liệu được gửi ra.8

           đầu ra được nối đến 8 hàng của Led thông qua mạch                  đệm  dòng (QA,QB,QB,QC,QD,QE,QF,QH)

          - VCC và GND : chân cấp nguồn cho IC    

          - Chân QH’ chân dùng để mở rộng nếu có ghép hơn        74HC595                                                                                                                                                                               Sơ đồ chân IC 74HC595

          5.1.2  Nguyên lý hoạt động của IC 74HC595:

          Cho 1 bit vào SERIAL DATA INPUT và tác động vào chân SHIFT CLOCK, bít dữ liệu (1) sẽ được đặt sẳn ở ngõ ra QA của 74HC595, tiếp tục đưa vào bít (2) và tác động vào SHIFT CLOCK thì bít dữ liệu (1) sẽ đặt sẳn ở ngõ ra QB, bít dữ liệu (2) sẽ được đặt

sẳn ở ngỏ ra QA, tương tư đến bít cuối cùng. Chú ý là dữ liệu chỉ được chuẩn bị sẳn ở các ngõ ra và chỉ được xuất ra khi tác động vào chân LATCH CLOCK. Bạn có thể xuất dữ liệu bất cứ lúc nào không phải cần chuẩn bị đến bít cuối cùng.

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

MSComm1.Settings = " 9600 , n , 8 , 1"

MSComm1.RThreshold = 1

MSComm1.PortOpen = True

End If

cmd_1.Visible = False

End Sub

Private Sub cmd_2_Click()

MSComm1.Output = txt_2.Text

End Sub

Private Sub cmd_3_Click()

MSComm1.Output = "D"

End

End Sub

Private Sub Timer1_Timer()

lbl_1.Caption = Mid(lbl_1.Caption, 2) & Left(lbl_1.Caption, 1)

End Sub

Private Sub Form_Load()

lbl_1.Caption = " TRUONG CAO DANG KY THUAT CAO THANG  "

Timer1.Enabled = True

Timer1.Interval = 200

End Sub

CHƯƠNG VIII

TỔNG KẾT

         

          Sau thời gian  thực hiện với nhiều cố gắng và nổ lực của bản thân cùng với sự tận tình hướng dẫn của thầy NGUYỄN HỮU PHƯỚC,nhóm chúng em đã nghiên cứu, tìm hiểu những vấn đế về vi điều khiển, vi xử lí, truyền thông nối tiếpvà các vấn đề khác có liên quan đến đề tài.Nội dung chính của đề tài này bao gồm những phần chính sau:

8.1.CÁC VẤN ĐỀ ĐÃ ĐƯỢC GIẢI QUYẾT TRONG ĐỒ ÁN:

          8.1.1 Các vấn đề đã nghiên cứu:

- Nghiên cứu vi điều khiển PIC 16F877A.

- Nghiên cứu cách quét led ma trận.

- Thiết kế và thi công  mô hình một bảng quang báo.

- Nghiên cứu ngôn ngữ lập trình CCS.

- Nghiên cứu ngôn ngữ lập trình Visual Basic.

          8.1.2 Các vấn đề đã thực hiện:

- Lập trình điều khiển vi điều khiển PIC 16F877A bằng ngôn ngữ CCS.

- Lập trình điều khiển led ma trận theo cách quét hàng.

- Lập trình giao diện giao tiếp giữa máy tính và vi điều khiển bằng ngôn ngữ Visual Basic.

        8.1.3  Thi công mạch:

Nhóm đã thi công xong các mạch sau:

-Board 1 là mạch hiển thị.

-Board 2  gồm  Mạch quét và kéo dòng,mạch ghi dịch dữ liệu.

-Mạch điều khiển.

- Mạch giao tiếp máy tính.

- Mạch nguồn.

8.2 ƯU VÀ NHƯỢC ĐIỂM CỦA THI CÔNG MẠCH:

            8.2.1 Ưu điểm:

            Chữ hiển thị rõ ràng, tốc độ di chuyển vừa phải.

            Mạch hoạt động ổn định trong thời gian dài.

8.2.2  Nhược điểm:

- Do bộ nhớ Rom và Ram nội có dung lượng nhỏ nên muốn lưu nhiều  font chữ thì phải sử dụng  Rom , Ram  ngoài có dung lượng lớn hơn.

8.3 Các phương hướng phát triển đề tài :

- Tăng kích thước của mạch quang báo cho phù hợp với thực tế sử dụng.

            - Sử dụng nhiều font chữ để làm phong phú hơn bảng quang báo.

            - Sử dụng giao tiếp USB để thay thế cho RS232.

            - Tạo bảng led ma trận bằng led out door để đáp ứng nhu cầu sử dụng.

            - Sử dụng các module có thể phát vô tuyến .Chương trình  điều  khiển  trên máy  tính  có  thể  giám  sát -liên lạc ( mail, điện  thoại )…

KẾT LUẬN:

Đề tài đã  trình  bày được  nguyên tắc hoạt động cơ bản của mạch quang báo giao tiếp máy tính, giới thiệu về cách sử dụng cũng như sơ đồ chân, sơ đồ nội bộ của các IC số dùng trong mạch.

Nhóm thực hiện đề tài xin chân thành cảm ơn quý thầy cô cùng các bạn sinh viên, đã đóng góp rất nhiều ý kiến, công sức quý báu trong quá trình nhóm thực hiện đề tài này.

 Đặc biệt, chúng em xin cảm ơn thầy NGUYỄN HỮU PHƯỚC  đã nhiệt tình hướng dẫn, chỉ bảo những kinh nghiệm, kiến thức thực tế để đề tài được hoàn thành đúng thời gian quy định.

Tuy  nhiên, do còn hạn chế về thời gian và trình độ nên đề tài không tránh khỏi nhiều sai sót, nhóm rất mong  nhận được sự đóng góp ý kiến chân tình của quý thầy cô và các bạn để đề tài được hoàn chỉnh hơn.

           Tài liệu tham khảo

 

Tài liệu tiếng việt

[1] Tài liệu trên mạng.  Cấu trúc họ vi điều khiển PIC16f877a

[2] Các bài viết trên diễn đàn điện tử.

Diễn đàn:  http://dientuvietnam.net

Diễn đàn:  http://picvietnam.com

[3] Trần Xuân Trường.  Tài liệu sử dụng CCS tiếng việt.

          [4] Tống Văn On, Hoàng Đức Hải- Họ vi điều khiển 8051 

         [5] Giáo trình học tập môn Vi Xử Lý –PIC16F877A

 [6] http://datasheet4u.com

 

Close