X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
瑞萨电子MCU
[原创] 瑞萨R7F0C80212体验心得(2)——点亮我的led
xinmeng_wit
2014-8-14 16:57
楼主
板上的2个led,一个是接在mcu的第9脚即P0.3;还有一个是接在第3脚即P0.4.要想点亮它们,只需要让P0.3和P0.4输出低电平就可以了,是不是很简单??呵呵……
我这里所讲的方法不是用代码生成器来做,而是手工直接操作寄存器。我个人感觉代码生成器产生的代码太复杂太冗余,不够直接简单,不太符合我的编程习惯。
要想操作寄存器,那得拿到它的数据手册,
中文数据手册.pdf
(3.01 MB)
(下载次数: 60, 2014-8-14 16:38 上传)
,在这里面就哟寄存器的操作方法,很简单,一目了然。点亮led只需要简单的输出高低电平就可以了。下面是我的代码:
#pragma sfr
void main(void)
{
while(1)
{
PMC0&=~((1<<3)|(1<<4));//设置P0.3和P0.4为数字IO
PM0&=~((1<<3)|(1<<4));//设置P0.3和P0.4为输出
P0&=~((1<<3)|(1<<4));//设置P0.3和P0.4的输出值为0点亮2个led灯
}
}
怎么样,够简洁吧,这是一个完全正确的程序,能够点亮2个led,那我们再看下面的一段代码:
#pragma sfr
void io_init()
{
PMC0&=~((1<<3)|(1<<4));//设置P0.3和P0.4为数字IO
PM0&=~((1<<3)|(1<<4));//设置P0.3和P0.4为输出
}
void main(void)
{
io_init();
while(1)
{
P0&=~((1<<3)|(1<<4));//设置P0.3和P0.4的输出值为0点亮2个led灯
}
}
这时候你会发现2个灯都不亮了,为什么呢??另外,再提醒大家注意一点PMC0要在PM0之前设置,否则也不亮,这又是为什么???
点赞
回复评论 (1)
沙发
Zhangyu08
后面的这段程序我试了,2个LED灯也可以亮
点赞
2018-5-24 12:45
最新活动
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇
Follow me第二季第3期来啦!与得捷一起解锁高性能开发板【EK-RA6M5】超能力!
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
随便看看
通用串行总线驱动
怎么将ADC转换二进制码转换成非压缩BCD码存储.
MSP430L092烧录方式用哪种?
5G商用在路上啦,你准备好了没?
诚聘Wince 网络驱动程序开发人员
奋斗版STM32开发板MINI----NRF24L01forucguiucos例程
和Vicor工程师一起聊聊高效供电,了解无人机的模块化电源解决方案!
求MSP430UIF型仿真器驱动程序
关于定时器产生PWM的问题,P2.1/P2.2输出同样的波形
请教开发32位CPU,想用ARM9,S3C2410如何?
急招Windows微型打印机驱动开发人员
powerpc 跳到0x800是怎么回事
干货下载——电机控制基础
USB驱动的疑问
ad单通道多次转换在1602上的显示
没有二极管的MOS管
关于如何学习嵌入式 高手 们进啊
【MSP430共享】MSP430的视频教程
浅谈无线集抄系统在水表中的应用
全球LED电子原料严重吃紧 供货速度决定市场胜负
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复