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
-
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
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
-
bởi Manh.n.trCác bác cho em hỏi cách điều chế xung răng cưa sang xung vuông với ạ. Em đang thấy khó ạ...
-
Channel: Kỹ thuật điện tử tương tự
13-12-2024, 20:46 -
-
Trả lời cho hỏi về thiết kế mạch tuần tự trên proteusbởi Hatruong1309
-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
-
bởi Hatruong1309Cho e hỏi là phần chân X thì nối cái j thì mạch mới chạy được ạ và kiểm tra đúng sai kiểu j ạ
Đề bài thiết kế mạch dãy đồng bộ nhận biết dãy tín hiệu vào ở dạng nhị phân được đưa liên tiếp ở đầu vào X và được đồng...-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
Comment