Báo cáo đồ án vi xử lý Thiết kế hệ thống mạch đếm sản phẩm tự động dùng MCU msp430 Giáo viên hướng dẫn: ThS TRẦN HỮU DANH Sinh viên thực hiện: HOÀNG VĂN KIÊN ĐOÀNG HOÀNG DƯ LÂM VĂN KHẢI 1080858 10808 10808 Nội dung báo cáo • Giới thiệu LaunchPad Development Board • Giới thiệu phần mền CCS (Code Composer Studio v4 Core Edition) • Sơ lược MCU msp430g2152 • Sơ đồ khối • Mach nguyên lý • Kết đạt LaunchPad Development Board USB Emulator Connection Embedded Emulation 6-pin eZ430 Connector Crystal Pads Chip Pinouts Part and Socket P1.3 Button Power Connector LEDs and Jumpers P1.0 & P1.6 Reset Button Lab … PHẦN MỀM CCS PHẦN MỀM CCS Sơ lược MCU msp430g2152 Timer_A0 Timer_A0 Sơ đồ khối Lưu đồ Mô Phỏng 11 R1 1k Q1 PNP 10 Q2 R2 PNP 1k R3 10k U1 13 14 15 16 17 18 19 20 P1.0/TACLK P2.0/ACLK P1.1/TA0 P2.1/INCLK P1.2/TA1 P2.2/CAOUT/TA0 P1.3/TA2 P2.3/CA0/TA1 P1.4/SMCLK/TCK P2.4/CA1/TA2 P1.5/TA0/TMS P2.5/ROSC P1.6/TA1/TDI/TCLK P1.7/TA2/TDO/TDI XIN XOUT MSP430F1121 RST/NMI TEST 10 11 12 10 11 ? ? 0 motor motor_phan loai dem cb phan loai Mạch Nguyên Lý R1 11 Q1 PNP 10 1k Q2 R2 R3 PNP 4.7K 1k 8 U1 13 14 15 16 17 18 19 20 P1.0/TACLK P2.0/ACLK P1.1/TA0 P2.1/INCLK P1.2/TA1 P2.2/CAOUT/TA0 P1.3/TA2 P2.3/CA0/TA1 P1.4/SMCLK/TCK P2.4/CA1/TA2 P1.5/TA0/TMS P2.5/ROSC P1.6/TA1/TDI/TCLK P1.7/TA2/TDO/TDI XIN XOUT RST/NMI TEST 10 11 12 10 11 PCO MSP430F1121 PC0 C1 10 RL3 5V 1N4148 R11 1k A 3r K LED R20 A 47k LEDP5 K A LED-RED K LED Q1 C1815 LEDP5 R21 330r U1:E LEDT5 74HC14 11 R2 U1:E LEDT5 74HC14 11 D5 10 1nP K A LED-RED R20 47k R21 330r 6) interrupt • • • • • 6) interrupt Ví dụ: #pragma vector = 0x14 interrupt void my_interrupt_handler(void); Là hàm dùng thị tới nhiều ngắt Khai báo thị tiền xử lý • # pragma vetor = (địa véc tơ ngắt) Các linh kiện sử dụng mạch • • • • • Msp430g2152 Transistor pnp, điện trở 220R, 4k7, 74hc14 làm cổng đệm Led 7seg Và số linh kiện phụ Gọi ngắt • CCTL0 = CCIE; // CCR0 interrupt enabled • CCR0 = 10000; // cycles to overload,TACCRO,CCRO, TACCR0 TACCIFG • TACTL = TASSEL_2 + MC_1; // SMCLK, upmode • _BIS_SR(GIE); // interrupt So sánh phát sp • while(1) • { • if ((1 & _P2_IN->_BIT.b5)) • { Delay(20000); • while((1 & _P2_IN->_BIT.b5)) {}; • { • _P2_OUT->_BIT.b3 = 1; • } • } • • if ((1 & _P2_IN->_BIT.b4)) //co san pham di qua • { Delay(20000); • while((1 & _P2_IN->_BIT.b4)) {}; // doi san pham di qua het Đổi mã hex • { i++; • mDigit[1] = To7Seg(i/10,0); • mDigit[0] = To7Seg(i%10,0); • _P2_OUT->_BIT.b3 = 0; • if(i>=99) • { • i=0; • } • #pragma vector=TIMER0_A0_VECTOR // #pragma vector=TIMERA0_VECTOR(msp430) • // sua lai TIMER0_A0_VECTOR • interrupt void Timer_A (void) • { • switch(mDigNo) • { • case 0: • _P2_OUT->_BIT.b0 =1; • _P2_OUT->_BIT.b1 = 0; • //TACCR0 = TACCR0 + 10000; • //_P2_OUT->_BYTE =~0x01; • break; • case 1: • _P2_OUT->_BIT.b1 = 1; • _P2_OUT->_BIT.b0 = 0; • //TACCR0 = TACCR0 + 10000; • //_P2_OUT->_BYTE =~0x02; • break; • } • P1OUT = mDigit[mDigNo]; • Kết Kiến thức em có hạn: Mạch chạy phần đếm, Phân loại chưa phân loại Cảm ơn thầy bạn ... //_P2_OUT->_BYTE =~0x02; • break; • } • P1OUT = mDigit[mDigNo]; • Kết Kiến thức em có hạn: Mạch chạy phần đếm, Phân loại chưa phân loại Cảm ơn thầy bạn ... vetor = (địa véc tơ ngắt) Các linh kiện sử dụng mạch • • • • • Msp430g2152 Transistor pnp, điện trở 220R, 4k7, 74hc14 làm cổng đệm Led 7seg Và số linh kiện phụ Gọi ngắt • CCTL0 = CCIE; // CCR0... P1.7/TA2/TDO/TDI XIN XOUT MSP430F1121 RST/NMI TEST 10 11 12 10 11 ? ? 0 motor motor_phan loai dem cb phan loai Mạch Nguyên Lý R1 11 Q1 PNP 10 1k Q2 R2 R3 PNP 4.7K 1k 8 U1 13 14 15 16 17 18 19 20 P1.0/TACLK P2.0/ACLK