硬件描述
两个LED灯:
P1.0接LED1(红),P4.7接LED2(绿).
IO口输出高电平时,LED亮
IO口输出低电平时,LED灭
点亮红灯
(ccs中的c语言代码,用430进行调试)
P1口八个引脚
.7 .6 .5 .4 .3 .2 .1 .0
P1.0 红色LED1
控制:P1.7 6 5 4 3 2 1 0
二进制 : 0 0 0 0 0 0 0 1
八进制 : 0x01
输出:P1DIR = 0x01;
输出寄存器:P1OUT = 0x01;
#include int main(void) { //关闭看门狗 WDTCTL=WDTPW | WDTHOLED; //设置P1.0为输出 P1DIR = 0x01; //设置P1.0为高电平,点亮LED灯 P1OUT = 0x01; //设置P1.0为低电平,熄灭LED灯 P1OUT = 0x00; //设置P1.0为高电平,点亮LED灯 P1OUT = 0x01; } 点亮绿灯 P4口八个引脚 .7 .6 .5 .4 .3 .2 .1 .0 P4.7 绿色LED2 控制:P4.7 6 5 4 3 2 1 0 二进制 : 1 0 0 0 0 0 0 0 八进制 : 0x80 输出:P4DIR = 0x80; 输出寄存器:P4OUT = 0x80; #include int main(void) { //关闭看门狗 WDTCTL=WDTPW | WDTHOLED; //设置P4.7为输出 P4DIR = 0x80; //设置P4.7为高电平,点亮LED灯 P4OUT = 0x80; //设置P4.7为低电平,熄灭LED灯 P4OUT = 0x00; //设置P4.7为高电平,点亮LED灯 P4OUT = 0x80; } 红色LED灯的闪烁 亮→灭→亮 (每个中间需要有时间延时) #include int main(void) { unsigned int T_deley; //关闭看门狗 WDTCTL = WDTPW | WDTHOLED; //设置P1.0的方向为输出 P1DITR = 0x01; while(1) { P1OUT = 0x01; //时间延时 for(T_deley=0;T_deley<50000;T_deley++); P1OUT = 0x00; for(T_deley=0;T_deley<50000;T_deley++); } } 绿色LED灯的闪烁 #include int main(void) { unsigned int T_deley; //关闭看门狗 WDTCTL = WDTPW | WDTHOLED; //设置P4.7的方向为输出 P4DIR = 0x80; while(1) { P4OUT = 0x80; //时间延时 for(T_deley=0;T_deley<50000;T_deley++); P4OUT = 0x00; for(T_deley=0;T_deley<50000;T_deley++); } } 红绿灯交替闪烁 #include int main(void) { unsigned int T_deley; //关闭看门狗 WDTCTL = WDTPW | WDTHOLED; //设置P1.0的方向为输出 P1DIR = 0x01; //设置P4.7的方向为输出 P4DIR = 0x80; while(1) { P1OUT = 0x01; P4OUT = 0x00; for(T_deley=0;T_deley<50000;T_deley++); P1OUT = 0x00; P4OUT = 0x80; for(T_deley=0;T_deley<50000;T_deley++); } } 呼吸灯 亮灯频率超前,灭的频率降低就行,具体原理还未深刻理解,只会照猫画虎 注:以下代码仓促写完,未调试,可能会有小问题 #include int main(void) { WDTCTL = WDTPW | WDTHOLD; unsigned int de1,de2,deley,i; i=0; de1=0; de2=500-de1; P1DIR=0x01; while(1) { if(i==0) { P1OUT=0x01; for(deley=0;deley if(de1!=500) de1++; if(de1==500) i=1; } P1OUT=0x00; for(deley=0;deley if(i==1) { P1OUT=0x01; for(deley=0;deley if(de1!=0) de1--; if(de1==0) i=0; } P1OUT=0x00; for(deley=0;deley } }
上一篇:单片机双字节数乘法运算实验_MSP430单片机基本特点
下一篇:低功耗的c语言编程,关于低功耗msp430PID控制电机转速的C程序
推荐阅读最新更新时间:2024-11-10 00:43
设计资源 培训 开发板 精华推荐
- NB7L14MMNEVB,用于 SONET 的 20000MHz 时钟缓冲器的评估板
- 用于工业控制的 ±15V 仪表放大器
- DC1282A-D,LTC2209 演示板,高中频,LVDS 输出,185 Msps,16 位 ADC,Ain >160MHz
- LT8330IDDB 8V 至 16V 输入、24V 升压转换器的典型应用电路
- OP213ESZ 假接地发生器的典型应用
- MIKROE-3442,带有 SPD EEPROM 的 CAT34TS02 数字输出温度传感器的 Temp-Log 5 Click 板
- 具有基本抑制功能的 LF50ABPT-TR 5V 极低压降稳压器的典型应用
- LT3990EMSE-5 5V、2MHz 降压转换器的典型应用
- 用于荧光调光的 1 灯荧光灯驱动器
- 具有 12V VDD 输入的 LTC2945HMS 3.3V 输入电源监视器的典型应用