TÌM HIỂU VỀ HỌ VI ĐIỀU KHIỂN 8051 và XÂY DỰNG ỨNG DỤNG MẠCH ĐẾM SẢN PHẨM

61 626 0
TÌM HIỂU VỀ HỌ VI ĐIỀU KHIỂN 8051 và XÂY DỰNG ỨNG DỤNG MẠCH  ĐẾM SẢN PHẨM

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG 1 : TÌM HIỂU VỀ HỌ VI ĐIỀU KHIỂN 8051 1 1.1 Tóm tắt về lịch sử của 8051 1 1.2 Sơ đồ khối chung của họ 8051 2 Hình 1.1 Bố trí bên trong của họ 8051 3 1.3 Các thành viên khác của 8051 3 1.3.1 Bộ vi điều khiển 8052 3 1.3.2 Bộ vi điều khiển 8031 3 1.4 Các phiên bản của 8051 4 1.4.1 Bộ vi điều khiển 8751 4 1.4.2 Bộ vi điều khiển AT8951 từ Atmel Corporation 4 1.4.3 Bộ vi điều khiển DS5000 từ hãng Dalas Semiconductor 6 1.4.4 Phiên bản OTP của 8051 7 1.4.5 Họ 8051 từ hãng Philips 8 1.5 Kiến trúc phần cứng của họ Vi điều khiển 8051 8 1.5.1 Sơ đồ khối của 80518052AT89S52 8 1.5.2 Chức năng các khối của 80518052AT89S52 8 1.6 Tổ chức bộ nhớ bên trong của 8051 11 1.7 Hoạt động định thời 16 1.7.1 Giới thiệu 16 1.7.2 Các thanh ghi của bộ định thời 17 1.7.3 Các chế độ của bộ định thời 21 1.7.4 Các nguồn xung Clock 26 1.8 Cổng nối tiếp 27 1.8.1 Giới thiệu 27 1.8.3 Các chế độ hoạt động 29 1.8.4 Tốc độ baud của Port nối tiếp 33 1.9 Ngắt và xử lý ngắt 35 1.9.1 Giới thiệu 35 1.9.2 Tổ chức ngắt 36 1.9.3 Xử lý ngắt 38 CHƯƠNG 2 : XÂY DỰNG ỨNG DỤNG MẠCH 40 ĐẾM SẢN PHẨM 40 I LẬP TRÌNH CHO VI ĐIỀU KHIỂN: 40 1.1 Giới thiệu 40 1.2 Tổng quan về ngôn ngữ ASEMBLY 42 II THIẾT KẾ MẠCH ĐẾM SẢN PHẨM : 43 2.1 Mục đích và yêu cầu khi thiết kế mạch 44 Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linh hoạt 44 Bộ phận hiển thị phải rõ ràng 44 Mạch điện không quá phức tạp, bảo đảm được sự an toàn và dễ sử dụng 44 Giá thành không quá đắt 44 2.2 Các linh kiện cơ bản và vai trò của chúng trong mạch 44 2.2.1 89C51 44 2.2.2 Tụ 45 2.2.3 Thạch anh 47 2.2.4 Điện trở 47 Ký hiệu: 48 2.2.5. Tranzitor C1815 48 2.2.6. LM 324 48 2.2.7 LCD 49 2.2.8 Công tắc reset 52 2.2.9 Con trở 52 2.2.10 Biến trở 53 2.3 Nguyên lý hoạt động 54 2.3.1 Mạch nguyên lý 54 2.3.2 Nguyên lý hoạt động và chức năng từng khối 55

CHƯƠNG : TÌM HIỂU VỀ HỌ VI ĐIỀU KHIỂN 8051 1.1 Tóm tắt lịch sử 8051 Năm 1981, hãng Intel giới thiệu vi điều khiển 8051 Bộ vi điều khiển chứa 60.000 trasitor bao gồm 128 byte Ram, kbyte Rom, định thời, cổng nối tiếp bốn cổng vào/ra song song (độ rộng bit) tất đặt chip 8051 xử lý bit, có nghĩa CPU làm việc bit liệu thời điểm Dữ liệu lớn bit chia thành dư liệu bit để xử lý, 8051 trở lên phổ biến sau Intel cho phép nhà sản xuất khác sản xuất bán biến thể 8051 Điều dẫn đến đời nhiều phiên 8051 với tốc độ khác dung lượng Rom chíp khác nhau, lệnh tương thích với 8051 ban đầu Như vậy, ta viết chương trình cho phiên 8051 chạy với phiên khác không phụ thuộc vào hãng sản xuất Vì điều khiển 8051 loại vi điều khiển bit, công suất tiêu thụ thấp tính tương đối mạnh trở thành vi điều khiển hàng đầu năm gần Bảng 1.1.Các đặc tính 8051 Đặc Tính Số Lượng Rom kbyte Ram 128 byte Bộ Định Thời Chân vào/ra 32 Cổng nối tiếp Nguồn ngắt Ngoài 8051 có thông số đặc tính sau: - Không gian nhớ chương trình (mã) 64 kbyte - Không gian nhớ liệu 64 kbyte - Bộ nhớ xử lý bit (thao tác bit riêng rẽ) - 210 vị trí nhớ định địa chỉ, vị trí bit - Nhân/chia 4µs 1.2 Sơ đồ khối chung họ 8051 - Interrupt Control: điều khiển ngắt - Other Register: ghi khác - 128 byte Ram - Bộ định thời: 0, 1, - CPU: đơn vị điều khiển trung tâm - Oscillator: mạch dao động - Bus Control: điều khiển Bus - Input/output: chân vào - Serial port: cổng nối tiếp - INT1/INT0: ngắt 1/0 Hình 1.1 Bố trí bên họ 8051 1.3 Các thành viên khác 8051 Có hai vi điều khiển thành viên khác họ 8051 8052 8031 1.3.1 Bộ vi điều khiển 8052 Bộ vi điều khiển 8052 thành viên họ 8051,8052 có tất đặc tính chuẩn 8051 có thêm 128 byte Ram định thời Bảng 1.2 So sánh đặc tính thành viên họ 8051 Đặc Tính 8051 8052 8031 Rom kbyte kbyte Không có Ram 128 byte 256 byte 128 byte Bộ định thời Chân vào/ra 32 32 31 Cổng nối tiếp 1 Nguồn ngắt 6 * Dựa vào bảng 1.2 thấy chương trình viết cho 8051 chạy 8052 điều ngược lại không 1.3.2 Bộ vi điều khiển 8031 Một thành viên khác 8051 chíp 8031 Chíp coi 8051 Rom chíp Để sử dụng chíp phải bổ sung Rom cho nó, Rom phải chứa chương trình mà 8031 nạp thực hiện.Với 8051, chương trình chứa Rom chíp bị giới hạn kbyte, Rom gắn với 8031 lớn đến 64 kbyte Khi sử dụng Rom lại hai cổng để sử dụng cho mục đích vào ra, để giải vấn đề giải pháp mở rộng cổng vào cho 8031 cách sử dụng vi mạch PPI 8255 1.4 Các phiên 8051 Mặc dù 8051 thành viên phổ biến họ 8051 có nhiều phiên với tên gọi khác tùy thuộc vào kiểu nhớ chương trình, công nghệ chế tạo, tần số làm việc… Ví dụ: Phiên 8051 với nhớ UV-PROM kí hiệu 8751 Phiên Flash Rom bán nhiều hãng khác nhau, chẳng hạn Atmel với tên gọi AT89C51 phiên NV-RAM 8051 Dalas Semiconductor cung cấp gọi DS5000 Ngoài có phiên OTP (lập trình lần) sản xuất nhiều hãng 1.4.1 Bộ vi điều khiển 8751 Chíp 8751 có kbyte nhớ UV-EPROM chíp Để sử dụng chíp cần có đốt PROM xóa UV-EPROM để xóa nội dung nhớ UVEPROM bên 8751 trước ta lập trình lại Do ROM chíp 8751 UV-EPROM nên cần phải 20 phút để xóa 8751 trước lập trình trở lại Vì điều dẫn đến nhiều nhà sản xuất giới thiệu phiên FLASH-ROM UV-RAM Ngoài có nhiều phiên với tốc độ khác 8751 từ nhiều hãng khác 8751 sử dụng công việc phát triển nhớ chương trình vi mạch xóa ánh sáng từ nguồn tử ngoại 1.4.2 Bộ vi điều khiển AT8951 từ Atmel Corporation AT8951 phiên 8051 có Rom chíp dạng nhớ Flash Phiên lý tưởng phát triển nhanh nhớ Flash xóa vài giây Dùng AT89C51 để phát triển hệ thống dựa vi điều khiển yêu cầu đốt Rom hỗ trợ nhớ Flash, không yêu cầu xóa Rom Hãng Atmel cho đời phiên AT89C51 lập trình qua cổng truyền thông Com máy tính IBM PC Bảng 1.3 Các phiên 8051 hãng Atmel cung cấp (Flash Rom) Kí hiệu Rom Ram Chan I/O Timer Ngắt VCC Đóng vỏ AT89C51 kbyte 128 byte 32 5v 40 chân/2 hàng AT89LV51 kbyte 128 byte 32 3v 40 chân/2 hàng AT89C1051 kbyte 64 byte 15 3v 20 chân/2 hàng AT89C2051 kbyte 128 byte 15 3v 20 chân/2 hàng kbyte 128 byte 32 5v 40 chân/2 hàng AT89LV52 kbyte 128 byte 32 3v 40 chân/2 hàng AT89C52 AT89C2051 vi điều khiển bit chế tạo theo công nghệ CMOS, hoạt động dải điện áp 2,7V đến 6V Bộ vi điều khiển đóng gói DIP 20 chân, nhỏ gọn so với 89S52 có đủ tài nguyên thông dụng như: + Bộ nhớ: kbyte Flash ghi/xóa 1000 lần, 128x8-bit Ram + Có thể hoạt động tần số thạch anh lên tới 24MHz + 15 chân xuất/nhập + Timer/Counter 16 bit + nguồn ngắt + cổng nối tiếp + so sánh (Analog Comparator) AT89C4051 có sơ đồ chân tài nguyên giống AT89C2051, ngoại trừ nhớ Rom có dung lượng lớn (4 kbyte) AT89S52 vi điều khiển thông dụng, giá rẻ, có nhiều chức hay, đặc biệt có tích hợp sẵn nạp ISP chíp giúp người sử dụng dễ dàng thực thí nghiệm với chi phí thấp Cũng có nhiều phiên kí hiệu thể kiểu đóng vỏ tốc độ khác sản phẩm Ví dụ chữ C đứng trước 51 AT89C51-12PC kí hiệu cho CMOS, ”12” kí hiệu cho 12MHz, “P” kiểu đóng vỏ DIP chữ “C” cuối kí hiệu cho thương mại (ngược với chữ “M” quân sự) 1.4.3 Bộ vi điều khiển DS5000 từ hãng Dalas Semiconductor Một phiên phổ biến khác 8051 DS5000 hãng Semiconductor Bộ nhớ Rom chíp DS5000 dạng NV-RAM Khả đọc/ghi cho phép chương trình nạp vào Rom chíp hệ thống (không phải lấy ra) Điều thực thông qua cổng nối tiếp máy tính IBM-PC Việc nạp chương trình hệ thống (in-system) DS5000 thông qua cổng nối tiếp PC làm cho trở thành hệ thống phát triển chỗ lý tưởng Một ưu việt NV-RAM khả thay đổi nội dung Rom theo byte thời điểm Điều tương phản với nhớ Flash EPROM mà nhớ chúng phải xóa trước lập trình lại cho chúng Bảng 1.4 Các phiên 8051 từ hãng Dalas Semiconductor Chữ “T” đứng sau 5000 có đồng hồ thời gian thực Mã linh kiện Rom Ram Chân I/O Timer Ngắt Vcc Đóng vỏ DS5000-8 8kbyte 128 32 5V 40 DS5000-32 32kbyte 128 32 5V 40 DS5000T-8 8kbyte 128 32 5V 40 DS5000T-8 32kbyte 128 32 5V 40 * Đồng hồ thời gian thực RTC khác với định thời Timer RTC tạo giữ thời gian phút, giờ, ngày, tháng, năm kể tắt nguồn Còn có nhiều phiên DS5000 với tốc độ kiểu đóng gói khác Ví dụ DS5000-8-8 có kbyte NV-RAM tốc độ 8MHz Thông thường DS5000-8-12 DS5000T-8-12 lý tưởng với dự án sinh viên Bảng 1.5 Một số thành viên họ 8051 Mã linh kiện NV-RAM Tốc độ DS5000-8-8 8kbyte 8MHz DS5000-8-12 8kbyte 12MHz DS5000-32-8 32kbyte 8MHz DS5000T-32-12 32kbyte 8MHz(with RTC) DS5000-32-12 32kbyte 12MHz DS5000-8-12 8kbyte 12MHz(with RTC) 1.4.4 Phiên OTP 8051 Các phiên OTP 8051 chíp 8051 lập trình lần cung cấp từ nhiều hãng khác Các phiên Flash NV-RAM thường sử dụng để phát triển sản phẩm mẫu Khi sản phẩm thiết kế hoàn thiện tuyệt đối phiên OTP 8051 dùng để sản xuất hàng loạt giá thành đơn vị sản phẩm rẻ 1.4.5 Họ 8051 từ hãng Philips Một nhà sản xuất họ 8051 khác Philips Corporation Thật vậy, hãng có dải lựa chọn rộng lớn cho vi điều khiển 8051 Nhiều sản phẩm hãng có kèm theo đặc tính chuyển đổi ADC, DAC, cổng I/O mở rộng phiên OTP Flash 1.5 Kiến trúc phần cứng họ Vi điều khiển 8051 1.5.1 Sơ đồ khối 8051/8052/AT89S52 Hình 1.2 Sơ đồ khối vi điều khiển AT89S52 1.5.2 Chức khối 8051/8052/AT89S52 1.5.2.1 CPU - Thanh ghi tích lũy A - Thanh ghi tích lũy phụ B, dùng cho phép nhân phép chia - Đơn vị logic học (ALU: Arithmetic logical unit) - Thanh ghi từ trạng thái chương trình (PSW: Prorgam status Word) - Bốn băng ghi - Con trỏ ngăn xếp 1.5.2.2 Bộ nhớ chương trình (bộ nhớ Rom) Gồm 8kbyte Flash 1.5.2.3 Bộ nhớ liệu (bộ nhớ Ram) Gồm 256byte 1.5.2.4 Bộ UART (Universal Ansynchronous Receiver and Transmitter) Có chức truyền nhận nối tiếp, AT89S52 giao tiếp với cổng nối tiếp máy tính thông qua UART 1.5.2.5 Ba Timer/Counter 16 bit Thực chức định thời đếm kiện 1.5.2.6 WDM (Watch Dog Timer) WDM dùng để phục hồi lại hoạt động CPU bị treo nguyên nhân WDM AT89S52 gồm Timer 14 bit, Timer bit, ghi WDTPRG ( WDT programable ), điều khiển Timer bit ghi chức WDTRST (WDM register) Bình thường WDT không hoạt động, đ cho phép WDT, giá trị 1EH E1H cần phải ghi liên tiếp vào ghi WDTRST Timer 14 bit WDT đếm tăng dần sau chu kì đồng hồ giá trị 16383 xảy tràn Khi xảy tràn chân Reset đặt mức cao khoảng thời gian 98*Tosc ( Tosc=1/Fosc ) AT89S52 Reset Khi WDT hoạt động, trừ Reset phần cứng Reset WDT tràn cách cấm WDT, sử dụng WDT đoạn mã chương trình phải đặt khe thời gian lần WDT khởi tạo lại Thanh ghi WDTPRG: - - - - - S2 S1 S0 Tùy theo giá trị khác ghi vào S0, S1, S2, số chu kì máy mà WDT đếm thời gian bảng 1.6, bảng 1.7 Bảng 1.6 Số chu kỳ máy WDT đếm tùy theo giá trị S0, S1, S2 S2 S1 S0 Số chu kì máy WDT đếm 0 2^14 0 2^15 2^16 1 2^17 0 2^18 1 2^19 1 2^20 1 2^21 Bảng 1.7 Thời gian tràn WDT S2 S1 S0 Fosc=12MHz Fosc=16MHz Fosc=20MHz 0 16,38ms 12,28ms 9,82ms 0 32,77ms 24,57ms 19,66ms 65,54ms 49,14ms 39,32ms 1 131,01ms 98,28ms 76,64ms 0 262,14ms 196,56ms 157,28ms 1 524,29ms 393,12ms 314,56ms 1 1,54s 788,24ms 629,17ms Trong đó: U : hiệu điện hai đầu vật dẫn điện (V) I : cường độ dòng điện qua vật dẫn điện(A) R : điện trở vật dẫn điện, đo (Ω) Ký hiệu: R e s is t o r 2.2.5 Tranzitor C1815 Có chức khóa 2.2.6 LM 324 Cấu tạo tác dụng LM324N : - LM324N có tên gọi khác Op amp Ban đầu chế tạo để sử dụng cho thao tác tính toán analog Người ta gọi khuyết đại thuật toán, với kết cấu thay đổi linh kiện bên ngoài, người ta làm nhiều toán khác nhau: cộng, trừ, vi phân, tích phân - Những Opamp chế tạo linh kiện rời thành vỉ độc lập, với nguyên lý khác hẳn bây giờ, dùng mạch băm (chopper) để biến chiều thành xoay chiều, khuếch đại điện áp sau băm (khuếch đại xoay chiều) cuối đầu ta mạch tách sóng nhạy pha (để chuyển ngược chiều xoay thành chiều) - Sau này, kỹ thuật vi mạch hoàn thiện người ta có đồng tương đối phần tử chíp Nên LM324N gồm mạch khuếch đại thuật toán (operational, amplifier, op amp, opamp), giống hệ đặt vỏ bọc - Từ việc dùng cho mạch tính toán máy tính thời xưa, Op amp xem linh kiện analog đa Người ta phát dùng nhiều lĩnh vực: từ khuếch đại, so sánh, chuyển đổi tín hiệu - Ở em dùng LM324N để so sánh điện áp đầu vào từ Quang trở với AT89C51 2.2.7 LCD Hiển thị số sản phẩm đếm Màn hình LCD có 16 chân sau : Chân 10 11 12 13 14 Kí hiệu VSS VCC VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 I/O I I I/O I/O I/O I/O I/O I/O I/O I/O I/O Mô tả Đất Dương 5V Cấp nguồn điều khiển phản RS=0 chon ghi lệnh RS=1 chọn ghi liệu R/W=1 đọc liệu R/W=0 ghi Cho phép Các bit liệu Các bit liệu Các bit liệu Các bit liệu Các bit liệu Các bit liệu Các bit liệu Các bit liệu Chân 15 anot chân 16 katot led dùng để sáng LCD bóng tối Nguyên lí hoạt động LCD - Chân VCC : cung cấp nguồn dương Chân VSS : cung cấp nguồn âm Chân VEE : điều khiển độ tương phản LCD - Chân chọn ghi RS( Register Select): Có hai ghi quan trọng LCD, chân RS dùng để chọn ghi sau: Nếu RS =0 ghi mà lệnh chọn phép người dùng gửi lệnh chẳng hạn xóa hình, đưa trỏ đầu dòng…Nếu RS=1 ghi liệu chọn cho phép người dùng gửi liệu cần hiển thị LCD - Chân đọc/ghi (R/W): Đầu đọc/ghi cho phép người dùng ghi thông tin lên LCD R/W=0 đọc thông tin từ R/W=1 - Chân cho phép E (Enable): Chân cho phép E sử dụng LCD để chốt thông tin hữu chân liệu Khi liệu cung cấp đến chân liệu xung mức cao xuống thấp phải áp đến chân để LCD chốt liệu chân liệu Xung phải rộng tối thiểu 450 ns - Chân D0~D7: Đây chân liệu bit, dùng để gửi thông tin LCD đọc nội dung ghi LCD Để hiển thị chữ số, gửi mã ASCII chữ từ A đến Z, a đến f số từ 0~9 đến chân bật RS=1 Cũng mã lệnh mà gửi đến LCD để xóa hình đưa trỏ vị trí đầu dòng nhấp nháy trỏ.Chúng ta sử dụng RS=0 để kiểm tra bit cờ bận để xem LCD có sẵn sàng nhận thông tin Cờ bận D7 đọc R/W= RS= sau : Nếu R/W=1, RS=0 D7=1(cờ bận 1) LCD bận công việc bên không nhận thông tin Khi D7 LCD sẵn sàng nhận thông tin Lưu ý nên kiểm tra cờ bận trước ghi bất khì liệu lên LCD 2.2.8 Công tắc reset 2.2.9 Con trở Cấu tạo, nguyên lý hoạt động Quang trở: - Quang trở (Frame eyes) gồm lớp chất bán dẫn( ví dụ cadimi sunfua CdS ) phủ lên lớp nhựa cách điện.Và có hai điện cự gắn vào lớp bãn dẫn - Nguồn cấp cho Quàn trở khoảng vài vôn,thông quan miliampe kế Ta thấy quang trở đặt đặt bóng tối mạch dòng điện.Khi chiếu Quang trở ánh sáng có bước sóng ngắn giới hạn quang dẫn Quang trở xuất dòng điện mạch - Dự nguyên lý Quang trở ta áp dụng vào mạch đếm sản phẩm.Tức ta chiếu ánh sáng vào Quang trở.Khi có sản phẩm quan.Sản phẩm ngăn ánh sáng chiếu vào Quang trở,lúc biến đếm đếm sản phẩm 2.2.10 Biến trở - Biển trở thiết bị có điện trở biến đổi theo ý muốn Chúng sử dụng mạch để điều chỉnh hoạt động mạch điện - Ở em dùng Biến trở để điều chỉnh điện áp vào cho LCD 2.3 Nguyên lý hoạt động 2.3.1 Mạch nguyên lý 2.3.2 Nguyên lý hoạt động chức khối Sơ đồ tổng quát khối KHỐI HIỂN THỊ KHỐI CẢM BIẾN KHỐI XỬ LÝ a Khối hiển thị Khối hiển thị điều khiển vi điều khiển để hiển thị số sản phẩm đếm b Khối cảm biến( LM324, trở quang, điện trở ) Khi có vật cản tia laze quang trở tạo mức điện áp so sánh vào chân LM324, so sánh với điện áp chuẩn tạo phân áp( R1, R2) tạo xung lối số LM324 , xung đưa tới chân nhận ngắt P3.2 (INT0) vi điều khiển c Khối điều khiển ( 89C51) Nhận ngắt đếm số ngắt nhận đưa liệu khối hiển thị d Khối reset (Gồm phím bấm,1 điện trở, tụ, thạch anh) Khi có tác động vào phím bấm RESET vi điều khiển chạy lại chương trình từ ban đầu 2.3.3 Chương trình điều khiển toán SANPHAM EQU 40H ORG 00H SJMP MAIN ;================================== ORG 03H INC SAN PHAM RETI ;================================== ORG 030H MAIN: //KHOI TAO LC MOV A, #38H ;KHOI TAO LCD 5X7 ACALL CTLENH ; GOI CHUONG TRINH CON LENH ACALL DELAY ; GOI CT TAO TRE Cho LCD MOV A, # 0EH ; HIEN THI VI TRI CON TRO SETB TCON.0 ACALL CTLENH ; GOI CT CON LENH ACALL DELAY MOV ; TAO TRE CHO LCD A,# 01 ; XOA LCD ACALL CTLENH ; GOI CT CON LENH ACALL DELAY ; TAO TRE CHO LCD ;HIEN THI THOI GIAN VA NGAY THANG HIEN TAI MOV SANPHAM,#0 mov R0,#0 SETB EA SETB EX0 VONGLAPCHINH: CALL VEDAUDONG1 CALL HIENTHICHU CALL HIENTHISO SJMP VONGLAPCHINH ;================================= HIENTHISO: MOV A,SANPHAM CJNE A,#100,TIEP MOV SANPHAM,#0 MOV A,SANPHAM TIEP: CALL HIENTHI RET HIENTHICHU: MOV DPTR,#CHU CALL LOOP1 RET VEDAUDONG1: MOV A,#080H CALL CTLENH CALL DELAY RET XUONGDONG: MOV A,#0C0H CALL CTLENH CALL DELAY RET LOOP: MOV A,R2 MOVC A,@A+DPTR CALL XUATDULIEU CALL DELAY MOV A,#06H CALL CTLENH CALL DELAY INC R2 CJNE R2,#6,LOOP MOV R2,#0 RET LOOP1: MOV A,R2 MOVC A,@A+DPTR CALL XUATDULIEU CALL DELAY MOV A,#06H CALL CTLENH CALL DELAY INC R2 CJNE R2,#14,LOOP1 MOV R2,#0 RET HIENTHI: MOV DPTR,#SO MOV B,#10 DIV AB MOVC A,@A+DPTR CALL XUATDULIEU CALL DELAY MOV A,#06H CALL CTLENH CALL DELAY MOV A,B MOVC A,@A+DPTR CALL XUATDULIEU CALL DELAY MOV A,#06H CALL CTLENH CALL DELAY RET CTLENH: ; Gửi lệnh đến LCD MOV P2,A ; Sao chép ghi A đến cổng P1 CLR P0.7 ; Đặt RS = để gửi lệnh CLR P0.6 ; Đặt R/W = để ghi liệu SETB P0.5 ; Đặt E = cho xung cao CLR P0.5 ; Đặt E = cho xung cao xuống thấp RET XUATDULIEU: ; Ghi liệu LCD MOV P2,A ; Sao chép ghi A đến cổng P1 SETB P0.7 ; Đặt RS = để gửi liệu CLR P0.6 ; Đặt R/W = để ghi SETB P0.5 ; Đặt E = cho xung cao CLR P0.5 ; Đặt E = cho xung cao xuống thấp RET DELAY: MOV R3, # 10 ; Đặt độ trễ 50ms cao cho CPU nhanh HERE2: MOV R4, # 255 ; Đặt R4 = 255 HERE: DJNZ R4, HERE ; Đợi R4 = DJNZ R3, HERE2 RET SO:DB '0123456789' CHU:DB'SO SAN PHAM : ' END KẾT QUẢ [...]... xuất đến cổng nối tiếp là SBUF và SCON - Thanh ghi điều khiển cổng nối tiếp ( SCON-Serial Controller ) Thanh ghi điều khiển cổng nối tiếp (SCON) ở địa chỉ 98H là thanh ghi 8 bit được dùng để lập trình vi c đóng khung bit bắt đầu Start, bit dừng Stop, các bit dữ liệu cùng với vi c khác và chứa các bit trạng thái và các bit điều khiển liên quan tới cổng nối tiếp Các bit điều khiển đặt chế độ hoạt động cho... dụng T2MOD.6 Không sử dụng T2MOD.5 Không sử dụng T2MOD.4 Không sử dụng T2MOD.3 Không sử dụng T2MOD.2 Không sử dụng T2MOD.1 T2OE Cho phép đầu ra khi sử dụng Timer 2 để tạo xung T2MOD.0 DCEN Bit cho phép Timer 2 hoạt động như bộ đếm tiến/lùi * Thanh ghi này không định địa chỉ bit - Thanh ghi TH2 và TL2, RCAP2H và RCAP2L Cũng giống như TH0, TH1 và TL0, TL1, TH2 và TL2 chứa giá trị đếm của Timer 2, tuy... thời gian (hẹn giờ), đếm sự kiện xảy ra bên ngoài bộ vi điều khiển hoặc tạo tốc độ baud cho cổng nối tiếp Trong các ứng dụng định khoảng thời gian, Timer được lập trình sao cho sẽ tràn sau một khoảng thời gian và thiết lập cờ tràn bằng 1 Cờ tràn được sử dụng bởi chương trình để thực hiện một hành động tương ứng như kiểm tra trạng thái của các ngõ vào hoặc gửi các sự kiện ra các ngõ ra Đếm sự kiện dùng... Timer 1 chỉ có thể sử dụng cho các ứng dụng không cần đến ngắt (TF1=1), chẳng hạn như tạo tốc độ baud cho port nối tiếp 1.7.4 Các nguồn xung Clock Có hai nguồn xung clock có thể đếm giờ là sự đếm giờ bên trong và sự đếm sự kiện bên ngoài Bit C/T trong TMOD cho phép chọn 1 trong 2 khi Timer khởi động - Sự bấm giờ bên trong Nếu bit C/T = 0 thì hoạt động của Timer liên tục được chọn vào bộ Timer được ghi... GATE, bit TR0 và mức logic trên chân INT0 ( giống chế độ 0, 1, 2) Giá trị đếm của Timer được chứa trong TL0, khi xảy ra tràn, cờ TF0=1 và gây ra ngắt do Timer 0 (nếu được đặt) Bộ Timer thứ hai với nguồn xung clock được lấy từ bộ chia tần trên chip Vi c điều khiển hoạt động của bộ thứ hai chỉ là vi c đặt giá trị của bit TR0 Giá trị đếm của Timer được chứa trong TH0, khi xảy ra tràn, cờ TF1=1 và gây ra ngắt... AC =0 - Cờ 0 (Flag 0): Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng của người dùng - Những bit chọn bank thanh ghi truy xuất: RS1 và RS0 quyết định dãy thanh ghi tích cực Chúng được xóa sau khi reset hệ thống và được thay đổi bởi phần mềm khi cần thiết Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng là Bank 0, Bank1, Bank2 và Bank3 - Cờ tràn OV (Over Flag): Cờ tràn được... 2 dùng RCAP2H và RCAP2L để chứa giá trị cần nạp lại 1.7.3 Các chế độ của bộ định thời - Chế độ 0 Hình 1.3 Hoạt động của Timer 0 và Timer 1 ở chế độ 0 Chế độ 0 là chế độ định thời 13 bit, chế độ này tương thích với các bộ vi điều khiển trước đó, trong các ứng dụng hiện nay chế độ này không còn thích hợp - Chế độ 1 Trong chế độ 1, bộ Timer dùng cả hai thanh ghi TH và TL để chứa giá trị đếm, vì vậy chế... 1.9 Ngắt và xử lý ngắt 1.9.1 Giới thiệu Interrupt là một sự cố có điều kiện mà nó gây ra sự ngưng lại tạm thời của chương trình để phục vụ một chương trình khác Các Interrupt vận hành một Relay rất quan trọng trong thiết bị và sự cung cấp đầy đủ các ứng dụng vi điều khiển Chúng cho phép một hệ thống đáp ứng đồng bộ đến sự kiện quan trọng và giải quyết sự kiện đó trong khi chương trình khác đang thực thi... CAH Bit điều khiển hoạt động của Timer 2 (tương tự TR0, TR1) T2CON.1 C/#T2 T2CON.0 CP/#RL2 C9H Bit chọn chế độ đếm hoặc định thời của Timer 2 C8H Bit chọn chế độ thu nhận hay nạp lại của Timer 2 - Khi CP/#RL2=1, vi c thu nhận được thực hiện khi có sườn xuống ở chân T2EX và bit EXEN2=1 - Thanh ghi T2MOD T2MOD có địa chỉ 0C9H Bảng 1.12 Thanh ghi chức năng T2MOD Bit Kí hiệu Mô tả T2MOD.7 Không sử dụng T2MOD.6... tra bit Parity sau khi thu 1.7 Hoạt động định thời 1.7.1 Giới thiệu Các bộ định thời ( Timer ) được sử dụng rất rộng rãi trong các ứng dụng đo lường và điều khiển Có thể coi một bộ định thời n bit là bộ đếm n bit được tạo ra bởi n flip_flop mắc nối tiếp với nhau Đầu ra của bộ định thời chính là đầu vào của flip_flop đầu tiên AT89S52 có 3 bộ định thời 16 bit trong đó hai bộ Timer 0, Timer 1 có 4 chế

Ngày đăng: 14/08/2016, 21:22

Từ khóa liên quan

Mục lục

  • - Số đếm phải chính xác, và thay đổi việc cài đặt số đếm ban đầu một cách linh hoạt

  • - Bộ phận hiển thị phải rõ ràng

  • - Mạch điện không quá phức tạp, bảo đảm được sự an toàn và dễ sử dụng

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

    • Ký hiệu:

    • 2.2.5. Tranzitor C1815

    • 2.2.6. LM 324

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan