1. 單片機方波是什麼意思,什麼是一個方波,如何控制,最好舉例說明一下
矩形波是一種底部和頂部水平,上升沿和下降沿接近垂直的波形,而方波是矩形波的一種特殊情況(占空比為50%)。把占空比不是50%的矩形波叫成方波是錯誤的,至少是不嚴謹的。至於對稱與否,那是對電壓而言,不是針對占空比。
你在提問中說要「控制」方波,不知你要怎麼控制?
2. 用51單片機產生方波
這個就不需要什麼電路了吧,有個51最小系統板+LCD1602液晶+幾個按鍵就OK了,因為你是輸出脈沖嘛,51也就只能輸出高低電平的脈沖了,外加一個液晶顯示即可。你到網上查一下液晶的連接電路就OK,一大把的。
另外你說的程序也並不難啊,頻率這么低,用定時計數器就可以實現了。可以做一個公式,用頻率或者占空比算出具體的定時器的計數值。公式嘛,當然也是你想一下了,呵呵。
綜合來看,難點就在於鍵盤控制而已,要讀入鍵盤值,然後進行數據整合處理。
3. 51單片機產生40KHZ方波
程序為:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit Waveout=P1^0;
uchar
void main()
{
TMOD=0x01;
TH0=0xFF;
TL0=0xE8; //TL0=(65536-24)%256=232,即E8
EA=1;
ET0=1;
TR0=1;
while(1);
}
void T0_time() interrupt 1
{
TH0=0xFF;
TL0=0xE8;
Waveout=!Waveout;
}
(3)單片機方波擴展閱讀
使用方法
1.將模擬器插入需模擬的用戶板的CPU插座中,模擬器由用戶板供電;
2.將模擬器的串列電纜和PC機接好,打開用戶板電源;
3.通過KeilC 的IDE開發模擬環境UV2 下載用戶程序進行模擬、調試。
硬體說明
1、使用用戶板的晶振:模擬器晶振旁有兩組跳線用來切換內部晶振和用戶板晶振,當兩個短路塊位於模擬器晶振一側時,默認使用模擬板上的晶振(11.0592MHz), 當兩個短路塊位於電容一側時,使用用戶板的晶振。
2、為便於調試帶看門狗的用戶板,模擬器的復位端未與用戶板復位端相連;故模擬器的復位按鈕只復位模擬器,不復位用戶板;若要復位用戶板,請使用用戶板復位按鈕。
參考資料來源:網路-51單片機
4. 如何用C語言編程使單片機產生方波信號
普通51的話需要模擬PWM,如果是加強版51有內置PWM模塊,
PIC和AVR以及430還有STM也有集成PWM的型號!
如果是單純輸出方波的話就簡單了。
程序如下:
//功能,按下P1_0的開關降低頻率,按P1_1為升高頻率
#include<AT89X52.H> //引用AT89X52的庫文件
#defineucharunsignedchar //替換簡稱
#defineuintunsignedint //替換簡稱
ucharsm; //定義臨時變數
voiddelay_ms(uintms) //延時子函數,一個循環12uS
{
while(--ms);
}
voidT0_IRQ(void)interruptTF0_VECTOR //定時器0中斷函數
{
TH0=sm; //將變數賦予定時器0的高位
P2_0=!P2_0; //翻轉IO
}
//寄存器初始化子函數
voidmcu_init()
{
ET0=1; //開定時器0中斷
EA=1; //開總中斷
TMOD=0x01; //設置為16位定時器0
TH0=0xFF; //填充定時器高位
TR0=1; //開定時器0
sm=0xFF; //變數初始化
}
voidmain() //主函數
{
mcu_init(); //調用初始化函數
while(1) //主循環
{
if((!P1_0)||(!P1_1)) //檢測是否有按鍵按下
{
delay_ms(8333); //延時去抖
if(!P1_0) //如果是P1_0按鍵按下
{
while(!P1_0); //等待按鍵放手
if(sm) //檢測變數不為0
{
--sm; //自減1
P2_1=1; //取消邊界LED
}
elseP2_1=0; //到達邊界點亮LED
}
elseif(!P1_1) //否則如果P1_1按鍵按下
{
while(!P1_1); //等待按鍵放手
if(sm<0xFF) //檢測變數小於0xFF
{
++sm; //自加1
P2_1=1;
}
elseP2_1=0;
}
}
}
}
5. 怎樣用51單片機產生方波
可以用定時器中斷實現這樣的處理,這種方法重點在於根據你的晶振頻率計算出定時器中斷的參數,然後就可以很好的控制定時器中斷觸發的時間了.只要在中斷處理過程里不斷的讓I/O口取反,就可以實現這樣的方波。
6. 如何用單片機產生10M以上的方波信號
方波是可以不用DA產生的,但是幅度不能調節。
只要單片機可以使用的晶振頻率比較高,產生這個方波不是問題。
C8051F130是增強型51核單片機,系統時鍾數十兆,因此,送出一個12.5M的信號是沒有問題的。您所使用的單片機速度不夠,所以出不來。
7. 一個單片機同時產生兩個頻率不同的方波.這個可能嗎
可以,只是頻率不能太高 如定時100us中斷一次,每中斷一次將某一個管腳的電平狀態態取反一次,就得到5kHZ方波,每中斷2次或3次將另外一個管腳取反,就得到2·5KHZ或1·667kHZ的方波 如果定時很短,則中斷很頻繁,單片機就幹不了其他工作了 因此產生方波頻率不能太高
8. 單片機 時鍾頻率,振盪頻率,方波,脈沖,之間關系
先說方波,方波一般從名字上就可以看出是什麼意思,看圖就知道了,就是像長城牆的那個
那究竟什麼是脈沖?從字面上理解——脈搏的跳動所產生的沖擊波。脈沖的定義其實是這樣的:電壓(V)或電流(A)的波形象心電圖上的脈搏跳動的波形但現在聽到的什麼電源脈沖、聲脈沖……又作何解釋呢——脈沖的原意被延伸出來得:隔一段相同的時間發出的波等機械形式,學術上把脈沖定義為:在短時間內突變,隨後又迅速返回其初始值的物理量稱之為脈沖。
在數字電路裡面一般就把一個凸起的方波叫脈沖。
單片機的機構特徵是將組成計算機的基本部件集成在一塊晶體晶元上,構成一台功能獨特的,完整的單片微型計算機。它的英文名是MCU(microcontrollerunit)微型控制單元。
單片機的工作需要時鍾信號,時鍾信號是時序邏輯的基礎,它用於決定邏輯單元中的狀態何時更新。時鍾信號是指有固定周期並與運行無關的信號量,時鍾頻率(clockfrequency,CF)是時鍾周期的倒數。
也可以說時鍾頻率越高,CPU或者單片機運行的越快。
而振盪頻率一般就是指振盪電路的頻率,由於時鍾信號是由振盪電路產生的,所以一般振盪頻率等於時鍾頻率
9. 單片機產生方波程序
快速10位pwm模式:
#include
void
main()
{
ddrd|=0x30;
//也許沒必要。自己試試
tccr1a=0xa3;
//設置工作模式
tccr1b=0x0b;
//設置工作模式
ocr1a=800;
//設置第1路占空比
ocr1b=500;
//設置第2路占空比
}
10位模式下
最高值是1023
調整ocr1a或ocr1b為511,即可產生占空比為50%的方波。
10. 如何讓單片機同時產生兩個方波
首先RTC可以生成一個方波
然後外部中斷也能產生方波,這不就有兩個了
主函數把單獨的引腳作為串口輸出又可以生成一個方波