点亮一个led灯
首先看电路图:
这个电路图是关键,理解,首先必须要打开vcc,这个是我今天犯错的最主要的原因,因为我开始以为开发板上的电源是自动接上的,导致程序调试了一上午,没有成功
之后看vcc,也就是标号1,搜索一下vcc的引脚
也就是要控制p5.4口输出一个高电平
代码:
put_p5dir_bit4(1);//引脚为输出引脚
put_p5_out_bit4(1);//打开外部电源
接下来看标号2
标号2是一个led_pwr,注意这里是一个控制输出一个0,就可以导通三极管,
在电路图上搜索一下led_pwr,这里出现如图管脚
这里显示的是led pwr是第p7.3管脚,即p7.3只需要输出一个低信号就可以了
示例代码:
put_p7dir_bit3(1);//引脚为输出引脚
put_p7_out_bit3(0);//导通三极管
之后在电路图中搜索dig1,由电路图可以知道,dig1必须是一个低电平
这里可以看到dig1控制引脚是p9.0,所以,点亮一个数码管现在很容易了
put_p9dir_bit0(1);//设置端口为输出端口
put_p9out_bit0(0);//导通二级管
示例代码:
view code
总结一下最近所学的,将led以5毫秒的频率流水灯闪烁
#include
#includefor_5438_wjx.c
#includepin_def.h
#define cpu_f ((double)8000000)
#define delay_us(x) __delay_cycles((long)(cpu_f*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(cpu_f*(double)x/1000.0))
unsigned char table1[]={0x0e,0x0d,0x0b,0x07};
unsigned char table2[]={0xe0,0xd0,0xb0,0x70};
void main( void )
{
// stop watchdog timer to prevent time out reset
unsigned i,j;
wdtctl = wdtpw + wdthold;//关闭看门狗
put_p5dir_bit4(1); // 主电源 p5.4
put_p5out_bit4(1); //打开外设电源
put_p9sel(0x0); //设置p9.0到p9.3为普通i/o
put_p9dir(0x0f); //设置p9.0到p9.3为输出
put_p1sel(0x0); //设置p1.4到p1.7为普通i/o
put_p1dir(0xf0); //设置p1.4到p1.7为输出
put_p1out(0xf0); //关闭led显示
put_p7sel_bit3(0); //开发板上7.3口是lcd的电源,设置p7.3为普通i/o
put_p7dir_bit3(1); //设置p7.3为输出
put_p7out_bit3(0); //给lcd供电
f:
for(i=0;i<4;i++)
{
put_p9out(table1[i]); //点亮led数码管
delay_ms(50);
}
put_p9out(0x0f);
for(j=0;j<4;j++)
{
put_p1out(table2[j]);
delay_ms(50);
}
put_p1out(0xf0);
goto f;
}
英伟达与多家台湾制造企业合作“数字孪生”
中国移动咪咕将推出5G+VR全景直播活动
无人机在景观生态学上的应用和发展
携手大型国企打造钢构焊接解决方案,智能“焊”将再添新功能
英蓓特工程师讲述SBC-EC9100身上的故事
基于MSP430F5438的led点亮设计
闪迪欣享自动备份充电座 有无线它就完美了
智能监控黑科技:海康威视+西部数据无敌了
USB连接器分类方法
嵌入式多媒体应用软件的框架建模和并行技术的研究
净利同比降三成 比亚迪的问题开始逐渐显露
FPGA攻城狮玩5G通信算法的基本套路说明
pci9054为pci总线接口的开发提供了一种简洁的方法
贵州电网助力5G基站建设,降低用电费用支持5G网络发展
浪潮基于存储即平台战略推出新一代G6存储
Hi4315H智芯 PWM/模拟调光LED恒流驱动器5-60V电压范围降压BUCK大功率调光
导热泥会出现硬化、粉化吗?它的寿命如何呢?
远程医疗转向AI技术,虚拟医疗服务将成为现实
行动元化繁为简,助力晶圆搬运机器人性能升级
【嵌入式编程】如何在Linux平台安装zint开源库