欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
頻率可調(diào)的方波發(fā)生器(protues仿真+單片機(jī)源碼)
[打印本頁(yè)]
作者:
wei1994
時(shí)間:
2018-7-1 22:54
標(biāo)題:
頻率可調(diào)的方波發(fā)生器(protues仿真+單片機(jī)源碼)
方波發(fā)生器仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(14.1 KB, 下載次數(shù): 99)
下載附件
2018-7-2 00:27 上傳
0.png
(47.74 KB, 下載次數(shù): 88)
下載附件
2018-7-2 00:27 上傳
單片機(jī)源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
float fosc=12000000; //系統(tǒng)時(shí)鐘頻率
sbit KEY1=P1^0; //控制頻率百位;
sbit KEY2=P1^1; //控制頻率十位;
sbit KEY3=P1^2; //控制占空比十位;
sbit KEY4=P1^3; //控制占空比個(gè)位;
sbit OUTPUT=P2^0; //方波輸出端口;
uchar zkb;
uint freq;
uchar TIMER0_L,TIMER0_H,TIMER1_L,TIMER1_H; //定
/****************************
延時(shí)子程序
****************************/
void delay(uchar n) //延時(shí)
{
uchar i;
while(n--)
{for(i=255;i>0;i--)
{}
}}
/*******************
系統(tǒng)初始化
*******************/
void chushihua(void)
{
P1=0x0f;
freq=50;
zkb=50;
TIMER0_L=0xe0;
TIMER0_H=0xb1;
TIMER1_L=0xf0;
TIMER1_H=0xd8;
TL0=0xe0; //初始頻率 50Hz 定時(shí) 20ms
TH0=0xb1;
TL1=0xf0; //初始占空比 50%定時(shí) 10ms
TH1=0xd8;
TMOD=0x11; //定時(shí)器 1 和定時(shí)器 0 工作在方式 1
IT0=1; //選擇 INT0 為下降沿觸發(fā)方式
EX0=1; //外部中斷 0 允許
ET0=1; //定時(shí)器 1 和定時(shí)器 0 中斷允許
ET1=1;
EA=1; //系統(tǒng)中斷允許
TR0=1; //定時(shí)器 1 和定時(shí)器 0 開(kāi)始定時(shí)
TR1=1;
}
/*********************
主函數(shù)
*********************/
void main(void)
{
chushihua(); //系統(tǒng)初始化
while(1)
{ }
}
/************************
定時(shí)器中斷子程序
************************/
void Timer0_freq() interrupt 1 //頻率定時(shí)器 0 中斷
{
TR1=1; //啟動(dòng)定時(shí)器 1,占空比定時(shí)
TL0=TIMER0_L;
TH0=TIMER0_H;
OUTPUT=1; //輸出高電平
}
void Timer1_zkb() interrupt 3 //占空比定時(shí)器 1 中斷
{
TR1=0; //定時(shí)器 1 停止
TL1=TIMER1_L;
TH1=TIMER1_H;
OUTPUT=0; //輸出低電平
}
/***********************
鍵盤(pán)掃描子程序
***********************/
void keyscan() interrupt 0 using 1 //外部中斷 0
{float TF0,TZ1;
EX0=0; //關(guān)中斷
delay(10); //延時(shí)消抖
if(P1!=0x0f) //判斷是否有鍵按下
{
if(KEY1==0) freq+=100; //按鍵為 1 號(hào),頻率加 100
if(KEY2==0) freq-=100; //按鍵為 2 號(hào),頻率減 100
if(freq>5000) freq=50; //頻率大于 5000Hz,重新賦值為 5
if(KEY3==0) zkb+=10; //按鍵為 3 號(hào),占空比加 10
if(KEY4==0) zkb-=10; //按鍵為 4 號(hào),占空比減 10
if(zkb>100) zkb=1; //占空比大于 100,重新賦值為
TF0=(65536-fosc/(12.0*freq));//頻率定時(shí)初值
TZ1=(65536-(fosc*zkb)/(12.0*100*freq)); //占空比定時(shí)
TIMER0_H=(uint)TF0/256;
TIMER0_L=(uint)TF0%256;
TIMER1_H=(uint)TZ1/256;
TIMER1_L=(uint)TZ1%256;
}
P1=0x0f; //給鍵盤(pán)掃描口賦初值
EX0=1; //開(kāi)中斷
TR0=1; //定時(shí)器 1 和定時(shí)器 0 開(kāi)始定時(shí)
TR1=1;}
復(fù)制代碼
所有資料51hei提供下載:
頻率可調(diào)方波發(fā)生器(protues仿真).zip
(52.7 KB, 下載次數(shù): 130)
2018-7-1 22:53 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
GZD123
時(shí)間:
2022-5-18 15:54
我這有三個(gè)問(wèn)題能佛麻否煩你回答一下1.怎么樣轉(zhuǎn)化為ADPWM波?
作者:
GZD123
時(shí)間:
2022-5-18 15:56
2.4個(gè)按鍵如何共用一個(gè)中斷。3.請(qǐng)用程序解釋一下用的是延時(shí)還是定時(shí)。
作者:
兩人鵬34
時(shí)間:
2022-5-20 17:34
能否實(shí)現(xiàn)編碼控制
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1