Nguyên văn bởi haoth2
Xem bài viết
Thông báo
Collapse
No announcement yet.
Cách ghép nối ATmega16 với LM35
Collapse
X
-
vậy cho mình hỏi ở đâu bán con LM35 zay?hay phải thay bằng LM335Nguyên văn bởi gtvt45 Xem bài viếtÚi trời, đừng mô phỏng.
Làm thật đi!
Mình làm thật cái dc ngay mà, không có vấn đề gì!
CHúc thành công.....
Comment
-
Ai có thư viện chứa con ATmega16 không cho mình với, đang cần vẽ mạch con này mà tìm trong thư viện không có, mình dung orcad 9.2. email của mình hoangnam3.0@gmail.com. thank trước nha!|
Comment
-
Bạn kích phải vào con LM35 hay bất kỳ linh kiện nào khác nếu báo lỗi mô phỏng. Chọn Edit Properties. Một cửa sổ hiện ra. Tích vào Exclude from Simulation.Nguyên văn bởi haoth2 Xem bài viếtMình đã thử rồi, nhưng mà sao khi mô phỏng trong Proteus thì lại không được nhỉ, Chỉ mới ghép nối vào mạch chưa viết code gì cả, thì báo lỗi là No model specifired for U2, là thế nào nhỉ
Thử Debug lại coi!
Comment
-
cảm ơn bạn rất nhiều!
cảm ơn bạn rất nhiều!Nguyên văn bởi linhDT1 Xem bài viếtphan lap trinh
Bạn có thể share các file thư viện kèm theo được ko ?
Thanks!!:-)
Comment
-
chào cả mọi người mình cũng mới học AVR và đã thử lập trình với lm35 thấy chạy mô phỏng tốt lên post bài lên cho mọi ngưởi tham khảoNguyên văn bởi haoth2 Xem bài viếtTrong CodevisionAVR có phần tạo mã tự động, khi mình cho phép ADC thì trong code của nó có hàm read_adc(unsigned char adc_input). Cho mình hỏi cách sử dụng hàm này thế nào được không? Chân Vout của LM35 mình ghép vào chân P0.0
Nếu được share cho mình code luôn bạn ơi
#include <mega16.h>
#include<delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 0
unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
#define ADC_VREF_TYPE 0x20
// ADC interrupt service routine
// with auto input scanning
interrupt [ADC_INT] void adc_isr(void)
{
register static unsigned char input_index=0;
// Read the 8 most significant bits
// of the AD conversion result
adc_data[input_index]=ADCH;
// Select next ADC input
if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
input_index=0;
ADMUX=(FIRST_ADC_INPUT|ADC_VREF_TYPE)+input_index;
// Start the AD conversion
ADCSRA|=0x40;
}
// Declare your global variables here
void lcd_putnum(unsigned char so,unsigned char x,unsigned char y)
{
unsigned char a,b,c;
a=so/100;
// lay fan tram
b=(so-100*a)/10;
// lay fan chuc
c=(so-100*a-10*b);
// lay hang don vi
lcd_gotoxy(x,y);
// ve vi tri x,y
lcd_putchar(a+48);
// day ra hang tram, ma ascii
lcd_putchar(b+48);
// day ra hang chuc, ma ascii
lcd_putchar(c+48);
// day ra hang don vi, ma ascii
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=FIRST_ADC_INPUT|ADC_VREF_TYPE;
ADCSRA=0xCE;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
lcd_putnum(2*adc_data[0],0,0);
delay_ms(300);
// tre 3 s, cap nhat du lieu mot lan
};
}
Comment
-
nhờ bạn giúp đỡ về :lm35 + avr ???????????????
mình cũng đang học avr , bạn có thể cho mình mạch nguyên lý không/Nguyên văn bởi huetkiem Xem bài viếtchào cả mọi người mình cũng mới học AVR và đã thử lập trình với lm35 thấy chạy mô phỏng tốt lên post bài lên cho mọi ngưởi tham khảo
#include <mega16.h>
#include<delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 0
unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
#define ADC_VREF_TYPE 0x20
// ADC interrupt service routine
// with auto input scanning
interrupt [ADC_INT] void adc_isr(void)
{
register static unsigned char input_index=0;
// Read the 8 most significant bits
// of the AD conversion result
adc_data[input_index]=ADCH;
// Select next ADC input
if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
input_index=0;
ADMUX=(FIRST_ADC_INPUT|ADC_VREF_TYPE)+input_index;
// Start the AD conversion
ADCSRA|=0x40;
}
// Declare your global variables here
void lcd_putnum(unsigned char so,unsigned char x,unsigned char y)
{
unsigned char a,b,c;
a=so/100;
// lay fan tram
b=(so-100*a)/10;
// lay fan chuc
c=(so-100*a-10*b);
// lay hang don vi
lcd_gotoxy(x,y);
// ve vi tri x,y
lcd_putchar(a+48);
// day ra hang tram, ma ascii
lcd_putchar(b+48);
// day ra hang chuc, ma ascii
lcd_putchar(c+48);
// day ra hang don vi, ma ascii
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=FIRST_ADC_INPUT|ADC_VREF_TYPE;
ADCSRA=0xCE;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
lcd_putnum(2*adc_data[0],0,0);
delay_ms(300);
// tre 3 s, cap nhat du lieu mot lan
};
}
thien.dhbk@yahoo.com.vn|
Comment
-
Đoạn code này bạn viết khá đủ, nhg mình góp ý 1 chút phần hiển thị ra LCD bạn có thể dùng nhiều hàm có sẵn của C với Codevision:Nguyên văn bởi huetkiem Xem bài viếtchào cả mọi người mình cũng mới học AVR và đã thử lập trình với lm35 thấy chạy mô phỏng tốt lên post bài lên cho mọi ngưởi tham khảo
#include <mega16.h>
#include<delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x18 ;PORTB
#endasm
#include <lcd.h>
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 0
unsigned char adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
#define ADC_VREF_TYPE 0x20
// ADC interrupt service routine
// with auto input scanning
interrupt [ADC_INT] void adc_isr(void)
{
register static unsigned char input_index=0;
// Read the 8 most significant bits
// of the AD conversion result
adc_data[input_index]=ADCH;
// Select next ADC input
if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
input_index=0;
ADMUX=(FIRST_ADC_INPUT|ADC_VREF_TYPE)+input_index;
// Start the AD conversion
ADCSRA|=0x40;
}
// Declare your global variables here
void lcd_putnum(unsigned char so,unsigned char x,unsigned char y)
{
unsigned char a,b,c;
a=so/100;
// lay fan tram
b=(so-100*a)/10;
// lay fan chuc
c=(so-100*a-10*b);
// lay hang don vi
lcd_gotoxy(x,y);
// ve vi tri x,y
lcd_putchar(a+48);
// day ra hang tram, ma ascii
lcd_putchar(b+48);
// day ra hang chuc, ma ascii
lcd_putchar(c+48);
// day ra hang don vi, ma ascii
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// ADC initialization
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: None
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=FIRST_ADC_INPUT|ADC_VREF_TYPE;
ADCSRA=0xCE;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
lcd_putnum(2*adc_data[0],0,0);
delay_ms(300);
// tre 3 s, cap nhat du lieu mot lan
};
}
- Hàm printf là hàm khá phổ biến khi học C, cái này tham khảo Help
- Chuyển đổi số thành chuỗi thì có hàm itoa, ftoa... cũng xem Help
Những hàm này có sẵn, bạn chỉ phải tham khảo và dùng, khi đó code sẽ ngắn hơn.
Comment
Bài viết mới nhất
Collapse
-
bởi IemanjaTôi có một câu hỏi kỹ thuật muốn hỏi.
Động cơ bước vòng kín của tôi được sử dụng trong một cơ cấu dao động đảo chiều thường xuyên. Sau khi hoạt động vài ngày, vị trí điểm 0 của bộ mã hóa được thiết lập ban đầu bị trôi dần, và...-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 14:12 -
-
bởi theidiotcatGiải pháp cấu hình tối ưu chi phí và hiệu năng cho phòng net hiện đại với AMD Ryzen 7 5700G, 5700X và Radeon RX 6500XT, 7600 8GB
Giải pháp toàn diện cho bài toán đầu tư phòng net
Mô hình phòng net hiện đại ngày nay đòi hỏi...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 13:55 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnE nhớ bác Vivanpham làm bên điện tử y sinh, có lần đó cái sơ đồ máy chụp x quang sao có mấy con thryristor làm gì mà ko ai trả lới đúng cả
...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 09:17 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnBác kiểm tra lại đường mạch, mối hàn xem có bị hở hoặc dẫn không tốt không?
Thay cầu diode lớn hơn càng tốt không vấn đề gì cả....-
Channel: Điện thanh
hôm nay, 09:12 -
-
bởi LantheChào bạn.
Trục đầu ra của hộp số hành tinh xoắn ốc được kết nối với mặt bích của khách hàng thông qua một trục răng trong. Sau chưa đầy sáu tháng hoạt động, nó phát ra tiếng kêu lách cách và độ rơ lớn đáng báo động.
Việc...-
Channel: Thiết bị điện tử cá nhân
Hôm qua, 13:05 -
-
bởi ittcChào các anh em nhé, mình dự định sắp tới sẽ đi học lái xe Ôtô, thi lấy bằng lái. Cụ thể mình sẽ học và thi lấy giấy phép lái xe hạng B. Thật sự mình là người chưa có kiến thức hiểu biết gì về Ôtô cả ? tất nhiên mình sẽ phải...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 06:22 -
-
Trả lời cho Amply bị rò DC 22 voltbởi trung30000Theo sự hướng dẫn của bác, sau khi em kiểm tra tầng Vi sai sử dụng cặp c1815, tiếp đến là 1 con a1013, và cặp thúc sử dụng mje304g và mje305g, em đã tiến hành thay cặp Vi sai c1815 sau đó mở máy lên đo ngõ công suất DC 0,2V hai giây sau máy đo...
-
Channel: Điện thanh
05-08-2026, 20:09 -
-
bởi theidiotcatBộ máy đa năng toàn diện cho học tập và làm việc hàng ngày
Đối với học sinh, sinh viên và người làm việc văn phòng, việc sở hữu một bộ PC cân bằng giữa học tập, công việc và giải trí là nhu cầu vô cùng thực tế. Combo Ryzen...-
Channel: Đánh giá sản phẩm DTVN
05-08-2026, 10:28 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi mèomướpDạ cháu đọc 1 số bài viết của bác vi... thì nhớ đc bác là 1 cụ già gần 80 tuổi, sức khỏe yếu. Đam mê và làm vc về kỹ thuật điện. Thích thơ ca. Có nhìu bài chia sẻ quý báu cho thế hệ sau. Tuy nhiên già rồi nên khái tính, bảo thủ, nhưng vẫn đáng kính ạ... còn lão nhathung... thì kiểu bố đời
-
Channel: Tâm tình dân kỹ thuật
31-07-2026, 12:52 -
-
bởi lvhnHãng nào tùy thích thôi bác! bây giờ các hãng đều hỗ trợ xem qua máy tính hay điện thoại đều được. Gắn Trước tiên mua về cắm nguồn set ip hết xong hãy lắp lên, cam poe chỉ cần 4 lõi là hoạt động bình thường nên 1 dây kéo cho 2 cam vẫn ok
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:49 -

Comment