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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機音樂噴泉源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:495574 發表于 2020-7-23 16:18 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit out=P3^7;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
sbit SCL=P1^2;                //SCL定義為P1口的第3位腳,連接ADC0832SCL腳
sbit DO=P1^3;                //DO定義為P1口的第4位腳,連接ADC0832DO腳
sbit CS=P1^0;                //CS定義為P1口的第4位腳,連接ADC0832CS腳
uchar scale;
uchar m;
uchar h1,date;
unsigned char adval;
void delay(uint z)
{
   uint y;
   for(;z>0;z--)
   for(y=5;y>0;y--);
}

/***********讀數模轉換數據********************************************************/        
//請先了解ADC0832模數轉換的串行協議,再來讀本函數,主要是對應時序圖來理解,本函數是模擬0832的串行協議進行的
                                                //  1  1  0 通道
                                                //  1  1  1 通道
unsigned char ad0832read(bit SGL,bit ODD)
{
        unsigned char i=0,value=0,value1=0;               
                SCL=0;
                DO=1;
                CS=0;                //開始
                SCL=1;                //第一個上升沿        
                SCL=0;
                DO=SGL;
                SCL=1;          //第二個上升沿
                SCL=0;
                DO=ODD;
                SCL=1;           //第三個上升沿
                SCL=0;           //第三個下降沿
                DO=1;
                for(i=0;i<8;i++)
                {
                        SCL=1;
                        SCL=0; //開始從第四個下降沿接收數據
                        value<<=1;
                        if(DO)
                                value=value|0x01;                                                
                }
                for(i=0;i<8;i++)
                {                        //接收校驗數據
                        value1=value1>>1;
                        if(DO)
                                value1=value1|0x80;
                        SCL=1;
                        SCL=0;
                }
                CS=1;
                SCL=1;
                DO=1;        
                if(value==value1)                                //與校驗數據比較,正確就返回數據,否則返回0        
                        return value;
                return 0;
}

void penquan()          //PWM調壓
{
        date=ad0832read(1,0);
        if(date>130&&date<=200)
        {
                scale=(date-100)/10+2;
                if(scale>10)
                scale=10;
        }
        
        else if(date>200)
        scale=10;
        else if(date<=130)
        scale=0;
        if(date>=0&&date<130) P0=0xfe;
        else if(date>=130&&date<140) P0=0xfc;         
        else if(date>=140&&date<150) P0=0xf8;
        else if(date>=150&&date<160) P0=0xe0;
        else if(date>=160&&date<170) P0=0xe0;
        else if(date>=170&&date<180) P0=0xc0;
        else if(date>=180&&date<200) P0=0x80;
        else if(date>=200) P0=0x00;
//        if(date>120) led1=0; else led1=1;
//        if(date>130) led2=0; else led2=1;
//        if(date>140) led3=0; else led3=1;
//        if(date>150) led4=0; else led4=1;
//        if(date>160) led5=0; else led5=1;
//        if(date>170) led6=0; else led6=1;
//        if(date>180) led7=0; else led7=1;
//        if(date>200) led8=0; else led8=1;
        delay(300);
}

void init()
{
        TMOD=0x01;
        TH0=0xfc;
        TL0=0x18;
        ET0=1;
        TR0=1;
        EA=1;
}
void main()
{
   init();
   while(1)
   {        
                penquan();                   //給定個延時次數         
   }
}

void T0_time() interrupt 1
{
        TH0=0xfc;
        TL0=0x18;
        m++;
        if(m<scale)
        {
                out=0;
        }
        else
        {
                out=1;
        }
        if(m>10)
        {
                m=0;
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:328014 發表于 2020-7-23 22:49 | 只看該作者
能分享下原理圖嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲人人| 成人在线观看免费爱爱 | 精品成人av| 高清国产午夜精品久久久久久 | 91大神xh98xh系列全部 | 欧美精品一 | 精品欧美一区二区三区久久久 | 久久久久国产一区二区三区四区 | 瑞克和莫蒂第五季在线观看 | 97精品国产97久久久久久免费 | 久久99精品久久久久久青青日本 | 欧美成人一级 | 亚洲色图综合网 | 亚洲激情第一页 | 亚洲精品欧美 | 成人性视频免费网站 | 99精品在线 | 91超碰在线 | 精品国产乱码久久久久久影片 | 日本在线视频一区二区 | 伊人久久综合 | 电影91久久久 | 在线观看成人小视频 | 2019天天操 | 自拍偷拍第一页 | 91佛爷在线观看 | 成人欧美一区二区三区在线观看 | 亚洲精品黑人 | 色综久久| 久久国产免费看 | 午夜成人免费视频 | 国产精品毛片av一区 | 久久精品免费 | 国产欧美在线视频 | 二区不卡 | 久久久久久久国产 | 一区二区三区精品视频 | 国产伦精品一区二区三区四区视频 | 五月天综合影院 | 91麻豆精品国产91久久久更新资源速度超快 | 午夜视频一区二区 |