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

標題: 單片機基于PCF8591智能信號發生器,只求一個仿真圖! [打印本頁]

作者: xp91910613    時間: 2019-1-7 14:25
標題: 單片機基于PCF8591智能信號發生器,只求一個仿真圖!
如題,只求一個仿真圖就可以!
程序如下:
#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智能信號發生器.rar

419.64 KB, 下載次數: 14, 下載積分: 黑幣 -5






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 毛片网站免费观看 | 国产91九色| 亚洲国产网站 | 亚州精品天堂中文字幕 | 成人欧美一区二区三区 | 精品国产一区二区三区久久 | 国产精品一区在线观看 | 草久久 | 亚洲人成人一区二区在线观看 | 久久久久久成人 | 国产精品美女久久久久久久网站 | 毛片.com | 亚洲国产一区在线 | 一级欧美一级日韩片免费观看 | 亚洲精品字幕 | 天天干夜夜操 | 在线成人免费观看 | 男女黄网站 | 欧美日日 | 精品久久久久久久久久久久久久 | 亚洲精品片 | 男女那个视频 | 中文字幕不卡在线观看 | 精品欧美一区二区三区免费观看 | 国产精品久久久久久久久久尿 | 国产成人在线一区二区 | 中文字幕亚洲视频 | 自拍 亚洲 欧美 老师 丝袜 | 伊人伊人伊人 | 欧美精品在线一区 | 久久亚洲一区二区三区四区 | 欧美精品一区在线 | 精品91久久 | 一级毛片免费看 | 国产精品视频网 | 亚洲视频在线观看 | 夜夜摸天天操 | 武道仙尊动漫在线观看 | 91精品国产色综合久久 | 91大神在线看 | 日韩中文视频 |