8051 VỚI ĐẦU DÒ AD LCD INDICATORS VÔN KẾ
Cấu trúc chuyển đổi ADC:
Một phần rất lớn của các đại lượng vật lý trong thế giới bên ngoài là các giá trị tương tự. Ví dụ, nhiệt, nhiệt độ, trọng lượng, độ ẩm, cường độ ánh sáng, cường độ âm thanh, v.v. luôn luôn là tương tự. Để kết nối các hệ thống kỹ thuật số với thế giới bên ngoài; các đại lượng vật lý được đo phải được chuyển đổi thành các giá trị số mà hệ thống kỹ thuật số có thể hiểu được.
Một phần rất lớn của các đại lượng vật lý trong thế giới bên ngoài là các giá trị tương tự. Ví dụ, nhiệt, nhiệt độ, trọng lượng, độ ẩm, cường độ ánh sáng, cường độ âm thanh, v.v. luôn luôn là tương tự. Để kết nối các hệ thống kỹ thuật số với thế giới bên ngoài; các đại lượng vật lý được đo phải được chuyển đổi thành các giá trị số mà hệ thống kỹ thuật số có thể hiểu được.
Độ lớn điện áp tương tự phải được chuyển đổi thành giá trị logic 1 hoặc 0 được biểu thị bằng các dải điện áp nhất định. Các hệ thống này được gọi là 'Bộ chuyển đổi Analog-Digital' (ADC).
Khái niệm quan trọng nhất được tìm thấy trong các bộ chuyển đổi analog-to-digital là "độ phân giải bit". Độ phân giải bit cho biết số bit tín hiệu tương tự được biểu diễn.
Nói cách khác, số bit với dấu örneklendiğidir.adc'n tín hiệu analog có độ phân giải chút dù có bao nhiêu lấy mẫu chính xác / độ nhạy cảm vì nó làm tăng. 8-bit ADC, tối đa là 28 = 256 giá trị khác nhau của tín hiệu analog với tối đa là 5v sẽ đánh dấu kích thước mẫu örnekleyebilmektedir.adc'n của mỗi bước có thể được tìm thấy như sau: Bước Kích = để được lấy mẫu Kích thước tối đa
ADC 0808 Tất cả mạch
ADC 0808 analog / digital chuyển đổi 8 tương tự đầu vào (IN0-IN7) và đầu ra kỹ thuật số 8-bit (OUT0-OUT7) bulunmaktadır.çeviric sẽ được chuyển giao cho sản lượng kỹ thuật số bằng cách chuyển mà đầu vào 3-bit ADDE, quyết định theo quy định của ADDR B, đầu vào địa chỉ ADDR C. ADC 0808 đồng hồ để chạy (Clock) về giá trị tần số ở phần cuối của 10 tín hiệu đồng hồ giữa KHz-1280 KHz uygulanmalıdır.vref (+) terminal Vref của biên độ tối đa tín hiệu analog sẽ được lấy mẫu (-) engagaments kullanılmaktadır.uygul để xác định giá trị nhỏ nhất của tín hiệu là để được lấy mẫu Vref (-) bağlanır.start đất nói chung, OE (Output Enable) và EOC (kết thúc chuyển đổi) kết thúc của ADC 0808 của nhà ga kiểm soát.
Một chuyển đổi analog / kỹ thuật số của ADC cần phải được thực hiện bao gồm:
Thông thường logic "0" như thể hiện trong hình 4.2 từ START thấy, cuối logic ngắn hạn '1' nên được gửi đi.
Nhiều kênh (tương tự đầu vào của chúng) thông tin địa chỉ được sử dụng cho việc lựa chọn các kênh để ADD, ADD B, C phải được gửi đến Thanh-end.
EOC là logic '0' trong quá trình chuyển đổi chữ số của tín hiệu tương tự và tại logic '1' khi quá trình chuyển đổi hoàn tất, vì vậy nó sẽ được dự kiến cho đến khi kết thúc chu kỳ (EOC = 1).
Với EOC = 1, OE, thường ở mức logic '0', nên được đặt thành logic '1' trong một khoảng thời gian ngắn để cho phép thông tin chu kỳ đạt được kết quả đầu ra kỹ thuật số.
Keil phần mềm μvision2:
Hôm nay, MCS-51 gia đình của vi điều khiển phát triển phần mềm mã nguồn chuẩn vào gelmiştir.proje bằng văn bản và mã Hex phát hiện lỗi của mã yapılmıştır.yazıl chuyển đổi được quy định và giải nén.
Hôm nay, MCS-51 gia đình của vi điều khiển phát triển phần mềm mã nguồn chuẩn vào gelmiştir.proje bằng văn bản và mã Hex phát hiện lỗi của mã yapılmıştır.yazıl chuyển đổi được quy định và giải nén.
Tạo một tệp dự án với phần mềm Keil μVision2:
Một tệp dự án mới có thể được tạo với tab New Projectckt trên menu dự án.
Dự án phải được mở và lưu trong một thư mục mới, và vi điều khiển cần thiết cho ứng dụng phải được lựa chọn, vi điều khiển AT89C51 thuộc họ ATMEL đã được chọn.
Từ menu Tệp, tab Mới và trang trống
được lưu trữ trong mã nguồn C với phần mở rộng .c .
được lưu trữ trong mã nguồn C với phần mở rộng .c .
Tệp nguồn được lưu trong phần mở rộng C được biên dịch Trong nhóm nguồn 1 trong cửa sổ Project1 bên dưới cửa sổ dự án, nút bên phải của chuột được bấm và chọn Thêm tệp vào nhóm 'Nhóm nguồn 1' sẽ được chọn.
Để tạo mã máy với phần mở rộng hex của chương trình
, hộp kiểm 'Tạo tệp Hex' trong tab Đầu ra của cửa sổ Tùy chọn cho mục tiêu 'Target1' phải được chọn.
, hộp kiểm 'Tạo tệp Hex' trong tab Đầu ra của cửa sổ Tùy chọn cho mục tiêu 'Target1' phải được chọn.
Các tính năng chung được tìm thấy trong vi điều khiển AT89C51 là:
- Tương thích với bộ vi điều khiển gia đình MCS-51
- 4 bộ nhớ flash có thể lập trình lại Kbyt
- Viết lại 1000 lần
- Điện áp hoạt động 4V-5,5V
- 0-20 MHz tần số làm việc
- Bảo vệ mã 3 cấp
- RAM nội bộ 128 × 8 bit
- 32 I / O pini
- 2 bộ đếm thời gian 16 bit
- 8 cắt chèn
- Giao diện truyền thông nối tiếp
- Chế độ tiêu thụ điện năng thấp (ngủ, nhàn rỗi)
Chức năng cực đoan của vi điều khiển 8051

Các yếu tố được sử dụng trong dự án:
- Vi điều khiển AT89C51
- ADC 0808
- Màn hình LCD LM020L
- 22pf tụ 2 cái
- Tụ 10uF
- Điện trở 8.2K
- Tinh thể 12Mhz
- Potentiometer 1K
Mã nguồn của con cháu với ngôn ngữ C
/ *********************************************** / / * DỰ ÁN ADI: ADC iLE VOLTMETER / * / * ADI SURNAME: MẠNG LƯỚI EBRU / * / * NO: 010303047 / * / * PHẦN: TRƯỜNG ĐIỆN TỬ. / * / *********************************************** / #include// tệp tiêu đề bộ xử lý #include "lcd.h" // tệp tiêu đề lcd #include // Tệp tiêu đề ngôn ngữ C #define dữ liệu P3 // cổng kết nối với đầu ra ADC #define bắt đầu P2_7 // Kết thúc khi vòng lặp bắt đầu #define EOC P2_6 // Kết thúc vòng lặp bị chấm dứt #define OE P2_5 // Kết thúc đầu ra của ADC được cho phép char colum [15]; float computed_value; // Điện áp analog tính theo giá trị đọc float step_value; // Một bước trong ADC int max_volume = 5; // giá trị tối đa mà ADC sẽ lấy mẫu int bit_size = 256; // số mẫu của ADC void chính (void) {lcdac (); // Các hoạt động mở Lcd Command (xóa); Nhường = 0xFF; // Đặt P1 làm đầu vào / * Tính toán kích thước bước ADC * / adim_deger U = (float) maks_geril I / bit_sayi của; Veridiana ( "OLC I =" 1000); while (1) { start = 1; // Bắt đầu cuộc trò chuyện start = 0; while (! EOC); // Chu kỳ lên đến cuối O = 1; // Tác giả đầu ra / * Tính toán giá trị tương tự của giá trị số đọc từ P1 * / hesaplanan_geril I = * adim_deger dữ liệu; O = 0; // làm cho đầu ra bị động sprintf (Olçum "% 2f", hesaplanan_geril I); // In điện áp được tính toán thành LCD Veridian là (Olçum, 3000); } }
Tệp tiêu đề Lcd chiếu:
#include <89c51rd2 .h="">89c51rd2> / * Xác định các lệnh được sử dụng trên màn hình LCD * / #define xóa 1 // màn hình rõ ràng #define basadon 2 // con trỏ góc trên cùng bên trái #define solayaz 4 // con trỏ chỉ định địa chỉ đi xuống #define sagayaz 6 // con trỏ chỉ định địa chỉ #define cursor 12 // Mở màn hình, không hiển thị con trỏ #define imlecyanson 15 // Chặn con trỏ nhấp nháy #define cursorglass 16 // cuộn con trỏ trở lại ký tự #define SlideSIGGA 24 // trượt hiển thị một ký tự sang bên phải #define scroller 28 // cuộn hiển thị một ký tự sang bên trái #define screenCapat 8 // đóng màn hình #define firstname 128 // Địa chỉ bắt đầu của dòng đầu tiên của Lcd #define second_initial 192 // địa chỉ bắt đầu của dòng thứ hai #define character_address 64 // đặt địa chỉ trình tạo ký tự / * Chức năng lựa chọn trên màn hình LCD * / #define dualsat 8bit 56 // giao diện 8 bit, 2 dòng, 5 * 7 pixel #define dualsat4bit 48 // giao diện 8 bit, 1 dòng, 5 * 7 pixel #define descriptor8bit 40 // giao diện 4 bit, 2 dòng, 5 * 7 pixel #define descriptor4bit 32 // giao diện 4 bit, 1 dòng, 5 * 7 pixel / * Nhận dạng đầu vào LCD * / #define Dữ liệu P1 #define RS P2_2 #define RW P2_1 #define EN P2_0 / * Chức năng trễ LCD * / void delay (long int sure) { dài int i; cho (i = 1; i <= chắc chắn; i + +) {; } } void LcdHeader () {// Chờ cho đến khi màn hình LCD sẵn sàng Data = 0xFF; RS = 0; RW = 1; WIDTH = 1; chậm trễ (200); while (Dữ liệu & 0x7f == 0x80); } void Command (lệnh int) {// Lệnh in tới màn hình LCD lcdhaz là (); RS = 0; RW = 0; WIDTH = 1; Data = lệnh; EN = 0; chậm trễ (1000); } void Data (dữ liệu char, long int fast) {// Chức năng in lệnh đơn lẻ sang màn hình LCD lcdhaz là (); RS = 1; RW = 0; WIDTH = 1; Data = dữ liệu; EN = 0; chậm trễ (vận tốc); } void Veridize (char data [], long int fast) {// Chuỗi ký tự LCD Chức năng in int i = 0; while (dữ liệu [i]! = 0) { lcdhaz là (); RS = 1; RW = 0; WIDTH = 1; Data = dữ liệu [i]; EN = 0; i ++; chậm trễ (vận tốc); } } void lcdac (void) {// Chức năng tạo cài đặt ban đầu cho LCD Command (imlecgizl A); Command (128 + 5); Command (birincisat); Command (sagayaz); }
Được chuẩn bị bởi: Ebru Ağırcan Progenit Tập tin nguồn 8051 Đầu dò AD Lcd Indicators Vôn kế
Tải xuống tệp LINK danh sách (ở định dạng TXT) link-3295.zip mật khẩu-pass: 320volt.com
Cảm ơn bạn
Post a Comment