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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)音樂噴泉電路與程序設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
電路原理圖如下:


單片機(jī)源碼:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. //sbit out=P3^7;
  5. sbit led1=P0^0;
  6. sbit led2=P0^1;
  7. sbit led3=P0^2;
  8. sbit led4=P0^3;
  9. sbit led5=P0^4;
  10. sbit led6=P0^5;

  11. sbit LED1=P2^0;
  12. sbit LED2=P2^1;
  13. sbit LED3=P2^2;
  14. sbit LED4=P2^3;
  15. sbit LED5=P2^4;
  16. sbit LED6=P2^5;

  17. sbit led11=P1^4;
  18. sbit led12=P1^5;
  19. sbit led13=P1^6;
  20. sbit led14=P1^7;
  21. sbit led15=P3^0;
  22. sbit led16=P3^1;

  23. sbit led31=P3^2;
  24. sbit led32=P3^3;
  25. sbit led33=P3^4;
  26. sbit led34=P3^5;
  27. sbit led35=P3^6;
  28. sbit led36=P3^7;


  29. sbit SCL=P1^2;                //SCL定義為P1口的第3位腳,連接ADC0832SCL腳
  30. sbit DO =P1^3;                //DO 定義為P1口的第4位腳,連接ADC0832DO腳
  31. sbit CS =P1^0;                //CS 定義為P1口的第4位腳,連接ADC0832CS腳

  32. uchar h1,date;
  33. unsigned char adval;
  34. void delay(uint z)
  35. {
  36.    uchar y;
  37.    for(;z>0;z--)
  38.    for(y=5;y>0;y--);
  39. }


  40. /***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/        
  41. //請(qǐng)先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來讀本函數(shù),主要是對(duì)應(yīng)時(shí)序圖來理解,本函數(shù)是模擬0832的串行協(xié)議進(jìn)行的
  42.                                                 //  1  1  0 通道
  43.                                                 //  1  1  1 通道
  44. unsigned char ad0832read(bit SGL,bit ODD)
  45. {
  46.         unsigned char i=0,value=0,value1=0;               
  47.                 SCL=0;
  48.                 DO=1;
  49.                 CS=0;                //開始
  50.                 SCL=1;                //第一個(gè)上升沿        
  51.                 SCL=0;
  52.                 DO=SGL;
  53.                 SCL=1;          //第二個(gè)上升沿
  54.                 SCL=0;
  55.                 DO=ODD;
  56.                 SCL=1;           //第三個(gè)上升沿
  57.                 SCL=0;           //第三個(gè)下降沿
  58.                 DO=1;
  59.                 for(i=0;i<8;i++)
  60.                 {
  61.                         SCL=1;
  62.                         SCL=0; //開始從第四個(gè)下降沿接收數(shù)據(jù)
  63.                         value<<=1;
  64.                         if(DO)
  65.                                 value++;                                                
  66.                 }
  67.                 for(i=0;i<8;i++)
  68.                 {                        //接收校驗(yàn)數(shù)據(jù)
  69.                         value1<<=1;
  70.                         if(DO)
  71.                                 value1+=0x80;
  72.                         SCL=1;
  73.                         SCL=0;
  74.                 }
  75.                 CS=1;
  76.                 SCL=1;        
  77.                 if(value==value1)                                //與校驗(yàn)數(shù)據(jù)比較,正確就返回?cái)?shù)據(jù),否則返回0        
  78.                 return value;
  79.         return value;
  80. }

  81. void penquan()          //PWM調(diào)壓
  82. {
  83.     date=ad0832read(1,0);
  84.         
  85.     h1=(255-date);
  86.     delay(h1*16);
  87.         if(h1>120) {led1=1;LED1=1;led11=1;led31=1; } else {led1=0;LED1=0;led11=0;led31=0;}

  88.         if(h1>140) {led2=1;LED2=1;led12=1;led32=1; } else {led2=0;LED2=0;led12=0;led32=0;}

  89.         if(h1>160){led3=1;LED3=1;led13=1;led33=1; }  else {led3=0;LED3=0;led13=0;led33=0;}

  90.         if(h1>180) {led4=1;LED4=1;led14=1;led34=1; } else {led4=0;LED4=0;led14=0;led34=0;}

  91.         if(h1>200) {led5=1;LED5=1;led15=1;led35=1; } else {led5=0;LED5=0;led15=0;led35=0;}

  92.         if(h1>220) {led6=1;LED6=1;led16=1;led36=1; } else {led6=0;LED6=0;led16=0;led36=0;}
  93.                         
  94.         delay(date*16);

  95. }
  96. void main()
  97. {   
  98.    while(1)
  99.    {           
  100.                 penquan();                   //給定個(gè)延時(shí)次數(shù)                 
  101.    }
  102. }

復(fù)制代碼

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

使用道具 舉報(bào)

沙發(fā)
ID:365089 發(fā)表于 2018-7-6 16:29 | 只看該作者
音頻輸入的那三個(gè)腳分別輸入什么啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:555227 發(fā)表于 2019-6-5 07:36 | 只看該作者
請(qǐng)問如果去掉噴泉部分,只保留彩燈,程序應(yīng)該是什么呢
回復(fù)

使用道具 舉報(bào)

地板
ID:281113 發(fā)表于 2019-10-30 23:24 | 只看該作者
五個(gè)噴泉水珠如何做呢?
回復(fù)

使用道具 舉報(bào)

5#
ID:600558 發(fā)表于 2019-12-20 14:39 | 只看該作者
水泵如何實(shí)現(xiàn)水柱高度不同?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 超碰网址 | 操操日 | 久日精品| 欧美a视频| 日韩在线 | 午夜免费视频 | 亚洲风情在线观看 | 亚洲欧美激情精品一区二区 | 日韩电影免费观看中文字幕 | 婷婷精品| 欧美在线a | 91久久久久久久久 | 精品国产一区二区在线 | 欧美福利精品 | 五月天天丁香婷婷在线中 | 亚洲激情在线观看 | 天天躁人人躁人人躁狂躁 | 欧美一级二级视频 | 欧美综合一区二区三区 | 国产不卡在线播放 | 午夜影院在线 | 日韩一区二区三区av | 一级毛片视频 | 国产伦精品一区二区三区高清 | 99欧美精品 | 欧美日韩亚洲视频 | 成人在线观看免费视频 | 欧美性一级| 免费一级黄色电影 | 视频在线观看亚洲 | 国内av在线| 在线国产一区 | 亚洲国产精品成人综合久久久 | 国产九九精品 | 99视频在线免费观看 | 91毛片网| 91毛片在线观看 | 久久久美女 | 久久高清精品 | 成人一区二区三区在线观看 | 色必久久|