久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
簡易頻率計+AD原理圖+單片機代碼
[打印本頁]
作者:
shaoye
時間:
2017-5-4 12:12
標題:
簡易頻率計+AD原理圖+單片機代碼
單片機簡易頻率計原理圖如下:
頻率計.png
(164.17 KB, 下載次數: 102)
下載附件
2017-5-4 12:08 上傳
0.png
(47.82 KB, 下載次數: 66)
下載附件
2017-5-4 15:46 上傳
----------------------------------------------------------------------------------------------------
第一部分:文件夾命名規則
----------------------------------------------------------------------------------------------------
APP 應用程序文件夾
BRD 板載設備驅動與使用文件夾
CPU 微控制器相關文件夾
CPU-CFF 微控制器內存等配置文件夾
CPU-STP 微控制器啟動代碼文件夾
ELS 其他代碼文件夾
FUC 通用自定義代碼文件夾
GEN 通用標準代碼文件夾
PRJ 工程文件夾
PRJ-EXE IAR工程輸出可執行文件文件夾
PRJ-OBJ 工程輸出文件文件夾
PRJ-LST 工程輸出鏈表文件夾
SYS 操作系統文件夾
51單片機源程序
//==================================================================================================
// 工程功能:
// 工程等級:工程級/驅動級
// 工程硬件:STC89C52RC
// 工程軟件:Keil C51 uVision4
// 工程作者:智心科技(ZhiXinKeJi)(http://bengbucollege.taobao.com/)
// 工程創建:2014-10-31
// 工程版次:1
// 工程修改:2014-10-31
// 修改內容:
//==================================================================================================
//==============================包含的頭文件========================================================
#include"MAIN.H" // 包含全局頭文件,
//==============================定義全局變量========================================================
unsigned long Freq_CUNT;
//==================================================================================================
// 實現功能:主函數
// 函數說明:
// 函數備注:
//==================================================================================================
void main(void)
{
TIME_Cnfg(); // 配置 定時器(TIME)
SEGx4_Init(); // 初始化 SEGx4
while(1)
{
if(Freq_CUNT<=10000)
{
SEGx4_ShowNumbx4(Freq_CUNT); // 1Hz單位
LEDx2_Sets(LEDc1,LEDs0); // 黃燈亮
LEDx2_Sets(LEDc2,LEDs1); // 綠燈滅
}
else if(Freq_CUNT<=400000)
{
SEGx4_ShowNumbx4(Freq_CUNT/1000); // 1KHz單位
LEDx2_Sets(LEDc1,LEDs1); // 黃燈滅
LEDx2_Sets(LEDc2,LEDs0); // 綠燈亮
DELAY_nMS(1000);
}
else
{
SEGx4_ShowStrg("----"); //
LEDx2_Sets(LEDc1,LEDs1); // 黃燈滅
LEDx2_Sets(LEDc2,LEDs1); // 綠燈滅
}
}
}
復制代碼
/*================================================================================================*/
/* 文件功能:SEGx4-四位數碼管 */
/* 文件說明:端口直接連接方式 */
/* 硬件平臺:STC89C52RC */
/* 軟件平臺:Keil uVision4-C51 V9.0 */
/*================================================================================================*/
//==============================包含的頭文件========================================================
#include"MAIN.H" // 包含全局頭文件,
#include"SEGx4.H" // 包含外設頭文件,SEGx4-四位數碼管
#include"SEGx4_FONT.H" // 包含外設頭文件,SEGx4-四位數碼管/字庫文件
//==============================硬件端口定義========================================================
#define SEGx4_DATAPORT P0 // 定義 SEGx4 段碼 8位端口
sbit SEGx4_BIT0=P2^4; // 定義 SEGx4 位碼 0號端口
sbit SEGx4_BIT1=P2^5; // 定義 SEGx4 位碼 1號端口
sbit SEGx4_BIT2=P2^6; // 定義 SEGx4 位碼 2號端口
sbit SEGx4_BIT3=P2^7; // 定義 SEGx4 位碼 3號端口
//==============================宏自定義聲明========================================================
// SEGx4 位數
#define SEGx4_UNIT 4 // 數據引腳,數據端口使用的數量。
//==============================定義引用變量========================================================
unsigned char SEGx4_ShowData[SEGx4_UNIT]; // 定義字符數組,存放待顯示字符編碼
//==================================================================================================
// 函數功能:SEGx4 初始化
// 函數標記:應用函數,完成,
// 函數說明:
//--------------------------------------------------------------------------------------------------
// 輸入參量:無
// 輸出參量:無
//==================================================================================================
void SEGx4_Init(void)
{
}
//==================================================================================================
// 函數功能:SEGx4 顯示字符串
// 函數標記:應用函數,完成,
// 函數說明:
//--------------------------------------------------------------------------------------------------
// 輸入參量:_STRG:待顯示的字符串;
// 輸出參量:無
//==================================================================================================
void SEGx4_ShowStrg(unsigned char *_STRG)
{
unsigned char i=0; //定義局部變量,一定賦予初始值為0
unsigned char j; //定義局部變量,用于循環
while(*_STRG)
{
for(j=0;j<32;j++) //循環32次,查詢數碼管字模位置
{
if(SEGx4_CODE[j].CHAR==*_STRG) //判斷第k個字符的編碼是否與輸入字符相等
{
SEGx4_ShowData[i]=SEGx4_CODE[j].CODE;
i++;
break;
}
}
_STRG++;
}
}
//==================================================================================================
// 函數功能:SEGx4 顯示 4位整型數字
// 函數標記:應用函數,完成,
// 函數說明:
//--------------------------------------------------------------------------------------------------
// 輸入參量:_STRG:待顯示的字符串;
// 輸出參量:無
//==================================================================================================
void SEGx4_ShowNumbx4(unsigned int _NUMB)
{
unsigned char i,j; //定義局部變量,用于循環計數
unsigned char Numb_Arry[4]; //定義局部數組,用于存儲變量
Numb_Arry[0]=_NUMB/1000 %10+0x30;
Numb_Arry[1]=_NUMB/100 %10+0x30;
Numb_Arry[2]=_NUMB/10 %10+0x30;
Numb_Arry[3]=_NUMB/1 %10+0x30;
for(i=0;i<4;i++)
{
for(j=0;j<32;j++) //循環32次,查詢數碼管字模位置
{
if(SEGx4_CODE[j].CHAR==Numb_Arry[i]) //判斷第k個字符的編碼是否與輸入字符相等
{
SEGx4_ShowData[i]=SEGx4_CODE[j].CODE;
break;
}
}
}
}
//==================================================================================================
// 函數功能:SEGx4 T2 中斷服務函數
// 函數標記:中斷函數,完成,
// 函數說明:
//--------------------------------------------------------------------------------------------------
// 輸入參量:無
// 輸出參量:無
//==================================================================================================
void SEGx4_IRQHandler(void)
{
static unsigned char SEGx4_BITS=0; // 定義全局變量,用于循環數碼管位數
SEGx4_BIT0=1;
SEGx4_BIT1=1;
SEGx4_BIT2=1;
SEGx4_BIT3=1;
//----------------------------------------------------------------------------------------------
// 段碼
//----------------------------------------------------------------------------------------------
SEGx4_DATAPORT=SEGx4_ShowData[SEGx4_BITS];
//----------------------------------------------------------------------------------------------
// 位碼
//----------------------------------------------------------------------------------------------
switch(SEGx4_BITS)
{
case 0:SEGx4_BIT0=0;SEGx4_BIT1=1;SEGx4_BIT2=1;SEGx4_BIT3=1;break;
case 1:SEGx4_BIT0=1;SEGx4_BIT1=0;SEGx4_BIT2=1;SEGx4_BIT3=1;break;
case 2:SEGx4_BIT0=1;SEGx4_BIT1=1;SEGx4_BIT2=0;SEGx4_BIT3=1;break;
case 3:SEGx4_BIT0=1;SEGx4_BIT1=1;SEGx4_BIT2=1;SEGx4_BIT3=0;break;
default:break;
}
//----------------------------------------------------------------------------------------------
// 循環移位
//----------------------------------------------------------------------------------------------
SEGx4_BITS++;
if(SEGx4_BITS>5)
{
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
簡易頻率計-第01A版.zip
(451.63 KB, 下載次數: 45)
2017-5-4 12:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲国产成人在线视频
|
国产成人免费视频网站视频社区
|
91偷拍精品一区二区三区
|
国产日韩欧美
|
久久人爽
|
久久久久久国产精品
|
午夜免费av
|
成人福利片
|
极品国产视频
|
亚洲美女视频
|
在线观看国产视频
|
国产在线视频一区二区
|
久久免费国产视频
|
精品国产欧美一区二区
|
亚洲国产视频一区二区
|
国产精品96久久久久久
|
美女张开腿露出尿口
|
中文字幕国产视频
|
亚洲福利在线观看
|
久久人人爽人人爽人人片av免费
|
国产国产精品久久久久
|
国产一区2区
|
国产午夜精品一区二区三区四区
|
国内自拍偷拍
|
欧美不卡
|
免费a在线
|
北条麻妃99精品青青久久
|
精品久久视频
|
免费一区在线
|
特级毛片
|
国产精品久久久久久二区
|
999热精品视频
|
国产福利视频在线观看
|
国产精品久久久久久久久久
|
久久精品久久精品久久精品
|
日韩av视屏
|
国内自拍视频在线观看
|
成人免费看片又大又黄
|
91精品国产综合久久香蕉922
|
www.中文字幕.com
|
国产精品99久久久久
|