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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2261|回復: 0
收起左側

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

[復制鏈接]
ID:463096 發(fā)表于 2019-1-7 14:25 | 顯示全部樓層 |閱讀模式
200黑幣
如題,只求一個仿真圖就可以!
程序如下:
#include <reg52.h>               
#include "i2c.h"

#define AddWr 0x90   //寫數據地址
#define AddRd 0x91   //讀數據地址


#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)//第一行鍵盤,切換模式,分別對應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)//第二行鍵盤,調頻率?
                                {
                                        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)//第三行鍵盤,調峰峰值        
                                {
                                        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, 下載次數: 14, 下載積分: 黑幣 -5

回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 性高湖久久久久久久久3小时 | 亚洲精品成人av | av网站免费在线观看 | 欧美区在线 | 成年免费大片黄在线观看一级 | 久久精品一区 | 色婷婷综合在线观看 | 国产精品激情在线 | 一区二区免费在线观看 | 91精品国产乱码久久久久久久久 | 中文字幕一区二区三区精彩视频 | 91免费电影 | 久热久草 | 久久99精品视频 | 亚洲精品乱码久久久久久蜜桃 | www久| 黄色免费av | 色资源在线 | 91偷拍精品一区二区三区 | 在线观看国产精品视频 | 日本三级网站在线观看 | 国产日韩欧美 | 99re6在线视频精品免费 | 成人在线视频一区二区三区 | 亚洲理论在线观看电影 | 欧美精品在线看 | 亚洲一区欧美一区 | 国产精品区二区三区日本 | 日韩精品一区二区三区中文字幕 | 亚洲综合无码一区二区 | 亚洲+变态+欧美+另类+精品 | 久久久久久久久91 | 99精品国自产在线 | 国产精品福利在线 | 超碰97人人人人人蜜桃 | 亚洲国产成人久久综合一区,久久久国产99 | 国产色99| 国产精品久久久久国产a级 欧美日本韩国一区二区 | 免费高潮视频95在线观看网站 | 视频精品一区二区三区 | 欧美不卡 |