giúp mình với, mình đang học môn Vi điều khiển mà chả hiểu gì, sắp phải bảo vệ rồi, ai có code & proteus giúp mình với, thank mọi người nhiều nhiều!!
Thông báo
Collapse
No announcement yet.
Mạch đo tần số hiển thị trên màn máy tính
Collapse
X
-
đo tần số thực chất là đếm xung thôi, bạn dùng ngắt ngoài để thực hiện việc nayf và so sánh vs timer 1s=> sẽ được tần số xung, còn việc giao tiếp vs máy tính cũng hoàn toàn ko khó, đọc kỹ UART của 89 là làm được thôi.
Chúc bạn thành công.Nguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
cái này cũng không phải là đơn giản với người mới học. nhưng nếu làm thì nên cho vào ngắt ngài của vi điều khiển sau đó đếm số xung trong 1s rồi gửi qua UART lên máy tính dùng MAX232 nhé.nếu ở Hà Nội rảnh qua chỗ mình chỉ cho.Nguyên văn bởi khanh1029 Xem bài viếtgiúp mình với, mình đang học môn Vi điều khiển mà chả hiểu gì, sắp phải bảo vệ rồi, ai có code & proteus giúp mình với, thank mọi người nhiều nhiều!!Never forget who you are!
Comment
-
bó tay...bây giờ cái gì nó cũng như mì tôm ấy.
làm đi. có gì k hiểu mọi người giúp.
nó đếm xung = ngắt ngoài vi nó nhanh hơn so với việc viết code đếm xung ở chân port
đếm thì gửi ra LPT or RS232 thôi
cái này muốn mô phỏng Proteus thì phải có thêm phần mềm Terminal tạo cổng COM or LPT ảo thì mới mô phỏng được
Comment
-
mình dùng pic
đã test xong mạch đo tần số , chạy ok , thank mọi người , hiện tại mình muốn giao tiếp máy tính qua cổng rs232 , dùng c#
nhấn start , đưa giá trị tần số đo được hiển thị trên textbox , theo mình hiểu khi nhấn start , cho phép gởi 1 kí tự đến pic, khi pic nhận đc thì truyền dữ liệu lên máy tính
đây là code của mình , trong case '1' mình cần viết ntn để truyền đc dl . mong mọi ng giúp đỡ
#include <main.h>
#include <var.h>
#include <lcd16x2\lcd_16x2.c>
#INT_RDA // ngat nhan du lieu tu may tinh
void ngat_noitiep()
{
char kitu;
kitu=getc();
switch(kitu)
{
case '0': //xoa man hinh LCD
{
LCD_Clear();
break;
}
case '1':// truyen len may tinh gia tri do duoc
{
.....
}
}
}
#INT_EXT
void dem_xung() // Trinh phuc vu ngat ngoai
{
so_xung+=1;
}
#INT_TIMER1
void tao_tre_1s() // Trinh phuc vu ngat tran TIMER1
{
setup_timer_1(T1_DISABLED);
count_t1++;
if(count_t1==39) // Tao khoang thoi gian 1s
{
tan_so = so_xung;
so_xung = 0;
count_t1 = 0;
enable_display = 1;
}
set_timer1(1434);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_2);
}
void locso(unsigned int16 so)
{
tp=so%10+48;
so=so/10;
dv=so%10+48;
so=so/10;
ch=so%10+48;
}
void main()
{
DDRD = DDROUT;
DDRE = DDROUT;
enable_interrupts(int_rda); //cho phep ngat noi tiep nhan
enable_interrupts(INT_TIMER1); // Cho phep ngat tran TIMER1
ext_int_edge(H_TO_L); // Cau hinh ngat ngoai theo canh xuong
enable_interrupts(INT_EXT); // Cho phep ngat ngoai
enable_interrupts(GLOBAL); // Cho phep ngat toan cuc
setup_timer_1(T1_INTERNAL|T1_DIV_BY_2); // Cau hinh bo chia cho TIMER1
set_timer1(1434); // Cau hinh gia tri cho thanh ghi TMR1
LCD_Init();
LCD_Clear();
LCD_Gotoxy(0,0);
sprintf(lcd_buff,"DO_AM_MOI_TRUONG");
LCD_Puts(lcd_buff);
while(TRUE)
{
if(enable_display)
{
if(tan_so<5000)
{
DO_AM=0;
LCD_Gotoxy(0,1);
sprintf(lcd_buff,"GIA TRI BI LOI: %10luHz",DO_AM);// cái này không dùng
LCD_Puts(lcd_buff);
enable_display = 0;
}
else if(5000<=tan_so<=10000)
{
tam=(tan_so-5000)/5;
locso(tam);
command_write(0xc0);
data_write('G');
data_write('I');
data_write('A');
data_write(' ');
data_write('T');
data_write('R');
data_write('I');
data_write(':');
data_write(' ');
data_write(' ');
data_write(' ');
data_write(ch);
data_write(dv);
data_write('.');
data_write(tp);
data_write('%');
}
}
}
}
Comment
Bài viết mới nhất
Collapse
-
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
hôm nay, 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 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi lvhnNhớ không nhầm thì lúc còn đi học có gặp chú 1 lần cf bãi xe Nguyễn Kim, giờ quán cf đó nghỉ bán rồi
-
Channel: Tâm tình dân kỹ thuật
30-07-2026, 15:44 -
-
Trả lời cho Thắc mắc pin 21v ?bởi lvhnCon số đấy biểu thị gần đúng thôi, cái đồng hồ đó có đảm bảo chính xác hay không? pin có cục lên 4v4 vẫn bình thường. Cái gì cũng có sai số trong phạm vi không quá lớn thì không ảnh hưởng gì đâu, bàn ngay ngón ngắn ngón dài mà
-
Channel: Điện tử dành cho người mới bắt đầu
30-07-2026, 15:32 -
-
Trả lời cho Amply bị rò DC 22 voltbởi lvhnThay mấy con transisto nhỏ đầu vào, thường vi sai lỗi hay bị. Khám tổng quát chân các linh kiện xem có bị rỉ sét nhiều không?
-
Channel: Điện thanh
30-07-2026, 15:24 -
-
bởi dinhthuong92Mạch này hiệu suất ra led đạt khoảng 90.7% tại 12V in, 40W out.
-
Channel: Nguồn!
27-07-2026, 10:15 -
-
bởi dinhthuong92Có lẽ nguồn viết bài này chỉ mang tính định tính để nói rằng cần thay đổi tổng trở tải để có Pmax chứ trình bày chưa chi tiết và thấu đáo một cách định lượng. Công thức tổng quát phải có mặt L mới được, và nói là "tổng...
-
Channel: Nguồn!
27-07-2026, 10:09 -

Comment