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 Mua anten ở đâu?bởi tmcodonAnten bạn thu nguồn sóng nào vậy? Nếu xem truyền hình thì giờ k làm đc anten nữa rồi
-
Channel: Ăng ten và truyền sóng
hôm nay, 15:34 -
-
Trả lời cho Mạch nguồn đôi dùng 7812 và 7912bởi tmcodonThank bác nhá. Tìm mãi mới thấy. Giờ vọc đã xem sao...
-
Channel: Hỗ trợ học tập
hôm nay, 10:39 -
-
bởi tungdqEm cần tìm sơ đồ mạch một số Main máy tính đời cao như Asrock B560M-HDV, các cao nhân chỉ giúp với. Thank!
-
Channel: Các mạch điện ứng dụng
Hôm qua, 08:27 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment