久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
不知道為什么單片機測的頻率不對啊 實際測18000 仿真1200左右
[打印本頁]
作者:
1270811032
時間:
2018-10-7 16:18
標題:
不知道為什么單片機測的頻率不對啊 實際測18000 仿真1200左右
各位大佬 小弟做了個測頻率的東西 單片機測得的頻率嚴重出錯啊 可以告訴我為什么么
//#include"reg52.h" /* 調用頭文件,單片機內部寄存器都定義在此,用的時候需要先調用 */
#include"LCD1602.H"
#include <NEW_8051.h>
UINT8 CounterCnt; /* 計數器次數 */
UINT8 FreResultFlag; /* 頻率計計算結果標志 */
/******************************** 引腳定義 **************************************
單片機 NE555
P35 OUT
********************************************************************************/
/*******************************************************************************
* 函 數 名 : Init_Timer
* 描 述 : 初始化定時器T0,計數器T1.
* 輸 入 : 無.
* 返 回 : 無.
********************************************************************************/
void Init_Timer(void)
{
TMOD |= 0x51;
/* T0工作在定時器模式1,16位定時器,T1工作在計數器模式 */
TH0 = ( 65536 -50000 ) / 256; /* T0定時器初值,定時50ms */
TL0 = ( 65536 -50000 ) % 256;
TH1 = 0; /* T1從0開始計數 */
TL1 = 0;
ET0 = 1; /* 定時器T0中斷打開 */
// ET1 = 1; /* 定時器T1中斷打開 */
EA = 1; /* 總中斷打開 */
// PT1 = 1; /* 定義T1為高優先級 */
TR0 = 1; /* T0開關打開 */
TR1 = 1; /* T1開關打開 */
}
/*******************************************************************************
* 函 數 名 : Timer0
* 描 述 : 中斷程序,定時時間到后重新賦值開始定時,同時將LED的狀態取反.
* 輸 入 : 無.
* 返 回 : 無.
********************************************************************************/
void Timer0(void) interrupt 1
{
static UINT8 Temp;
TH0 = ( 65536 -50000 ) / 256; /* 重新賦值 */
TL0 = ( 65536 -50000 ) % 256;
Temp++;
if( Temp == 20 ) /* 大概一秒計算一次 */
{
Temp = 0;
TR0 = 0; /* 關閉定時器T0,T1 */
TR1 = 0;
FreResultFlag = 1; /* 準備計算頻率 */
}
}
/*******************************************************************************
* 函 數 名 : Timer1
* 描 述 : 計數器中斷程序.
* 輸 入 : 無.
* 返 回 : 無.
********************************************************************************/
void Timer1(void) interrupt 3
{
CounterCnt++; /* 計算脈沖個數 */
}
/*******************************************************************************
* 函 數 名 : DisplayFre
* 描 述 : LCD1602顯示頻率.
* 輸 入 : UINT32 PulseCnt:
* 脈沖數.
* 返 回 : 無.
********************************************************************************/
void DisplayFre( UINT32 PulseCnt )
{
UINT8 i;
UINT8 DisplayBuf[6];
for( i = 0; i < 5; i++ ) /* 計算1-5位的每位數據 */
{
DisplayBuf[i] = PulseCnt % 10 + 0x30; /* 轉成成1602可以顯示的數值 */
PulseCnt = PulseCnt / 10;
}
DisplayBuf[5] = PulseCnt + 0x30; /* 計算第6位數據 */
for( i = 5; i > 0; i-- ) /* 處理高位為0時候的情況 */
{
if( DisplayBuf[ i ] == 0x30 )DisplayBuf[ i ] = 0x20;/* 檢測到高位為 0,不顯示高位,空格代替 */
else break;
}
LCD1602_SetDisplayPosition( 7,2 ); /* 設置顯示位置 */
for( i = 5; i != 0xFF; i-- )
LCD1602_WriteData(DisplayBuf[i]); /* 顯示頻率計字符 */
}
/*******************************************************************************
* 函 數 名 : main
* 描 述 : 主程序.
* 輸 入 : 無.
* 返 回 : 無.
********************************************************************************/
void main(void)
{
UINT32 FreNum; /* 計算頻率次數 */
Init_Timer(); /* 初始化定時器 */
LCD1602_Init(); /* 初始化LCD1602 */
LCD1602_SetDisplayPosition(0,1); /* 設置第一行顯示位置 */
LCD1602_WriteString("FREQUENCY METER"); /* 設置頻率計字符 */
LCD1602_SetDisplayPosition(0,2); /* 設置第二行顯示位置 */
LCD1602_WriteString("FRE: Hz"); /* 設置FRE: HZ字符 */
while(1)
{
if( FreResultFlag ) /* 計算頻率 */
{
FreNum = ( CounterCnt * 65536 + TH1 * 256 + TL1); /* 計算1秒后的脈沖個數 */
TH1 = 0; /* 清計數次數 */
TL1 = 0;
FreResultFlag = 0; /* 清標志 */
// CounterCnt = 0;
TR1 = 1;
TR0 = 1; /* 開定時器 */
}
DisplayFre( FreNum );
}
}
復制代碼
作者:
Y_G_G
時間:
2018-10-7 23:09
C我不會,但如果你用的是STC的單片機,那你就得好好的看一下它的使用手冊了,因為它很多的指令執行時間和傳統的8051是不一樣的,也就是所謂的1T,但它又不是完全的1T,亂得很!!!!!!!!
定時器也是一樣的,有的是1T的有的是12T的
作者:
sxhwdz
時間:
2018-10-8 06:50
定時器時間常數計算是否正確?特別是計算定時器常熟的系統主頻是否與實際使用的主頻一致
作者:
1270811032
時間:
2018-10-8 15:21
sxhwdz 發表于 2018-10-8 06:50
定時器時間常數計算是否正確?特別是計算定時器常熟的系統主頻是否與實際使用的主頻一致
一致啊 主頻是指晶振頻率么
作者:
魚梓錢
時間:
2018-10-8 20:29
看定時器計數器初值是否和所使用的晶振相對應,或者這些初值可以通過ISP燒錄軟件里的定時器生成器生成
作者:
xbcfghlzy1
時間:
2018-10-8 21:55
定時器的初始值是否計算正確呢?在仿真的時候要把晶振改成你單片機的晶振
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
97视频精品
|
亚洲精品成人网
|
99久久婷婷国产综合精品电影
|
中文字幕在线视频网站
|
成人不卡
|
中国美女撒尿txxxxx视频
|
国产91在线播放精品91
|
久久99深爱久久99精品
|
亚洲成人免费电影
|
a在线视频观看
|
久草在线免费资源
|
性国产丰满麻豆videosex
|
国产成人高清
|
91大神在线资源观看无广告
|
成年人在线观看视频
|
国产精品无码专区在线观看
|
wwwww在线观看
|
亚洲欧洲精品一区
|
男女搞网站
|
亚洲欧美中文日韩在线
|
电影在线
|
久久免费高清视频
|
91精品国产综合久久香蕉麻豆
|
国产日韩免费视频
|
国产精品免费一区二区三区
|
国产网站在线播放
|
青久草视频
|
一呦二呦三呦国产精品
|
精品久久电影
|
www.五月天婷婷.com
|
国产激情视频
|
中文字幕免费
|
国产一区二区在线免费视频
|
黄色国产
|
日韩不卡一区二区
|
www97影院
|
懂色中文一区二区在线播放
|
国产婷婷色一区二区三区
|
精品久久久久香蕉网
|
久久国内
|
欧美极品在线观看
|