资源简介
基于单片机的频率脉宽的测量(频率脉宽可调)附代码 原理图 及所需元器件
代码片段和文件信息
#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认证
相关资源
- 基于STM32F103输出两相正弦波方波三角
- 555定时器的应用,用于产生方波 三角
- STM32测输入信号频率
- 基于FPGA的任意波形发生器的研究与设
- 方波——三角波——正弦波函数信号
- 电机控制PWM
- 高级定时器TIM1 四个通道输出不同频率
- F103单定时器4路任意频率PWM输出实验
- 电赛一等奖!简易数字频率计设计
- 通过中心频率来确定VMD分解个数,程
- 永磁电机空间矢量脉宽调制技术及其
- 基于FPGA的等精度数字频率计
- 基于FPGA的频率计的设计
- 方波等各种信号的傅里叶分解
- PROTEL函数发生器的设计正弦,方波,
- 0023、基于51单片机的数字频率计设计
- DSP2812输出改变频率的PWM完整工程代码
- 直流无刷电机开发从方波到FOC.pdf
- 通过串口控制呼吸灯的频率
- 频率捷变雷达-茅于海-国防工业出版社
- stm32f1 测量频率 脉冲参量测试仪 只能
- 基于单片机8253芯片的可调频方波发生
- FPGA程序:VHDL超声波测距+数码管+不同
- 基于Verilog HDL数字频率计的设计与实现
- 用STM32频率计
- 脉宽调制DC/DC全桥变换器的软开关技
- 基于quartus的数字频率计DDS设计
- 蓝桥杯CT117E嵌入式竞赛板省赛第六届
- PWM_FPGA.频率占空比按键可调
- stm32 测量频率1
评论
共有 条评论