1. 51單片機的最佳計數頻率是多少如何算出來的,最好能講解下 求
51單片機計數,輸入的計數頻率不可以超過主頻的一半,
以12M晶振,12分頻來算,主頻是1M,那麼最高計數頻率為500KHz。
主頻1MHz,那麼單片機每個周期,也就是1us可以檢測一次管腳的狀態,檢測一次跳變由高到低,或者由低到高,需要兩個周期,即2us,也就是500KHz。
准確的說,要求輸入的信號變化速率必須低於主頻,才能確保可以被識別。
2. 51單片機的時鍾周期的頻率為12MHz,那麼ALE信號的頻率為多少
ALE端為晶振頻率的1/6,題中給的是「時鍾周期的頻率」(即「晶振頻率」的1/2),所以「晶振頻率」為24MHz,ALE信號的頻率為24/6,即4MHz。
簡介
51單片機是對兼容英特爾8051指令系統的單片機的統稱。51單片機廣泛應用於家用電器、汽車、工業測控、通信設備中。因為51單片機的指令系統、內部結構相對簡單,所以國內許多高校用其進行單片機入門教學。
同樣的一段程序,在各個單片機廠家的硬體上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51,PHILIPS,和WINBOND等,我們常說的已經停產的89C51指的是ATMEL公司的AT89C51單片機,同時是在原基礎上增強了許多特性。
如時鍾,更優秀的是由Flash(程序存儲器的內容至少可以改寫1000次)存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對於8051已經算是非常優越的了。
3. 51單片機輸出PWM的最高頻率和占空比
51所能輸出的PWM的最大頻率 是由單片機的時鍾周期決定的,
25Hz以上肉眼就基本看不出來了
占空比是可以0%~100%調整的,這個是由程序決定
#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
sbit PWM_OUT=P3^0; //PWM輸出
void DelayMS(uint ms)
{
uchar i,j;
for(j=ms;j>0;j--)
for(i=0;i<40;i++);
}
void main()
{
uint Val; 改變Val值可以改變占空比 0--100
while(1)
{
ADOE=0;
if(Val==0) //PWM 輸出(占空比為0%)
{
PWM_OUT=0;
DelayMS(255);
continue;
}
if(Val==0xff) //PWM輸出(占空比為 100%)
{
PWM_OUT=1;
DelayMS(255);
continue;
}
PWM_OUT=1;
DelayMS(Val);
PWM_OUT=0;
DelayMS(255-Val);
}
}
4. 單片機頻率計算公式
這得看是什麼單片機了:
對於精簡指令集性能的單片機的工作頻率(1/機器周期)=時鍾頻率(1/時鍾周期).
普通的51單片機來說:頻率是1MHZ,時鍾周期是1/12us(1除以12M),機器周期是12倍的時鍾周期--1us.
周期是頻率的倒數 或者頻率是周期的倒數
1秒:相當於頻率是1HZ ,也就是1/1S =1HZ
那麼1/1ms =1/0.001S =1000HZ