các cao nhân AVR giúp mình với
Thông báo
Collapse
No announcement yet.
Giúp Mình Về Việc Quet Led 7 đoạn
Collapse
X
-
#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#define A PORTC.0//A,B,C,D nối vào ic giải mã 74247
#define B PORTC.1
#define C PORTC.2
#define D PORTC.3
#define T1 PORTC.5 // T1,t2,T3 nối vào IC 74138 dùng để quét 5 led(anod)
#define T2 PORTC.6
#define T3 PORTC.7
unsigned long a,b,c,d,e,f,g,h,sodem,cnt;
void giaima(unsigned long cnt)
{
switch (cnt)
{
case 0:
A=0;
B=0;
C=0;
D=0;
break;
case 1:
A=1;
B=0;
C=0;
D=0;
break;
case 2:
A=0;
B=1;
C=0;
D=0;
break;
case 3:
A=1;
B=1;
C=0;
D=0;
break;
case 4:
A=0;
B=0;
C=1;
D=0;
break;
case 5:
A=1;
B=0;
C=1;
D=0;
break;
case 6:
A=0;
B=1;
C=1;
D=0;
break;
case 7:
A=1;
B=1;
C=1;
D=0;
break;
case 8:
A=0;
B=0;
C=0;
D=1;
break;
case 9:
A=1;
B=0;
C=0;
D=1;
break;
}
}
sodem=DATA;//dât cần xuất ra led
a=(sodem/10000);
b=(sodem-a*10000)/1000;
c=(sodem-a*10000-b*1000)/100;
d=(sodem-a*10000-b*1000-c*100)/10;
e=(sodem-a*10000-b*1000-c*100-d*10);
//------------------ ---------------------------------------
cnt=a;
giaima(cnt);
//PORTA=0b11101111;
T1=1;
T2=1;
T3=0;
delay_ms(2);
//------------------
cnt=b;
giaima(cnt);
T1=0;
T2=0;
T3=1;
delay_ms(2);
//------------------
cnt=c;
giaima(cnt);
T1=1;
T2=0;
T3=1;
delay_ms(2);
//-----------------------
cnt=d;
giaima(cnt);
T1=0;
T2=1;
T3=1;
// PORTA=0b10111101;
delay_ms(2);
PORTA=0xFF;
//------------------
cnt=e;
giaima(cnt);
T1=1;
T2=1;
T3=1;
delay_ms(2);
PORTA=0xFF;
-
đây là đoạn chương trình khai báo trong main
PORTA=0xFF;
DDRA=0xFF;
PORTB=0xFF;
DDRB=0xFE;
PORTC=0xff;
DDRC=0xFF;
PORTD=0xff;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// INT2: On
// INT2 Mode: Falling Edge
GICR|=0x00;
MCUCR=0x00;
MCUCSR=0x00;
GIFR=0x00;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;
Comment
-
Nguyên văn bởi bk_exp Xem bài viếtkhi chuyển qua mấy con AVR có JTAG lúc đầu chưa biết mọi người không bỏ nó đi nên mấy chân dùng cho JTAG lập trình hok đc,chỉ cần set lại Fusebit để bỏ nó đi thôi mà
Comment
-
Bạn phải để JTAGEN = 1 (tức là không được tick) chứ không phải =0 (tức là Enable chức năng JTAG).PNLab
Mạch nạp/debug ULink2, Jlink ARM USB
Mạch nạp AVR, PIC, 8051, MSP430 USB
Mạch phát triển STM32, ARM9, ARM11
more...www.pnlabvn.com
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi nhathung1101Dự là bạn này định chế đèn led cho oto.
không hiểu các bạn hiểu về đèn led thế nào? chỉ mong các bạn hiểu cuộc sống chỉ có một lần thôi.-
Channel: Điện tử dành cho người mới bắt đầu
19-05-2024, 22:29 -
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi bqvietChỗ đó là chỉ IC này chạy DC (tất nhiên) được mà AC cũng được. Khi chạy điện AC thì cần cầu nắn dòng và tụ lọc 100uF. Nếu chạy DC thì không cần cầu nắn mà tụ đó cũng chỉ cần tầm vài uF thôi. Cái đi-ốt thì càng dễ, luận tí...
-
Channel: Điện tử dành cho người mới bắt đầu
19-05-2024, 21:37 -
Comment