Đồ án Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển

Năm 1971 với sự ra đời của Vi xử lý (Microprocessor)- bộ phận xử lý trung tâm để xử lý lệnh đã đánh dấu bước phát triển vượt bậc của cuộc cách mạng khoa học kỹ thuật hiên đại. Ban đầu vi xử lý với 4 bit dữ liệu sau đó đã phát triển thành 8 bit(8080,8085,8088),16 bit(8086,80286), 32 bit(80386,80486) và 64 bit(80586) Trên cơ sở phát triển của kỹ thuật vi xử lý người ta đã chế tạo được các máy vi tính cá nhân ,các thệ hệ máy vi tính với công nghệ cao theo đó được phát minh đã tạo ra sự bùng nổ thông tin vì máy tính đã xâm nhập vào hầu hết các lĩnh vực khoa hoc kỹ thuật, truyền thông với mạng toàn cầu và đời sống xã hội. Vi điều khiển(Microcontroller) là một vi mạch tích hợp lớn có kích thước nhỏ( rộng cỡ 2cm,dài từ 3-8 cm,với số chân từ 18,28,40,48,64). Vi điều khiển có khả năng như một máy vi tính , nhưng có ưu điểm đặc biệt về kích thước rất nhỏ nên đã xâm nhập sâu hơn vào các thiết bị đo lường , điều khiển tự động hoá và đặc biệt vào các thiết bị của đời sống hàng ngày như đồng hồ thời gian , đồng hồ báo giờ , đầu máy ghi âm và phát âm hay phát hình một ứng dụng của vi điêù khiển mà chúng em muốn đề cập tới đó là các bảng đèn , áp phích quảng cáo hay là bảng quang báo với kỹ thuât lập trình đa dạng cho vi điều khiển ta có những bảng quang báo đáp ứng nhu cầu thẩm mỹ và thông tin quảng cáo trong thời đại công nghiệp hiện nay Sau thời gian tìm hiểu và học tập với môn học Kỹ thuật Vi Xử Lý chúng em được giao nhiệm vụ làm đồ án môn học với đề tài: “ Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển” Dưới sự giảng dạy và hướng dẫn của thày giáo Đặng Văn Khanh đến nay chúng em đã hoàn thành đề tài được giao .Rất mong được sự ủng hộ của quý thày cô và các bạn.

doc41 trang | Chia sẻ: ngtr9097 | Lượt xem: 2434 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU Năm 1971 với sự ra đời của Vi xử lý (Microprocessor)- bộ phận xử lý trung tâm để xử lý lệnh đã đánh dấu bước phát triển vượt bậc của cuộc cách mạng khoa học kỹ thuật hiên đại. Ban đầu vi xử lý với 4 bit dữ liệu sau đó đã phát triển thành 8 bit(8080,8085,8088),16 bit(8086,80286), 32 bit(80386,80486) và 64 bit(80586) … Trên cơ sở phát triển của kỹ thuật vi xử lý người ta đã chế tạo được các máy vi tính cá nhân ,các thệ hệ máy vi tính với công nghệ cao theo đó được phát minh đã tạo ra sự bùng nổ thông tin vì máy tính đã xâm nhập vào hầu hết các lĩnh vực khoa hoc kỹ thuật, truyền thông với mạng toàn cầu và đời sống xã hội. Vi điều khiển(Microcontroller) là một vi mạch tích hợp lớn có kích thước nhỏ( rộng cỡ 2cm,dài từ 3-8 cm,với số chân từ 18,28,40,48,64). Vi điều khiển có khả năng như một máy vi tính , nhưng có ưu điểm đặc biệt về kích thước rất nhỏ nên đã xâm nhập sâu hơn vào các thiết bị đo lường , điều khiển tự động hoá và đặc biệt vào các thiết bị của đời sống hàng ngày như đồng hồ thời gian , đồng hồ báo giờ , đầu máy ghi âm và phát âm hay phát hình …một ứng dụng của vi điêù khiển mà chúng em muốn đề cập tới đó là các bảng đèn , áp phích quảng cáo hay là bảng quang báo với kỹ thuât lập trình đa dạng cho vi điều khiển ta có những bảng quang báo đáp ứng nhu cầu thẩm mỹ và thông tin quảng cáo trong thời đại công nghiệp hiện nay… Sau thời gian tìm hiểu và học tập với môn học Kỹ thuật Vi Xử Lý chúng em được giao nhiệm vụ làm đồ án môn học với đề tài: “ Thiết kế và ứng dụng mạch quang báo dùng vi điều khiển” Dưới sự giảng dạy và hướng dẫn của thày giáo Đặng Văn Khanh đến nay chúng em đã hoàn thành đề tài được giao .Rất mong được sự ủng hộ của quý thày cô và các bạn. Chúng em xin chân thành cám ơn! Hưng Yên ngày…tháng…năm 2008 MỤC LỤC Nội dung Trang Phần 1: Ý tưởng , mục đích thiết kế 1/ Ý tưởng thiết kế 2/ Mục đích thiết kế Phần 2: Thiết kế mạch Chương 1: Các khối và chức năng các khối 1.1/ Sơ đồ các khối trong mạch 1.2/Chức năng nhiệm vụ các khối Chưong 2: Cơ sở lý thuyết thiết kế mạch 2.1/ Sự lưu ảnh của mắt 2.2/ Giới thiệu về ma trận led 8 x 8. 2.3/ Giới thiệu về IC89C51. 2.4/ Bộ ghi dịch (IC74HC164). 2.5/ Giới thiệu về các IC đệm dòng. 2.5.1/ Transistor C2383. 2.6 / IC 74HC245 2.7 / IC ULN2803. Chương 3: Thiết kế sơ đồ nguyên lý của mạch quang báo. 3.1/ Khối nguồn. 3.2/ Khối điều khiển và đệm dòng. 3.3/ Khối quét cột và hiển thị Chuơng 4: Thiết kế sơ đồ board. 4.1/ Sơ đồ board khối điềukhiển và đệm dòng. 4.2/ Sơ đồ board khối ghi dịch . Chương 5: Chương trình điều khiển. 5.1/ Lưu đồ thuật toán. 5.1.1/ Lưu đồgiải thuật lập trình cho vi điều khiển AT89C51. 5.1.2/ Lưu đồ thuật toán điều khiển từ xa. 5.2/ Mã nguồn chương trình điều khiển. Nhận xét của giáo viên hướng dẫn …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….... Hưng Yên, ngày …. Tháng …..năm 2008 Chữ ký của GVHD: ĐỀ TÀI: THIẾT KẾ VÀ ỨNG DỤNG MẠCH QUANG BÁO DÙNG VI ĐIỀU KHIỂN Phần 1: Ý tưởng , mục đích thiết kế. 1/ Ý tưởng thiết kế Thiết kế mạch quang báo ứng dụng AT89C51 dùng led ma trận để hiển thị, số led ma trận sử dụng 20 led tương ứng 16 hàng x 80 cột hoặc ta có thể sử dụng phương án kết led đơn tạo ma trận led có kích thước 16 hàng x 80 cột để hiển thị bảng chữ Viết thuật toán ( chương trình điều khiển) cho bảng quang báo trên phần mềm chuyên dụng vì Vi điều khiển chỉ nhận và nhận và xử lý chương trình dưới dạng file hex. Vì vậy cần phải có phần mềm để soạn thảo và biên dịch chương trình sang mã hex. Hiện nay, có rất nhiều phần mềm có thể lập trình và mô phỏng: prog studio, sim.51, Raisonance Kit 6.1(Ride)… Ở đây khi viết chưong trình soạn thảo và biên dịch chúng em chọn phần mềm Raisonance Kit 6.1. - Về phương pháp điều khiển chúng em dùng phương pháp quét cột và xuất dữ liệu ra hàng vì số hàng ít hơn số cột. Thuật toán quét cột ta có thể sử dụng 2 phương án : Một là viêt chương trình điều khiển quét cột nạp cho vi điều khiển AT89C51 sử dụng 1 Port của AT89C51 để xuất mã quét Hai sử dụng bộ ghi dịch 74164 tạo bit dịch để xuất mã quét cột của ma trận led.Trong phương án này có ưu điểm hơn phương án 1 là không hạn chế số cột cần được quét của ma trân led ,ví dụ có n led ma trận cần n IC74164 quét được 8.n cột,trong khi nếu ta dùng phương án 1 thì chỉ quét được 8 ma trận led tương ứng với 64 cột. Nhưng có hạn chế là nêu dùng IC 74164 để quét cột thì chi phí cho mạch sẽ đăt hơn, Nếu mạch quang báo của ta sử dụng nhỏ hơn hoặc bằng 8 ma trận led thì sử dụng phương án 1 là tối ưu, Chúng em đã chọn phương án dùng IC74164 tạo bit dịch để xuất mã quét led . Nội dung hiển thị là dòng chữ: 2/ Mục đích thiết kế Phát huy những thành quả ứng dụng của kỹ thuật vi điều khiển tạo ra những sản phẩm có tính ứng dụng cao vào đời sống xã hội đang phát triển không ngừng. Việc thực hiện đề tài giúp chúng em rèn luyện kỹ năng thực hành tiếp cận với thực tế và đây cũng là cơ hội để kiểm chứng nhứng kiến thức đã được học. Phần 2: Thiết kế mạch Chương 1: Các khối và chức năng các khối 1.1/ Sơ đồ các khối trong mạch:  1.2/ Chức năng và nhiệm vụ các khối: 1.2.1/ Khối nguồn: có nhiệm vụ cung cấp năng lượng hoạt động cho các khối điều khiển, khối đệm dữ liệu và bảng ma trận led. Nguồn cung cấp cho toàn mạch quang báo là nguồn một chiều có độ lớn 5V. 1.2.2/ Khối điều khiển: có vai trò quan trọng đối với sự hoạt động của mạch quang báo, chương trình hiển thị thông tin trên bảng ma trận led do khối điều khiển đảm nhận thực hiện thông qua IC89C51. 1.2.3/ Khối đệm dữ liệu: tín hiệu điều khiền được xuất ra từ khối điều khiển sẽ được đưa tới khối đệm dữ liệu để khuêch đại tín hiệu điều khiển qua các IC đệm dòng đảm bảo đủ dòng của tín hiệu điều khiển cho bảng ma trận led. 1.2.4/ Khối hiển thị: Là bảng ma trận led có kích thước(16 hàng x 64 cột) có nhiệm vụ tiếp nhận tín hiệu điều khiển hiển thi nội dung thông tin mà người dùng muốn hiển thị, nội dung đó đã được lập trình bằng phần mềm ở khối điều khiển. Chương 2: Cơ sở lý thuyết thiết kế mạch 2.1/ sự lưu ảnh của mắt: Mắt người có khả năng lưu hình ảnh vừa quan sát trong khoảng thời gian 0,1s, nghĩa là khi quan sát hình ảnh mới thì hình ảnh cũ trước đó vẫn tồn tại trong khoảng 0,1s được lưu trên võng mạc nên trong kỹ thuật trình chiếu phim ảnh các nhà kỹ thuật đã lợi dụng đặc điểm của mắt sử dụng phát 24 hình/s để tạo cảm giác những hình ảnh đó là liên tục mà thực chất đó chỉ là những hình ảnh rời rạc được phát với tốc độ 24 hình/s . Khi thiết kế bảng quang báo người ta cũng lợi dụng khả năng lưu ảnh và sự phân giải của mắt để tạo ra những bảng quang báo có kích thước khác nhau phù hợp với mục đích sử dụng và tính toán sao cho mắt người quan sat được sắc nét nhất. Trong bảng quang báo sử led ma trận ta phải tính toán thời gian quét led hợp lý để khi xuất dữ liệu hiển thị mắt người quan sát được hình ảnh trôi qua là liên tục. 2.2/ Giới thiệu về ma trận led cỡ 8x8: Hình ảnh thực tế: Đèn led kiểu ma trận hay ma trận gồm nhiều diot phát quang(LED) Được mắc theo kiểu ma trận theo hàng và cột như hình vẽ:  Các đường dây hàng được mắc với các bit của một cổng và các đường dây cột được mắc với các bit của một cổng khác. Một diot sẽ phát sáng khi có đồng thời hai tín hiệu: + tín hiệu dương trên đường dây hàng mắc với anot của diot. + tín hiệu âm trên đường dây cột mắc với katot của diot. Các diot của ma trận diot sẽ sáng lần lượt theo kiểu quét theo từng hàng và từng cột. Vì thời gian quét cả ma trận theo các hàng và các cột tương đối ngắn trên 24h/s nên mắt ta quan sát thấy các diot sáng đồng thời và cho một bức tranh sáng của cả ma trận 8x8 diot. Muốn điều khiển một ma trận diot hiển thị một số hay một chữ, ta phải: Xây dựng các điểm (hay diot) sáng theo hình chữ hay hình số đó theo ma trận gồm các hàng và các cột. Mỗi chữ số hay mỗi ký tự chiếm một ma trận. Nếu có chuỗi chữ số cho một con số hay chuỗi ký tự phải có nhiều ma trận led ghép lại hay bảng dữ liệu. - tạo bảng dữ liệu theo các hàng với các bit tương ứng với diot sáng. - Viết chương trình để: + Đọc bảng giá trị của một hàng để đưa dữ liệu 1 ra một bit của cổng mắc với đường dây hàng đó vào các anot của diot mắc với đường dây hàng. + Đưa tín hiệu 0 ra các bit của cổng mắc đường dây cột, nếu anot nào có tín hiệu 1 diot đó sẽ sáng. + Tiếp tục quét các hàng rồi đưa tín hiệu 0 ra các cột, cho tới khi các hàng được quét xong. Ví dụ ta muốn hiển thị chữ “T” trên ma trận. Khi đó các diot trên cột , cột 8 và hàng 8 sáng. Muốn như vậy thì các bit thuộc cổng P0 và P1 đều ở mức 1 như vậy thì toàn diot trong ma trận led sẽ sáng. Như vậy ta không thể điều khiển ma trận led bằng cách hiển thị tĩnh mà phải dùng cách hiển thị động, đó là phương pháp quét led nghĩa là cấp tín hiệu điều khiển theo dạng xung quét cho các hàng và các cột cần được hiển thị. Giả sử thời gian quét từ cột 1 đến cột 8 là một chu kỳ và để đảm bảo cho mắt quan sát các led sáng đều và không bị nhấp nháy thì tần số quét nhỏ nhất cho một chu kỳ là 50 hz. Để hiển thị chữ “T” ta có thể mô tả được các bước quét trong một chu kỳ như sau: + Bước 1: P0.3=1, P0.4=1,P1.0=1 Led hàng 4, hàng 5 cột 1 sáng + Bước 2: P0.3=1, P1.1=1 Led hàng 4 cột 2 sáng + Bước 3: P0.3=1; P1.2=1 Led hàng 4 cột 3 sáng + Bước 4: P0.3=1;P0.4=1;P0.5=1 led hàng 4, 5,6,7,8 cột 4 sáng P0.6=1;P0.7=1;P1.3=1 + Bước 5: P0.3=1; P1.4=1 led hàng 4 cột 5 sáng + Bước 6: P0.3=1;P1.5=1 led hàng 4 cột 6 sáng + Bước 7: P0.3=1;P0.4=1; P1.6=1 led hàng 4,5 cột 7 sáng + Bước 8: quay trở lại bước 1. Với việc hiển thị chữ “T” trên ta chỉ cần sử dụng một ma trận led 8x8 do đó chúng ta có thể sử dụng trực tiếp các bít của cổng vi điều khiển AT89C51 Đối với một bảng quang báo thì cần có nhiều hàng, nhiều cột. Một trong các cách để điều khiển quét cột khi số cột cần quét là lớn và số cổng của AT89C51 không đáp ứng đủ thì chúng ta có thể dùng bộ ghi dịch 74HC164 để điều khiển quét cột. Khi đó tín hiệu quét hàng được lấy ra từ các cổng của vi điều khiển(tùy thuộc vào số hàng led ma trận tra sử dụng trong bảng quang báo mà cần đến 1,2 hoặc 3 cổng). Tín hiệu quét cột được lấy từ đầu ra của bộ ghi dịch 74HC164. Tín hiệu quét cột sẽ dịch theo từng xung clock do người lập trình tạo ra. Cứ sau mỗi một xung thì một cột được dịch, đồng thời vào thời điểm mỗi cột được dịch thì dữ liệu cần hiển thị tương ứng cũng được đưa ra hàng. Như vậy để hiển thị được thông báo thì xung dịch và dữ liệu phải được xuất đồng bộ. Theo ví dụ hiển thị chữ “T” trên thì cần xuất ra cổng P0 các mã chữ: 18h,08h,08h,0f8h,08h,08h,18h,00h. +Bước 1: xuất mã 18h ra cổng P0 đồng thời cột 1 của ma trận led được tích cực nhờ có xung clock va bộ ghi dịch. … Tương tự đến bước 8: xuất mã 18h ra cổng P0 đồng thời cột 8 được tích cực. Quá trình tạo bảng mã được mô tả trong bảng: 0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  0   0  0  0  0  0  0  0  0   1  1  1  1  1  1  1  0   1  0  0  1  0  0  0  0   0  0  0  1  0  0  0  0   0  0  0  1  0  0  0  0   0  0  0  1  0  0  0  0   18h 08h 08h f8h 08h 08h 08h 00h Quá trình quét led xảy ra rất nhanh(tính bằng micro giây cho mỗi cột) nên mắt có cảm giác các led đồng thời được sáng. Gọi t là thời gian cho một xung dịch:  Với tần số quét cho cột là 50 Hz. Như vậy thời gian để dịch một xung clock là: t= 1/50 Hz = 0,02s = 20 ms. Quá trình quét cột như vậy xảy ra rất nhanh tính bằng ms cho mỗi cột do đó mắt ta có cảm giác các led được sáng đồng thời. 2.3/ Giới thiệu về vi điều khiển AT89C51: Vi điều khiển 8051 được chế tạo theo cấu trúc của một hệ vi tính gồm các khối có sơ đồ sau:  Bộ xử lý trung tâm CPU (Central Processor Unit): dùng để điều khiển toàn vi mạch trong việc thực hiện lệnh và xử lý số học , logic. Bộ nhớ RAM bên trong: (128 byte cho 8051) dùng làm các thanh ghi thông dụng, đặc biệt SFR và xử lý bít để ghi nhớ dữ liệu cho chương trình. Các cổng trao đổi tin vào ra dữ liệu va địa chỉ P0 – P2: dùng trao đổi tin song song về địa chỉ và dữ liệu (D0- D7) như sau: + cổng P0: trao đổi tin về dữ liệu (D0- D7) hay khi có bộ nhớ ngoài mở rộng, trao đổi tin về địa chỉ thấp (A0-A7) (cùng với tín hiệu chốt địa chỉ ALE đưa qua vi mạch chốt ) và dữ liệu song song D7-D0 + cổng P2: trao đổi tin về dữ liệu (D0-D7) hay địa chỉ cao(A8-A15) khi có bộ nhớ ngoài mở rộng. + cổng P1: trao đổi tin về dữ liệu song song D7-D0. Cổng trao đổi tin nối tiếp : dùng trao đổi tin nối tiếp nhận vào từ chân RXD và đưa ra truyền tới chân TXD. Khối định thời gian bộ đếm Timer/Counter 0,1 và 2: dùng để định thời gian và đếm xung ngoài vào các chân T0,T1,T2. Khối điều khiển ngắt chương trình: dùng để ngắt chương trình khi có đếm tràn hay có xung ngoại. Như vậy, vi mạch VDK nói chung và VDK 8051 là một hệ vi xử lý bao gồm các khối CPU, bộ nhớ (RAM,ROM), cổng vào ra(song song,nối tiếp), bộ định thời gian, đếm và điều khiển ngắt chương trình. Vi điều khiển 8051 là vi mạch tích hợp mật độ lớn có 40 chân . Sơ đồ chân của chúng như hình 1-1:  Số 40 chân trên chia thành các nhóm: nguồn nuôi, điều khiển ,các tin hiệu địa chỉ, dữ liệu. 1/ Nhóm chân nguồn nuôi + Nguồn nuôi 5V (chân số 40) + Nối đất (chân số 20): để nuôi vi mạch. 2/ Nhóm chân điều khiển: Nhóm này còn phân biệt các tin hiệu vào ra. a/ Nhóm tín hiệu vào điều khiển + XTAL1 (chân số 18) và XTAL2 (chân số 19): nối tinh thể thạch anh cho máy phát xung nhịp chu trình. + RST (RESET):(chân số 9) nối chuyển mạch để xóa về trạng thái ban đầu hay khởi động lại. + /EA/CPP:(chân số 31) chọn nhớ ngoài (nối đất) hay nhớ trong (nối nguồn nuôi 5V). + T2 hay P1.0:(chân số 1)tín hiệu vào đếm cho Timer2/Counter2 + T2EX:(chân số 2) tín hiệu vào ngắt ngoài + /INT0 hay P3.2:(chân số 12) tín hiệu vào gây ngắt ngoài 0 cho vi điều khiển 8051. + /INT1 hay P3.3:(chân số 13) tín hiệu vào gây ngắt ngoài 1cho vi điều khiển 8051. +T0 hay P3.4:(chân số 14) tín hiêu vào đếm cho Timer0/Counter0. + T1 hay P3.5:(chân số 15) tín hiệu vào đếm cho Timer1/Counter1 b/ Nhóm tín hiệu ra điều khiển + ALE//PROG:(chân số 30) dùng để đưa tín hiệu chốt địa chỉ (ALE) khi có nhớ ngoài hay điều khiển ghi chương trình /PROG. + /PSEN :(chân số 29) dùng để đưa tín hiệu điều khiển đọc bộ nhớ chương trình ROM ngoài. + /WR hay P3.6(chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài. +/RD hay P3.6:(chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài. c/ Nhóm các tín hiệu địa chỉ ,dữ liệu. + Cổng vào ra địa chỉ/ dữ liệu P0 hay P0.0- P0.7:(chân số 39 - 32) dùng để trao đổi tin về dữ liệu (D0 – D7) vào /ra song song hoặc đưa ra các địa chỉ thấp (A0 – A7) theo chế độ dồn kênh (kết hợp với tín hiệu chốt địa chỉ ALE). + Cổng vào ra địa chỉ/dữ liệu P2 hay P2.0 – P2.7 :(chân số 21 - 28) dùng để trao đổi tin song song về dữ liệu (D0 –D7) hoặc đưa ra các địa chỉ cao(A8 –A15). + Cổng vào ra dữ liệu P1 hay P1.0- P1.7:(chân số 1- 8)dùng để trao đổi tin song song về dữ liệu (D0 – D7). + Cổng vào ra P3 hay P3.0 – P3.7 với: P3.0 : (chân số 10) đưa vào tín hiệu nhận tin nối tiếp RXD. P3.1:(chân số 11) đưa tín hiệu truyền tin nối tiếp TXD P3.2 :(chân số 12) nhận tín hiệu ngắt ngoài 0 /INT0 /INT0 hay P3.2 : tín hiệu vào gây ngắt 0 của VDK 8051 /INT1 hay P3.3 :(chân số 13)tín hiệu vào gây ngắt 1 của VDK 8051. T0 hay P3.4 :(chân số 14) tín hiệu vào đếm cho Timer0/Counter0. T1 hay P3.5 :(chân số 15) tín hiệu vào đếm cho Timer1/Counter1. /WR hay P3.6:(chân số 16) để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài. /RD hay P3.7 :(chân số 17) để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài. T2 hay P1.0 :(chân số 1) tín hiệu vào đếm cho Timer2/Counter2. T2EX :(chân số 2) tín hiệu vào gây ngắt ngoài 2. Ngoài các tín hiệu chuyên dùng trên, cổng vào/ra P3 này còn dùng để trao đổi tin về dữ liệu D7- D0. 2.4/ Bộ ghi dịch 2.4.1/ Giới thiệu về bộ ghi dịch. Bộ ghi dịch còn được gọi là thanh ghi dịch, nó co khả năng ghi và dịch thông tin(dữ liệu) có thể sang trái hoặc sang phải. Bộ ghi dịch được cấu tạo từ một dãy phần tử nhớ đơn bit(triger) mắc liên tiếp với nhau và một số cửa logic cơ bản hỗ trợ. Mỗi trigger có khả năng nhớ 1 bit dữ liệu muốn mạch nhớ nhiều bit phải sử dụng nhiều triger, các bit dữ liệu được lưu trữ trong triger có khả năng dich về hai phía nhờ có xung clock tác động. Muốn ghi và truyền một từ nhị phân n bit thì cần n phần tử nhớ(n triger). Trong các bộ ghi dịch thường dùng các triger đồng bộ như triger RST, triger JK, triger D. Thông thường người ta hay dùng các triger D hoặc các triger khác nhưng mắc theo kiểu triger D để tạo thành các bộ ghi . Có hai cách ghi: Ghi song song: các bit của từ nhị phân được ghi đồng thời cùng một lúc vào bộ ghi. Ghi nối tiếp: các bit của từ nhị phân được đưa vào bộ ghi một cách tuần tự theo thứ tự của từ nhị phân. Bộ ghi song song(n bit): là bộ ghi có n nối vào, khi có xung điều khiển ghi đưa vào nối vào CLK, dữ liệu được nạp vào bộ nhớ song song và cho nối ra song song. Bộ ghi nối tiếp (n bit): là bộ ghi chỉ có một nối vào,nó có thể ghi dịch trái,dịch phải và cho nối ra nối tiếp và song song. Khi muốn ghi thì phải đưa các bit thông tin nối tiếp về thời gian truyền lần lượt vào nối vào nối tiếp theo sự điều khiển đồng bộ của các xung nhịp. Cứ sau mỗi xung nhịp trạng thái của triger lại được xác lập theo thông tin lối vào D của nó. Bộ ghi nối tiếp dịch phải có các nối ra song song và ra nối tiếp:Có nối ra của triger trước lại được nối với nối vào D của triger sau, nên sau mỗi lần có xung nhịp tác động, triger sau lại nhận giá trị của triger đứng trước nó. Đầu vào nối tiếp là đầu vào triger đầu tiên, đầu ra nối tiếp lấy ở triger cuối cùng, đầu ra song song là các đầu ra của các triger. Bộ ghi cho tín hiệu nối ra ở dạng song song hay nối tiếp phụ thuộc vào sự điều khiển tín hiệu ra. Bộ triger nối tiếp dịch trái có các nối ra song song và nối ra nối tiếp: Có nối ra của triger sau được nối vào đầu vào triger đứng trước nó, nên sau mỗi lần có xung nhịp tác động triger trước lại nhận giá trị của triger đứng sau nó. Đầu vào nối tiếp là đầu vào triger cuối cùng, đầu ra nối tiếp là đầu ra của triger đầu tiên, đầu ra song song là đầu ra của các triger trong bộ ghi dịch. Với sự tác động đầu vào điều khiển sẽ cho dạng đầu ra là song song hoặc nối tiếp. Bộ ghi vừa ghi nối tiếp dịch phải, vừa ghi nối tiếp dịch trái sẽ phụ thuộc vào xung điều khiển chọn kiểu ghi dịch. Và sự hoạt động giống với hai kiểu ghi dịch trái, phải như trên. Ngoài ra còn có bộ ghi dịch vừa ghi nối tiếp dịch phải, vừa ghi song song và bộ ghi nối tiếp thông tin có thể lưu trữ… Trên thực tế thì các bộ ghi dịch đã được tích hợp sẵn trong các IC.Và một số vi mạch thường gặp là: + 7495: 4 bit, vào song song hoặc nối tiếp, ra song song hoặc nối tiếp. + 74174: 6 bit, vào song song ra song song có đầu xóa. +74178: 4 bit , vào song song hoặc nối tiếp ra song song. + 74165: 8 bit, vào song song ra nối tiếp. + 74164: 8 bit , vào nối tiếp ra song song có đầu xóa + 74194: 4 bit dịch trai dịch phải vào song song ra song song… 2.4.2/ Tìm hiểu về IC 74164: Trong phạm vi này sẽ nghiên cứu về IC 74164 dùng để tạo bit dịch điều khiển quét ma trận led. IC74164 là một thanh ghi dịch 8 bit v