Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 67 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
67
Dung lượng
3,24 MB
Nội dung
Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân CHƯƠNG 1: DẪN NHẬP 1.1 ĐẶT VẤN ĐỀ Ngày với phát triển ngành khoa học kỹ thuật, kỹ thuật điện tử mà kỹ thuật sử dụng vi xử lý linh liện điện tử khác có tính chất hiển thị led đoạn, ledma trận, led đơn… vào ứng dụng thực tế nhằm đáp ứng nhu cầu ngày nhiều lỉnh vực khác hiển thị, bảng quảng báo, … phải nắm bắt vận dụng cách có hiệu nhằm góp phần vào phát triển khoa học kỹ thuật giới nói chung phát triển kỹ thuật điện tử nói riêng Xuất phát từ thực tế mà nhóm sinh viên thực chúng em có điều kiện tiếp xúc tham quan số sở nhiều điểm thành phố, nhiều bảng quảng cáo, logo… thị thông qua linh kiện quang Tuy nhiên tùy theo tính chất mức độ sử dụng mà linh kiện quang khác nhau, có nơi sử dụng ledmatrận nhiều màu, ledmatrận màu, led đơn nhiều màu, led đơn màu… TỪ điều thấy khả chúng em, chúng em muốn thiết kế mạch quang báo mà đáp ứng đươc yêu cầu 1.2 MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI Trong đồán chúng em thực mạch hiển thị thông qua led đơn nhờ tín hiệu xuất từ vi xử lý 16f877a Tín hiệu từ vi xử lý đưa cho ic cd4094 ghi dịch từ ic cd4094 điều khiển led đơn với khoảng delay định hiển thị hình ảnh, văn mà ta muốn hiển thị Từ vấn đề yêu cầu cần thiết thiết kế mạch là: - Lập trình CCS - Bộ phận hiển thị phải rõ ràng - Điều khiển màu RGB - Đưa vào hiệu ứng màu sắc cho bảng led - Đưa vào hiệu ứng chữ,số nhiều tốt 1.3 GIỚI HẠN CỦA ĐỀ TÀI Do kiến thức hạn chế,linh kiện có lần sử dụng nên trình thi công phần cứng mạch có sai sót nhỏ xảy Do đặc điểm mạch quang báo nên chúng hoạt động thực hiệu vào ban đêm, ánh sang trời bị giảm thời tiết,… Trang Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân CHƯƠNG 2: CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH 2.1 DIODE PHÁT QUANG ( LED ĐƠN) Hình 1: Một số hình ảnh led đơn - Ký hiệu: D LED - Áp dụng hiệu ứng điện quang -Led phát sáng đựơc phân cực thuân -Mỗi led phát xạ định tùy theo vật liệu chế tạo chất pha - GaAs bước sóng = 0,77-0,88 đỏ Al,Sb = 0,65 GaAsP đỏ GaPZn hổ phách GaAsS = 0,57-0,58 vàng GaPN2 = 0.55-0,56 lục Dòng trung bình qua led thường chọn là: 10 đến 20 miliAmpere Trang Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân 2.2 ĐIỆN TRỞ Điện trở loại dán Hình 2: Một số hình ảnh điện trở - Ký hiệu: Trang Đồántốt nghiệp:Bảng phamàuledmatrận - Hệ thức: GVHD:Tống Thanh Nhân v(t) = R.i(t) - Hay i(t) = G.v(t) Trong G =1/R: gọi điện dẫn - Đơn vị điện trở Ohm( đọc ôm) - Đơn vị điên dẫn Siemen 2.3 TỤ ĐIỆN a.Sơ lược tụ điện Tụ điện linh kiện điện tử thụ động bao gồm hai mặt dẫn điện gọi khung, phân cách chất cách điện, gọi điện môi (không khí, giấy, mica, dầu nhờn, nhựa, cao su, gốm, thuỷ tinh ) Giá trị tụ điện điện dung, đo đơn vị Farad (kí hiệu F) Giá trị F lớn nên hay dùng giá trị nhỏ micro fara (μF), nano Fara (nF) hay picro Fara (pF) b Phân loại tụ điện thường gặp 1/ Theo tính chất lý hóa ứng dụng : Có loại tụ điện : Tụ điện phân cực : loại tụ điện có hai đầu (-) (+) rõ ràng, mắc ngược đầu mạng điện DC Chúng thường tụ hóa học tụ tantalium Tụ điện không phân cực : Là tụ không qui định cực tính Trang Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Tụ điện hạ (thấp) áp cao áp : Do điện áp làm việc mà có phân biệt Tụ lọc (nguồn) tụ liên lạc (liên tầng) : Tụ điện dùng vào mục tiêu cụ thể gọi tên theo ứng dụng Tụ điện tĩnh tụ điện động (điều chỉnh được) : Đa số tụ điện có trị số điện dung "danh định" có loại tụ điện cần điều chỉnh trị số cho phù hợp yêu cầu mạch điện, tụ điện mạch cộng hưởng hay dao động chẳng hạn 2/ Theo cấu tạo dạng thức : Tụ điện gốm (tụ đất) : Gọi tên chúng làm ceramic, bên bọc keo hay nhuộm màu Gốm điện môi dùng COG, X7R, Z5U v.v Tụ gốm đa lớp: Là loại tụ gốm có nhiều lớp cực cách điện gốm Tụ đáp ứng cao tần điện áp cao loại tụ gốm thường khoảng > lần Trang Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Tụ giấy : Là tụ điện có cực nhôm thiếc cách lớp giấy tẩm dầu cách điện làm dung môi Tụ mica màng mỏng : Cấu tạo với lớp điện môi mica nhân tạo hay nhựa có cấu tạo màng mỏng (thin film) Mylar, Polycarbonate, Polyester, Polystyrene (ổn định nhiệt 150 ppm / C) Tụ bạc - mica : loại tụ điện mica có bàn cực bạc, nặng Điện dung từ vài pF đến vài nF, độ ồn nhiệt bé Tụ hóa học : Là tụ giấy có dung môi hóa học đặc hiệu => tạo điện dung cao cao cho tụ điện Nếu bên có vỏ nhôm bọc nhựa gọi tụ nhôm Ngoài nhiều loại tụ khác ví dụ :Tụ siêu hóa,tụ hóa sinh, Tụ tantalium, Tụ vi chỉnh tụ xoay,… Trang Đồántốt nghiệp:Bảng phamàuledmatrận Tụ điện loại dán Trang GVHD:Tống Thanh Nhân Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân 2.4 IC CD4094 Sơ đồ chân Data input : Ngõ vào liệu ( Data) Clock input : Ngõ vào xung clock ( clock ) Strobe input : Ngõ vào Strobe ( STR ) Output enable input : Ngõ vào cho phép xuất liệu ( OE ) Q1 Q8 : Ngõ song song Bảng hoạt động Trang Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Hi-z : Trạng thái tắt Q7 : Thông tin tầng ghi dịch thứ X : Không quan tâm : Mức thấp : Mức cao Parallel Output : Ngõ song song Serial Output : Ngõ nối tiếp IC CD4094 ghi dịch nối tiếp tầng , có mạch chốt lưu trữ tầng kết hợp với để Strobe liệu từ ngõ vào nối tiếp đến ngõ song song đệm trạng thái Q1Q8.Các ngõ song song nối trực tiếp đến Bus.Dữ liệu dịch dựa biến đổi cạnh lên xung Clock.Dữ liệu tầng ghi dịch chuyển đến ghi lưu trữ chân Strobe (STR) mức cao.Dữ liệu ghi lưu trữ xuất ngõ mà tín hiệu cho phép xuất (EO) mức cao Hai ngõ nối tiếp (QS Q’S) sử dụng cho việc ghép nối tầng họ IC 4094.Dữ liệu có sẵn QS theo cạnh lên xung Clock cho phép vận hành tốc độ cao hệ thống nối tầng có thời gian lên xung clock ngắn Thông tin nối tiếp tương tự có sẵn Q’S theo cạnh xuống Clock thực nối tầng IC 4094 thời gian lên xung Clock dài Sơ đồ logic Trang Đồántốt nghiệp:Bảng phamàuledmatrận Giản đồ thời gian Trang 10 GVHD:Tống Thanh Nhân Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Xét trình truyền liệu, bit bit liệu mang giá trị địa định (address match), bit ghi SSPSTAT set Các bit địa nhận trước đưa vào ghi SSPBUF Sau xung tạo ra, xung clock chân RC3/SCK/SCL đưa xuống mức thấp bất chấp trạng thái bit SEN Khi I2C Master không đưa xung clock vào I2C Slave liệu ghi SSPSR trạng thái wsẵn sảng cho trình truyền liệu (dữ liệu đưa vào ghi SSPBUF đồng thời đưa vào ghi SSPSR) Tiếp theo cho phép xung pin RC3/SCK/SCL cách set bit CKP (SSPCON) Từng bit byte liệu dịch cạnh xuống xung clock Như liệu sẵn sàng ngõ xung clock mức logic cao, giúp cho I2C Master nhận liệu cạnh lên xung clock Như trình truyền liệu bit SEN không đóng vai trò quan trọng trình nhận liệu Tại cạnh lên xung clock thứ 9, liệu dịch hoàn toàn vào I2C Master, xung tạo I2C Master, đồng thời pin SDA giữ mức logic cao Trong trường hợp xung chốt I2C Slave, ghi SSPSTAT reset I2C Slave chờ tín hiệu bit Start để tiếp tục truyền byte liệu (đưa byte liệu vào ghi SSPBUF set bit CKP Ngắt MSSP xảy byte liệu kết thúc trình truyền, bit SSPIF set cạnh xuống xung clock thứ phải xóa chương trình để đảm bảo set byte liệu truyền xong Trang 53 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Quá trình truyền nhận bit địa cho phép I2C Master chọn lựa đối tượng I2C Slave cần truy xuất liệu Bên cạnh I2C cung cấp thêm địa GCA (General Call Address) cho phép chọn tất I2C Slave Đây địa đặc biệt protocol I2C Địa Trang 54 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân định dạng chuỗi ‘0’ với =0 cho phép cách set bit GCEN (SSPCON2) Khi địa nhận vào so sánh với ghi SSPADD với địa GCA Quá trình nhận dạng địa GCA tương tự nhận dạng địa khác khác biệt rõ ràng I2C hoạt động chế độ địa bit hay 10 bit 2.12.2.2.2 I2C MASTER MODE I2C Master mode xác lập cách đưa giá trị thích hợp vào bit SSPM ghi SSPCON set bit SSPEN Ở chế độ Master, pin SCK SDA điều khiển phần cứng MSSP I2C Master đóng vai trò tích cực trình giao tiếp điều khiển I2C Slave thông qua việc chủ động tạo xung giao tiếp điều kiện Start, Stop truyền nhận liệu Một byte liệu bắt đầu điều kiện Start, kết thúc điều kiện Stop bắt đầu kết thúc với điều kiện khởi động lặp lại (Repeated Start Condition) Trang 55 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Xung giao tiếp nối tiếp tạo từ BRG (Baud Rate Generator), giá trị ấn định tần số xung clock nối tiếp lấy từ bit thấp ghi SSPADD Khi liệu đưa vào ghi SSPBUF, bit BF set BRG tự động đếm ngược dừng lại, pin SCL giữ nguyên trạng thái trước đó.Khi liệu đưa vào, BRG cần khoảng thời gian TBRG tự động reset lại giá trị để tiếp tục trình đếm ngược Mỗi vòng lệnh (có thời gian TCY ) BRG giảm giá trị lần Các giá trị cụ thể tần số xung nối tiếp BRG tạo liệt kê bảng sau: Trong giá trị BRG giá trị lấy từ bit thấp ghi SSPADD Do I2C chế độ Master mode, ghi SSPADD không sử dụng để chứa địa chỉ, thay vào chức SSPADD ghi chứa giá trị BRG Để tạo điều kiện Start, trước hết cần đưa hai pin SCL SDA lên mức logic cao bit SEN (SSPCON2) phải set Khi BRG tự động đọc giá trị bit thấp ghi SSPADD bắt đầu đếm Sau khoảng thời gian TBRG, pin SDA đưa xuống mức logic thấp Trạng thái pin SDA mức logic thấp pin SCL mức logic cao điều kiện Start I2C Master mode Khi bit S (SSPSTAT) set Tiếp theo BRG tiếp tục lấy giá trị từ ghi SSPADD để tiếp tục trình đếm, bit SEN tự động xóa cờ ngắt SSPIF set Trong trường hợp pin SCL SDA trạng thái logic thấp, trình tạo điều kiện Start, pin SCL đưa trạng thái logic thấp trước pin SDA đưa trang thái logic thấp, điều kiện Start không hình thành, cờ ngắt BCLIF set I2C trạng thái tạm ngưng hoạt động (Idle) Trang 56 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Tín hiệu Stop đưa pin SDA kết thức liệu cách set bit PEN (SSPCON2) Sau cạnh xuống xung clock thứ với tác động bit điều khiển PEN, pin SDA đưa xuống mức thấp, BRG lại bắt đầu trình đếm Sau khoảng thời gian TBRG, pin SCL đưa lên mức logic cao sau khoảng thời gian TBRG pin SDA đưa lên mức cao Ngay thời điểm bit P (SSPSTAT) set, nghĩa điều kiện Stop tạo Sau khoảng thời gian TBRG nữa, bit PEN tự động xóa cờ ngắt SSPIF set Để tạo diều kiện Start lặp lại liên tục trình truyền liệu, trước hết cần set bit RSEN (SSPCON2) Sau set bit RSEN, pin SCL đưa xuống mức logic thấp, pin SDA đưa lên mức logic cao, BRG lấy giá trị từ ghi SSPADD vào để bắt đầu trình đếm Sau khoảng thời gian TBRG, pin SCL đưa lên mức logic cao khoảng thời gian TBRG Trong khoảng thời gian TBRG kế tiếp, pin SDA lại đưa xuống mức logic thấp SCL giữ mức logic cao Ngay thời điểm bit S (SSPSTAT) set để báo hiệu điều kiện Start hình thành, bit RSEN tự động xóa cờ ngắt SSPIF set sau khoảng thời gian TBRG Lúc địa I2C Slave đưa vào ghi SSPBUF, sau ta việc đưa tiếp địa liệu vào ghi SSPBUF nhận tín hiệu từ I2C Slave, I2C Master tự động tạo tín hiệu Start lặp lại liên tục cho trình truyền liệu liên tục Cần ý trình tự sai trình tạo điều kiện Start lặp lại làm cho bit BCLIF set I2C đưa trạng thái “Idle” Trang 57 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Xét trình truyền liệu, xung clock đưa từ pin SCL liệu đưa từ pin SDA Byte liệu phải byte địa xác định I2C Slave cần giao tiếp bit (trong trường hợp = 0) Đầu tiên giá trị địa đưa vào ghi SSPBUF, bit BF tự động set lên đếm tạo xung clock nối tiếp BRG (Baud Rate Generator) bắt đầu hoạt động Khi bit liệu (hoặc địa bit ) dịch theo cạnh xuống xung clock sau cạnh xuống pin SCL nhận diện (điều kiện Start), BRG bắt đầu đếm ngược Khi tất bit byte liệu được đưa ngoài, đếm BRG mang giá trị Sau đó, cạnh xuống xung clock thứ 8, I2C Master ngưng tác động lên pin SDA để chờ đợi tín hiệu từ I2C Slave (tín hiệu xung ) Tại cạnh xuống xung clock thứ 9, I2C Master lấy mẫu tín hiệu từ pin SDA để kiểm tra xem địa I2C Slave nhận dạng chưa, trạng thái đưa vào bit ACKSTAT (SSPCON2) Cũng thời điểm cạnh xuống xung clock thứ 9, bit BF tự động clear, cờ ngắt SSPIF set BRG tạm ngưng hoạt động liệu địa đưa vào ghi SSPBUF, liệu địa tiếp tục truyền cạnh xuống xung clock Trang 58 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Xét trình nhận liệu chế độ I2C Master mode Trước tiên ta cần set bit cho phép nhận liệu RCEN (SSPCON2) Khi BRG bắt đầu trình đếm, liệu dịch vào I2C Master qua pin SDA cạnh xuống pin SCL Tại cạnh xuống xung clock thứ 8, bit cờ hiệu cho phép nhận RCEN tự động xóa, liệu ghi SSPSR đưa vào ghi SSPBUF, cờ hiệu BF set, cờ ngắt SSPIF set, BRG ngưng đếm pin SCL đưa mức logic thấp Khi MSSP trạng thái tạm ngưng hoạt động để chờ đợi lệnh Sau đọc giá trị ghi SSPBUF, cờ hiệu BF tự động xóa Ta gửi tín hiệu cách set bit ACKEN (SSPCON2) Trang 59 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân 2.13 CỔNG GIAO TIẾP SONG SONG PSP (PARALLEL SLAVE PORT) Ngoài cổng nối tiếp giao điện nối tiếp trình bày phần trên, vi điều khiển PIC16F877A hỗ trợ cổng giao tiếp song song chuẩn giao tiếp song song thông qua PORTD PORTE Do cổng song song hoạt động chế độ Slave mode nên vi điều khiển giao tiếp qua giao diện chịu điều khiển thiết bị bên thông qua pin PORTE, liệu đọc ghi theo dạng bất đồng thông qua pin PORTD Bit điều khiển PSP PSPMODE (TRISE) PSPMODE set thiết lập chức pin PORTE pin cho phép đọc liệu ( ), cho phép ghi liệu ( ) pin chọn vi điều khiển ( ) phục vụ cho việc truyền nhận liệu song song thông qua bus liệu bit PORTD PORTD lúc đóng vai trò ghi chốt liệu bit, đồng thời tác động Trang 60 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân ghi TRISD bỏ qua PORTD lúc chịu điều khiển thiết bị bên PORTE chịu tác động ghi TRISE, cần xác lập trạng thái pin PORTE input cách set bit TRISE Ngoài cần đưa giá trị thích hợp bit PCFG3:PCFG0 (thanh ghi ADCON1) để ấn định pin PORTE pin I/O dạng digital (PORTE pin chức khối ADC) Khi pin mức thấp, liệu từ bên ghi lên PORTD Khi hai pin chuyển lên mức logic cao, cờ hiệu báo liệu buffer đầy BIF (TRISE) set cờ ngắt PSPIF (PIR1) set để báo hiệu kết thúc ghi liệu Bit BIF xóa liệu vừa nhận PORTD đọc vào Bit báo hiệu liệu nhận buffer bị tràn IBOV (TRISE) set vi điều khiển nhận tiếp liệu chưa đọc vào liệu nhận trước Khi pin mức logic thấp, bit báo hiệu buffer truyền liệu đầy BOF (TRISE) xóa để báo hiệu PORTD sẵn sàng cho trình đọc liệu Khi hai pin chuyển sang mức logic cao, cờ ngắt PSPIF set để báo hiệu trình đọc liệu hoàn tất Bit BOF giữ mức logic liệu đưa vào PORTD Cần ý ngắt SSPIF điều khiển bit PSPIE (PIE1) phải xóa chương trình Các ghi liên quan đến PSP bao gồm: Thanh ghi PORTD (địa 08h): chứa liệu cần đọc ghi Thanh ghi PORTE (địa 09h): chứa giá trị pin PORTE Thanh ghi TRISE (địa 89h): chứa bit điều khiển PORTE PSP Thanh ghi PIR1 (địa 0Ch): chứa cờ ngắt PSPIF Thanh ghi PIE1 (địa 8Ch): chứa bit cho phép ngắt PSP Thanh ghi ADCON1 (địa 9Fh): điều khiển khối ADC PORTE Chi tiết ghi trình bày cụ thể phụ lục 2.14 TỔNG QUAN VỀ MỘT SỐ ĐẶC TÍNH CỦA CPU 2.14.1 CONFIGURATION BIT Đây bit dùng để lựa chọn đặc tính CPU Các bit chứa nhớ chương trình địa 2007h truy xuất trình lập trình cho vi điều khiển Chi tiết bit sau: Bit 13 CP: (Code Protection) 1: tắt chế độ bảo vệ mã chương trình 0: bật chế độ bảo vệ mã chương trình Bit 12, 5, 4: không quan tâm mặc định mang giá trị Bit 11 DEBUG (In-circuit debug mode bit) 1:không cho phép, RB7 RB6 xem pin xuất nhập bình thường 0:cho phép, RB7 RB6 pin sử dụng cho trình debug Bit 10-9 WRT1:WRT0 Flash Program Memory Write Enable bit 11: Tắt chức chống ghi, EECON điều khiển trình ghi lên toàn nhớ chương trình 10: chống từ địa 0000h:00FFh Trang 61 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân 01: chống ghi từ địa 0000h:07FFh 00: chống ghi từ địa 0000h:0FFFh Bit CPD Data EEPROM Memory Write Protection bit 1: Tắt chức bảo vệ mã EEPROM 0: Bật chức bảo vệ mã Bit LVP Low-Voltage (Single supply) In-Circuit Serial Programming Enable bit 1: Cho phép chế độ nạp điện áp thấp, pin RB3/PGM sử dụng cho chế độ 0: Không cho phép chế độ nạp điện áp thấp, điện áp cao đưa vào từ pin, pin RB3 pin I/O bình thường Bit BODEN Brown-out Reset Enable bit 1: cho phép BOR (Brown-out Reset) 0: không cho phép BOR Bit Power-up Timer Enable bit 1: không cho phép PWR 0: cho phép PWR Bit WDTEN Watchdog Timer Enable bit 1: cho phép WDT 0: không cho phép WDT Bit 1-0 FOSC1:FOSC0 lựa chọn loại oscillator 11: sử dụng RC oscillator 10: sử dụng HS oscillator 01: sử dụng XT oscillator 00: sử dụng LP oscillator Chi tiết đặc tính đề cập cụ thể phần 2.14.2 CÁC ĐẶC TÍNH CỦA OSCILLATOR PIC16F877A có khả sử dụng 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 mạch RC tạo Đối với loại oscillator LP, HS, XT, oscillator gắn vào vi điều khiển thông qua pin OSC1/CLKI OSC2/CLKO Đối với ứng dụng không cần loại oscillator tốc độ cao, ta sử dụng mạch dao động RC làm nguồn cung cấp xung hoạt động cho vi vi điều khiển Tần số tạo phụ thuộc vào giá trị điện áp, giá trị điện trở tụ điện, bên cạnh ảnh hưởng yếu tố nhiệt độ, chất lượng linh kiện Các linh kiện sử dụng cho mạch RC oscillator phải bảo đảm giá trị sau: K < REXT < 100 K CEXT >20 pF 2.14.3 CÁC CHẾ ĐỘRESET Có nhiều chế độ reset vi điều khiển, bao gồm: Trang 62 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân Power-on Reset POR (Reset cấp nguồn hoạt động cho vi điều khiển) reset trình hoạt động từ chế độ sleep WDT reset (reset khối WDT tạo trình hoạt động) WDT wake up từ chế độ sleep Brown-out reset (BOR) Ngoại trừ reset POR trạng thái ghi không xác định vàWDT wake up không ảnh hưởng đến trạng thái ghi, chế độ reset lại đưa giá trị ghi giá trị ban đầu ấn định sẵn Các bit thị trạng thái hoạt động, trạng thái reset vi điều khiển điều khiển CPU reset: Khi pin mức logic thấp, vi điều khiển reset Tín hiệu reset cung cấp mạch ngoại vi với yêu cầu cụ thể sau: Không nối pin trực tiếp lên nguồn VDD R1 phải nhỏ 40 K để đảm bảo đặc tính điện vi điều khiển R2 phải lớn K để hạn dòng vào vi điều khiển reset chống nhiễu lọc để tránh tín hiệu nhỏ tác động lên pin Power-on reset (POR): Đây xung reset vi điều khiển tạo phát nguồn cung cấp VDD Khi hoạt động chế độ bình thường, vi điều khiển cần đảm bảo thông số dòng điện, điện áp để hoạt động bình thường Nhưng tham số không đảm bảo, xung reset POR tạo đưa vi điều khiển trạng thái reset tiếp tục hoạt động tham số đảm bảo Power-up Timer (PWRT): định thời hoạt động dựa vào mạch RC bên vi điều khiển Khi PWRT kích hoạt, vi điều khiển đưa trạng thái reset PWRT tạo 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 khoảng thời gian delay 1024 chu kì xung oscillator sau PWRT ngưng tác động (vi điều khiển đủ điều kiện hoạt động) để đảm bảo ổn định xung oscillator phát Tác động OST xảy POR reset vi điều khiển đánh thức từ chế đợ sleep OST tác động lọai oscillator XT, HS LP Brown-out reset (BOR): Nếu VDD hạ xuống thấp giá trị VBOR (khoảng 4V) kéo dài khoảng thời gian lớn TBOR (khoảng 100 us), BOR kích hoạt vi điều khiển đưa trạng thái BOR reset Nếu điện áp cung cấp cho vi điều khiển hạ xuống thấp VBOR khoảng thời gian ngắn TBOR, vi điều khiển không reset Khi điện áp cung cấp đủ cho vi điều khiển hoạt động, PWRT kích hoạt để tạo khoảng thời gian delay (khoảng 72ms) Nếu khoảng thời gian điện áp cung cấp cho vi điều khiển lại tiếp tục hạ xuống mức điện áp VBOR, BOR reset lại kích hoạt Khi vi điều khiển đủ điện áp hoạt động Một điểm cần ý BOR reset cho phép, PWRT hoạt động bất chấp trạng thái bit PWRT Tóm lại để vi điều khiển hoạt động từ cấp nguồn cần trải qua bước sau: POR tác động Trang 63 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân PWRT (nếu cho phép hoạt động) tạo khoảng thời gian delay TPWRT để ổn định nguồn cung cấp OST (nếu cho phép) tạo khoảng thời gian delay 1024 chu kì xung oscillator để ổn định tần số oscillator Đến thời điểm vi điều khiển bắt đầu hoạt động bình thường Thanh ghi điều khiển thị trạng thái nguồn cung cấp cho vi điều khiển ghi PCON (xem phụ lục để biết thêm chi tiết) 2.14.4 NGẮT (INTERRUPT) PIC16F877A có đến 15 nguồn tạo hoạt động ngắt điều khiển ghi INTCON (bit GIE) Bên cạnh ngắt có bit điều khiển cờ ngắt riêng Các cờ ngắt set bình thường thỏa mãn điều kiện ngắt xảy bất chấp trạng thái bit GIE, nhiên hoạt động ngắt phụ thuôc vào bit GIE bit điều khiển khác Bit điều khiển ngắt RB0/INT TMR0 nằm ghi INTCON, ghi chứa bit cho phép ngắt ngoại vi PEIE Bit điều khiển ngắt nằm ghi PIE1 PIE2 Cờ ngắt ngắt nằm ghi PIR1 PIR2 Trong thời điểm có chương trình ngắt thực thi, chương trình ngắt kết thúc lệnh RETFIE Khi chương trình ngắt thực thi, bit GIE tự động xóa, địa lệnh chương trình cất vào nhớ Stack đếm chương trình đến địa 0004h Lệnh RETFIE dùng để thoát khỏi chương trình ngắt quay trở chương trình chính, đồng thời bit GIE set phép ngắt hoạt động trở lại Các cờ hiệu dùng để kiểm tra ngắt xảy phải xóa chương trình trước cho phép ngắt tiếp tục hoạt động trở lại để ta phát thời điểm mà ngắt xảy Đối với ngắt ngoại vi ngắt từ chân INT hay ngắt từ thay đổi trạng thái pin PORTB (PORTB Interrupt on change), việc xác định ngắt xảy cần Trang 64 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân chu kì lệnh tùy thuộc vào thời điểm xảy ngắt Cần ý trình thực thi ngắt, có giá trị đếm chương trình cất vào Stack, số ghi quan trọng không cất bị thay đổi giá trị trình thực thi chương trình ngắt Điều nên xử lí chương trình để tránh tượng xảy 2.14.4.1 NGẮT INT Ngắt dựa thay đổi trạng thái pin RB0/INT Cạnh tác động gây ngắt cạnh lên hay cạnh xuống điều khiển bit INTEDG (thanh ghi OPTION_ REG ) Khi có cạnh tác động thích hợp xuất pin RB0/INT, cờ ngắt INTF set bất chấp trạng thái bit điều khiển GIE PEIE Ngắt có khả đánh thức vi điều khiển từ chế độ sleep bit cho phép ngắt set trước lệnh SLEEP thực thi 2.14.4.2 NGẮT DO SỰ THAY ĐỔI TRẠNG THÁI CÁC PIN TRONG PORTB Các pin PORTB dùng cho ngắt điều khiển bit RBIE (thanh ghi INTCON) Cờ ngắt ngắt bit RBIF (INTCON) 2.14.5 WATCHDOG TIMER (WDT) Watchdog timer (WDT) đếm độc lập dùng nguồn xung đếm từ tạo xung tích hợp sẵn vi điều khiển không phụ thuộc vào nguồn xung clock ngoại vi Điều có nghĩa WDT hoạt động xung clock lấy từ pin OSC1/CLKI pin OSC2/CLKO vi điều khiển ngưng hoạt động (chẳng hạn tác động lệnh sleep) Bit điều khiển WDT bit WDTE nằm nhớ chương trình địa 2007h (Configuration bit) WDT tự động reset vi điều khiển (Watchdog Timer Reset) đếm WDT bị tràn (nếu WDT cho phép hoạt động), đồng thời bit tự động xóa Nếu vi điều khiển chế độ sleep WDT đánh thức vi điều khiển (Watchdog Timer Wake-up) đếm bị tràn Như WDT có tác dụng reset vi điều khiển thời điểm cần thiết mà không cần đến tác động từ bên Trang 65 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân ngoài, chẳng hạn trình thực thi lệnh, vi điều khiển bị “kẹt” chổ mà không thoát đươc, vi điều khiển tự động reset WDT bị tràn ể chương trình hoạt động trở lại Tuy nhiên sử dụng WDT có phiền toái vi điều khiển thường xuyên reset sau thời gian định, đói cần tính toán thời gian thích hợp để xóa WDT (dùng lệnh CLRWDT) Và để việc ấn định thời gian reset linh động, WDT hỗ trợ chia tần số prescaler điều khiển ghi OPTION_REG (prescaler chia xẻ với Timer0) Một điểm cần ý lệnh sleep xóa đếm WDT prescaler Ngoài lệnh xóa CLRWDT xóa đếm không làm thay đổi đối tượng tác động prescaler (WDT hay Timer0) Xem lại Timer0 ghi OPTION_REG (phụ lục 2) để biết thêm chi tiết 2.14.6 CHẾ ĐỘ SLEEP Đây chế độ hoạt động vi điều khiển lệnh SLEEP thực thi Khi cho phép hoạt động, đếm WDT bị xóa WDT tiếp tục hoạt động, bit (STATUS) reset 0, bit set, oscillator ngưng tác động PORT giữ nguyên trạng thái trước lệnh SLEEP thực thi Do chế độ SLEEP, dòng cung cấp cho vi điều khiển nhỏ nên ta cần thực bước sau trước vi điều khiển thực thi lệnh SLEEP: Đưa tất pin trạng thái VDD VSS Cần bảo đảm không cò mạch ngoại vi điều khiển dòng điện vi điều khiển dòng điện nhỏ không đủ khả cung cấp cho mạch ngoại vi hoạt động Tạm ngưng hoạt động củ khối A/D không cho phép xung clock từ bên tác động vào vi điều khiển Để ý đến chức kéo lên điện trở PORTB Pin phải mức logic cao Trang 66 Đồántốt nghiệp:Bảng phamàuledmatrận GVHD:Tống Thanh Nhân 2.14.6.1 “ĐÁNH THỨC” VI ĐIỀU KHIỂN Vi điều khiển “đánh thức” tác động số tượng sau: Tác động reset ngoại vi thông qua pin Tác động WDT bị tràn Tác động từ ngắt ngoại vi từ PORTB (PORTB Interrupt on change pin INT) Các bit dùng để thể trạng thái vi điều khiển để phát nguồn tác động làm reset vi điều khiển Bit set vi điều khiển cấp nguồn reset vi điều khiển chế độ sleep Bit reset WDT tác động đếm bị tràn Ngoài có số nguồn tác động khác từ chức ngoại vi bao gồm: Đọc hay ghi liệu thông qua PSP (Parallel Slave Port) Ngắt Timer1 hoạt động chế độ đếm bất đồng Ngắt CCP hoạt động chế độ Capture Các tượng đặc biệt làm reset Timer1 hoạt động chế độ đếm bất đồng dùng nguồn xung clock bên ngoài) Ngắt SSP bit Start/Stop phát SSP hoạt động chế độ Slave mode truyền nhận liệu Tác động USART từ pin RX hay TX hoạt động chế độ Slave mode đồng Khối chuyển đổi A/D nguồn xung clock hoạt động dạng RC Hoàn tất trình ghi vào EEPROM Ngõ so sánh thay đổi trạng thái Các tác động ngoại vi khác tác dụng đánh thức vi điều khiển chế độ sleep xung clock cung cấp cho vi điều khiển ngưng hoạt động Bên cạnh cần cho phép ngắt hoạt động trước lệnh SLEEP thực thi để bảo đảm tác động ngắt Việc đánh thức vi điều khiển từ ngắt thực thi bất chấp trạng thái bit GIE Nếu bit GIE mang giá trị 0, vi điều khiển thực thi lệnh sau lệnh SLEEP chương trình (vì chương trình ngắt không cho phép thực thi) Nếu bit GIE set trước lệnh SLEEP thực thi, vi điều khiển thực thi lệnh chương trình sau nhảy tới địa chứa chương trình ngắt (0004h) Trong trường hợp lệnh không đóng vai trò quan trọng chương trình, ta cần đặt thêm lệnh NOP sau lệnh SLEEP để bỏ qua tác động lệnh này, đồng thời giúp ta dễ dàng việc kiểm soát hoạt động chương trình ngắt Tuy nhiên có số điểm cần lưu ý sau: Nếu ngắt xảy trước lệnh SLEEP thực thi, lệnh SLEEP không thực thi thay vào lệnh NOP, đồng thời tác động lệnh SLEEP bỏ qua Nếu ngắt xảy hay sau lệnh SLEEP thực thi, vi điều khiển đánh thức từ chế độ sleep, lệnh SLEEP thực thi sau vi điều khiển đánh thức Để kiểm tra xem lệnh SLEEP thực thi hay chưa, ta kiểm tra bit Nếu bit mang giá trị tức lệnh SLEEP không thực thi thay vào lệnh NOP Bên cạnh ta cần xóa WDT để chắn WDT xóa trước thực thi lệnh SLEEP, qua cho phép ta xác định thời điểm vi điều khiển đánh thức tác động WDT Trang 67 ... Clock dài Sơ đồ logic Trang Đồ án tốt nghiệp:Bảng pha màu led ma trận Giản đồ thời gian Trang 10 GVHD:Tống Thanh Nhân Đồ án tốt nghiệp:Bảng pha màu led ma trận IC CD4094 loại dán IC CD4094 loại... xoay,… Trang Đồ án tốt nghiệp:Bảng pha màu led ma trận Tụ điện loại dán Trang GVHD:Tống Thanh Nhân Đồ án tốt nghiệp:Bảng pha màu led ma trận GVHD:Tống Thanh Nhân 2.4 IC CD4094 Sơ đồ chân Data... Oscillator khác 2.3 SƠ ĐỒ KHỐI VI ĐIỀU KHIỂN PIC16F877A Trang 15 Đồ án tốt nghiệp:Bảng pha màu led ma trận Trang 16 GVHD:Tống Thanh Nhân Đồ án tốt nghiệp:Bảng pha màu led ma trận GVHD:Tống Thanh