MSP430 MSP430 0002 63# 710061 2003 7 63# 710061 1
MSP430 MSP430 F149 MSP430F149 P USART MSP430F149 485 232 PWM 63# 710061 2
MSP430 MSP430 16 FLASH,, 16, 64K,, 16 14 12 6 P USART DCO, 8M FLASH,, JTAG FET(FLASH EMULATION TOOL),, 100mw ( 14mA ),,, MSP430,, DSP,, MSP430, MSP430,,, MSP430 F149 MSP430, F149 1 : EW23,,, C SPY,,,, : 63# 710061 3
MSP430 (1),, ( ), (2), C SPY, project options xlink include ( )xcl $TOOLKIT_DIR$\icc430\msp430F149Axcl, C SPY drive simulator FLASH EMULATION TOOL, 430 simulator, 430, FLASH EMULATION TOOL (3) 430 C,, (4) C SPY, Control Reatime (5), 58 /,, 2 : JATG F149 RST TCK TDI TDO TMS,, 1, 0FFFEH,,,, JATG,, F149, F149 DCO,, 0FFFE PC,PC,, 18v, 3v,, RST 63# 710061 4
MSP430 MSP430,, 1 #include 2, : #include "MSP430x14xh" /*,, RSEG UDATA0 /* 0200H, 0200H 09FFH DS 0 /*, 0, DS N, N, (0200+N)H ADINPUT EQU 00200H /* 0200H ADINPUT, 0200H ADINPUT,, : A DW 5H /* A 5H,,, RSEG CSTACK /* DS 0 /* 0H, RSEG CODE /* 1 DS 0 /* 1 RESET /*,, MOV #SFE(CSTACK),SP MOV #(WDTHOLD+WDTPW),&WDTCTL /* /* ( ) COMMON INTVEC /* /* ORG XXX 1 / *XXX1 1 DW YYY1 /*YYY, ORG XXX2 /* XXX2 2/ DW YYY2 /*YYY2, ORG RESET_VECTOR /*,, DW RESET /* END /* 3 :,,,CALL # 1 63# 710061 5
MSP430 MOV #(WDTHOLD+WDTPW),&WDTCTL WDTCTL WDTHOLD WDTPW 4 EQU = SET VAR ASSIGN = EQU SET VAR ASSIGN DB DW AA DB 2H /* 2H AA 2H AA MSP430F149 MSP430F149 MSP430 PC SR GIE EINT IFG RETI 1 MSP430 64K 63# 710061 6
MSP430 0H 0FH 010H 0100H 0200H 9FFH 0A00H FC0H 10FFH FFE0H-- SFR 0FFH 01FFH RAM FFFFH 8 16 0FBFH 1100H FFDFH IE IFG I/O TIMER FLASH FLASH MEM ADC ROM 200H 100 MAIN MOV #0200H,R6 /* 200H R5, R5( ) MOV #100,R4 /* 100 LOOP1 MOVW 0(R6),R5 /* ADD #2,R6 / * ; / * MOVW R5,0(R6) / * SUBB #1,R4 /* 100 CMP #0,R4 JNZ LOOP1 R5 200H 100 200H CPU, CPU,,,CPU,,, : ( ) MOV #138H,R4 MOV #-45H,&MPYS MOV #35H,0(R4) MOV RESLO,R5 /* 2 138H, /*, MPYS /* /* R5 63# 710061 7
MSP430 MOV RESHI,R6 /* R6 MOV SUMEXT,R7 /* R7 R7 R6 R5-45*35 FFFFFFFFF1B7H 1, P MSP430F149 6 8 P P1 P2 16 P P P P P 24WCXX 8563 I 2 C P P MAIN MOV #SFE(CSTACK),SP /* MOV #(WDTHOLD+WDTPW),&WDTCTL/* LOOP2 BIS #GIE,SR /* EINT /* MOVB #000H,&P1DIR /* P1 MOVB #000H,&P1SEL /* P1 P MOVB #002H,&P1IE /*P11 MOVB #000H,&P1IES /* P11 JMP LOOP2 /* /* LOOP1 MOVB #001H,&P1DIR /* P10 MOVB #001H,&P1OUT /* P10, MOVB #000H,&P1IE /* PC MOVB #000H,&P1OUT /* P10, RETI /* COMMON INTVEC /* ORG PORT1_VECTOR DW LOOP1 /* LOOP1 END P11,PC LOOP1,,P0,,, 63# 710061 8
MSP430 MSP430 16 16 2 F149 MSP430F149 PWM PWM 1 P P, Reset, MOV #SFE(CSTACK),SP /* MOV #(WDTHOLD+WDTPW),&WDTCTL/* MOV #GIE,SR /* MOVB #004H,&P1SEL /* A A1 MOVB #000H,&P1DIR /* MOV #0FFFFH,&CCR0 /* FFFFH MOV #000H,&CCR1 /* 0 MOVB #004H,&P2DIR /*, MOVB #01CH,&P2SEL /* MOVB #0FFH,&P3DIR /* P3 63# 710061 9
MSP430 MOVB #000H,&P3SEL /* P MOVB #0FFH,&P3OUT /* EINT /* LOOP1 MOVB #00CH,CACTL1 /* 0, MOVB #00FH,CACTL2 /* 1,,, MOV #08930H,&CCTL1 /* A A1 CCR1 MOV #002D2H,&TACTL /*, MOVB #000H,&P3DIR /*, CCR1 JMP LOOP1 CCR BIC #0FF0FH,&TACTL /* MOV &CCR1,R5 /* R5, I/O JMP CCR /* COMMON INTVEC ORG TIMERA1_VECTOR DW CCR /* ORG RESET_VECTOR DW Reset END, : : vcc vp VCC VCP CCR1 CCR1 CCR1 1 2 3 25 20 628 45BH 459H 45CH 45BH 09K 09K 63# 710061 10
MSP430 25 20 628 466H 466H 463H 465H 1K 101K :R =R *(N /N ) (,N ) :,,,,,,,, DCO,,,,, PWM,, PWM, : : PWM CCR0 RAM 0 1, CCR0 CCR0 2 63# 710061 11
MSP430 #include "msp430x14xh" RSEG UDATA0 DW RSEG CSTACK DS 0 RSEG CODE DS 0 Rese MOV #SFE(CSTACK),SP /* 450,50,350,150,250,250,150,350,50,450/* 200 H MOV #(WDTHOLD+WDTPW),&WDTCTL /* MOVB #0FFh,&P1SEL /* MOVB #0FFH,&P1DIR /* MOV #030H,&CCR0 /* CCR0 BIS #GIE,SR /* MOV #0200H,R6 /* R6 MOV #10,R4 /* 10 MOV #0090H,&CCTL0 /* CCR0 4 MOV #002E0H,&TACTL /* TA0 EINT /* JMP TA0 /* TAR=CCR0 CMPS BIC #0FFCFH,&TACTL /* ADD 0(R6),&CCR0 /* ADD #2,R6 /* 2 R6 SUBB #1,R4 /* JNZ LOOP1 /* MOV #0200H,R6 /* MOV #10,R4 LOOP1 MOV #002E0H,&TACTL /* RETI /* COMMON INTVEC ORG TIMERA0_VECTOR /* A 0 DW CMPS ORG RESET_VECTOR END DW Reset 1 LOOP1 CMPS 63# 710061 12
MSP430 SUBB #1,R4 /* JNZ LOOP1 /* MOV #0200H,R6 /* MOV #10,R4 LOOP1 MOV #002E0H,&TACTL /* RETI 2 CCR0 CCR1 CCR2 CCR0 CCR1 CCR2 3 0 CCR0 4 256 8 AD 10 5 A CCR0 CCR1 CCR2 PWM MAX 2KHZ 8MHZ 05% : T T MSP430F149, DCO, 1, 1042KHZ;,, 8MHZ,8M,,,,, 63# 710061 13
MSP430, 149,,, MAIN MOV #SFE(CSTACK),SP / * MOV #(WDTHOLD+WDTPW),&WDTCTL/* BISB #010H,&P5DIR /* BISB #010H,&P5SEL /* BISB #000H,&BCSCTL2 /* 1,DCO MCLK /* 48 1000KHZ, 1:1, BCSCTL2,,, USART MSP430F149, USART RS202 RS485, MSP430F149, RS202 RS485 MSP430, MSP430,,,MSP430,,,,,, RS202,,, MSP430,, =BRCLK/(UBR+(M7+M6+M5+M4+M3+M2+M1+M0)), BRCLK,UBR,, M7,M6,M5,M4,M3,M2,M1,M0, UMCTL,,,, 63# 710061 14
MSP430 URB M0, UBR M1, 0 1 05 1 05 0 1 MSP430, 1,,,, 1,,,, 2,, 33V,,, MSP430F149 14 12 A/D, 8,3,1,,, 63# 710061 15
MSP430 A/D, A/D, A/D :,,,,, A/D 1, : 1 MSP430F149,, 13 ADC12CLK 0 2, ADC12CTL0 ENC ADC12SC 1 ADC12CTL0 3 NADC=4095* Vin Vr- / Vr+ Vr- 1 4 5 0v A/D PCB MSP430F149 63# 710061 16
MSP430 F149 1 2 8 A/D 3 JATG PWM MSP430F149 232 485 0mA 4mA rzx r11x, d11x d11x rzx d11x,, 05, 6v 0mA ( 0mA 0), 63# 710061 17
MSP430 P14, Qve1, 0v, 0mA 0, 4mA ( 4mA 0), P14, Qve1, Rve1 Rve2, Rve1 Rve2 13:2, 035v, : 1, 100,,, A/D 2, A/D,,, 3, 220v A/D, A/D, P14, DT1 T1, TRIAC, 0v JK1 3 4 3 4 0v TR U 220v 0v 0v P44 63# 710061 18
MSP430,,, 8563 24WCxx, I 2 C, P46 SCL,P45 8563 32767HZ R32 R31 8563 24WCxx 1010000 8563 1010011 1010010 I 2 C A B D D C scl sda A B C D / sda S 1010000R/ P W eeroms43 10000000 10101010 10101010 8563 I 2 C 63# 710061 19
MSP430 485 232 485 232 MAX202E MAX485 MAX202-15v~+15v 0~5v, 20K, 500mA, TTL EIA, MAX202, MAX202 5v, 430 3v, RM3 RM4, 430 MAX202, RM3 RM4 2 3 3v, RM3 RM4 2 3 :RS 232-3v -15v 1 +3v +15v 0 RS 485 RU4 5v CM1 RC7 P1 0 1 CM1 RC7 MAX485 RM1 RM2 RM3 RM4 MAX232 MAX485 430 USART1 USART0 430 MSP430 MAX 202 USART1 1 0 3v -15v~+15v 63# 710061 20
MSP430 P 8M 8, 1,,, ASCII,, USARTS43, : ( 8M ) Ubr11 Ubr01 Umctl1 ( ) ASCII 1 003H 043H 000H 835 9580838 9600 02% 31H 1 2 00DH 005H 005H 333333 239994 2400 001% 32H 2 3 001H 0A1H 003H 41667 1919948 19200 001% 33H 3, =(8M/ ), =( )/( ), 430, : 1, FFH,, 31H, 1 2,, USARS43, : 1 2, 63# 710061 21
MSP430 : MSP430,,, 18v 33v, 3v, 78v, VIN 78v, Dv2 7,8v, 78v 3v,, L4940V5( vt1) 78v 5v, MSP430 AT3221( vt33) 5v 3v, 12v 24v,,, 5v :,P12, Qv5, 6, 5, 3 4 ( 1 2 ),, 5, 1 2, 1 2, 78v, Dv2,, : mclk, Qv3 Qv4, L1 (Qv3 Qv4 ), DV6 powout(con2) 12v 24v : L4940V5 :78v, :5v AT3221 :5v, :3v :3 4 :1 2 powin CON4 dd1 78v, dd2 vt2 24v 24v 12v,, MSP430, LFXT1, XT2,, LFXT1 32767HZ,XT2 8M,, 63# 710061 22
MSP430, MCLK SMCLK XT2, 8M,, XT2, 8M, : ( ) BISB #030H,&P5DIR BISB #030H,&P5SEL /* mclk smclk /* mclk smclk BIC #OSCOFF,SR PUSH #050H /* LOOP DEC 0(SP) /* DCO XT2 JNZ LOOP MOVB #088H,&BCSCTL2 /* XT2 8M PWM,,, 8M, : RSEG UDATA0 DW 450,50,400,100,350,150,300,200,250,250,200,300,150,350,100,400,50,450 DW 150,350,100,400,150,350,200,300,250,250,300,200,350,150,400,100,450,50 36,36, : 9:1 1:1 1:9 1:1 9:1 1:1 1:9 1:1 63# 710061 23
MSP430 : 1 8M 247K 455NF 1v, 800HZ 2 8M 220K 455NF 13v, 800HZ 3 8M 200K 455NF 14v, 800HZ 4 DCO 247K 455NF 1v, 800HZ 5 DCO 220K 455NF 13v, 800HZ (,, ): 1v,, 800Hz,,,, 5:30,,, JK1 3 4 P1 4 : 1 MSP430 FLASH 16 2 63# 710061 24
MSP430 1USARTs43 #include "MSP430x14xh" RSEG UDATA0 /* DS 0 RSEG CSTACK /* DS 0 RSEG CODE /* 1 DS 0 RESET MOV #SFE(CSTACK),SP /* MOV #(WDTHOLD+WDTPW),&WDTCTL /* BISB #030H,&P5DIR /* 8M BISB #030H,&P5SEL BIC #OSCOFF,SR PUSH #050H LOOP DEC 0(SP) /* JNZ LOOP BICB #OFIFG,&IFG1 MOVB #088H,&BCSCTL2 MOVB #040H,&P3DIR MOVB #0FFH,&P3SEL EINT /* URT MOVB #UTXE1,&ME2 /*USART0 MOV #GIE,SR /* MOVB #010H,&UCTL1 /* MOVB #02EH,&UTCTL1 /* MOVB #043H,&UBR01 /* MOVB #003H,&UBR11 MOVB #000H,&UMCTL1 /* MOVB # UTXIE1,&IE2 /*USART0 MOVB #032H,&U1TXBUF /* JMP URT /* * / FASONG MOVB #032H,&U1TXBUF /* JMP FASONG /* RETI /* COMMON INTVEC ORG UART1TX_VECTOR /* DW FASONG ORG RESET_VECTOR DW RESET END 2 Usars43 #include "MSP430x14xh" RSEG UDATA0 DS 0 RSEG CSTACK DS 0 RSEG CODE DS 0 63# 710061 25
MSP430 RESET MOV #SFE(CSTACK),SP /* MOV #(WDTHOLD+WDTPW),&WDTCTL /* MOVB #02EH,&UTCTL1 / * MOVB #043H,&UBR01 /* MOVB #003H,&UBR11 MOVB #000H,&UMCTL1 BISB #030H,&P5DIR /* BISB #030H,&P5SEL MOVB #040H,&BCSCTL1 /* BIC #OSCOFF,SR PUSH #050H LOOP DEC 0(SP) JNZ LOOP BICB #OFIFG,&IFG1 MOVB #088H,&BCSCTL2 MOVB #000H,&P3DIR MOVB #0FFH,&P3SEL MOV #0200H,R6 EINT MOVB #URXE1,&ME2 /*USART0 MOV #GIE,SR MOVB #URXIE1,&IE2 MOVB #020H,&UTCTL1 BICB #URXSE,&UTCTL1 BISB #URXSE,&UTCTL1 MOVB #010H,&UCTL1 /* MOVB #008H,&URCTL1 MOVB #043H,&UBR01 /* MOVB #003H,&UBR11 MOVB #000H,&UMCTL1 MOVB #URXIE1,&IE2 /* EINT URT MOVB #URXIE1,&IE2 JMP URT /* RECEI MOVB &U1RXBUF,0(R6) /* MOVB #000H,&IE2 /* RETI /* COMMON INTVEC /* ORG UART1RX_VECTOR DW RECEI ORG RESET_VECTOR DW RESET END 3 Eeroms43 #include "msp430x14xh" ORG 0FFFEH /* DW Reset RSEG UDATA0 DS 0 RSEG CSTACK DS 0 63# 710061 26
MSP430 RSEG CODE DS 0 Reset MOV #SFE(CSTACK),SP /* MOV #(WDTHOLD+WDTPW),&WDTCTL/* CALL #XIE /* DU1 CALL #DU /* JMP DU1 /* CUSHIHUA / * CALL #QIDONG /* CALL #SONG1 /* 1010000 CALL #SONG10 /* 1 0 CALL #SONG1 /* 0 1 CALL #SONG10 /* 1 0 /* 0 0 RET XIE CALL #CUSHIHUA /* /*, 0 CALL #YINDA /* 10100000, CALL #SONG1 /* 10000000 CALL #SONG10 CALL #YINDA /* CALL #SONG1 /* 11001100 CALL #SONG11 /* 1 1 CALL #SONG10 CALL #SONG1 CALL #SONG11 CALL #SONG10 CALL #YINDA /* MOVB #060H,&P4DIR /* SDA MOVB #000H,&P4OUT /* SDA SCL, CALL #TINGZHI /* RET /* DU CALL #CUSHIHUA /*, 1010000 /* 0 CALL #YINDA /* CALL #SONG1 /* 10000000 CALL #SONG10 63# 710061 27
MSP430 CALL #YINDA /*, MOVB #000H,&P4OUT /*, MOVB #060H,&P4DIR CALL #QIDONG1 /* CALL #SONG1 /* 1010000 CALL #SONG10 CALL #SONG1 CALL #SONG10 CALL #SONG1 /* 1 CALL #YINDA /* CALL #DUSHU /* 1000000 CALL #DUSHU CALL #DUSHU CALL #DUSHU CALL #DUSHU CALL #DUSHU CALL #DUSHU CALL #DUSHU CALL #TINGZHI /* RET /* QIDONG MOVB #060H,&P4OUT /*, SCL,SDA 1 0 MOVB #060H,&P4DIR MOVB #060H,&P4OUT MOVB #040H,&P4OUT RET QIDONG1 /* MOVB #060H,&P4DIR MOVB #060H,&P4OUT MOVB #040H,&P4OUT RET SONG1 MOVB #060H,&P4DIR /* 0 MOVB #000H,&P4OUT MOVB #020H,&P4OUT MOVB #060H,&P4OUT CALL #WAIT1 RET SONG11 MOVB #020H,&P4OUT MOVB #060H,&P4DIR MOVB #060H,&P4OUT CALL #WAIT1 RET SONG10 MOVB #060H,&P4DIR MOVB #020H,&P4OUT MOVB #000H,&P4OUT MOVB #040H,&P4OUT 1 /* 1 1 /* 1 0 63# 710061 28
MSP430 CALL #WAIT1 RET SONG00 MOVB #060H,&P4DIR MOVB #000H,&P4OUT MOVB #040H,&P4OUT CALL #WAIT1 RET /* 0 0 WAIT1 MOV #50H,R5 /* WW SUB #1,R5 JZ FAHUI JMP WW FAHUI RET YINDA MOVB #000H,&P4OUT /*, MOVB #020H,&P4OUT MOVB #040H,&P4DIR MOVB #040H,&P4OUT CALL #WAIT1 RET TINGZHI MOVB #000H,&P4OUT /*, MOVB #040H,&P4OUT MOVB #060H,&P4OUT RET DUSHU MOVB #000H,&P4OUT /* MOVB #040H,&P4OUT CALL #WAIT1 RET END, 4 A/D MAIN MOV #SFE(CSTACK),SP /* MOV #(WDTHOLD+WDTPW),&WDTCTL BB CALL #ADCHANGE JMP BB ADCHANG BIS #GIE,SR EINT MOV #0098H,&ADC12CTL0 MOVB #040H,&ADC12MCTL0 BIS #00004H,&ADC12CTL1 MOVB #000H,&P6DIR MOVB #0FFH,&P6SEL BIS #ENC,&ADC12CTL0 BIS #00001H,&ADC12CTL0 CLR &ADC12MEM0 RET END 63# 710061 29
MSP430 MSP430 16 FLASH A/D PWM 8M PCB MSP430 A/D USART 24WCXX 8563 PWM AAT3221 FLASH Abstract: MSP430 is a kind of Single-Chip CPU that is presented 16 bit bus and has FLASH memory Many people will like it because it has a lot of resources in the chip and it runs in high speed and high precision We use its resource and realize A/D switch correspondence between compute and Single-Chip CPU external memory to come into being PWM wave comparison and measure to enumerate and capture to come into being 8 M pulses the multiplication of hardware and so on We can use the PCB industry to realize low power and low radiation and low pollution in the control of KEYWORD:MSP430 A/D switch USART 24WCXX 8563 Comparison Enumerate Pwm Multiplication of Hardware Manager of Power Enumerate and Capture AAT3221 FLASH 63# 710061 30
MSP430 63# 710061 31