基于AD9854的正交扫频信号源设计

AD9854片内集成了48位频率累加器、48位相位累加器、正余弦波形表、两个12位高性能正交D/A转换器以及调制和控制电路,其能够在单片,上完成频率、相位、幅度的调制以及l|Q正交调制等功能。在高稳定度时钟的驱动下,AD9854通过数字化编程将产生频率、相位、幅度高稳定的正弦和余弦信号,作为本振用于通信,雷达等方面。AD9854 的DDS核具有48位的频率分辨率(在300M系统时钟下,频率分辨率可达1uHZ)。输出17位相位截断保证了良好的无杂散动态范围指标。同时,AD9854内部还含有可编程控制的时钟乘法器,这可以使较低频率的振荡器通过乘法电路实现从4到20的整数倍频为系统时钟信号,其内部时...
关键词: AD9854 信号 控制

http://www.eeworld.com.cn/mndz/article_2018052027056.html 发布时间: 2018-05-20



51单片机 (2)流水灯实验

一、控制一/多灯亮灭汇编实现;注释  LOOP:  ;SETB P1.1 ;(1)熄灭灯  MOV P1,#0FFH;  LCALL DELAY     ;(2)延时一段时间  ;CLR P1.1        ;(3)点亮灯  MOV P1,#0FDH;  LCALL...
关键词: 51单片机 流水灯

http://www.eeworld.com.cn/mcu/article_2018051939305.html 发布时间: 2018-05-19



51单片机 (3)定时器和计数器

注:定时器与计数器原理与使用方法相似、此处计数器知识为基础普及、后面详讲2个定时器(寄存器)、定时器0、定时器1、(计数器0、计数器1)TMOD:定时器/计数器模式控制寄存器 详见百度百科TMOD每经过一个机器周期、寄存器+1TF:定时器溢出标志。溢出时自动置1。中断时硬件清零否则必须软件清零。TR:定时器运行控制位。置1开始计时、清零停止计时。C/T:该位为0时用作计时器、该位为1时用作计数器。溢出时时间-开始计时时间=预设定时时间一个机器周期共有12个振荡脉冲周期若设定时为0.02s,则:12*(65535-X)/11059200=0.02s  定时器作“加1”次数:X=4710...

http://www.eeworld.com.cn/mcu/article_2018051939304.html 发布时间: 2018-05-19



51单片机 (4)中断系统

相关概念中断源:引起中断的事件中断请求:中断源向CPU提出处理的请求断点:发生中断时被打断程序的暂停点中断响应:CPU暂停现行程序而转为响应中断请求的过程中断处理程序:处理中断源的程序中断处理:CPU执行有关的中断处理程序中断返回:返回断点的过程中断与子程序的区别调用有点相似、但两者是不同的概念。源不同。中断是由外部中断源产生的、具有不可预测和随机性、比如抛异常。子程序是由主程序安排调用的。响应不同。中断系统需要保护断点和现场、子程序只需保存断点。功能不同。中断程序主要处理CPU外部异步事件、子程序调用是为主程序服务。中断类型外部中断源:外部硬件资源产生。上下沿触发和高低电平触发。定时中断源:...
关键词: 51单片 中断系统

http://www.eeworld.com.cn/mcu/article_2018051939303.html 发布时间: 2018-05-19



51单片机 (5) C51实现单片机串口通信仿真

1、效果图2、虚拟串口通过VSPD虚拟串口工具虚拟出两个串口用于通信VSPD虚拟串口工具下载:http://download.csdn.net/detail/leytton/75655893、串口调试打开两份串口调试工具,第一个打开com1,第二个打开com2,这时在任一串口调试工具发送信息,另一个串口调试工具中能接收到信息串口调试工具下载:http://download.csdn.net/detail/leytton/75655614、Proteus电路设计图P1串口:属性原件值COMPIM,Physical port为com2,Physical Baud rate为9600 虚拟...

http://www.eeworld.com.cn/mcu/article_2018051939302.html 发布时间: 2018-05-19



51单片机几种精确延时

        实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行。 今天主要介绍软件延时,关于硬件延时,之后定时器部分再做详细说明。        首先介绍单片机的几个周期        指令周期:CPU执行一条指令所需要的时间称为指令周期,它是以机器周期为单位的,指令不同,所需的机器周期也不同。 ...

http://www.eeworld.com.cn/mcu/article_2018051839284.html 发布时间: 2018-05-18



51单片机 bit定义标志位无效原因

我的51程序中用到了位定义:bit flag;这样定义后,运行程序,下载到电路板上,发现flag根本不是按照自己设定的值,导致函数判断错误;后来查找到了原因将keil中options中 target中 Memory Mode中要选择下图那两种方式才行;设置好后运行程序到电路板,果然成功正确运行了;原因:之前设置成 Small:in DATA了,因为bit变量是位可寻址变量,而在51单片机RAM中有单独的区域是可位寻址的,那就是 PDATA区,至于为什么选择XDATA也可以,那是因为XDATA区已经包括PDATA区了;...

http://www.eeworld.com.cn/mcu/article_2018051439260.html 发布时间: 2018-05-14



sprintf在51单片机中转换字符出错问题解决

sprintf是C语言库中具有转换数据类型的功能函数,出现一种情况,在51单片机中,定义unsigned  char   temp;然后 想用串口直接把temp 以十进制数是、形式打印出来,是先这样转换的 sprintf((char*)tem,"%d",temp);即先把temp转换成十进制数字符tem,然后再通过串口输出tem,然而串口输出的竟然有乱码,而且和temp的值也不对应;查找原因:原来%d,代表的是将int型数据转换为十进制字符的作用,既然是int型,那他占用空间为至少2个字节,那么我们定义的temp仅是unsigned char 占空间一字...

http://www.eeworld.com.cn/mcu/article_2018051439259.html 发布时间: 2018-05-14



STM32之独立看门狗的那些事

为什么MCU会具有看门狗呢?带着这个疑问,来了解看门狗的那些事。就连51单片机都带有看门狗,说明这条狗对我们来说有着不一般的意义。看门狗的目的一句话说:防止程序乱跑。MCU在不同的环境下程序的运行会受到干扰,比如陷入死循环怎么办?这就是养狗的好处呀,就算你没养过狗,你也看过猪跑吧。先看固件库的几个函数void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);void IWDG_SetReload(uint16_t Reload);void IWDG_Rel...
关键词: STM32 独立看门狗

http://www.eeworld.com.cn/mcu/article_2018051439245.html 发布时间: 2018-05-14



STM32时钟体系结构

STM32的时钟体系可以直接以图概括(摘自STM32F10X参考手册) 下面就此图做分析1. STM32输入时钟源1.1 时钟源的作用无论是小型单片机还是像STM32这样高级单片机,它们工作的核心都是大规模的时序逻辑电路,而驱动时序逻辑电路的关键则是准确而又稳定的时钟源。它的作用就像小学在操场上做广播体操时候播放的背景音乐,用于协调和同步各单元运行,为时序电路提供基本的脉冲信号。1.2 STM32时钟源的设计在51单片机中,一般都外接一个11.0592MHz的晶振,注意,提供时钟的不是晶振,而是RC时钟电路,而晶振只是时钟电路的元件之一。同理,在STM32中,时钟源也是由RC时钟电路...

http://www.eeworld.com.cn/mcu/article_2018051339231.html 发布时间: 2018-05-13



51单片机用定时器0实现流水灯

51单片机用定时器0实现流水灯的代码如下,用P1口接led灯,代码如下都有注释就不具体解释了,英语不怎么好,有的地方将就一下喽,本次主要讲一下P1口怎么赋值。原先写的都是用查表来移位的,个人感觉不怎么好,麻烦。直接用位运算的比较好。 n初始值为0,然后n每次循环都加1,P1口赋值语句为: P1=~(0x01<< n) ; 此处注意和P1=~(0xfe<< n) ; 的区别。/*********调用头文件*****************/    #include<reg51.h>    #include<intr...

http://www.eeworld.com.cn/mcu/article_2018051339208.html 发布时间: 2018-05-13



用51单片机编写一个产生38K方波的程序

/* 遗憾的是不能产生标准38kHz频率的方波,有点误差*/ #include<reg51.h>#define uchar unsigned char#define uint unsigned int sbit Waveout=P1^0; //P1.0口输出方波uchar void main(){TMOD=0x01; //定时器0方式1 TH0=0xFF; ///由于晶振是11.0592MHz,每个机器周期约是1.09us,38kHz是26.3us产生一个方波,26.3/1.09需要计数24次,因而TH0=(65536-24)/256=255...
关键词: 51单片机 38K方波

http://www.eeworld.com.cn/mcu/article_2018051339207.html 发布时间: 2018-05-13



基于51单片机的pwm和串口通信

此例程设置了按键可以调整100-1000hz的不同频率(100的倍数)的方波,另外还加入了串口通信,可以通过串口发送来的数字来设置相对应的频率;#include <reg52.h>  #include"uart.h"    sbit PWMOUT = P1^0;  sbit led = P2^2;  sbit KEY1 = P1^2;  sbit KEY2 = P3^3;    unsigned char HighRH = 0;  //高电平重载值的高字...

http://www.eeworld.com.cn/mcu/article_2018051339206.html 发布时间: 2018-05-13



51单片机定时器中断程序

程序运行开始,A灯先亮5秒,然后灭了到B灯亮5秒,B再灭再到C灯亮5秒,C灭,程序结束,不再运行。这程序该怎么写?用定时器精确定时……晶振11.092MHZ。#include "REG52.H"    /* * */  sbit        LED_A   = P1^0;  sbit     &n...

http://www.eeworld.com.cn/mcu/article_2018051339201.html 发布时间: 2018-05-13



用单片机实现矩形波发生器

T1或T2为MCS-51单片机的两个定时器/计数器,第一种方法可用两个定时器/计数器产生矩形波,这里为了节约接口资源,采用第二种方法,即只采用一个定时器产生矩形波用一个定时器/计数器产生矩形波是引脚产生一个低电平,对T1或T2设置计数初始值并运行,使之经过t1后产生定时中断在中断服务程序中将引脚设置为高电平对定时器/计数器设置另一个计数初始值,经过t2后产生中断在中断服务程序中国将引脚设置为低电平对定时器/计数器设置低电平维持所需的计数初始值,如此循环往复就产生一个高电平时间为t2、周期为(t1+t2)的矩形波...

http://www.eeworld.com.cn/mcu/article_2018051339194.html 发布时间: 2018-05-13



51单片机的AD/DA转换

一、A/D(模数)、D/A(数模)转换(一)、引脚AOUT:模拟输出Vref:参考电压AGND:模拟地EXT:接地OSC:悬空SCL,SDA:IICAIN0、AIN1、AIN2:模拟输入口(二)、电路图从电路图可以看出,A0,A1,A2接地,所以当写入的时候地址应该是0X90,读取的时候应该是0X91(三)、AGND和DGND模拟地和数字地隔离开,消除干扰(四)、控制字节(五)、AD读数据函数#include <reg52.h>#include "delay.h"#include "iic.h"#define&n...
关键词: 51单片机 AD DA转换

http://www.eeworld.com.cn/mcu/article_2018051239193.html 发布时间: 2018-05-12



51单片机抢答器实现

利用共阳极数码管和独立键盘连接单片的P1,P2口实现抢答器程序如下:#include<reg52.h>void delay(unsigned char n){unsigned int i,j;for( i = 255; i > 0; i--){for( j = n; j > 0; j--){}}}void main(void){unsigned char i,flag;unsigned char arr[16] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x...
关键词: 51单片机 抢答器

http://www.eeworld.com.cn/mcu/article_2018051239186.html 发布时间: 2018-05-12



AVR单片机(ATMEGA16)矩阵键盘扫描程序

程序思路与缺陷参考:51单片机(AT89C52)矩阵键盘检测程序#include<iom16v.h>  typedef unsigned char uchar;  typedef unsigned int uint;  #define dula_h  PORTD|=0x01  #define dula_l  PORTD&=0xfe  #define wela_h  PORTD|=0x02  #define wela_l  PORTD&=0xfd  #defi...

http://www.eeworld.com.cn/mcu/article_2018051239184.html 发布时间: 2018-05-12



编写单片机的查表程序

对于复杂的计算,单片机的速度显得偏慢。最好的办法是由人工事先算出全部的结果,依次存放在ROM中,程序执行时,直接从ROM中查出结果即可。51单片机有两条查表指令:    MOVC  A,  @A + PC    MOVC  A,  @A + DPTR前一条可以不用 DPTR,但是其中有个“偏移量”颇为难算,因为涉及到指令字节数的基本概念、查表等,令很多人头痛。做而论道针对这个问题,研究出一个自动计算偏移量的方法,可以避免烦琐的人工计算过程。下面是做而论道回答的一个网上的题目:在 30H ~ 39...
关键词: 单片机 查表程序

http://www.eeworld.com.cn/mcu/article_2018051139182.html 发布时间: 2018-05-11



利用单片机的定时器中断,周期性输出矩形波

;题目:80C51单片机的fosc = 6MHz,要求用T1定时器工作方式1,进行定时40ms。并由P1.7周期性的输出高电平40ms、低电平360ms的矩形波。;分析:可采用中断方式,定时40ms发生一次中断,利用R7记录中断次数,仅当R7=0的时候,输出高电平。;============================================    ORG 0000H    JMP START    ORG 001BH    JMP INT_T1START:&nb...

http://www.eeworld.com.cn/mcu/article_2018051139181.html 发布时间: 2018-05-11




<上一页 12345678910111213141516 下一页> 相关结果约8,473个