Tải bản đầy đủ (.pptx) (19 trang)

BC VXL mạch đếm và phân loại sảm phẩm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (737.72 KB, 19 trang )

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 về MCU msp430g2152
• Sơ đồ khối
• Mach nguyên lý
• Kết quả đạt được


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 về MCU msp430g2152


Timer_A0



Timer_A0


Sơ đồ khối


Lưu đồ


Mô Phỏng
11

R1
1k

2
3
4
5
6
7
8

Q1
PNP

10


Q2

R2

PNP

1k

2
3
4
5
6
7
8

R3
10k

U1
2
3
4
5
6
7
8

13
14

15
16
17
18
19
20
6
5

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

8

9
10
11
12
3

7
1

10
11

?
?

0
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

2
3
4
5
6
7
8

2
3
4

5
6
7
8

U1
2
3
4
5
6
7
8

13
14
15
16
17
18
19
20
6
5

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

8
9
10
11
12
3

10
11
PCO

7
1

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 chỉ thị tới một hoặc nhiều ngắt.
Khai báo bằng chỉ thị tiền xử lý
• # pragma vetor = (địa chỉ của các véc tơ ngắt).


Các linh kiện sử dụng trong mạch






Msp430g2152
Transistor pnp, điện trở 220R, 4k7,
74hc14 làm cổng đệm
Led 7seg
Và một 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 hiện 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 quả
Kiến thức của em có hạn:
Mạch chạy được phần đếm,
Phân loại chưa phân loại được
Cảm ơn thầy và các bạn




×