資源簡介
基于單片機的頻率脈寬的測量(頻率脈寬可調)附代碼 原理圖 及所需元器件

代碼片段和文件信息
#include?
#?include?
#?include?
#define?uchar?unsigned?char
#define?uint??unsigned?int
#define?ulong??unsigned?long
//MAX7219部分***************************************************
sbit?Max7219_pinCLK?=?P3^2;
sbit?Max7219_pinCS??=?P3^1;
sbit?Max7219_pinDIN?=?P3^0;
void?delay(uint?x){
?uint?ij;
?for(i=0;i ??for(j=0;j<112;j++);
}
void?Write_Max7219_byte(uchar?DATA){
???? uchar?i;????
Max7219_pinCS=0;
????for(i=8;i>=1;i--)
??????????{ ??
????????????Max7219_pinCLK=0;
????????????Max7219_pinDIN=DATA&0x80;
????????????DATA=DATA<<1;
????????????Max7219_pinCLK=1;
???????????}?????????????????????????????????
}
void?Write_Max7219(uchar?addressuchar?dat){?
?????Max7219_pinCS=0;
?Write_Max7219_byte(address);???????????//寫入地址,即數碼管編號
?????Write_Max7219_byte(dat);???????????????//寫入數據,即數碼管顯示數字?
?Max7219_pinCS=1;????????????????????????
}
void?Init_MAX7219(void){
?Write_Max7219(0x09?0xff);???????//譯碼方式:BCD碼
?Write_Max7219(0x0a?0x03);???????//亮度
?Write_Max7219(0x0b?0x07);???????//掃描界限;4個數碼管顯示
?Write_Max7219(0x0c?0x01);???????//掉電模式:0,普通模式:1
?Write_Max7219(0x0f?0x01);???????//顯示測試:1;測試結束,正常顯示:0
}
//max7219寫數據
//Init_MAX7219();
//Delay_xms(500);
//Write_Max7219(0x0f?0x00);
//MAX7219部分結束**********************************************//
//AD9850部分***************************************************//
sbit?ad9850_w_clk????=P1^4;?
sbit?ad9850_fq_up????=P1^5;??
sbit?ad9850_rest?????=P1^7;??
sbit?ad9850_bit_data?=P1^6;?
//ad9850復位(串口模式)
void?ad9850_reset(){
ad9850_w_clk=0;
ad9850_fq_up=0;
//rest信號
ad9850_rest=0;
ad9850_rest=1;
ad9850_rest=0;
//w_clk信號
ad9850_w_clk=0;
ad9850_w_clk=1;
ad9850_w_clk=0;
//fq_up信號
ad9850_fq_up=0;
ad9850_fq_up=1;
ad9850_fq_up=0;
}
//向ad9850中寫命令與數據(串口)
void?ad9850_write(unsigned?char?w0double?frequence){
unsigned?char?iw;
long?int?y;
double?x;
//計算頻率的HEX值
x=4294967295/125;//適合125M晶振
//如果時鐘頻率不為25MHZ,修改該處的頻率值,單位MHz??!!!
frequence=frequence/1000000;
frequence=frequence*x;
y=frequence;
//寫w4數據
w=(y>>=0);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w3數據
w=(y>>8);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w2數據
w=(y>>16);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w1數據
w=(y>>24);
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//寫w0數據
w=w0;???
for(i=0;i<8;i++)
{
ad9850_bit_data=(w>>i)&0x01;
ad9850_w_clk=1;
ad9850_w_clk=0;
}
//移入始能
ad9850_fq_up=1;
ad9850_fq_up=0;
}
//*************************************************************//
//串行寫1000Hz程序
//ad9850_reset();
//ad9850_write(0x001000);
//AD9850部分結束***********************************************//
sbit?key_left=P1^3;
sbit?key_right=P1^2;
sbit?key_up=P1^1;
sbit?key_down=P1^0;
void?show(ulong?freq){
uint?i;
delay(5);
for(i=0;i<8;i++){
Write_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????79272??2015-05-06?23:12??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\aa.DSN
?????文件?????114016??2014-05-07?23:18??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\Last?Loaded?proteus仿真電路圖.DBK
?????文件?????114016??2014-05-08?07:10??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\proteus仿真電路圖.DSN
?????文件????????792??2015-05-05?10:52??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\proteus仿真電路圖.PWI
?????文件?????231936??2015-05-04?15:41??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\單片機產生可調方波(c語言).doc
?????文件?????303262??2015-05-07?14:51??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\基于單片機的脈寬和頻率測量報告.doc
?????文件???????5055??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx
?????文件???????1961??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.c
?????文件???????2041??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.hex
?????文件?????????36??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.lnp
?????文件???????4864??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.LST
?????文件???????7459??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.M51
?????文件???????5567??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.OBJ
?????文件????????974??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.Opt
?????文件???????1137??2014-05-08?07:09??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.plg
?????文件???????2129??2014-05-07?21:50??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx.Uv2
????.......???????973??2014-05-07?23:17??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx_Opt.Bak
????.......?????????0??2014-05-07?18:37??基于單片機的頻率脈寬的測量\51單片機測量方波頻率資料\程序\cx_Uv2.Bak
?????文件???????4874??2013-03-01?22:31??基于單片機的頻率脈寬的測量\main.c
?????文件???????6149??2013-03-01?22:32??基于單片機的頻率脈寬的測量\信號發生器.hex
?????文件???????2389??2011-06-27?11:11??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\12864.c
?????文件???????5580??2015-05-04?10:04??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\12864.LST
?????文件???????7097??2015-05-04?10:04??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\12864.OBJ
?????文件???????3027??2011-06-22?18:02??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\keycode.c
?????文件???????7640??2015-05-04?10:04??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\keycode.LST
?????文件??????10429??2015-05-04?10:04??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\keycode.OBJ
?????文件???????3195??2011-06-27?11:11??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\main.c
?????文件???????7425??2015-05-04?10:04??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\main.LST
?????文件??????12014??2015-05-04?10:04??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\main.OBJ
?????文件????????372??2011-06-22?10:16??基于單片機的頻率脈寬的測量\占空比可調--低頻準確版\public.h
............此處省略39個文件信息
- 上一篇:上傳并顯示圖片
- 下一篇:ACS5.5基于證書的802.1X認證
評論
共有 條評論