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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Atmega16l單相逆變器SPWM原理圖PCB及源程序

  [復制鏈接]
跳轉到指定樓層
樓主
Atmega16l簡單單相逆變器制作資料

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


Atmega16l單片機源碼如下:
  1. #include<iom16v.h>
  2. #include<macros.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar zd=0,c=0;
  6. uint iv=0,ii=0,ov=0,oi=0,sj=0,b=0;
  7. uchar table[3]={8,8,8};
  8. #pragma data:code
  9. flash uint table1[]={0X3f,0X06,0X5b,0X4f,0X66,0X6d,0X7d,0X07,0X7f,0X6f,0X77,0X7c,0X39,0X5e,0X79,0X71,0X00,
  10. 0X40,0XFF};
  11. flash uint table2[]={
  12. 0,5,10,16,21,27,32,38,43,48,54,59,64,69,75,80,85,90,95,100,
  13. 105,110,115,120,124,129,134,138,143,147,152,156,160,164,168,172,176,180,184,187,
  14. 191,194,198,201,204,207,210,213,216,219,221,224,226,228,230,233,234,236,238,240,
  15. 241,242,244,245,246,247,247,248,249,249,249,249,250,249,249,249,249,248,247,247,
  16. 246,245,244,242,241,240,238,236,234,233,230,228,226,224,221,219,216,213,210,207,
  17. 204,201,198,194,191,187,184,180,176,172,168,164,160,156,152,147,143,138,134,129,
  18. 125,120,115,110,105,100,95,90,85,80,75,69,64,59,54,48,43,38,32,27,
  19. 21,16,10,5,
  20. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  21. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  22. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  23. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  24. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  25. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  26. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  27. 0,0,0,0};

  28. flash uint table3[]={
  29. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  30. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  31. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  32. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  33. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  34. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  35. 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
  36. 0,0,0,0,
  37. 0,5,10,16,21,27,32,38,43,48,54,59,64,69,75,80,85,90,95,100,
  38. 105,110,115,120,124,129,134,138,143,147,152,156,160,164,168,172,176,180,184,187,
  39. 191,194,198,201,204,207,210,213,216,219,221,224,226,228,230,233,234,236,238,240,
  40. 241,242,244,245,246,247,247,248,249,249,249,249,250,249,249,249,249,248,247,247,
  41. 246,245,244,242,241,240,238,236,234,233,230,228,226,224,221,219,216,213,210,207,
  42. 204,201,198,194,191,187,184,180,176,172,168,164,160,156,152,147,143,138,134,129,
  43. 125,120,115,110,105,100,95,90,85,80,75,69,64,59,54,48,43,38,32,27,
  44. 21,16,10,5};

  45. #pragma interrupt_handler timer2_capt_isr:5
  46. #pragma interrupt_handler adc_sj:15
  47. void timer2_capt_isr()
  48. {
  49.    TCNT2=5;
  50.    c++;
  51.    if(c>=2)
  52.    {
  53.      c=0;
  54.          OCR1AH=0;
  55.          OCR1AL=table2[b];
  56.          OCR1BH=0;
  57.      OCR1BL=table3[b];
  58.          b++;
  59.          if(b>=288){b=0;zd++;}
  60.    }
  61. }
  62. void timer1_init()
  63. {
  64.     TCCR2=0X01;
  65.         TCNT2=5;
  66.         OCR1AH=0;
  67.         OCR1AL=0;
  68.         OCR1BH=0;
  69.         OCR1BL=0;
  70.         ICR1=250;
  71.         TCCR1A=0XA0;
  72.         TCCR1B=0X11;
  73. }
  74. void init_devices()
  75. {
  76.         DDRD|=BIT(4);
  77.         DDRD|=BIT(5);
  78.         timer1_init();
  79.         MCUCR=0X00;
  80.         GICR=0X00;
  81.         TIMSK=0X40;
  82.         SREG|=BIT(7);
  83. }
  84. void led()//正常指示燈
  85. {
  86.     PORTB|=BIT(3);
  87.         PORTB&=~BIT(4);
  88. }
  89. void led1()//故障指示燈
  90. {
  91.    PORTB&=~BIT(3);
  92.    PORTB|=BIT(4);
  93. }
  94. void led2()//報警指示燈
  95. {
  96.    PORTB|=BIT(4);
  97.    PORTB|=BIT(3);
  98. }
  99. void ad_init(uchar a)//AD轉換
  100. {
  101.   // uint sj;
  102.    SFIOR=0;//設置ADC為連續工作模式
  103.    ADMUX=a;//設置那一路ADC轉換
  104.    ADCSR=0X80;//ADC轉換使能
  105.    ADCSR|=BIT(ADSC);//啟動ADC
  106.    ADCSR|=BIT(ADIE);
  107.    SREG|=BIT(7);
  108. //  while(!(ADCSR&(BIT(ADIF))));//等待ADC轉換完成
  109. //  sj=ADCL;
  110. //  sj=sj+256*ADCH;
  111.   // ADCSR|=BIT(ADIF);
  112.   // ADCSR=0X00;//關閉ADC
  113.   // return sj;
  114. }

  115. void  show(uchar bai,uchar shi,uchar ge )
  116. {   
  117.          PORTC=table1[bai];
  118.          PORTA|=BIT(7);
  119.          PORTA&=~BIT(7);
  120.          PORTC=table1[shi];
  121.          PORTA|=BIT(6);
  122.          PORTA&=~BIT(6);
  123.          PORTC=table1[ge];
  124.          PORTA|=BIT(5);
  125.          PORTA&=~BIT(5);
  126. }
  127. void adc_sj()
  128. {
  129.    sj=ADCL;
  130.    sj=sj+256*ADCH;
  131.    ADCSR|=BIT(ADIF);
  132.    ADCSR=0X00;//關閉ADC
  133. }
  134. void  delay(uint ms)
  135. {
  136.            uint  x,y;
  137.           for(x=0;x<ms;x++)
  138.           {
  139.              for(y=0;y<1141;y++);
  140.           }
  141. }
  142. void main()
  143. {
  144.    uchar f=0;
  145.    uint ci=0;
  146.         DDRC=0XFF;
  147.         DDRA|=BIT(5);
  148.         DDRA|=BIT(6);
  149.         DDRA|=BIT(7);
  150.         PORTC=0X00;
  151.     PORTA&=~BIT(7);
  152.         PORTA&=~BIT(6);
  153.         PORTA&=~BIT(5);
  154.         DDRA&=~BIT(1);
  155.         PORTA&=~BIT(1);
  156.         DDRA&=~BIT(4);
  157.         PORTA&=~BIT(4);
  158.         
  159.     DDRB|=BIT(3);
  160.     DDRB|=BIT(4);
  161.     PORTB&=~BIT(3);
  162.     PORTB&=~BIT(4);
  163.     DDRB|=BIT(6);
  164.     PORTB&=~BIT(6);
  165.     init_devices();
  166.    while(1)
  167.    {
  168.     if(zd>=80)
  169.            {
  170.             zd=0;
  171.                 switch(f)
  172.                 {
  173.                   case 0: table[0]=1;table[1]=17;table[2]=17;f++;ad_init(0x44);
  174.                   break;
  175.                   case 1:sj=sj/51;iv=sj;table[0]=iv/100;table[1]=iv%100/10;table[2]=iv%10;f++;sj=0;led();
  176.                   break;
  177.                   case 2: table[0]=2;table[1]=17;table[2]=17;f++;
  178.                   break;
  179. ……………………

  180. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
簡單單相逆變器控制板原理圖叫Atmega16L源代碼.rar (678.59 KB, 下載次數: 201)


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

使用道具 舉報

沙發
ID:377382 發表于 2018-7-31 09:53 | 只看該作者
感謝分享
回復

使用道具 舉報

板凳
ID:25103 發表于 2018-8-2 23:19 | 只看該作者
感謝分享,謝謝!
回復

使用道具 舉報

地板
ID:245473 發表于 2018-11-9 16:46 | 只看該作者

感謝分享,謝謝!
回復

使用道具 舉報

5#
ID:394041 發表于 2018-12-18 10:44 | 只看該作者
謝謝樓主,下來學習下。
回復

使用道具 舉報

6#
ID:159270 發表于 2019-2-28 08:37 | 只看該作者
感謝分享,謝謝!
回復

使用道具 舉報

7#
ID:96913 發表于 2019-3-22 11:43 | 只看該作者

感謝分享,謝謝!
回復

使用道具 舉報

8#
ID:512061 發表于 2019-4-19 20:59 | 只看該作者
麻煩問下 逆變橋 在哪
回復

使用道具 舉報

9#
ID:68194 發表于 2019-10-15 17:42 | 只看該作者
密密麻麻 ,看不懂!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩在线一区 | av在线免费观看网站 | 欧美天堂 | 国产精品久久久久久久久免费 | 麻豆久久久久久久久久 | 亚洲区一区二 | 精品久久久久久久 | 亚洲视频一区二区三区 | 精品美女视频在免费观看 | 特一级毛片 | 91欧美| 羞羞视频网站在线观看 | 国产成人一区二区三区久久久 | 久在线视频播放免费视频 | 免费一区二区三区 | 玖玖操| 国产成人久久久 | 国产精品视频一区二区三区 | 欧美色综合网 | 欧美1区 | 日韩免费高清视频 | 国产成人精品a视频 | 欧美性猛交一区二区三区精品 | 日韩成人免费 | 日日碰狠狠躁久久躁96avv | 免费观看一级特黄欧美大片 | 三级黄色片在线 | 婷婷色成人 | 视频一区二区在线 | 欧美精品一区在线观看 | 午夜免费看视频 | av先锋资源 | 久久精品免费观看 | 久久久精品 | 黑人精品 | 天堂国产| 青青草av网站 | 久久久久久亚洲精品 | 国产精品3区 | 一区二区在线观看av | 午夜小电影 |