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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2687|回復: 3
打印 上一主題 下一主題
收起左側

如何添加子函數

[復制鏈接]
跳轉到指定樓層
樓主
ID:190966 發表于 2017-4-19 13:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2黑幣
怎么把下面兩個函數合在一起呢?
第一個函數:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit csda=P2^2;
sbit wr=P2^1;
sbit s1=P3^2;
sbit s2=P3^3;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
uchar timeCnt=0;
uchar k=0,p=0,delay=0;
uchar bxxz=0;pinglv=0;
uchar a=1,b=0,c=0,d=0;

//正弦波數據
uchar code zhengxian[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 juxing[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 juchi[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 sanjiao[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 delay1()

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

使用道具 舉報

沙發
ID:190966 發表于 2017-4-19 13:55 | 只看該作者
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit csda=P2^2;
sbit wr=P2^1;
sbit s1=P3^2;
sbit s2=P3^3;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
uchar timeCnt=0;
uchar k=0,p=0,delay=0;
uchar bxxz=0;pinglv=0;
uchar a=1,b=0,c=0,d=0;

//正弦波數據
uchar code zhengxian[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 juxing[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 juchi[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 sanjiao[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 delay1()                  //延時
{
        int a,b;
        for(a=1;a>0;a--)
        for(b=122;b>0;b--);
}
void int0() interrupt 0          //中斷處理,用于波型切換
{       
        EX0=0;
        delay1();
        if(s1==0)
        {               
                bxxz++;
                if(bxxz==4)
                bxxz=0;
                switch(bxxz)
                {
                        case 0 :
                                {a=1,b=0,c=0,d=0;}                //        正弦波
                                break;
                        case 1 :
                                {a=0,b=1,c=0,d=0;}                //方波
                                break;
                        case 2 :                                       
                                {a=0,b=0,c=1,d=0;}                  // 鋸齒波
                                break;       
                        case 3 :
                                {a=0,b=0,c=0,d=1;}                  //        三角波
                                break;
                }
                delay1();
                while(!s1);       
        }
        while(!s1);
        EX0=1;
}

void int1() interrupt 2
{
        EX1=0;       
        delay1();
        if(s2==0){               
        p++;
        if(p==5)
        p=0;
        switch(p)
        {
                case 1 :
                        pinglv=63;                //50Hz
                        break;
                case 2 :
                        pinglv=21;                //100Hz
                        break;       
                case 3 :
                        pinglv=3;          //500Hz
                        break;       
                        case 4 :
                        pinglv=0;          //1000Hz
                        break;                       
                default :
                        pinglv=150;                   //2000Hz
                        break;
                }
                delay1();
                while(!s2);       
        }
        while(!s2);       
        EX1=1;
}
void main()
{
        csda=0;
        wr=0;
        EA=1;
        IT0=1;
        EX0=1;
        IT1=1;
        EX1=1;
        pinglv=15;
        while(1)
        {
            
                while(a)               //產生正弦波
                {
                        delay=pinglv; //獲取周期數據
                        P0=zhengxian[k];          //數據數P0口進行波形轉換
                        k++;
                        if(k==64)          //一個周期取64點波數據
                        k=0;
                        while(delay)  //延時處理         
                    delay--;
                }
                while(b)                   //產生方波
                {
                        delay=pinglv;
                        P0=juxing[k];
                        k++;
                        if(k==64)
                        k=0;
                        while(delay)           
                    delay--;
                }
                while(c)                   //產生鋸齒波
                {
                        delay=pinglv;
                        P0=juchi[k];
                        k++;
                        if(k==64)
                        k=0;
                        while(delay)            
                            delay--;
                }
                while(d)                         //產生三角波     
                {
                        delay=pinglv;
                        P0=sanjiao[k];
                        k++;
                        if(k==64)
                        k=0;
                        while(delay)            
                    delay--;
                }
        }               

}

回復

使用道具 舉報

板凳
ID:190966 發表于 2017-4-19 13:56 | 只看該作者
#include<reg51.h>
#define uchar unsigned char
sbit s2=P3^3;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
uchar timeCnt=0;
void delay( unsigned int t)
{
uchar i,j;
for(i=t;i>0;i--)
for(j=250;j>0;j--);
}
void shanshuo1()
{
led1=0;
delay(5000);
led2=2;
delay(5000);
led3=1;
delay(5000);
}
void shanshuo2()
{
led2=0;
delay(5000);
led1=1;
delay(5000);
led3=1;
delay(5000);
}
void shanshuo3()
{
led3=0;
delay(5000);
led1=1;
delay(5000);
led2=1;
delay(5000);
}
void shanshuo4()
{
led1=0;
delay(5000);
led2=0;
delay(5000);
led3=1;
delay(5000);
}
void shanshuo5()
{
led2=0;
delay(5000);
led3=0;
delay(5000);
led1=1;
delay(5000);
}
void main()
{
while(1)
{
if(s2==0)
{
timeCnt++;
if(timeCnt==6) timeCnt=0;
}
if(timeCnt==1) shanshuo1();
if(timeCnt==2) shanshuo2();
if(timeCnt==3) shanshuo3();
if(timeCnt==4) shanshuo4();
if(timeCnt==5) shanshuo5();

}
}
回復

使用道具 舉報

地板
ID:190966 發表于 2017-4-19 22:43 | 只看該作者
求大神搭救啊!!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久高清免费视频 | 大陆一级毛片免费视频观看 | 国产做爰 | 精品毛片在线观看 | 色橹橹欧美在线观看视频高清 | 国产女人与拘做受视频 | 欧美激情va永久在线播放 | 欧美一区二区三区在线免费观看 | 日韩精品在线观看免费 | 国产日产久久高清欧美一区 | 日本免费在线 | 免费h在线| 欧美在线日韩 | 欧美一区二区三区大片 | 欧美一区2区三区4区公司二百 | 国产精品久久久久久妇女 | 中文字幕 亚洲一区 | 亚洲欧洲在线观看视频 | 人人干97| 欧美综合一区 | 精品久久国产 | 一级午夜aaa免费看三区 | h在线看| 一区二区三区在线观看视频 | 精品国产久| 婷婷综合| 国产美女视频 | 国产黄色网址在线观看 | 一级黄色片免费在线观看 | 亚洲网站在线播放 | 一级a性色生活片久久毛片 一级特黄a大片 | 国产精品久久久久久福利一牛影视 | 四虎影视一区二区 | 欧美日韩一区二区三区四区五区 | 国产精品成av人在线视午夜片 | 日日碰狠狠躁久久躁96avv | 成人一区二区在线 | 日本精品一区二区三区在线观看视频 | 亚洲高清在线观看 | 99精品国自产在线观看 | 精品乱码一区二区三四区 |