1.软件配置
新建工程.ewp,添加文件main.c,保存工作空间eww.
工程设置 Options:
General Options:Device MSP430F149.
Linker: Output--Override default
--board_test.txt
Other --Output msp430-txt
Debugger:Driver Simulator
编译链接 Compile,Make
BSL下载 MSPFET SETUP
BSL:Port COM3
Patch to v1.50 True
38400 baud false
keep port open false
TST invert True
RST invert True
Auto
2.控制电路解释
74HC573:通常用于IO复用的操作。
74LVC4245:用于点评状态转换,3.3V与5V之间。DIR为低电平则3.3V到5V,DIR为高电平反之。
74LV595:用于串并转换,控制多个芯片的使能。SER为输入的串行数据,SRLCK为串行时钟,RCLK为输出跳变时钟。
- #define Ctr_out P3DIR |= BIT3+BIT6+BIT7
- #define Ctr_0 P3OUT & = ~(BIT3+BIT6+BIT7)
- #define SRCLK_1 P3OUT |=BIT7
- #define SRCLK_0 P3OUT &=~BIT7
- #define SER_1 P3OUT |= BIT6
- #define SER_0 P3OUT &= ~BIT6
- #define RCLK_1 P3OUT |= BIT3
- #define RCLK_0 P3OUT &= ~BIT3
- void BoardConfig(uChar cmd)
- {
- Ctrl_out;//P3设为输出
- Ctrl_0;//输出为0
- for(i=0;i<8;i++)
- {
- SRCLK_0;
- if(cmd&0x80) SER_1;//检查cmd的最高位是不是1,是则置位SER
- else SER_0;
- SRCLK_1;//得到一个SER的串行值之后SRCLK的上升沿跳变锁存该数据
- cmd<<1;//cmd向左移位,检查次高位
- }
- RCLK_1;//一个字节之后更新这组串行数据
- _NOP();RCLK_0;
- }