加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

51單片機可調(diào)幅度頻率波形信號發(fā)生器( proteus仿真+程序+原理圖+報告+講解視頻)

09/27 09:07
1212
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
  • 方案介紹
    • 講解視頻
    • 1.主要功能:
    • 2.仿真
    • 3. 程序代碼
    • 4. 原理圖
    • 4. 設(shè)計報告
    • 5. 設(shè)計資料內(nèi)容清單&&下載鏈接
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

51單片機可調(diào)幅度頻率信號發(fā)生器( proteus仿真+程序+原理圖+報告+講解視頻)

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:S0055

講解視頻


基于51單片機的可調(diào)幅度頻率波形信號發(fā)生器

1.主要功能:

基于51單片機的三角波信號發(fā)生器

1、幅值在0-5V可以通過按鍵調(diào)整,頻率在0-50Hz,可以通過按鍵調(diào)整

2、通過LCD1602顯示幅值和頻率

3、使用示波器查看波形

需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。

以下為本設(shè)計資料展示圖:

2.仿真

開始仿真

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。

經(jīng)以上調(diào)試,確認(rèn)程序沒有問題時,加載到Proteus軟件中進(jìn)行仿真,所得仿真結(jié)果如下。

剛開始運行程序,沒有按鍵操作時,仿真結(jié)果如圖25所示。

img

圖25 仿真初始化結(jié)果

(2)通過按鍵調(diào)整振幅頻率選擇時,四個按鍵操作的仿真結(jié)果如下。

img

圖26 頻率調(diào)低到1HZ

img

圖27 頻率加到50HZ,振幅不變

img

圖27 振幅減到2.5V,頻率不變

以上仿真結(jié)果均符合設(shè)計要求。

3. 程序代碼

使用keil4或者keil5編譯,代碼有注釋,可以結(jié)合報告理解代碼含義。

main函數(shù)

#include<reg51.h>
#include"absacc.h"
#include"intrins.h"
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
#define out XBYTE[0xfeff]
/*
 XBYTE 的作用,可以用來定義絕對地址,是P0口和P2口的,其中P2口對應(yīng)的是高位,P0口對應(yīng)的是地位
如 XBYTE[0x1234] = 0x56;
則等價于
mov dptr,#1234h
mov @dptr,#56h
P0口和P2口共同作用,可以作為外部存儲器的地址線
P2接地址總線的高8位(A15~A8),P0接地址總線的低8位(A7~A0)同時接數(shù)據(jù)總線,對片外地址由P2P0構(gòu)成
,當(dāng)dac0832的cs'接p2^7時低電平有效,所
以P2最大為01111111=0x7f(最大為P2^6~P2^0=1),P0最大為11111111=0xff,
所以為XBYTE[0x7fff],若cs'接p2^6則為XBYTE[0xbfff],若cs'接p2^6則為XBYTE[0xbfff]。
*/
sbit k1=P3^0;//按鈕
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^7;

		
uint freq=25,set=0;	//頻率
uchar amp=255;//振幅
uchar time=0,sec=0;//計時
uchar hang1[]="fre:025Hz";
uchar hang2[]="Amp:5.0V ";//振幅

void main()
{
	uint i;	
	//設(shè)置定時器
	TMOD|=0X02;//選擇為定時器0模式,工作方式2,8位自動重裝載,僅用TR0打開啟動。
	TH0=156;//給定時器賦初值
	TL0=156;		
	ET0=1;//打開定時器0中斷允許
	TR0=0;//打開定時器
	EA=1;//打開總中斷

	init_1602();//初始化LCD
	write_string(1,0,hang1);
	write_string(2,0,hang2);
	while(1)
	{
		if(!k1)//頻率加
		{
			if(freq<50)
				freq++;
			set=50/freq;//50HZ-1HZ
			if(set>0)
				set--;
			hang1[4]=freq/100+0x30;
			hang1[5]=freq%100/10+0x30;
			hang1[6]=freq%10+0x30;
			write_string(1,0,hang1);
			while(!k1);
		}
		if(!k2)//頻率減
		{
			if(freq>1)
				freq--;
			set=50/freq;//50HZ-1HZ
			if(set>0)
				set--;
			hang1[4]=freq/100+0x30;
			hang1[5]=freq%100/10+0x30;
			hang1[6]=freq%10+0x30;
			write_string(1,0,hang1);
			while(!k2);
		}
		if(!k3)//振幅加
		{
			amp+=3;
			i=amp*10/51;
			hang2[4]=i/10+0x30;
			hang2[6]=i%10+0x30;
			write_string(2,0,hang2);
			while(!k3);
		}
		if(!k4)//振幅減
		{
			amp-=3;
			i=amp*10/51;
			hang2[4]=i/10+0x30;
			hang2[6]=i%10+0x30;
			write_string(2,0,hang2);
			while(!k4);
		}
	}
}
void Timer0() interrupt 1//定時器中斷
{
	uint i;
/*

	if(time<51)// 方波輸出
	{
		i=amp;	 
		out=i;
	}
	else
	{
		i=0;
		out=i;
	}
*/
 	if(time<51)//三角波輸出
	{
		i=time*amp/50;	 
		out=i;
	}
	else
	{
		i=(99-time)*amp/50;
		out=i;
	}

	if(sec<set)//延時控制	set是變量 set越小,周期越小,頻率越大
		sec+=1;
	else
	{
		sec=0;
	if(time<99)
		time++;
	else
		time=0;
	}	
}

4. 原理圖

原理圖使用AD繪制,可供實物參考。

img

Proteus仿真和實物作品的區(qū)別:

1.運行環(huán)境:Proteus仿真是在計算機上運行的,而實物則是在硬件電路板上運行。

2.調(diào)試方式:在Proteus仿真中,可以方便地進(jìn)行單步調(diào)試和觀察變量值的變化,而在實物中則需要通過調(diào)試器或者串口輸出等方式進(jìn)行調(diào)試。

電路連接方式:在Proteus仿真中,可以通過軟件設(shè)置進(jìn)行電路連接的修改,而在實物中則需要通過硬件電路板和連接線進(jìn)行修改。

3.運行速度:Proteus仿真通常比實物運行速度快,因為仿真是基于計算機運行的,而實物則需要考慮電路板上的物理限制和器件的響應(yīng)時間等因素。

4.功能實現(xiàn):在Proteus仿真中,可以通過軟件設(shè)置實現(xiàn)不同的功能,而在實物中則需要根據(jù)電路設(shè)計和器件的性能進(jìn)行實現(xiàn)。

4. 設(shè)計報告

9547字設(shè)計報告,內(nèi)容包括摘要,硬件設(shè)計、軟件設(shè)計、軟硬件框圖、調(diào)試、結(jié)論等

img

5. 設(shè)計資料內(nèi)容清單&&下載鏈接

資料設(shè)計資料包括仿真,程序代碼、講解視頻、功能要求、設(shè)計報告、軟硬件設(shè)計框圖等。

0、常見使用問題及解決方法–必讀?。。?!

1、仿真圖

2、程序源碼

3、開題報告

3、原理圖

5、功能要求

6、元器件清單

7、設(shè)計報告

8、軟硬件流程框圖

9、講解視頻

Altium Designer 軟件資料

KEIL軟件資料

Proteus軟件資料

單片機學(xué)習(xí)資料

答辯技巧

設(shè)計報告常用描述

鼠標(biāo)雙擊打開查找更多51 STM32單片機課程畢業(yè)設(shè)計.url

img

資料下載鏈接

  • 設(shè)計資料獲取聯(lián)系方式.doc

相關(guān)推薦

電子產(chǎn)業(yè)圖譜