Em đang làm đồ án vi xử lý msp430 ạ. Em đang cần biến đổi ADC10 cùng lúc cho nhiệt độ và độ ẩm hiển thị lên LCD. Mà thầy bận quá nên chỉ kịp dạy biến đổi 1 kênh thôi(1 kênh cũng dễ) . Tuy trong sách có viết nhưng đọc ko hiệu ạ. Nhờ các cao nhân trợ giúp với, em cảm ơn. Dưới là đoạn code của em. Viết nó vẫn chạy nhưng độ ẩm mà thay đổi là nhiệt độ cũng đôi theo luôn. em đã mò suốt 3 ngày rồi mà ko ra
Thông báo
Collapse
No announcement yet.
Biến đổi ADC 2 kênh dùng MSP430
Collapse
X
-
#include "msp430g2553.h"
#include "LCDP1.h"
void adcnhiet(void) ///bien doi adc kenh 6 luu vao bien 'nhiet' hien thi lcd
{ float nhiet1;int nhiet;
ADC10CTL0 &=~ ENC;
while(ADC10CTL1 & BUSY);
ADC10CTL1 = INCH_6 + CONSEQ_2;//kenh A6
ADC10AE0 |= 0x40;//P1.6
ADC10CTL0 |= ENC + ADC10SC;//bat dau chuyen doi adc
__bis_SR_register(CPUOFF + GIE);
nhiet1 = (float)((ADC10MEM*3.3*100)/1023);
nhiet = (int)nhiet1/1;
if(nhiet<30)
P2OUT |= BIT0;
else
P2OUT &=~ BIT0;
lcd_gotoxy(10,0);
lcd_3n(nhiet);
}
void adcam(void) ///bien doi adc kenh 7 luu vao bien 'doam' hien thi lcd
{ float doam1; int doam;
ADC10CTL0 &=~ ENC;
while(ADC10CTL1 & BUSY);
ADC10CTL1 = INCH_7 + CONSEQ_2;//kenh A7
ADC10AE0 |= 0x80;//P1.7
ADC10CTL0 |= ENC + ADC10SC;//bat dau chuyen doi adc
__bis_SR_register(CPUOFF + GIE);
lcd_gotoxy(7,1);
doam1 = (float)(100-(ADC10MEM-400)/6);
doam = (int)doam1/1;
if(doam>100) doam=100;
lcd_3n(doam);
}
//////////////////////////////////////
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
P1DIR |= BIT2 + BIT3 + BIT4 + BIT5 + BIT0 + BIT1 ;//port 1 ngo ra
P2DIR |= BIT0;
lcd_init();//khoi tao lcd
lcd_clear();//xoa man hinh lcd
lcd_gotoxy(0,0); lcd_puts("Nhiet do: ");
lcd_gotoxy(13,0); lcd_puts("'C");
lcd_gotoxy(0,1); lcd_puts("Do am: ");
lcd_gotoxy(10,1); lcd_puts("%");
//khoi tao adc10 voi thoi gian lay mau va giu mau la 16*ADC10clock, chon dien the tham chieu noi avcc=3.3V, bat ADC10, cho phep ngat ADC10
ADC10CTL0 = ADC10SHT_2 + REFON + ADC10ON + ADC10IE;
__delay_cycles(30);
while(1)
{
adcnhiet();
adcam();
__delay_cycles(1000000);
}
}
//chuong trinh con phuc vu ngat
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{__bic_SR_register_on_exit(CPUOFF);}
Bài viết mới nhất
Collapse
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi thebinhzChắc là không được đâu bạn ơi
Quán ăn Vĩnh Yên-
Channel: Điện tử công suất
Hôm qua, 21:56 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi thebinhzCảm ơn bạn nhiều nha
Nhà hàng Vĩnh Yên-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 21:50 -
-
bởi chinhnguyen9Sản phẩm này ghi version 2.0 01-2024 MADE IN CHINA nhưng không thấy thương hiệu hình 1
Do 8 chân G của mosfet được đấu song song thành 2 nhóm nên có cùng biên độ xung kích. Nhưng Q1 và Q2 nằm cuối dãy B3;B4 ờ mức nguồn cao nhất do chân Q có điện áp...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 08:29 -
-
bởi chinhnguyen9
Xem hình có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ....-
Channel: Hướng dẫn sử dụng diễn đàn
24-04-2024, 01:15 -
-
Trả lời cho CODE/ROM-dvb-vcd-dvd-mindikaraoke- Máy nạp Rombởi ThaPhong20Mình cần giúp đõ đầu California MIDI-800K
Ngày trc có nghe tin đồn đầu này có thể chạy đĩa DH-3600 nên mua Vol 26 về chạy thử và nó báo góc trái dòng code rồi tự thay nền DH-3600S luôn. Sau khi tự thay nền thì nó tiếp tục báo dòng Code...-
Channel: Thiết bị thu phát MEDIA dân dụng
23-04-2024, 19:24 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi N.T.HIRF460 có chịu được tải 1000W công suất thực không ạ....
-
Channel: Điện tử công suất
23-04-2024, 16:05 -
-
bởi chinhnguyen9Trước đây có thế hệ mạch cân bằng chủ động hoạt động theo nguyên lý so áp giữa 2 cell (hoặc 2 chuỗi) liền kề nếu điện áp này >100mV mach cận bằng sẽ được kích hoạt và sẽ dừng hoạt động cân bằng khi độ chênh điện áp giảm xuống còn 30 mV
Hiện nay có dòng sản phẩm mới gọi là...-
Channel: Hướng dẫn sử dụng diễn đàn
23-04-2024, 07:26 -
-
Trả lời cho Hỏi về mạch công suất bị dò DCbởi vandoanĐiện áp ở A và C được ghim bởi Transistor Q8. chuyện áp ra loa + hay - là do các trans khác bị chập chập bên nào thì thay bên đó.
-
Channel: Điện thanh
20-04-2024, 12:00 -
-
bởi jigokushoujoCó anh chị nào có thể cho em 1 mạch chống ngược cực, chập mạch, khi bị chạm mạch hay ngược cực thì nó sẽ tự động ngắt nguồn,khi không còn chạm thì nó sẽ đóng nguồn lại bình thường. Em có dùng nguồn 12V 75A từ ắc quy . Em cần chụi...
-
Channel: Điện tử dành cho người mới bắt đầu
18-04-2024, 18:24 -
Comment