BỘ TẠO TÍN HIỆU SÓNG VUÔNG VỚI AT89C51RC2 VÀ 7411

BỘ TẠO TÍN HIỆU SÓNG VUÔNG VỚI AT89C51RC2 VÀ 7411

Được chuẩn bị bởi: Birkan GÖÇERLER
Bộ tạo tín hiệu
Khi máy phát tín hiệu thường được sử dụng trong thử nghiệm các bộ khuếch đại trong kiểm tra và sửa chữa của người mua của những thiết bị này. Nguồn tín hiệu là ta. Nó được sử dụng ở những nơi như máy dò sóng, cầu tần số vô tuyến.
Cấu trúc của bộ tạo tín hiệu:
các jenarator_yapi
Nguyên lý hoạt động của bộ tạo tín hiệu: Bộ
tạo tín hiệu điển hình có năm phần.
1. Dao động rắn 
2. Kết hợp tín hiệu điều chế rắn 
3. Sự suy giảm rắn 
4. Cố định và mức năng lượng rắn 
5. Tín hiệu đầu ra và suy giảm rắn
Bộ tạo tín hiệu được sử dụng như một nguồn tín hiệu trong các ứng dụng trong phòng thí nghiệm. Dao động được sử dụng trong mạch là một bộ dao động ổn định. Tại đầu ra bộ suy hao, biên độ được điều chế. Tại đầu ra gấp này, thu được tín hiệu điều chế thu được

BỘ TẠO TÍN HIỆU 8051

Giới thiệu: Bộ tạo tín hiệu tích hợp được ưu tiên vì hoạt động ổn định, chi phí thấp và không biến chứng. Tín hiệu được tạo ra sẽ tạo ra các tần số 1Hz - 10Hz và 100Hz được sử dụng trong các thí nghiệm máy phát điện. Có thể thu được tín hiệu sóng vuông tối đa 500MHz bằng cách thay đổi chương trình được sử dụng khi được yêu cầu.
Công cụ và thiết bị được sử dụng:
Ban AT89C51RC2 Phát triển dựa trên 
7 đoạn hiển thị anode chung (3) 
Nút (3 miếng) 
P (30 miếng) 
đục in bảng mạch 
dây dẫn điện 
sắt hàn và hàn dây 
máy tính 
cung cấp điện
Các bước quy trình:
1. Kết nối chân được phát hiện với màn hình 7 phân đoạn trong hình đại diện. 
2. Sơ đồ mô phỏng sơ đồ mạch ISIS te được vẽ. 
3. Mạch in ARES te đã được tự động xóa. 
Màn hình phân đoạn 4,7 được hàn vào mảng bám. 
5. Các chân được hàn trong nhóm 10 tấm. 
6. Chân của màn hình và đầu chốt được nối với nhau bằng dây. 
7. Sơ đồ lưu lượng được tạo cho hoạt động. 
8. Theo Sơ đồ dòng chảy, chương trình được viết bằng chương trình Keil với sự trợ giúp của máy tính và chương trình bằng ngôn ngữ C. Nó đã được biên soạn. Đã sửa lỗi .HEX tệp đã được tạo. 
9. Tệp HEX được tạo ra đã được thử nghiệm mô phỏng trong chương trình ISIS.
10. Máy tính được truyền thông bằng giao diện nối tiếp giữa Thẻ Phát triển Dựa trên AT89C51RC2. Bộ vi điều khiển trên thẻ tệp HEX được tạo bằng cách biên dịch chương trình được viết bằng Keil đã được chuyển giao với chương trình FLIP có tên là Atmel Company. 
11. Chu kỳ năng lượng đã được cung cấp và hoạt động của nó được đo bằng cách đo nó trên một dao động.

Máy tính mạch:

devre_hesaplama_1
devre_hesaplama_2
Lệnh 1 được hiển thị ở đây là thời gian hoạt động.
Lưu ý: Thẻ phát triển được sử dụng trong ứng dụng có tinh thể 11.0592MHz trên đó. Tuy nhiên, 12MHz được thực hiện để thuận tiện trong tính toán.
Sử dụng các giá trị thu được từ các công thức trên, chúng ta có thể tính các giá trị được nạp vào bộ đếm. 
Ví dụ, giá trị tải cho sóng vuông 1 Hz
các yukleme_deger
Tức là, bộ đếm thời gian cần đếm đến 1 triệu chữ ký hẹn giờ để hoàn thành chu kỳ.
thời gian
Như bạn có thể thấy trong hình trên, bộ đếm thời gian là 1 khoảng thời gian khi đếm 1 triệu. 
Nhưng không có Timer trong 8.051 mà chúng ta có thể sử dụng để đếm 1 triệu. Chế độ 1 có thể đếm tới 65536.
Chúng ta có thể tạo ra một giải pháp cho vấn đề này. Nếu chúng tôi đếm bộ đếm thời gian đến 50000 và thực hiện 10 lần, chúng tôi nhận được 500000. 50% thời gian của chúng tôi là 1, 50% là 0, vì vậy chúng tôi sẽ tính 1 triệu nếu chúng tôi tính 2 lần, một lần cho mỗi 0 trường hợp.
Tình huống được mô tả ở trên được áp dụng cho mã vi điều khiển được viết bằng Keil trong hàm có tên OSC1. 
Một tình huống tương tự đã được sử dụng trong 2 bước còn lại. Một bộ đếm thời gian 50000 đếm cho 10Hz là đủ. Đối với 100Hz, số lượng 5000 là bắt buộc. Trong những trường hợp này, OSC10 và OSC100 đã được thực hiện trong các hàm được đặt tên.
Xác định giá trị hẹn giờ
Làm cách nào để tải các giá trị này vào Timer? Chúng tôi sẽ cố gắng giải quyết vấn đề này với sự trợ giúp như được mô tả trong chương 1. Ví dụ, nếu chúng ta lấy giá trị 1 Hz, số đếm thời gian là 500.000. Chúng tôi muốn có bộ đếm thời gian đánh dấu 50000 và biến nó 10 lần. Chúng tôi sẽ chỉ cách thiết lập giá trị hẹn giờ thành 50000. Đối với điều này, hệ thống số thập lục phân có hiệu lực.
formul_8051
Số Hecadecimal 3CAF này thu được bằng cách chia cho Bộ đếm thời gian.
hecadecimal

7 đoạn kết nối chân hiển thị
các 7_segment_baglant
Các giá trị được hiển thị cho các số liệu được hiển thị trong bảng bên dưới.
các display_deger_tablo
Lưu ý: Có 8 đầu ra cần thiết cho mỗi màn hình, vì vậy một cổng phải được sử dụng cho một màn hình. Nếu điều này là không mong muốn, nó có thể được thực hiện bằng cách sử dụng 4 kết quả đầu ra bằng cách sử dụng tích hợp 7447. Do đó, 3 màn hình được lưu từ các cổng sử dụng 3 × 4 = 12 đầu ra thay vì 3 × 8 = 24 kết quả đầu ra. Tuy nhiên, quá trình này không được coi là cần thiết vì khoảng thời gian sẽ không thực hiện bất kỳ công việc nào khác.
7411 Kết nối chân tích phân
các 7411_entegre
Vì không có 3 vết cắt bên ngoài trong vi điều khiển mà chúng tôi sử dụng, nên giải pháp đó đã được tạo ra.
Chỉ có 1 cửa được sử dụng trong tích hợp. Đầu vào của cánh cửa này là đầu vào của nút và đầu vào của chốt P1_3 đã được nhập Mục đích của việc này là để có thể phát hiện các thay đổi của nút.
Tệp chương trình viết bằng Keil
/ ************************************************* ****************** /
/*******************************************************************/
/*                     8051 PROJESI                                */
/*																   */
/*         1Hz    10Hz   100Hz  Kare Dalga Sinyal Jeneratörü       */
/*                                                                 */ 
/*          Birkan GOCERLER              020304024                 */
/*******************************************************************/
/*******************************************************************/ 

#include 
#include 
/* butonlarin ve cikisin tanimlanmasi*/
#define buton1    P1_0
#define buton10   P1_1
#define buton100  P1_2
#define degistir  P1_3
#define sinyal    P1_7
#define disp1    P0
#define disp2    P2
#define disp3    P3


/* 1Hz lik sinyal üreten fonksiyon*/
void OSC1()
{	
	int i;                          //degisken tanimlamasi
	while(buton1==0);               //buton1 birakilana kadar dön
		while(1)                    // sonsuz döngü (isletim sistemi)
	    {
			for(i=0;i<10 0="" 100hz="" 10hz="" 1="" 5.000="" 50.000="" a="" ana="" baslangici="" bayragi="" bayragini="" bekle="" birakilana="" buton100="=0);" buton10="" calistir="" cikisi="" d="" degille="" degistir="=0)return;" durdur="" et.degisiklik="" fonksiyon="" font="" for="" gecikme="" gereken="" git="" i="0;i<33000;i++);" if="" ilgili="" in="" int="" kadar="" kez="" kontrol="" kurulmasi="" la="" lik="" main="" moda="" n="" olana="" osc100="" osc10="" program="" programa="" reten="" say="" sayilar="" sayilari="" saymasi="" sinyal="!sinyal;" sn="" style="vertical-align: inherit;" tekrar="" temizle="" tf0="0;" th0="0xEC;" timer0="" timer="" tl0="0x77;" tmod="0x01;" tr0="1;" ucunu="" unsigned="" varsa="" void="" while="" yaklaik="" yukle="">
{/ * Trạng thái ban đầu của các nút và thoát * /
tín hiệu = 0; buton1 = 1; buton10 = 1; buton100 = 1; degistir = 1; disp1 = 0x00; // Kiểm tra hiển thị disp2 = 0x00; disp3 = 0x00; chờ (); disp1 = 0x09; // Bài viết KOU disp2 = 0x40; disp3 = 0x41; chờ (); disp1 = 0x07; // TEF disp2 = 0x06; disp3 = 0x0e; trong khi (1) // vòng lặp vô hạn { if (buton1 == 0) { disp1 = 0x40; disp2 = 0x40; disp3 = 0xF9; OSC1 (); // chuyển đến hàm OSC1 nếu nhấn button1 } if (buton10 == 0) { disp1 = 0x40; disp2 = 0xF9; disp3 = 0x40; OSC10 (); // đi đến chức năng OSC10 nếu button10 được nhấn } if (buton100 == 0) { disp1 = 0xF9; disp2 = 0x40; disp3 = 0x40; OSC100 (); // chuyển sang chức năng OSC100 nếu nhấn nút 100 } } }
Progeny proteus isis mô phỏng và tập tin mã Keil với máy phát tín hiệu sóng vuông AT89C51RC2 và 7411
Tải xuống tệp LINK danh sách (ở định dạng TXT) link-1427.zip mật khẩu-pass: 320volt.com

Post a Comment

[disqus] [facebook] [blogger]

MKRdezign

Biểu mẫu liên hệ

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget
Hỗ trợ trực tuyến