版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 MSP4301第第3章章 MSP430单片机的通用单片机的通用IO接口接口I/O口是单片机控制系统对外沟通的最基本部件,从基本的键盘、LED 显示到复杂的外设芯片等,都是通过I/O口的输入、输出操作来进行读取或控制的。为满足单片机系统对外部设备控制的需要,MSP430提供了许多功能强大、使用方便灵活的输入/输出接口。为了减少芯片引脚的数量以降低芯片的成本,又提供更多功能的I/O口,现在许多单片机都采用了I/O口复用技术,即端口可作为通用的I/O口使用,也可作为某个特殊功能的端口使用,用户可根据系统的实际需要来定义使用。这样就为设计开发提供了方便,简化了单片机系统的硬件设计工作。 第
2、第3章章 MSP4302MSP430F249单片机的每组I/O口都有4个控制寄存器,分别为方向控制寄存器 PxDIR、输入寄存器 PxIN、输出寄存器PxOUT和功能选择寄存器PxSEL,此处,小写字母“x”表示6组I/O口的数字序号,x= 16,即P1口的方向控制寄存器为P1DIR,P6口的方向控制寄存器为P6DIR。另外,P1和P2口还具有3个中断寄存器,分别为中断允许寄存器PxIE、中断沿选择寄存器PxIES和中断标志寄存器PxIFG,此处,x= 12。第第3章章 MSP4303第第3章章 MSP4304第第3章章 MSP4305Px口的每个引脚都可以单独配置成输入或者输出方向的控制。需
3、要注意的是:MSP430系列单片机端口输出电流最大为6mA,当需要驱动比较大的负载的时候,需要利用三极管或者缓冲器来提高端口的驱动能力。MSP430 单片机的 I/O口为双向I/O口,因此在使用 I/O口前首先要用方向选择寄存器来设置每个 I/O 口的方向,在程序运行中还可以动态改变I/O口的方向。例如P1.0、P1.1、P1.2接有按键,P1.4、P1.5、P1.6接有 LED,通用I/O接口应用示例如图3.1所示。P1DIR |= BIT4+BIT5 +BIT6; / P1.4、P1.5、P1.6设为输出 P1DIR &= (BIT0+BIT1+BIT2); / P1.0、P1.1
4、、P1.2设为输入(可省略) 第第3章章 MSP4306图3.1 通用I/O接口应用示例图P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/
5、UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/U
6、CB1SCL46P5.3/UCB1CLK/UCA1STE47P5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249K1K2K3R1330R2330R3330D1D2D3R410kR510kR610
7、k第第3章章 MSP4307P1OUT = BIT4+BIT5 +BIT6; / P1.4P1.6输出高电平/ 二极管阳极接高电平,二极管不发光if(P1IN & BIT0) = 0) P1OUT |= BIT4; /P1.4输出低电平点亮LED第第3章章 MSP4308实例3.1 彩灯控制任务要求:利用MSP430F249单片机的P1口控制8个发光二极管LED1LED8,P1口接入三个开关K1K3,当K1闭合时,LED1和LED4闪烁,闪烁时间1s;当K2闭合时,LED2和LED5闪烁,闪烁时间2s;当K3闭合时,LED1LED8循环闪烁,闪烁时间1s。第第3章章 MSP4309分析
8、说明:发光二极管LED是一种半导体器件,当两端压降大于1V时,通过 5mA 左右的导通电流时即可发光。导通电流越大,亮度越高,但若电流过大,会烧毁二极管,一般我们控制在320mA。在这里,给发光二极管串联一个电阻的目的就是为了限制通过发光二极管的电流不要太大,因此这个电阻又称为“限流电阻”,通常取3001000。MSP430F249单片机的I/O口输出电流最大为6mA,所有电流之和不超过48mA。且当其 I/O 口输出“0”时,可以吸收最大 40mA 的电流。因此采用单片机I/O口控制发光二极管负极的设计。 第第3章章 MSP43010图3.2 实例3-1彩灯控制硬件电路图K1K2P2.5/R
9、OSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0ST
10、E31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1STE47P5.4/MCLK48P5.5/SMCLK
11、49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249R1330LED1R2330LED2R3330LED3R4330LED4R5330LED5R6330LED6R7330LED7R8330LED8+5vK3R114.7KR124.7KR
12、134.7K第第3章章 MSP43011#include #define uchar unsigned char#define uint unsigned int/*软件延迟ms子程序*/void delayus(uint t) uint i; while(t-) for(i=1300;i0;i-);void main(void) uint mask = 0 x01; WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 P1DIR = 0 xFF; / 设置方向为输出 P1SEL = 0 x00; / 设置为普通I/O 口 P1OUT = 0 xFF; /LED输出全部关闭 w
13、hile(1) if(P2IN&0 x07) = 0 x06) /K1 开关闭合 P1OUT = (BIT0 + BIT4); /LED0,LED4闪烁第第3章章 MSP43012delayus(100); /延迟0.1s else if(P2IN&0 x07) = 0 x05) /K2 开关闭合 P1OUT = (BIT1 + BIT5); /LED1,LED5闪烁 delayus(200); /延迟0.2s else if(P2IN&0 x07) = 0 x03) /K3 开关闭合 P1OUT = mask; /LED逐个点亮 delayus(100); /延迟0.
14、1s mask += mask; /mask的值从0 x01,0 x02,0 x04.0 x80,对应8个LED if(mask = 0 x100) /恢复到0 x01 mask = 0 x01; if(P2IN&0 x07) = 0 x07) P1OUT = 0 xFF; /无键按下,关闭全部LED 第第3章章 MSP43013在output选file项中,勾选Override default选项,输入文件名和类型,选择other单选按钮,在Output选项中可以有很多种不同的输出格式选择。我们可以选择其中三种格式,一种是即intel standard(intel公司标准),此时文件
15、名应该为flash.hex,这个输出格式可以供proteus进行仿真,但是不能源码调试,或者作为单片机下载的二进制文件;一种是即TI公司对MSP430系列单片机利用BSL方式进行烧写的一种格式,此时文件名应该为flash.txt;还有一种是这是proteus对MSP430系列单片机实现源码级调试一种文件格式,此时文件名应该为flash.d90,为以后程序调试方便,可以选择最后一种。其他的输出文件格式就不一一介绍了。第第3章章 MSP43014实例实例3-2 花样彩灯控制花样彩灯控制任务要求:利用MSP430F249单片机的P1口控制8个发光二极管LED1LED8,点亮顺序如表3-9所示,每个发
16、光二极管点亮时间为0.5s。P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOMI/UCB0SCL3
17、0P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1STE47P
18、5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249R1330LED1R2330LED2R3330LED3R4330LED4R5330LED5R6330LED6R7330LED7R8330LED8
19、+5v第第3章章 MSP43015#include #define uchar unsigned char#define uint unsigned int#define SHIFT_NUM 8 /移位循环次数8enum LED_MODE LEFT_SHIFT_ON, /单个LED左移模式 RIGHT_SHIFT_ON, /单个LED右移模式 LEFT_SHIFT_OFF,/多个LED左移模式 RIGHT_SHIFT_OFF, /多个LED右移模式 ;enum LED_MODE mode;/*软件延迟ms子程序*/void delayus(uint t) uint i; while(t-) f
20、or(i=1300;i0;i-);第第3章章 MSP43016void main(void) uint mask = 0 x01; uchar i; uchar mode = LEFT_SHIFT_ON; WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 P1DIR = 0 xFF; / 设置方向为输出 P1SEL = 0 x00; / 设置为普通I/O 口 P1OUT = 0 xFF; /LED输出全部关闭 while(1) for(i = 0;i SHIFT_NUM;i+) switch(mode) case LEFT_SHIFT_ON:/单个LED左移模式 mask =
21、 1; if(mask = 0 x00) /下一个状态的初始值 mask = 0 x01; break;第第3章章 MSP43017case LEFT_SHIFT_OFF:/多个LED左移模式 mask = 1; mask &= 0 x80; if(mask = 0 x00) /下一个状态的初始值 mask = 0 x01; break; P1OUT = mask; /LED输出 delayus(100); /延迟0.1s mode+; /显示模式变换 mode %= 4; 第第3章章 MSP43018实例实例3-3 带按键选择的花样灯带按键选择的花样灯任务要求:利用MSP430F24
22、9单片机的P1口控制8个发光二极管LED1LED8,发光二极管根据P0口的接入的开关K1K5完成不同的显示花样变换。当K1闭合时,LED1和LED2点亮,延迟0.1s之后LED2和LED3点亮,最后是LED7和LED8点亮后重新开始;当K2闭合时,LED1LED8相当于8位二进制数,延迟0.1s之后加一并点亮对应的LED;当K3闭合时,先LED1LED4点亮,延迟0.1s后LED5LED8点亮;随后LED1LED2、和LED5LED6点亮,延迟0.1s后LED3LED4、LED7LED8逐次点亮,最后LED1、LED3、LED4、LED6点亮,延迟0.1s后LED2、LED4、LED6、LED
23、8点亮后重新开始;当K4闭合时,显示如图3.xxxx,图中0部分为发光的LED。即先点亮P1.0P1.3引脚连接的4个LED,然后让LED从右向左移动,当P1.7引脚连接的LED点亮后,下一步重新点亮P1.0,依次循环。第第3章章 MSP43019图3.14 实例3-3硬件电路图K1K2P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16
24、P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/
25、TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1STE47P5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56
26、VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249R1330LED1R2330LED2R3330LED3R4330LED4R5330LED5R6330LED6R7330LED7R8330LED8+5vK3R114.7KR124.7KR134.7KK4K5R144.7KR154.7K第第3章章 MSP43020#include #define uchar unsigned char#define uint unsigned int/*软件延迟ms子程序*/void delayus(uint t) uint i; while(t-)
27、 for(i=1300;i0;i-);void main(void) uchar i; uchar val = 0; uchar mask1 = 0 x80; uchar mask2 = 0 x01; uchar mode = 4; static unsigned char LEDs = 0 x0f; / 静态变量用于存储LEDs发光状态第第3章章 MSP43021WDTCTL = WDTPW + WDTHOLD; / 关闭看门狗 P1DIR = 0 xFF; / 设置方向为输出 P1SEL = 0 x00; / 设置为普通I/O 口 P1OUT = 0 xFF; /LED输出全部关闭 whi
28、le(1) if(P2IN&0 x1F) = 0 x01E) /K1 开关闭合 val = 0 x03; for(i = 0;i 8;i+) /两位LED同时移动 P1OUT = val; val = 1; mask2 = 1; delayus(1000); if(mask1|mask2) = 0 x00)第第3章章 MSP43024 mask1 = 0 x80; mask2 = 0 x01; else if(P2IN&0 x1F) = 0 x0F) /K5 开关闭合 P1OUT = LEDs; /四个LED循环显示 delayus(1000); if(LEDs&0 x
29、01)=0X01) & (LEDs != 0 x0F) LEDs = LEDs1 ; LEDs += 1; else LEDs = LEDs1; if(LEDs = 0 xE0) LEDs += 1; P1OUT = 0 xFF; /关闭全部LED 第第3章章 MSP43025实例实例3-4 16个花样灯控制个花样灯控制任务要求:利用MSP430F249单片机的P1和P4口控制16个发光二极管LED1LED16,发光二极管有8种花样显示,显示速度可调,由P2口三个按键K1K3控制,分别是模式按键、加速和减速按键。这三个按键和前面所用的开关不同,按键在按下后会在内部弹性元件的作用下自动弹
30、起。模式按键按下一次,花样显示模式变换一次,按下8次后循环到第一种模式,加速和减速按键可以控制LED的闪烁速度。第第3章章 MSP43026图3.16 16个LED花样灯硬件电路图Q8Q6Q5Q4Q3Q1Q7Q6Q5Q4Q1Q2Q3Q2Q7Q8Q9Q10Q11Q12Q13Q14Q15Q16Q9Q10Q11Q12Q13Q14Q15Q16P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT
31、12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P
32、4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1STE47P5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/N
33、MI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249R1330LED1R2330LED2R3330LED3R4330LED4R5330LED5R6330LED6R7330LED7R8330LED8+5vR2210KR2310KR2410KR9330LED9R10330LED10R11330LED11R12330LED12R13330LED13R14330LED14R15330LED15R16330LED16模式按键加速按键减速按键第第3章章 MSP430273.3 LED数码管显示数
34、码管显示 第第3章章 MSP43028显示字符P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0共阴极段码共阳极段码hgfedcba0001111113FHC010000011006F92010110115BA43010011114FB040110011066995011011016D926011111017D8270000011107F88011111117F809011011116F90A011101117788b011111007C83C0011100139C6d010111105EA1E011110017986F01110111718E第第3章章 MSP43029实例实例
35、3-5 单个数码管显示单个数码管显示 任务要求:使用MSP430F249单片机实现单个8 段共阴极数码管的显示,依次循环显示015的十六进制数,即“0F”。R1470R2470R3470R4470R8470R7470R6470R5470P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/T
36、A017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK4
37、3AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1STE47P5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO
38、/TDI54VREF-/VEREF-11U1MSP430F249第第3章章 MSP43030#include unsigned char const led_tab=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07, /共阴数码管编码表 0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;void delayus(unsigned int t) unsigned int i; while(t-) for(i=1330;i0;i-); void main(void) unsigned char i; WDT
39、CTL=WDTPW + WDTHOLD; / 关闭看门狗 P1DIR=0 xFF; / 设置方向为输出 P1OUT=0 x00; while(1) for(i=0;i10;i+) P1OUT=tablei; delayus(100); 第第3章章 MSP43031实例实例3-6 两位数码管加减计数两位数码管加减计数任务要求:两位数码管显示099,带加减计数功能,利用两个按键分别做加法和减法功能,每按一次,数字增加或者减小1,当增加到99或者减小到0是不变。Q1Q2Q3Q4Q5Q6Q7Q1Q2Q3Q4Q5Q6Q7K1K2增加增加减少减少K3清零清零P2.5/ROSC/CA525P2.4/CA1/
40、TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UC
41、A0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1STE47P5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/
42、TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249R114.7KR124.7KR134.7K+5v12345678161514131211109RN133012345678161514131211109RN2330第第3章章 MSP43032多位数码管多位数码管 的显示
43、方式的显示方式一个 LED 数码管只能显示一位数字,在很多单片机系统中经常要使用多个 LED 数码管,如要显示时间、温度、压力等等。在实例3-5中,一个数码管使用了单片机的 8 个 I/O 口线输出段码(公共端接 GND)。显然,当使用多个数码管时,采用此控制方式会存在问题,如要使用 6个数码管,则需要48个通用I/O口,系统就无法连接其它的外围设备和电路。另外,采用此方式显示字符时,每个LED都要消耗一定的电流,在极端情况下最多有8个LED工作,如果有多个数码管工作,则消耗的电流非常可观,因此多个数码管的显示驱动系统的实现,有多种不同的方式可以采用,而且在硬件和软件的设计上也是不同的。 第第
44、3章章 MSP43033所谓静态显示,就是把多个数码管的每一段(a dp)与一个8位并行口连接起来,而公共端则根据数码管的种类连接到“VCC”或“GND”端。图3.24所示为一个四位LED的静态显示电路。这种连接方式的每一个数码管都需占用一个单独的具有锁存功能的I/O 端口,单片机只需把要显示的段码发送到接口电路即可,直到要显示新的数据时,再发送新的段码。第第3章章 MSP43034图3.25 8位LED动态显示电路第第3章章 MSP43035实例3-7 两位一体数码管倒计时两位一体数码管倒计时任务要求:使用两位一体的数码管实现30秒的倒计时显示,当按下启动按键时,数码管显示数据从30减1,一
45、直到0。倒计时开始后,按键输入无效。K1启动启动P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/UCB0SDA29P3.2/UCB0SOM
46、I/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/
47、UCA1STE47P5.4/MCLK48P5.5/SMCLK49P5.6/ACLK50P5.7/TBOUTH/SVSOUT51P6.0/A059P6.1/A160P6.2/A261P6.3/A32P6.4/A43P6.5/A54P6.6/A65P6.7/A7/SVSIN6XT2OUT52XT2IN53RST/NMI58TCK57TDI/TCLK55TMS56VEREF+10VREF+7XIN8XOUT9TDO/TDI54VREF-/VEREF-11U1MSP430F249R134.7K+5v12345678161514131211109RN1330第第3章章 MSP43036实例实例3-8 四
48、位一体数码管静态显示四位一体数码管静态显示任务要求:用静态显示方式,利用单片机控制4位一体数码管中每一位独立显示,从0开始,每次加一,一直增至9999后归零重新开始。D0D0D1D1D2D3D4D5D6D7D1D2D3D4D5D6D7Q10Q11Q12Q13Q14Q15Q16Q17Q20Q21Q22Q23Q24Q25Q26Q30Q31Q32Q33Q34Q35Q36Q40Q41Q42Q43Q44Q45Q46D0D1D2D3D4D5D6D7Q27D0D1D2D3D4D5D6D7Q30Q31Q32Q33Q34Q35Q36Q37D0D1D2D3D4D5D6D7Q40Q41Q42Q43Q44Q45Q46
49、Q47Q10Q11Q12Q13Q14Q15Q16Q20Q21Q22Q23Q24Q25Q26P2.5/ROSC/CA525P2.4/CA1/TA224P2.3/CA0/TA123P2.2/CAOUT/TA0/CA422P2.1/TAINCLK/CA321P2.0/ACLK/CA220P1.2/TA114P1.1/TA013P1.0/TACLK/CAOUT12P1.3/TA215P1.4/SMCLK16P1.7/TA219P1.6/TA118P1.5/TA017P2.6/ADC12CLK/CA626P2.7/TA0/CA727P3.0/UCB0STE/UCA0CLK28P3.1/UCB0SIMO/
50、UCB0SDA29P3.2/UCB0SOMI/UCB0SCL30P3.3/UCB0CLK/UCA0STE31P3.4/UCA0TXD/UCA0SIMO32P3.5/UCA0RXD/UCA0SOMI33P3.6/UCA1TXD/UCA1SIMO34P3.7/UCA1RXD/UCA1SOMI35P4.5/TB541P4.4/TB440P4.3/TB339P4.2/TB238P4.1/TB137P4.0/TB036P4.6/TB642P4.7/TBCLK43AVCC64AVSS62P5.0/UCB1STE/UCA1CLK44P5.1/UCB1SIMO/UCB1SDA45P5.2/UCB1SOMI/UCB1SCL46P5.3/UCB1CLK/UCA1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年三亚中瑞酒店管理职业学院马克思主义基本原理概论期末考试模拟题附答案
- 废片白银回收工冲突解决竞赛考核试卷含答案
- 绞车操作工安全文明知识考核试卷含答案
- 氯丙烯装置操作工变革管理强化考核试卷含答案
- 四氯化钛精制工岗前技能考核试卷含答案
- 加油站操作员道德强化考核试卷含答案
- 2025年中南财经政法大学马克思主义基本原理概论期末考试模拟题附答案
- 2025年云南城市建设职业学院单招(计算机)测试备考题库附答案
- 2024年烟台黄金职业学院马克思主义基本原理概论期末考试题附答案
- 企业安全生产管理操作手册(标准版)
- 急诊预检分诊课件教学
- 2025年高二数学建模试题及答案
- 2026届浙江省杭州城区6学校数学七年级第一学期期末教学质量检测试题含解析
- 储能集装箱知识培训总结课件
- 幼儿园中班语言《雪房子》课件
- 房地产项目开发管理方案
- 堆垛车安全培训课件
- 贝林妥单抗护理要点
- 卫生院关于成立消除艾滋病、梅毒、乙肝母婴传播领导小组及职责分工的通知
- 广东省执信中学、广州二中、广州六中、广雅中学四校2025年高三物理第一学期期末学业水平测试试题
- 小学语文教学能力提升策略
评论
0/150
提交评论