電光掲示板をAVRで置き換え
デジタル電光掲示板はPICの16f84を使っていましたが、 AVRのATtiny2313で置き換えました。 これでどのPCでも書き込めるようになります。 しかも、低価格なため、生徒が思う存分、試行錯誤できます。 マイコンは電源供給を誤るとすぐに壊れてしまうのです。

光っているところ
#include <avr/io.h>
#include <avr/delay.h>
void delay_ms(t) { while (t--) _delay_ms(0.13); }
void delay_us(t) {
int tt;
tt = 8*t/100;
while (tt--) _delay_us(1);
}
void line1(int a,int b,int c,int d, int e){
PORTD = 0b00000001;
PORTB = a+b*2+c*4+d*8+e*16;
delay_ms(1);
}
void line2(int a,int b,int c,int d, int e){
PORTD = 0b00000010;
PORTB = a+b*2+c*4+d*8+e*16;
delay_ms(1);
}
void line3(int a,int b,int c,int d, int e){
PORTD = 0b00000100;
PORTB = a+b*2+c*4+d*8+e*16;
delay_ms(1);
}
void line4(int a,int b,int c,int d, int e){
PORTD = 0b00001000;
PORTB = a+b*2+c*4+d*8+e*16;
delay_ms(1);
}
void line5(int a,int b,int c,int d, int e){
PORTD = 0b00010000;
PORTB = a+b*2+c*4+d*8+e*16;
delay_ms(1);
}
int main(void)
{
int i;
DDRB = 0b00011111;
DDRD = 0b00011111;
while(1){
for(i=0;i<100;i++){
line1(0,1,1,0,0);
line2(0,0,1,0,0);
line3(0,0,1,0,0);
line4(0,0,1,0,0);
line5(0,0,1,0,0);
}
}
}
夏休みものづくり講座の4日連続コースはもうすぐです。
お楽しみに。




