信号发生器 (正弦波,方波,三角波)51单片机 C语言代码

/**************************************/
/*          信号发生器 (正弦波,方波,三角波)                */
/*************************************/
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
电容器组#define uint unsigned int
sbit cs=P2^0;                        //tlc5615片选端口
sbit clk=P2^1;                        //tlc5615时钟线
sbit din=P2^2;                        //tlc5615传输端口
sbit key1=P1^0;   
sbit key2=P1^1;                        //按键的单片机接口
uchar keydat;
uchar flag;                            //波形发生终止信号的标志位  一旦被置零立马停止发信号
uchar flagsqu;                        //方波高低电平控制为(运用定时器1中断控制)           
uchar m,num;
uchar dat=0xff;
uchar code tosin[141]={                //正弦波的编码
数字电视手机    0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
    0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,
    0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,
    0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,
    0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,
    0x66,0x69,0x6c,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,
    0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7e,
    0x7f,0x80,0x7f,0x7e,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,
    0x78,0x77,0x76,0x75,0x74,0x73,0x72,0x6f,0x6c,0x69,
    0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,
    0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,
    0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,
    0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,
    0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,
    0x00};
void delay(uchar z)                        //延时函数
{水松纸激光打孔机
    uchar x,y;
    for(x=0;x<110;x++)
校园一卡通设备        for(y=z;y>0;y--);
}
void prepare()                            //tlc5615的初始化
{
    cs=1;
    din=1;
    clk=0;
    cs=0;                                //cs的上升沿和下降沿必须在clk为低时进?
}
/*  用中断来产生方波
冯代存void Squtranslator()
{   
    TR1=1;                                //启动定时器1 控制高低电平的持续时间  占空比
    do{
        do{
            _wave=0;
          }while((!flagsqu) && flag==1);//如果一旦终止信号的
                                        //产生可以立马退出循环
        flagsqu=0;
        do{
            _wave=1;
          }while((!flagsqu) && flag==1);
        flagsqu=0;
      }while(flag);   
    flag=1;
    TR1=0;       
}
*/
生铁冶炼
void Squtranslator()                    //方波函数
{
    uchar j;
    uchar dat1=0x7f;
    while(flag)
    {
        do{
            prepare();

本文发布于:2024-09-22 01:45:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/190677.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:控制   立马   信号   方波   产生   终止
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议