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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4471|回復(fù): 1
收起左側(cè)

AVR_點(diǎn)亮LED程序

[復(fù)制鏈接]
ID:80436 發(fā)表于 2015-5-22 01:11 | 顯示全部樓層 |閱讀模式
//++++++++++++++++++++++++++++++++++
很糾結(jié)的用ICC AVR寫(xiě)了個(gè)程序。調(diào)試通過(guò),木有仿真下載線。貌似挺貴,
窮人家的孩子買(mǎi)不起。鉆研下做個(gè)AVR ISP還是比較靠譜,加油!
+++++++++++++++++++++++++++++++++++//
#include <iom16v.h>
#include <macros.h>
#define  uchar unsigned char
#define  uint  unsigned int
void delay(uint ms)
{
    uint i,j;
for(i=0;i<ms;i++)
    {
    for(j=0;j<1141;j++);
       }
}
void main()
{
   uchar k;
   DDRA|=BIT(2);
   PORTA|=BIT(2);//我表示AVR的位操作比51單片機(jī)更加復(fù)雜,|運(yùn)算是關(guān)鍵
   
   DDRB=0XFF;
   PORTB=0XFF;
   while(1)
   {
   for(k=0;k<8;k++) //for語(yǔ)句
   {
   PORTB&=~BIT(k);//取反操作
   delay(500);//延時(shí)500ms
   
   PORTB|=BIT(k);
   delay(500);
   }
   }
}//我靠!寫(xiě)完了。滾床睡覺(jué),很晚了, 明天是該死的體育考試,oh my god

回復(fù)

使用道具 舉報(bào)

ID:80436 發(fā)表于 2015-5-22 01:17 | 顯示全部樓層
  1. #include <iom16.h>

  2. #include <macros.h>


  3. /* This seems to produce the right amount of delay for the LED to be

  4. * seen

  5. */

  6. void Delay()

  7. {

  8. unsigned char a, b;


  9. for (a = 1; a; a++)

  10. for (b = 1; b; b++)

  11. ;

  12. }


  13. void LED_On(int i)

  14. {

  15. PORTB = ~BIT(i);        /* low output to turn LED on */

  16. Delay();

  17. }


  18. void main()

  19. {

  20. int i;

  21. DDRB = 0xFF;        /* output */

  22. PORTB = 0xFF;        /* all off */


  23. while (1)

  24. {

  25. /* forward march */

  26. for (i = 0; i < 8; i++)

  27. LED_On(i);

  28. /* backward march */

  29. for (i = 8; i > 0; i--)

  30. LED_On(i);

  31. /* skip */

  32. for (i = 0; i < 8; i += 2)

  33. LED_On(i);

  34. for (i = 7; i > 0; i -= 2)

  35. LED_On(i);

  36. }

  37. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表