Nguyên văn bởi i am stupid
Xem bài viết
Thông báo
Collapse
No announcement yet.
Xin giúp nạp Attiny2313
Collapse
X
-
Uh mình sẽ cố hỗ trợ trong tầm khả năng hiểu biết của mìnhNếu Tương Lai có thể dự đoán trước thì đó hoàn toàn ko phải là Tương Lai mà chỉ là sự Bịa Đặt.
Bạn có quyền đầu tư cho Tương Lai nhưng chẳng có gì đảm bảo là nó sẽ trở thành Hiện Thực.
-
xem giúp mình cái này với giải thích cho mình những chỗ ?Nguyên văn bởi Odette Xem bài viếtUh mình sẽ cố hỗ trợ trong tầm khả năng hiểu biết của mình
http://www.youtube.com/watch?v=CJ6MJx6zdaQ
/************************************************** ***
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
HP InfoTech, Development Tools for Microcontrollers, C Compilers, In-System Programmers
Project :
Version :
Date : 6/21/2013
Author : NeVaDa
Company :
Comments:
Chip type : ATmega8
Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
************************************************** ***/
#include <mega8.h>
#asm
.equ __ds1302_port=0x12
.equ __ds1302_io=1
.equ __ds1302_sclk=0
.equ __ds1302_rst=2
#endasm
#include <DS1302.h>
#include <delay.h>
// Declare your global variables here
#define DOWN PIND.5
#define UP PIND.6
#define SET PIND.7
#define MODE PIND.3
#define L1 PORTC.0
#define L2 PORTC.1
#define L3 PORTC.2
#define L4 PORTC.3
#define L_DATA PORTB
#define L_SECOND PORTC.4
#define F_OSC 8000000
#define TIME_INTERRUPT 5 // ?
#define PRECALE_1 1 // ?
#define F_TIMER_1 (F_OSC/PRECALE_1) // ?
#define NUMBER_PULSE ((F_TIMER_1*TIME_INTERRUPT)/1000) //?
#define VALUE (65563-NUMBER_PULSE) // ?
unsigned char led7_data[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 };
unsigned char index,button,b_nhay,get_t;
signed char h,m,s;
unsigned int time;
bit f_lag;
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer1 value
TCNT1=VALUE;
L1=0;
L2=0;
L3=0;
L4=0;
if(f_lag)
m=s;
index++;
if(index==1)
{
if(button==1&b_nhay==1)
{
index++;
index++;
}
else
{
L_DATA=led7_data[(h/10)];
L1=1;
}
}
if(index==2)
{
L_DATA=led7_data[h%10];
L2=1;
}
if(index==3)
{
if(button==2&b_nhay==1)
{
index=0;
}
else
{
L_DATA=led7_data[m/10];
L3=1;
}
}
if(index==4)
{
L_DATA=led7_data[m%10];
L4=1;
index=0;
}
}
interrupt [TIM2_OVF] void timer2_ovf_isr(void)
{
TCNT2=0x00;;
time++;
if(time==6000)
{
time=0;
get_t=1;
b_nhay++;
if(b_nhay==2)
b_nhay=0;
}
}
void fix_time(void)
{
if(m==60)
{
m=0;
h++;
}
if(h==24)
h=0;
if(m==-1)
{
m=59;
h--;
}
if(h==-1)
h=23;
}
void keypad (void)
{
if(!SET)
{
button++;
//while(!SET);
}
if(button>2)
{
button=0;
rtc_set_time(h,m,0);
}
if(button==1)
{
if(!UP) h++;
if(!DOWN) h--;
}
if(button==2)
{
if(!UP) m++;
if(!DOWN) m--;
}
if(!MODE)
{
f_lag=!f_lag;
}
fix_time();
delay_ms(100);
}
void main(void)
{
// Declare your local variables here
PORTB=0xff;
DDRB=0xff;
PORTC=0x3f;
DDRC=0x3f;
PORTD=0xEf;
DDRD=0xEf;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x3C;
TCNT1L=0xAF;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 250.000 kHz
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x01;
TCNT2=0x00;
OCR2=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x44; // ?
time=0;
index=0;
get_t=0;
#asm("sei")
rtc_init(0,0,0);
while (1)
{
keypad();
if(button==0)
{
if(get_t==1)
{
get_t=0;
rtc_get_time(&h,&m,&s);
delay_ms(10);
}
}
if(s%2)
L_SECOND=1;
else
L_SECOND=0;
delay_us(10);
}
}Attached Files
Comment
-
mình đọc ở đâu đó là atiny là dòng chip duy nhất của atmel chỉ chạy với thạch anh nội hay đây là các chíp atiny mới.nếu chíp chỉ chạy với thạch anh nội thì fuse bit khó mà sai được . cắm vào là nạp chẳng cần set fuse bit làm gì (cái này dùng test với thạch anh nội nên làm thử rùi mới fuse bit các giá trị khác)
Comment
-
ban không đọc bác quế dương nói gì à?Nguyên văn bởi dtcn_112 Xem bài viếtmình đọc ở đâu đó là atiny là dòng chip duy nhất của atmel chỉ chạy với thạch anh nội hay đây là các chíp atiny mới.nếu chíp chỉ chạy với thạch anh nội thì fuse bit khó mà sai được . cắm vào là nạp chẳng cần set fuse bit làm gì (cái này dùng test với thạch anh nội nên làm thử rùi mới fuse bit các giá trị khác)
Comment
-
mình đọc bài anh Dương rùi .nhưng tài liệu về atiny mình không có nhiều .mình không biết nhiều chip atiny lắm nhưng các chíp atmega mình đã dùng và nó có cả chế độ thach anh nội và thạch anh ngoại. còn chíp atiny mình đọc ở đâu đó là nó chỉ có thạch anh nội không có dùng dao động ngoại. trang đó mình không nhớ nữa mình cũng chưa làm mạch thật dùng chíp atiny bao giờ .
Comment
-
rất là mơ hồ không chắc thì thôi đừng nói.Nguyên văn bởi dtcn_112 Xem bài viếtmình đọc bài anh Dương rùi .nhưng tài liệu về atiny mình không có nhiều .mình không biết nhiều chip atiny lắm nhưng các chíp atmega mình đã dùng và nó có cả chế độ thach anh nội và thạch anh ngoại. còn chíp atiny mình đọc ở đâu đó là nó chỉ có thạch anh nội không có dùng dao động ngoại. trang đó mình không nhớ nữa mình cũng chưa làm mạch thật dùng chíp atiny bao giờ .
Comment
Bài viết mới nhất
Collapse
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
hôm nay, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
hôm nay, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
hôm nay, 19:03 -
-
bởi chinhnguyen9Công thức
Gain (dB) = 20 × log₁₀(A)
Thí dụ 1; 60dB
log₁₀(A)=60/20=3
⇒ A=V_out / V_in = 10³ = 1.000
Thí dụ 2; 100dB
log₁₀(A)=100/20=5
⇒ A=V_out / V_in = 105 = 100.000
Tí dụ 3; LM 358
Large Signal Open Loop Voltage Gain AVOL V/mV RL = 2.0...-
Channel: Hướng dẫn sử dụng diễn đàn
19-03-2026, 08:44 -
-
Trả lời cho Mạch 3s bị giảm điện áp đầu rabởi minhtri0405chả biết bạn xử lý được chưa , kích sạc hoặc điện áp > điện áp khối pin vào 2 chân P - P+ , nhiều mạch phải yêu cầu có kích lần đầu sau đó mới chạy...
-
Channel: Điện tử dành cho người mới bắt đầu
18-03-2026, 10:01 -
-
bởi minhtri0405đây có phải là 1 cách để test mosfet xịn hay dỏm khi mua đồ tàu không nhỉ , vì ko thể đập ra để coi lõi rồi trả hàng được....
-
Channel: Tâm tình dân kỹ thuật
18-03-2026, 09:57 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi Tuyenvc345
-
Channel: Hỗ trợ học tập
16-03-2026, 18:05 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi Tuyenvc345
-
Channel: Hỗ trợ học tập
16-03-2026, 18:04 -

Comment