好文档 - 专业文书写作范文服务资料分享网站

电子教材-MSP430单片机电子教程

天下 分享 时间: 加入收藏 我要投稿 点赞

MSP430单片机的开发及应用

RESET MOV #SFE(CSTACK),SP /*初始化堆栈指针*/

MOV #(WDTHOLD+WDTPW),&WDTCTL /*停止看门狗定时器*/ MOV.B #02EH,&UTCTL1 / *选定时钟源*/ MOV.B #043H,&UBR01 /*确定分频因子*/ MOV.B #003H,&UBR11 MOV.B #000H,&UMCTL1

BIS.B #030H,&P5DIR /*初始化端口功能为外设*/ BIS.B #030H,&P5SEL

MOV.B #040H,&BCSCTL1 /*转换时钟*/ BIC #OSCOFF,SR PUSH #050H LOOP DEC 0(SP)

JNZ LOOP BIC.B #OFIFG,&IFG1 MOV.B #088H,&BCSCTL2 MOV.B #000H,&P3DIR MOV.B #0FFH,&P3SEL MOV #0200H,R6 EINT

MOV.B #URXE1,&ME2 /*USART0 MOV #GIE,SR

MOV.B #URXIE1,&IE2 MOV.B #020H,&UTCTL1 BIC.B #URXSE,&UTCTL1 BIS.B #URXSE,&UTCTL1

MOV.B #010H,&UCTL1 /* MOV.B #008H,&URCTL1

MOV.B #043H,&UBR01 /* MOV.B #003H,&UBR11 MOV.B #000H,&UMCTL1

MOV.B #URXIE1,&IE2 /* EINT

URT MOV.B #URXIE1,&IE2

JMP URT /*RECEI MOV.B &U1RXBUF,0(R6) /* MOV.B #000H,&IE2 /* RETI /* COMMON INTVEC /* ORG UART1RX_VECTOR DW RECEI

ORG RESET_VECTOR DW RESET END

3 Eerom.s43程序:

#include \

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 /* CALL #SONG1 /* CALL #SONG10 /* CALL #SONG00 /* CALL #SONG00 CALL #SONG00 RET

XIE CALL #CUSHIHUA /* CALL #SONG00 /* CALL #YINDA /* CALL #SONG1 /* CALL #SONG10 CALL #SONG00 CALL #SONG00 CALL #SONG00 CALL #SONG00 CALL #SONG00 CALL #SONG00

CALL #YINDA /* CALL #SONG1 /* CALL #SONG11 /* CALL #SONG10 CALL #SONG00 CALL #SONG1 CALL #SONG11 CALL #SONG10 CALL #SONG00

CALL #YINDA /* MOV.B #060H,&P4DIR /* MOV.B #000H,&P4OUT /* CALL #TINGZHI /* RET /*DU CALL #CUSHIHUA /* CALL #SONG00 /* CALL #YINDA /* CALL #SONG1 /* CALL #SONG10 CALL #SONG00 CALL #SONG00 CALL #SONG00

西安邮电学院63# 710061 调用1后的送0子程序*/ 调用0后的送1子程序*/ 调用1后送0子程序*/

调用0后送0子程序*/ 调用初始化子程序*/

为写,因此送0*/

送完地址字节10100000,等待应答*/ 送选定的地址10000000*/ 送完选定的地址字节后为等待应答*/ 送数据11001100到指定的地址*/ 调用1后送1 的子程序*/ 等待应答*/

应答后SDA数据线应为输出状态*/

输出数据线SDA和SCL都为低,便于停止位的执行*/ 调用停止子程序*/ 写完后返回*/

读子程序,调用初始化子程序,选芯片地址为1010000*/

先送写信号为0*/ 送完为等应答*/

送选中的地址为10000000*/ 陈小忠 27

MSP430单片机的开发及应用

CALL #SONG00 CALL #SONG00 CALL #SONG00

CALL #YINDA /*送完地址,等待应答*/ MOV.B #000H,&P4OUT /*应答完,转为输出方式*/ MOV.B #060H,&P4DIR

CALL #QIDONG1 /*又启动*/

CALL #SONG1 /*送选中的地址1010000*/ CALL #SONG10 CALL #SONG1 CALL #SONG10 CALL #SONG00 CALL #SONG00 CALL #SONG00

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 MOV.B #060H,&P4OUT /*启动子程序,是在非忙时当SCL 为高,SDA由1到0跳变*/

MOV.B #060H,&P4DIR MOV.B #060H,&P4OUT MOV.B #040H,&P4OUT RET

QIDONG1 /*是在由读转为写时的启动信号*/

MOV.B #060H,&P4DIR MOV.B #060H,&P4OUT MOV.B #040H,&P4OUT RET

SONG1 MOV.B #060H,&P4DIR /*在上一个时刻是0时的送1子程序*/

MOV.B #000H,&P4OUT MOV.B #020H,&P4OUT MOV.B #060H,&P4OUT CALL #WAIT1 RET

SONG11 MOV.B #020H,&P4OUT /*在上一个时刻是1时的送1子程序*/

MOV.B #060H,&P4DIR MOV.B #060H,&P4OUT CALL #WAIT1 RET

SONG10 MOV.B #060H,&P4DIR /*在上一个时刻是1时的送0子程序*/

MOV.B #020H,&P4OUT MOV.B #000H,&P4OUT MOV.B #040H,&P4OUT

西安邮电学院63# 710061 陈小忠 28

MSP430单片机的开发及应用

CALL #WAIT1 RET

SONG00 MOV.B #060H,&P4DIR /*在上一个时刻是0时的送0子程序*/

MOV.B #000H,&P4OUT MOV.B #040H,&P4OUT CALL #WAIT1 RET

WAIT1 MOV #50H,R5 /*延时子程序*/ WW SUB #1,R5

JZ FAHUI JMP WW FAHUI RET

YINDA MOV.B #000H,&P4OUT /*应答子程序,时序见论文*/

MOV.B #020H,&P4OUT MOV.B #040H,&P4DIR MOV.B #040H,&P4OUT CALL #WAIT1 RET

TINGZHI MOV.B #000H,&P4OUT /*停止子程序,时序见论文*/

MOV.B #040H,&P4OUT MOV.B #060H,&P4OUT RET

DUSHU MOV.B #000H,&P4OUT /*读数子程序,时序见论文*/

MOV.B #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 MOV.B #040H,&ADC12MCTL0 BIS #00004H,&ADC12CTL1 MOV.B #000H,&P6DIR MOV.B #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 in the control of industry to realize low power and low radiation and low pollution . 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单片机电子教程

MSP430单片机的开发及应用RESETMOV#SFE(CSTACK),SP/*初始化堆栈指针*/MOV#(WDTHOLD+WDTPW),&WDTCTL/*停止看门狗定时器*/M
推荐度:
点击下载文档文档为doc格式
8w1t87nk5h5gf8x599kk
领取福利

微信扫码领取福利

微信扫码分享