久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2356|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)基于PCF8591智能信號發(fā)生器,只求一個仿真圖!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:463096 發(fā)表于 2019-1-7 14:25 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
200黑幣
如題,只求一個仿真圖就可以!
程序如下:
#include <reg52.h>               
#include "i2c.h"

#define AddWr 0x90   //寫數(shù)據(jù)地址
#define AddRd 0x91   //讀數(shù)據(jù)地址


#include <reg52.h>

#define uint unsigned int
#define uchar unsigned char
sbit duan=P2^6;
sbit wei=P2^7;
sbit P1_3=P1^3;
sbit P1_7=P1^7;
sbit P3_4=P3^4;
sbit beep=P2^3;

int a,b,c,d,e,f,frq,range,t,temp;
double range2;

uint zhouqi;

uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

void delay(uint x)
{
        int i,j;                                                //延時xms程序
        for(i=x;i>0;i--)
                for(j=112;j>0;j--);
}


void delay_us(uint time)         //延時xus程序
{
      while(time--);
}

extern bit ack;
bit WriteDAC(unsigned char dat);

uchar code sintab[64]={
135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,
146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,78,90,102,114,128
};

uchar code fangbotab[64]={
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};

uchar code juchitab[64]={
0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,130,134,138,142,
146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,215,219,223,227,231,235,239,243,247,251,255
};


uchar code sanjiaotab[64]={
0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,
248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0
};



void display(int a,int b,int c,int d,int e,int f)
{
        duan=1;
        P0=table[a];
        duan=0;
        wei=1;
        P0=0xfe;
        wei=0;
        delay(1);        
        duan=1;
        P0=table[b];
        duan=0;
        wei=1;
        P0=0xfd;
        wei=0;
        delay(1);
        duan=1;
        P0=table[c];
        duan=0;
        wei=1;
        P0=0xfb;
        wei=0;
        delay(1);
        duan=1;
        P0=table[d];
        duan=0;
        wei=1;
        P0=0xf7;
        wei=0;
        delay(1);
        duan=1;
        P0=table[e]+0x80;
        duan=0;
        wei=1;
        P0=0xbf;
        wei=0;
        delay(1);
        duan=1;
        P0=table[f];
        duan=0;
        wei=1;
        P0=0x7f;
        wei=0;
        delay(1);
}

void fangbo()
{        
    int i;
        while(1)
        {
                        P1_3=1;
                        delay_us(zhouqi);
                        P1_3=0;
                        delay_us(zhouqi);
                for(i=0;i<64;i++)
                {
                        WriteDAC((fangbotab[i]/5)*range2);
                }
                //        beep=1;

        }
}

void sanjiaobo()
{   
        int i;
        while(1)
        {
                for(i=0;i<64;i++)
                {
                        WriteDAC((sanjiaotab[i]/5)*range2);
                }
        }
}

void juchibo()
{   
        int i;
        while(1)
        {
                for(i=0;i<64;i++)
                {
                        WriteDAC((juchitab[i]/5)*range2);
                }
        }
}


void zhengxianbo()
{   
        int i;
        while(1)
        {
                for(i=0;i<64;i++)
                {
                        WriteDAC((sintab[i]/5)*range2);
                }
        }
}
void rjia1()
{
         range=range+10;
         if(range>=50)
         {
                 range=50;
         }
}
void rjian1()
{
         range=range-10;
         if(range<=0)
         {
                 range=0;
         }
}
void rjia2()
{
         range++;
         if(range>=50)
         {
                 range=50;
         }
}
void rjian2()
{
         range--;
         if(range<=0)
         {
                 range=0;
         }
}
int jianpan()
{
        P3=0x0f;
        if(P3!=0x0f)
        {
                P3=0xfe;
                if(P3!=0xfe)
                {
                        switch(P3)//第一行鍵盤,切換模式,分別對應(yīng)1,2,3,4鍵        
                        {
                                case 0xee:fangbo();break;
                                case 0xde:sanjiaobo();break;
                                case 0xbe:juchibo();break;
                                case 0x7e:zhengxianbo();break;        
                        }
                }
                P3=0xfd;
                if(P3!=0xfd)
                {
                        P3=0xfd;
                        delay(10);
                        if(P3!=0xfd)
                        {
                                switch(P3)//第二行鍵盤,調(diào)頻率?
                                {
                                        case 0xed:frq=10;break;
                                        case 0xdd:frq=100;break;
                                        case 0xbd:frq=500;break;
                                        case 0x7d:frq=1000;break;        
                                }
                        }
                }
                P3=0xfb;
                if(P3!=0xfb)
                {
                        P3=0xfb;
                        delay(10);
                        if(P3!=0xfb)
                        {
                                switch(P3)//第三行鍵盤,調(diào)峰峰值        
                                {
                                        case 0xeb:rjia1();break;
                                        case 0xdb:rjian1();break;
                                        case 0xbb:rjia2();break;
                                        case 0x7b:rjian2();break;        
                                }
                        }
                        while(P3!=0xfb);
                }
        }
        return frq;
        return range;
}

void init()
{
        frq=500;
        range=20;
}
void fuzhi()
{
                a=frq/1000;
                b=frq%1000/100;
                c=frq%100/10;
                d=frq%10;
                e=range/10;
……………………

…………限于本文篇幅 余下代碼請從51黑下載附件…………


基于PCF8591智能信號發(fā)生器.rar

419.64 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产伦精品一区二区三区精品视频 | 中文字幕av一区二区三区 | 国产乱码久久久 | 黄色片免费在线观看 | 国产成人综合一区二区三区 | 日韩精品免费在线观看 | 特级毛片 | www.一级片| 日韩av免费看 | 日韩欧美精品 | 能看的av| 亚洲视频区 | 水蜜桃久久夜色精品一区 | 91精品国产91久久久久久最新 | 夜夜操天天干 | 成人免费网站 | 国产情品 | 国产片侵犯亲女视频播放 | 精品久久九九 | 精品国产欧美一区二区 | www.色综合 | 国产精品污www一区二区三区 | 天堂精品视频 | caoporn免费在线视频 | 国产综合精品一区二区三区 | 国产视频二区 | 中国美女撒尿txxxxx视频 | 神马久久久久久久久久 | 日韩美女在线看免费观看 | 在线播放中文字幕 | 久久久亚洲 | 色资源在线| 久久精品中文字幕 | 久久久久久久久淑女av国产精品 | 一级毛片免费 | 91精品国产高清一区二区三区 | 羞羞视频免费观看 | 日本一区二区视频 | 久久免费小视频 | 北条麻妃99精品青青久久主播 | 日本爱爱视频 |