美文网首页
EX1 AVRmega8A 用所有IO口输出流水灯

EX1 AVRmega8A 用所有IO口输出流水灯

作者: 山前雨1 | 来源:发表于2018-06-14 10:18 被阅读7次

//function:source and sink every i/o pin

//微信号:shanqianyu1

//从左到右是PORTB\PORTD\PORTC左边是高位,C只用到了PC4,PC5作为按钮开关的检测,当按下的时候检测绿灯全部亮起来

//time:2018.3.9

//author:Dave#include#include//初始化

void init(void)

{

DDRB=0XFF; //端口B C D 配置为输出模式

DDRC=0XDF;

DDRD=0XFF;

PORTB=0;//端口B C D初始值为0

PORTC=0X20;

PORTD=0;

}

void delay(void)

{

int a,b;

for(a=0;a<500;a++)

{

for(b=0;b<500;b++){}//一定要加上这个花括号要不然会报错

}

}

//输出函数

void source(void)

{

char a=0;

PORTB=0X80;

delay();

while(PORTB &=BIT(1))

  {

a=PORTB;

PORTB >>=1;

PORTB +=a;

delay();

}

PORTD=0X80;

delay();

while(PORTD &=BIT(1))

  {

a=PORTD;

PORTD >>=1;

PORTD +=a;

delay();

}

PORTC=0X10;

delay();

while(PORTC &=BIT(1))

  {

a=PORTC;

PORTC >>=1;

PORTC +=a;

delay();

}

}

void sink(void)

{

while(PORTC |=!BIT(4))

  {

PORTC =~BIT(4);

PORTC <<=1;

delay();

}

while(PORTD |=!BIT(7))

  {

PORTD <<=1;

delay();

}

while(PORTB |=!BIT(7))

  {

PORTB<<=1;

delay();

}

}

void input(void)

{

if(PINC !=BIT(5))

{

int b,d,c;

b=PORTB;

d=PORTD;

c=PORTC;

while(1)

{

PORTB=0X00;

PORTD=0XFF;

PORTC &=0XE0;

if(PINC =BIT(5))

{

PORTB=b;

  PORTD=d;

  PORTC=c;

break;

}

}

}

}

void main(void)

{

while(1)

  {

input();

source();

sink();

}

}

相关文章

  • EX1 AVRmega8A 用所有IO口输出流水灯

    //function:source and sink every i/o pin //微信号:shanqianyu...

  • Java学习总结之Java IO系统

    概述 Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io ...

  • Java基础09-IO流

    概述 Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io ...

  • I/O流

    输入输出流 Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.i...

  • Java 流(Stream)、文件(File)和IO

    Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中...

  • Java教程 第20章 流(Stream)、文件(File)和I

    Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 Java.io 包中...

  • java基础-day20-IO流和StringBuffer

    IO流和StringBuffer 1. IO流 1.1 IO流概述 1.2 IO流分类 1.3 文件操作输入输出字...

  • 日常记忆之Java流,文件和IO

    Java流(Stream)、文件(File)和IO Java.io包几乎包含了所有操作输入、输出需要的类。所有这些...

  • 面试题之IO&并发编程

    什么是IO?Java中IO是以流为基础进行数据的输入输出的,所有数据被串行化写入输出流。简单来说就是java通过i...

  • Java IO 流(一)

    Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的...

网友评论

      本文标题:EX1 AVRmega8A 用所有IO口输出流水灯

      本文链接:https://www.haomeiwen.com/subject/cvveeftx.html