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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ATtiny13-RGB-LED-Colormixer源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:383566 發表于 2018-8-6 22:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
RGB LED MIXER- In this project we used the attiny 13 microcntroller for operating the RGB LED AND COLOR MIXING.


單片機源程序如下:

  1. /*
  2. Chapter - 2
  3. Project - 3 RGB Colormixer

  4. */

  5. #include<avr/io.h>
  6. #include<avr/interrupt.h>
  7. #define F_CPU 9600000UL
  8. #include<util/delay.h>

  9. //Prototypes

  10. //This function is called to switch on the LED at the
  11. //Required stage of PWM cycle
  12. void abc(unsigned char a,unsigned char b,unsigned char c,unsigned char status);

  13. //This function read the value of ADC from selected channel
  14. unsigned char read_adc(unsigned char channel);


  15. //Global variables
  16. volatile unsigned char e;
  17. volatile unsigned char pwm[3]={255,255,255};


  18. int main(void)
  19. {


  20.         DDRB  &= ~((1<<3)|(1<<4)|(1<<5));//ADC inputs
  21.        
  22.         //Initially LEDs should be off
  23.         DDRB |=  (1<<0|1<<1|1<<2);
  24.         PORTB |= (1<<0)|(1<<1)|(1<<2);
  25.        
  26.         //ADC init
  27.        
  28.         ADMUX =  0b00100000; //ADC0 (default),ADLAR,VCc
  29.         ADCSRA = 0b10000010; //prescaled by 4
  30.        
  31.         //Timer Initialisation
  32.         TCCR0A = 0x00;
  33.         TCCR0B = 0x01;//No Prescaling
  34.         TIMSK0 = 1<<TOIE0;//Overflow Interrupt Enabled
  35.         sei();//Global Interrupts Enabled

  36.         while(1)
  37.         {       
  38.        
  39.                 pwm[0]=read_adc(0);
  40.                 pwm[1]=read_adc(2);
  41.                 pwm[2]=read_adc(3);
  42.                
  43.                 _delay_ms(2);//Just a small delay       
  44.        
  45.         }

  46.        

  47. }


  48. //Overflow routine for Timer 0
  49. ISR(TIM0_OVF_vect)
  50. {
  51.        
  52.         //Value of e decides the no of levels of PWM.
  53.         //This has 256 levels for e - 0 to 255
  54.         //0 - complete on and 255 is complete off
  55.        
  56.         if(e==255)
  57.         {
  58.                 e=0;
  59.                 PORTB |= (1<<0)|(1<<1)|(1<<2);
  60.         }

  61.         abc(pwm[0],pwm[1],pwm[2],e);
  62.        
  63.         e++;
  64.        
  65. }


  66. //This function is called to switch on the LED at the
  67. //Required stage of PWM cycle
  68. void abc(unsigned char a,unsigned char b,unsigned char c,unsigned char status)
  69. {

  70.         if((status==a))
  71.         {
  72.                 PORTB&= ~(1<<0);
  73.         }
  74.         if((status==b))
  75.         {
  76.                 PORTB&= ~(1<<1);
  77.         }
  78.         if((status==c))
  79.         {
  80.                 PORTB&= ~(1<<2);
  81.         }
  82.        
  83. }

  84. //This function read the value of ADC from selected channel
  85. unsigned char read_adc(unsigned char channel)
  86. {
  87.        
  88.         unsigned char k;
  89.         unsigned int adcvalue=0;
  90.         ADMUX = ADMUX&(0b11111100); //clear channel select bits
  91.         ADMUX |= channel;        
  92.        
  93.         //neglect first reading after changing channel
  94.         ADCSRA |= 1<<ADSC;
  95.         while(ADCSRA&(1<<ADSC));//Wait
  96.         adcvalue=ADCH;
  97.         adcvalue=0;//neglectreading
  98.         for(k=0;k<=7;k++)
  99.         {
  100.                 ADCSRA |= 1<<ADSC;
  101.                 while(ADCSRA&(1<<ADSC));//Wait
  102.                 adcvalue += ADCH;
  103.         }
  104.         return (adcvalue>>3); //divide by 8
  105.        
  106. }

復制代碼

所有資料51hei提供下載:
Project-3-RGB-LED-Colormixer.rar (116.49 KB, 下載次數: 21)


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

使用道具 舉報

沙發
ID:240626 發表于 2019-10-30 16:40 | 只看該作者
你這個用arduino軟件打開燒錄不了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 理论片87福利理论电影 | 观看av| 国产精品久久久久久久久久免费 | 国产欧美视频一区二区 | 亚洲精品自在在线观看 | 狠狠的干 | 美国一级片在线观看 | 黄色在线免费观看视频网站 | 欧美一区二区三区日韩 | 午夜丰满少妇一级毛片 | 久久成人一区 | 91精品国产自产精品男人的天堂 | 久久久一| 九九热这里只有精品在线观看 | 国产精品一区二区免费看 | 国产精品久久久久久久免费观看 | 精品一区二区三区不卡 | 黄色国产视频 | 99精品热视频 | 狠狠干在线 | 久久精品视频在线免费观看 | 亚洲视频欧美视频 | 日日骚视频| 欧美激情一区二区三级高清视频 | 一区二区三区国产好 | 美女天天干天天操 | 国产精品大片 | 亚洲精品中文字幕在线观看 | 亚洲国产成人在线视频 | 成人国产精品入口免费视频 | 亚洲精彩免费视频 | 欧美国产激情 | 久久99精品久久久久蜜桃tv | 一区二区在线看 | 久久33| 国产免费看 | 99久久国产综合精品麻豆 | 精品一区二区免费视频 | 久久精品男人的天堂 | 日韩中文字幕在线观看视频 | 黄色网址在线免费观看 |