经典 函数信号发生器

发布者:平和宁静最新更新时间:2017-12-01 来源: eefocus关键字:函数信号发生器  AT89S52 手机看文章 扫描二维码
随时随地手机看文章

可生成三角波,方波,正弦波。同时还可以调节频率和幅度。

超经典,学电子技术的必须要会的一个电路。


/*****************************************************************************
*    频率计程序

*    单片机采用AT89S52,晶振频率为:12.00MHz。
/******************************************************************************/
#include

unsigned char code SEG_Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
                          0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//数字代码段
unsigned char code DS_Tab[]={0x01,0x02,0x04,0x08};//位选代码

unsigned char display_buf[]={0,0,0,0};//要显示的数值

unsigned char digit;

sfr SEG_OUT = 0x80;
sfr DS_OUT  = 0xa0;

unsigned char temp[4];
unsigned char T0count;
unsigned char timecount;
unsigned long x;
bit flag; //定义变量

void main(void)
{
  unsigned char i;
  TMOD=0x15;
  TH0=0;
  TL0=0;
  TH1=(65536-4000)/256;
  TL1=(65536-4000)%256;
  TR1=1;
  TR0=1;
  ET0=1;
  ET1=1;
  EA=1;//开中断
  
while(1)
   {
     if(flag==1)
       {
         flag=0;
         x=T0count*65536+TH0*256+TL0;//频率转换为数值
         for(i=0;i<4;i++)
           {
             temp=0;
           }
         i=0;
         while(x/10)//数值赋给那一位
           {
             temp=x%10;
             x=x/10;
             i++;
           }
         temp=x;
         for(i=0;i<4;i++)
           {
             display_buf=temp;
           }
         timecount=0;
         T0count=0;
         TH0=0;
         TL0=0;
         TR0=1;//把T0计数器清0
       }
   }
}

void time0(void) interrupt 1 using 1

  T0count++; 
}

void t1(void) interrupt 3 using 0
{
  TH1=(65536-4000)/256;//产生一秒的定时
  TL1=(65536-4000)%256;
  timecount++;
  if(timecount==250)
    {
      TR0=0;
      timecount=0;
      flag=1;
    }
  SEG_OUT = SEG_Tab[display_buf[digit]];//P0口的数据显示
  DS_OUT = DS_Tab[digit];//P2口的位选
  if(++digit > 3)
    digit = 0;
}

关键字:函数信号发生器  AT89S52 引用地址:经典 函数信号发生器

上一篇:基于压力传感器的测重系统
下一篇:带温度测量LCD显示的红外遥控数字钟

推荐阅读最新更新时间:2024-03-16 15:47

AT89S52单片机与CC1100的接口硬件电路
单片机对发射模块和接收模块的控制,首先都要对单片机的接口进行初始化(SPI总线接口技术是一种高速、高效率的串行接口技术,主要用于扩展外设和进行数据交换。),然后要对射频模块初始化,在这部分的初始化中要上电复位芯片和对它的片内寄存器进行配置。发射端发射一组数据中首先要通过口对,缓冲区设置单次发送的数据个数,然后写入要发送的数据包,数据自动加前导码和校验,接着进入发送模式发送数据包,等待本次发送结束,最后冲洗缓冲区,本次发送完毕。接收端接收一组数据中首先进入接收模式,等待接收信息完成,然后接收到的数据包被分解,读出所有接收到的数据并存储,最后清洗缓冲区,本次接收完毕。CC1100具有包处理机制、发送、接收FIF0、WOR模式(Wake
[单片机]
<font color='red'>AT89S52</font>单片机与CC1100的接口硬件电路
AT89S52+12MHZ+TEA5767的数码管显示调频收音机
/************************************************************************************************************** AT89S52+12MHZ+TEA5767的数码管显示调频收音机 本程序使用数码管显示频率 晶振是用12M 已通过测试,收音机的频率调节是用计算的方法 将显示的频率算好后写到TEA5767 芯片里面实现调节的 两个按键实现自加或自减频率 加了连续加减功能! 使用的是在淘宝上买的4.5元/片的简化版的TEA5767模块. 2012-05-08 /*********************
[单片机]
DDS函数信号发生器的优点
    在电子行业的基础设施和制造等领域,函数发生器都是有效的通用仪器。它可以生成不同频率和幅度的大量信号,用来评估新电路的运行情况,代替时钟信号,对新产品进行制造测试,及用于许多其它用途。     自第一部正弦波发生器问世以来,函数发生器的设计已经发生了多次演进,在当前数字领域中,大多数新型函数发生器(如Agilent 33220A)正采用一种新技术,称为直接数字合成( DDS )。DDS在大部分操作中使用数字电路,从而提供了数字操作拥有的许多优势。由于信号只在合成的最后阶段转换到模拟域中,所以在多个方面降低了函数发生器的复杂度,提高了函数发生器的稳定性。     从本质上看,DDS是一个以恒定高频率运行的多位计数器。在溢出时
[测试测量]
AT89S52单片机超声波测距系统电路设计
  超声波是一种频率在20KHz 以上的机械波,在空气中的传播速度约为340 m/s(20°C时)。超声波可由超声波传感器产生,常用的超声波传感器两大类:一类是采用电气方式产生超声波,一类是用机械方式产生超声波,目前较为常用的是压电式超声波传感器。由于超声波具有易于定向发射,方向性好,强度好控制,对色彩、光照度不敏感,反射率高等特点,因此被广泛应用于无损探伤,距离测量、距离开关、汽车倒车防撞、智能机器人等领域。   本设计的整体框图如图所示,主要由超声波发射,超声波接收与信号转换,按键显示电路与温度传感器电路组成。超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差T,然后求出距离S=CT/2
[电源管理]
<font color='red'>AT89S52</font>单片机超声波测距系统电路设计
at89s52引脚图_at89s52引脚说明
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可
[单片机]
<font color='red'>at89s52</font>引脚图_<font color='red'>at89s52</font>引脚说明
基于AT89S52的防撞小车系统设计
1 引言 超声波传感器因其测量精度高、 响应快和价格低廉而得到了广泛应用,传统应用方式是1 个发射头对应1 个接收头 ,也有多个发射头对应1 个接收头。但我们在实际应用中发现,如果障碍物的面很大(如墙壁),超声波传感器可以用来准确测距,但若将其应用在小车防撞系统中,由于障碍物呈柱状,而超声波发射头有一定的散射角(左右),因此即使障碍物不在小车正前方,超声波仍能检测到斜前方回波,这就给智能控制车辆行进带来困难和误导,为了解决这一问题,我们提出了一种使用双接收头的方案,并从实用角度给出了一套具体控制策略。 2系统的结构流程设计 我们的整个系统需要完成测距,测速,定位,控制小车运动等功能,系统包括如下六部分: 超声波发射电路, 超
[单片机]
基于<font color='red'>AT89S52</font>的防撞小车系统设计
传感器与AT89S52单片机的接口电路设计:测量模块电路
该测试仪以AT89S52单片机为核心,外接温湿度传感器SHTll、照度传感器TSL2561、四位共阴数码管、RS485总线通信接口以及显示切换按键。单片机上电工作后,对当前温度、湿度、光强度进行实时测量,通过按键切换将测得的3种参数通过LED数码管进行轮流显示;此外,还可以通过RS485总线与PC机进行通信,将参数值传送到上位机,以达到远程监测的目的。该测试仪的结构框图如图1所示。 测量模块电路 温度和湿度测量采用的是瑞士Sensirion公司生产的SHTll传感器。该传感器采用独特的CMOsens TM技术,将温湿度传感器、信号放大处理、A/D转换、I2C总线全部集成在一块芯片上,可直接与单片机接口。该芯片采用数字式
[单片机]
传感器与<font color='red'>AT89S52</font>单片机的接口电路设计:测量模块电路
基于AT89S52的三相桥式可控触发电路的设计
1 引言 晶闸管作为一种半控性功率半导体器件,其基本功能是对电压进行整流、调压和斩波等进行控制,以满足实际需求。目前,晶闸管整流器装置已在工农业生产中得到了广泛的应用,特别是在直流调速系统中。触发电路是晶闸管电力变流技术的一种核心技术,触发电路应具有可靠性高,对称性好等要求。以分立元件及专用集成电路为主的触发电路,其性能不尽如人意,其具有电路复杂、易受电网电压影响、触发脉冲对称度不好等缺点。由单片机组成的控制,其触发电路具有性能良好、触发电路结构简单、控制灵活、温漂影响小、控制精度高、移相范围可任意调节等特点;因其移相触发角通过软件计算完成,由于软件的可编程性,使微机数字触发器的调速范围更加灵活,能满足更多方面的需要。另外,本设
[单片机]
基于<font color='red'>AT89S52</font>的三相桥式可控触发电路的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved