Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,11 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI ĐỒ ÁN MÔN HỌC ĐỀ TÀI: THIẾT KẾ BỘ ĐO TẦN SỐ HIỂN THỊ MÀN HÌNH TINH THỂ LỎNG (LCD) Giáo viên hướng dẫn: Sinh viên thực hiện: LÊ VĂN DŨNG NGUYỄN ĐÌNH SƠN MAI HUY LỢI Lớp: CĐ-CĐT-K9 Đồ án môn Vi điều khiển Mục lục Trang Mục lục Lời nói đầu Chương I:Cơ sở lý thuyết .4 I: Vi điều khiển 8052 (AT89S52) 1, Giới thiệu tổng quan AT89S52 2, Cấu tạo, chức khối AT89S52 sử dụng II: Màn hình tinh thể lỏng (LCD) 13 1, Cấu tạo 13 2, Nguyên lý hoạt động 13 Chương II:Nội dung thiết kế 15 I:Sơ đồ mạch 15 2, Sơ đồ khối 15 3, Sơ đồ nguyên lý 16 4, Sơ đồ mạch in .17 II:Cấu tạo nguyên lý hoạt động 17 1, Cấu tạo 18 2, Nguyên lý hoạt động 18 3, Lập trình cho vi điều khiển 18 Chương II :Đánh giá sản phẩm 22 Nguồn tài liệu tham khảo: 1, Giáo trình vi điều khiển (Trường Đại học Cơng Nghiệp Hà Nội) 2, www.dientuvietnam.net 3, www.alldatasheet.com 4, etech.com.vn Trường Đại học Công Nghiệp Hà Nội Đồ án môn Vi điều khiển LỜI NÓI ĐẦU Chúng ta vào thời điểm gần cuối năm 2009 Hằng ngày liên lạc với điện thoại di động, giải khát nước mát tủ lạnh, sử dụng ATM, sử dụng máy tính lướt wed…Chúng ta biết mặt sống có tham gia gọi “công nghệ số” Vậy đâu cốt lõi sản phẩm ứng dụng công nghệ điện tử số? Cái khiến cho tên lửa đạn đạo đến đích xác, khiến cho búp bê nhại lại tiếng người ? Câu trả lời vi điều khiển Kẻ khởi đầu kỷ nguyên số Intel Chúng ta hay nhắc vi xử lý, vi điều khiển Vậy vi xử lý vi điều khiển khác đâu? Về hai khái niệm không khác nhiều, vi xử lý thuật ngữ chung dùng để đề cập đến kỹ thuật ứng dụng cơng nghệ vi điện tử, cơng nghệ tích hợp khả xử lý theo chương trình vào lĩnh vực khác Vào giai đoạn đầu trình phát triển cơng nghệ vi xử lý, chip (hay vi xử lý) chế tạo tích hợp phần cứng thiết yếu CPU mạch giao tiếp CPU phần cứng khác bên Trong giai đoạn này, phần cứng khác (kể nhớ) thường khơng tích hợp chip mà phải ghép nối bên Các phần cứng gọi ngoại vi Về sau, nhờ phát triển vựơt bậc cơng nghệ tích hợp, ngoại vi tích hợp vào bên IC người ta gọi vi xử lý tích hợp thêm ngoại vi vi điều khiển Việc tích hợp thêm ngoại vi vào IC với CPU tạo nhiều lợi ích làm giảm thiểu ghép nối bên ngoài, giảm thiểu số lượng linh kiện điện tử phụ, giảm chi phí cho thiết kế hệ thống, đơn giản hóa việc thiết kế, nâng cao hiệu suất tính linh hoạt Mục đích đề tài hướng đến: tạo bước đầu cho sinh viên thử nghiệm ứng dụng vi điều khiển thực tiễn để từ nghiên cứu, tìm tịi, phát triển nhiều ứng dụng khác đời sống ngày Việc thiết kế đồ án tham khảo từ nguồn tài liệu khác nhau, chúng em đưa số nội dung chưa rõ ràng, thiếu xác Vì mong nhận ý kiến góp ý, phê bình thầy, để kiến thức vi điều khiển chúng em hoàn thiện Chúng em xin cảm ơn thầy, cô.! Trường Đại học Công Nghiệp Hà Nội Đồ án môn Vi điều khiển Chương I: Cơ sở lý thuyết I Vi điều khiển 8052 : AT89S52 1, Giới thiệu tổng quan AT89S52 - Cấu trúc bên trong: - Một số hình ảnh AT89S52 Trường Đại học Cơng Nghiệp Hà Nội CPU( CPU centra lprocessing unit): 8- bit data bus; 16- bit address bus; không gian địa 64Kbyte Thanh ghi tích lũy A; Thanh ghi tích lũy phụ B; Đơn vị logic học (ALU); Thanh ghi từ trạng thái chương trình; Bốn băng ghi; Con trỏ ngăn xếp; Bộ nhớ (Memory): Bộ nhớ chương trình( ROM) gồm 8Kbyte Flash, ghi xóa hàng nghìn lần Bộ nhớ liệu( dạng SRAM) gồm 256 byte (chứa ngăn xếp – Stack) Vùng ghi có chức đặc biệt SFR (Special Funtion Register) Bộ UART, có chức truyền nhận nối tiếp Timer/Counter 16 bit thực chức định thời đếm kiện Khối điều khiển ngắt với nguồn ngắt nguồn ngắt Bộ lập trình (ghi chương trình lên Flash ROM) cho phép người sử dụng nạp chương trình cho chíp mà không cần nạp chuyên dụng cổng xuất nhập song song chiều 8- bit với 32 chân Đồ án môn Vi điều khiển - Chức chân AT89S52 Cấu trúc chân Port: Port 0( P0.0=>P0.7) Port gồm chân, chức xuất nhập, port bus đa hợp liệu địa chỉ( AD0-AD7), chức sử dụng AT89S52 giao tiếp với thiết bị ngồi có kiến trúc Bus vi mạch nhớ, mạch PIO… Port 1( P1.0=>P1.7) Chức Port chức xuất nhập Port khác Port1 xuất nhập theo bit theo byte Port 2( P2.0=>P2.7) Port chức cổng vào/ra Port Port 1, Port byte cao bus địa sử dụng nhớ Port 3( P3.0=>P3.7) Mỗi chân Port ngồi chức xuất nhập cịn có chức riêng, cụ thể sau: Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên RXD TXD INT0 INT1 T0 T1 /WR /RD Trường Đại học Công Nghiệp Hà Nội Chức Dữ liệu nhận cho Port nối tiếp Dữ liệu truyền cho Port nối tiếp Ngắt Ngắt Ngõ vào Timer/counter0 Ngõ vào Timer/counter1 Xung ghi nhớ liệu Xung đọc nhớ liệu ngồi Đồ án mơn Vi điều khiển Chân /PSEN (pin 29): chân điều khiển đọc chương trình nhớ ngồi Chân ALE (pin 30): ALE tín hiệu điều khiển chốt địa có tần số 1/6 tần số dao động vi điều khiển Tín hiệu ALE dùng phép vi mạch chốt bên 7473 Chân /EA (pin 31): Tín hiệu /EA cho phép chọn nhớ chương trình nhớ hay ngồi EA=1 thực chương trình ROM nội EA=0 thực ROM RST( Reset: pin 9): Ngõ vào reset chân số RST=1 vi điều khiển khởi động lại thiết lập ban đầu XTAL1, XTAL2 (pin 18, 19): Hai chân nối song song với thạch anh tần số max=33 Mhz Để tạo dao động cho vi điều khiển Vcc,GND: cung cấp nguồn nuôi cho vi điều khiển cấp qua chân 20 40 * Phần cứng tối thiểu để chip AT89S52 hoạt động gồm yếu tố: Nguồn cung cấp (pin 20, pin 40) Mạch RESET (pin 9) Mạch dao động (pin 18 pin 19) Trạng thái chân EA (pin 31) Trường Đại học Công Nghiệp Hà Nội 2, Cấu tạo chức khối AT89S52 sử dụng mạch Đơn vị xử lý trung tâm CPU: Chức CPU tiến hành thao tác tính tốn xử lý, đưa tín hiệu địa chỉ, liệu điều khiển nhằm thực nhiệm vụ người lập trình đưa thông qua lệnh (instrustions) Bộ nhớ: Bộ nhớ chương trình nhớ liệu có khơng gian địa riêng biêt Bộ nhớ chương trình có địa từ 0x0000 đến 0xFFFF (64Kbyte) Người sử dụng thiết kế để chip hoạt động với nhớ chương trình tích hợp sẵn chip cách nối tín hiệu EA (31) lên Vcc, hoạt động với nhớ chương trình bên ngồi cách nối tín hiệu EA (31) xuống GND Thơng thường , tín hiệu EA nối cố định lên Vcc GND nên chạy với hai loại nhớ chương trình Bộ nhớ chương trình dùng để chứa mã chương trình hướng dẫn CPU thực nhiệm vụ AT89S52 có nhớ chương trình 8Kbyte dạng Flash, không bị liệu ngừng cung cấp nguồn ni.Bộ nhớ chương trình bên ngồi có dung lượng tối đa 64Kbyte Bộ nhớ liệu dùng để chứa liệu (bao gồm tham số, biến tạm thời…) AT89S52 có 256byte nhớ liệu dạng SRAM, liệu cắt nguồn ni Ngồi ghép nối với nhớ SRAM bên với dung lượng tối đa la 64Kbyte RAM RAM sử dụng thiết kế Vùng ghi có chức đặc biệt: SFR (Special Function Registers) Cổng vào song song (Parallel I/O Port) AT89S52 có cổng vào song song, tên P0, P1, P2, P3 Mỗi cổng có tín hiệu (nên cịn gọi cổng 8- bit), tín hiệu gọi bit có tên la Px.y Trong x số thứ tự cổng (0→3), y số thứ tự bit ( 0→7) Hầu hết cổng tích hợp, kiêm nhiệm thêm số tính (ví dụ: ngắt ngồi, cổng truyền thơng nối tiếp, đầu vào đếm kiện ) Trong phần lớn trường hợp, sử dụng tính kiêm nhiệm, người dùng khơng nên sử dụng cổng chức vào/ra thong thường Ngoại vi on- chip nắm quyền điều khiển mức logic cổng Tất cổng cổng hai chiều (bi-directional), tức dùng làm cổng vào cổng Cổng vào dùng để đọc liệu từ bên ngoài, cổng dùng để điều khiển ngoại vi bên Chiều vào/ độc lập cổng, chí độc lập bit cổng Sau reset, tất cổng cổng vào Các ghi SFR liên quan: cổng liên quan đến ghi chức đặc biệt 8-bit (SFR) có tên trùng với tên cổng, P0, P1, P2, P3 Trước sử dụng cổng, phải cấu hình hướng vào/ra cho cổng Để cấu hình cổng vào (input port), người dùng phải ghi giá trị logic “1” lên bit ghi SFR tương ứng Sau đọc mức logic cổng cách đọc ghi cổng (SFR) tương ứng Để cấu hình làm cổng (output port), người dùng thực them thao tác Đơn giản, cần ghi mức logic mong muốn vào ghi cổng tương ứng Đặc tính điện: Mức logic 0: U= 2.4V; I= 60µA Ngắt (Interrupts) Ngắt yêu cầu ngoại vi (là phần cứng tích hợp IC tác động từ bên ngồi) gửi tới CPU nhằm địi hỏi đáp ứng định Mục đích việc thiết kế chế ngắt vi xử lý nhằm tiết kiệm thời gian cho CPU Trong hầu hết trường hợp, vi xử lý cần phải thực nhiều nhiệm vụ thời gian ngắn liên tục Để đáp ứng kịp thợi với kiện cần xử lý, CPU tiến hành thăm dị (polling) liên tục kiện để xem chúng xảy xử lý, đáp ứng lại.Tuy nhiên làm lãng phí nhiều thời gian CPU cịn có nhiều nhiệm vụ khác chờ thực hiện, ngồi CPU khơng thể thăm dò liên tục nhiều kiện lúc Người ta tạo ngắt để CPU thăm dị liên tục hay nhiều kiện Bằng cách ghép kiện cần đáp ứng với chế ngắt khác nhau, kiện xảy ra, phần cứng phụ trách ngắt tích hợp CPU tự động báo cho CPU biết kiện xảy CPU dừng công việc làm lại ( phải thực xong lệnh thực hiện, dù giai đoạn tìm nạp mã lệnh), chuyển sang xử lý xong kiện gây ngắt, CPU tiếp tục quay lại lam tiếp công việc dang dở (nhờ hoạt động ngăn xếp) Nói đến ngắt khơng thể khơng nói đến mức ưu tiên loại ngắt khác Có loại mức ưu tiên ngắt ưu tiên ngắt xảy đồng thời ưu tiên ngắt xảy khác thời điểm, chen vào Trong hai trường hợp, ngắt có ưu tiên cao phục vụ AT89S52 có nguyên nhân gây ngắt: Tên ngắt Ngắt Ngắt timer/counter Ngắt Ngắt timer/counter Ngắt cổng nối tiếp Ngắt timer/counter2 Nguyên nhân gây ngắt Địa vector ngắt Mức độ ưu tiên cứng Cờ báo ngắt Tín hiệu INT0 thay đổi mức logic 1→0, giữ mức logic Timer/Counter0 đếm tràn Tín hiệu INT1 thay đổi mức logic 1→0, giữ mức logic 0x0003 IE0(TCON) 0x000B TF0(TCON) 0x0013 IE1(TCON) Timer/Counter1 đếm tràn 0x001B TF1(TCON) 0x0023 TI,RI (SCON) 0x002B TF2,EXF2 (T2CON) Cổng nối tiếp nhận truyền xong khung liệu đầy đủ Timer/Counter2 đếm tràn tín hiệu T2EX thay đổi mức logic 1→0 Các cờ báo ngắt INT0, INT1, Timer 0, Timer bị xóa CPU xử lý chương trình ngắt Cịn cờ ngắt cổng nối tiếp ngắt Timer khơng tự động xóa, người dùng phải xóa phần mềm Thanh ghi cho phép ngắt IE (Interrupt Enable): EA: bít cho phép cấm tất ngắt Để cho phép ngắt bít tương ứng với ngắt bít EA phải đặt Nếu EA=0 tất ngắt bị cấm ET2: bít cho phép ngắt Timer ES: bít cho phép ngắt truyền thong nối tiếp ET1: bít cho phép ngắt Timer EX1: bít cho phép ngắt ngồi INT1 ET0: bít cho phép ngắt Timer EX0: bít cho phép ngắt INT0 Mức ưu tiên ngắt số giúp CPU phân xử xem xử lý ngắt trước hai hay nhiều ngắt đồng thời xảy ra, dừng việc xử lý ngắt lại hay không bị ngắt khác chen vào Khi xảy ngắt đồng thời,CPU phân xử theo trình tự ưu tiên cứng liệt kê bảng Khi ngắt xảy chen vào trình xử lý dang dở ngắt khác, CPU phân xử theo mức độ ưu tiên quy định người dùng thông qua ghi đặt mức ưu tiên ngắt IP Thanh ghi ưu tiên ngắt IP (Interrupt Priority): MSB - PT2 PS PT1 PX1 PT0 PX0 LSB PT2: bít ưu tiên ngắt timer PS: bít ưu tiên ngắt truyền thơng nối tiếp PT1: bít ưu tiên ngắt timer PX1: bít ưu tiên ngắt ngồi INT1 PT0: bít ưu tiên ngắt timer PX0: bit ưu tiên ngắt INT0 Bộ định thời/ Bộ đếm (Timers/ Counters) Timer/Counter ngoại vi có chức đếm xung nhịp (clock) Khi đếm xung nhịp bên chip gọi đinh thời hay timer Khi đếm xung nhịp bên chip đưa gọi đếm kiện hay counter Mỗi xung nhịp xuất them, giá trị timer/counter tự động tăng thêm Khi timer/counter đếm vượt giá trị giới hạn mà biểu diễn, giá trị đếm tự động xóa đếm lại từ đầu Sự kiện gọi tràn (overflow) Giá trị lớn tùy thuộc vào chế độ hoạt động Khi dừng đếm, giá trị đếm timer/counter giữ nguyên, trừ nguồn nuôi, reset hay người dùng chủ định xóa lệnh Khi cho phép đếm, timer/counter đếm từ giá trị giữ AT89S52 có timer/counter 16bit timer/counter 0, timer/counter 1, timer/counter Các timer có ngắt: Timer có ngắt tràn Timer có ngắt tràn Timer có ngắt tràn kiện capture Các ghi liên quan: - Thanh ghi liệu (hay ghi giá trị đếm):TH0,TL0 (Timer0) TH1,TL1 (Timer1) TH2,TL2 (Timer2) ghi bit - Thanh ghi điều khiển TMOD(Sử dụng cho timer/counter timer/counter 1): GATE: bit quy định yếu tố cho phép timer/counter đếm hay dừng Nếu GATE=0, timer/counter đếm hay dừng phụ thuộc vào trạng thái bit TRx (thanh ghi TCON) Nếu GATE=1, timer/counter đếm bit TRx=1 (thanh ghi TCON) tín hiệu ngắt ngồi INTx mức cao Trong trường hợp này, TRx-0 tín hiệu ngắt ngồi INTx mức thấp, timer/counter dừng đếm C/T: bit lựa chọn xung nhịp đưa vào đếm Nếu C/T = 0, xung nhịp đưa vào đếm xung nhịp CPU (lúc gọi định thời – timer) Nếu C/T = 1, xung nhịp đưa vào đếm xung nhịp lấy từ bên ngồi vào qua tín hiệu T0 T1 (lúc gọi đếm kiện – counter) M1:M0 0:0 = Mode 0: timer/counter 13bit ghép : 0:1 = Mode 1: timer/counter 16bit ghép : 1:0 = Mode 2: timer/counter 8bit, đếm TL,khi tràn tự động nạp TH vào TL 1:1 = Mode 3: TL0 timer/counter 8bit, sử dụng bit điều khiển timer0 TH0 timer 8bit, sử dụng bit điều khiển timer Timer không hoạt động chế độ - Thanh ghi TCON (Sử dụng cho timer/counter timer/counter 1): TF1: Cờ ngắt timer/countet 1, =1 báo hiệu timer/counter đếm vượt trị lớn mà biểu diễn (255 chế độ 8bit 65535 chế độ 16bit) TR1: bit cho phép timer/counter hoạt động đếm dừng TF0: Cờ ngắt timer/countet 0, =1 báo hiệu timer/counter đếm vượt trị lớn mà biểu diễn (255 chế độ 8bit 65535 chế độ 16bit) TR0: bit cho phép timer/counter hoạt động đếm dừng IE1: Cờ ngắt ngắt IT1: Bit cho phép chọn loại ngắt cho INT1 IE0: Cờ ngắt ngắt IT0: Bit cho phép chọn loại ngắt cho INT0 Thanh ghi T2CON (Sử dụng cho Timer/counter 2): TF2: Cờ báo tràn Timer TF2 không thiết lập TCLK RCLK đặt EXF2: Cờ ngắt Timer EXF2 =1 xảy nạp lại thu nhận EXF2=1 gây ngắt Timer ngắt lập trình cho phép RCLK: Bit chọn Timer cung cấp xung nhịp cho đường nhận cổng nối tiếp TCLK: Bit chọn Timer cung cấp xung nhịp cho đường truyền cổng nối tiếp EXEN2: Bit điều khiển hoạt động Timer2, EXEN2=1 việc nạp lại thu nhận (capture) diễn có chuyển trạng thái từ sang chân T2EX Timer2 không sử dụng để cung cấp tốc độ baud cho cổng nối tiếp TR2: Bit điều khiển hoạt động Timer C/T2: Bit lựa chọn xung nhịp đưa vào đếm (tương tự TR0 TR1) CP/RL2: Bit chọn chế độ capture hay nạp lại Timer Khi CP/RL2=1 việc thu nhận thực có sườn xuống chân T2EX bit EXEN2 đặt Khi CP/RL2=0 việc nạp lại thực Timer2 tràn có sương xuống chân T2EX bit EXEN2 đặt 1.Nếu RCLK TCLK=1, bit bỏ qua, Timer tự nạp tràn Các chế độ Timer 2: - Thanh ghi điều khiển T2MOD (Sử dụng cho Timer 2): T2OE: Bit cho phép đầu sử dụng Timer để tạo xung (chế độ Clock Out) DCEN: Bit cho phép Timer hoạt động đếm tiến/lùi - Thanh ghi chứa giá trị nạp lại (chế độ Auto- Reload) chứa giá trị capture (chế độ Capture) (Sử dụng cho Timer 2): RCAP2H RCAP2L: ghi 8bit * Trong đồ án, chúng em khơng sử dụng cổng nối tiếp giao tiếp cổng nối tiếp (UART) không giới thiệu III, Bộ hiển thị hình tinh thể lỏng (LCD) 1., Cấu tạo: Giới thiệu LCD 1602: Là thiết bị thong dụng dung để hiển thị thông tin, đặc biệt chữ LCD1602 LCD có 16 cột hàng, hiển thị tối đa 32 kí tự lúc (16 kí tự hang 16 kí tự hang dưới) Hình ảnh LCD 16*2 Chức chân LCD: Chân số Ký hiệu I/O Vss Vdd Vee RS Mức logic 0/1 R/W 0/1 I 10 11 12 13 14 15 16 E DB1 DB2 DB3 DB4 DB5 DB6 DB7 DB8 A K 1,1=>0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 - I I/O I/O I/O I/O I/O I/O I/O I/O - I I Chức Nguồn cung cấp(GND) Nguồn cung cấp(+5V) Điện áp để điều chỉnh độ tương phản Lựa chọn ghi: 0= ghi lệnh 1=thanh ghi liệu 0=ghi vào LCD module 1=đọc từ LCD module Tín hiệu cho phép, tích cực mức cao Data bus line 0(LSB) Data bus line1 Data bus line2 Data bus line3 Data bus line4 Data bus line5 Data bus line6 Data bus line7(MSB) Cực Anot đèn Backlight Cực Katot đèn Backlight Nguyên tắc hiển thị ký tự LCD: Một chương trình hiển thị ký tự LCD theo bốn bước sau: 1) Xóa tồn hình 2) Đặt chế độ hiển thị 3) Đặt vị trí trỏ (nơi bắt đầu ký tự hiển thị) 4) Hiển thị ký tự Chú ý: + Các bước 3, lặp lại nhiều lần cần hiển thị nhiều ký tự + Mỗi thực ghi lệnh ghi liệu hiển thị lên LCD cần phải kiểm tra cờ bận trước Vì vậy, cần phải chủ động phân phối thời gian lệnh cho LCD( ví dụ sau xóa hình sau khoảng 2ms lệnh khác thời gian để LCD xóa hình 1,64ms) + Chế độ hiển thị mặc định hiển thị dịch, vị trí trỏ mặc định đầu dòng thứ Bảng mã lệnh điều khiển LCD: Bản đồ địa vị trí LCD Muốn trỏ đến vị trí LCD ta phải gửi lệnh tới LCD với mã lệnh địa bảng cộng với 0x80 Chương II: Nội dung thiết kế I: Sơ đồ mạch 1, Sơ đồ khối KHỐI NHẬN TÍN HIỆU So nguyen ly KHỐI XỬ LÝ TRUNG TÂM CPU (AT89S52) KHỐI HIỂN THỊ: LCD 3, Sơ đồ mạch in Mạch CPU Mạch tạo xung I: Cấu tạo nguyên lý hoạt động 1, Cấu tạo Khối nhận tín hiệu: Khối nhận xung từ mạch tạo dao động sử dụng LM555 chân nhận tín hiệu xung chân T0 Khối hiển thị LCD: vào chức chân LCD, LCD nối với AT89S52 sau: Chân nối GND Chân nối +5V Chân Vef nối với biến trở 10K để chỉnh độ tương phản Chân RS, RW, EN nối với chân vi điều khiển để điều khiển LCD chân đèn backlight nối sau: 2, Nguyên lý hoạt động mạch Nguyên lý hoạt động mạch đếm xem 1s có xung chân T0, số xung tần số cần đo Do sử dụng Timer mode nên số xung lớn mà A89S52 đếm 65535, tương ứng với 65,535KHz, sai số giá trị đo nhau, để đảm bảo yêu cầu đề tài đặt ra, mạch thiết kế có led đơn để báo tần số đo dải đo nào: 0-100Hz, 100Hz-500Hz; 1KHz5KHz Khi mà giá trị tần số đo thuộc dải tần số led tương ứng sáng, cịn khơng thuộc dải tần số hiển thị giá trị tần số đo LCD led không sáng Timer dùng chế độ counter, tức đếm kiện ngồi mode 1, có xung từ cao xuống thấp chân T0, giá trị đếm tự động tăng lên 1, giá trị đếm lưu vào ghi bit, TH0 ghi bit cao, TL0 ghi bit thấp Vì đưa xung vào Timer tự động đếm, giá trị tối đa đếm 65535 xung Timer sử dụng chế độ tự động nạp lại, lấy clock hệ thống, Timer có nhiệm vụ đếm thời gian 1s Khi timer đếm 1s CPU cho timer dừng đếm, sau lấy liệu từ TH0 TL0, liệu mà Timer lưu giữ số xung 1s, tần số giá trị xung Để lấy giá trị xung phải thực tính tốn; lúc tần số là: tanso= (TH0*256) + TL0 Sau có giá trị tần số thực hiển thị LCD Muốn hiển thị kiệu LCD ta phải gửi mã ASCII kí tự Mỗi lần gửi gửi kí tự, vạy ta phải tách kiệu vừa nhận thành số riêng biệt, sau đươc cộng với ‘0’, tức cộng với mã ASCII số 0, gửi chữ số lên LCD, ta có giá trị tần số đo 3, Lập trình cho vi điều khiển Code chương trình: #include #define #define #define #define LCD_DATA P0 LCD_RS LCD_RW LCD_E P2_0 P2_1 P2_2 #define LED1 P1_0 #define LED2 P1_1 #define LED3 P1_2 //============================================= // Khai báo biến số unsigned int count,tanso; #define N2 100 //============================================= // Khai báo hàm void Delay(unsigned int); void LCD_WriteCommand(unsigned char); void LCD_WriteData(unsigned char); void LCD_SendStringFlash(const unsigned char*); void LCD_Gotoxy(unsigned char,unsigned char); void hienthi(); //============================================= // Định nghĩa hàm Void main() { EA=1;ET1=1; TMOD=0x25; TH1=TL1=-250; // cam LCD LCD_E = 0; ... thiệu III, Bộ hiển thị hình tinh thể lỏng (LCD) 1., Cấu tạo: Giới thiệu LCD 1602: Là thiết bị thong dụng dung để hiển thị thông tin, đặc biệt chữ LCD1602 LCD có 16 cột hàng, hiển thị tối đa 32... đơn để báo tần số đo dải đo nào: 0-100Hz, 100Hz-500Hz; 1KHz5KHz Khi mà giá trị tần số đo thuộc dải tần số led tương ứng sáng, cịn khơng thuộc dải tần số hiển thị giá trị tần số đo LCD led không... tạo, chức khối AT89S52 sử dụng II: Màn hình tinh thể lỏng (LCD) 13 1, Cấu tạo 13 2, Nguyên lý hoạt động 13 Chương II:Nội dung thiết kế 15 I:Sơ đồ mạch