3311|1

552

帖子

3

TA的资源

纯净的硅(初级)

楼主
 

瑞萨R7F0C80212体验心得(2)——点亮我的led [复制链接]

       板上的2个led,一个是接在mcu的第9脚即P0.3;还有一个是接在第3脚即P0.4.要想点亮它们,只需要让P0.3和P0.4输出低电平就可以了,是不是很简单??呵呵……
       我这里所讲的方法不是用代码生成器来做,而是手工直接操作寄存器。我个人感觉代码生成器产生的代码太复杂太冗余,不够直接简单,不太符合我的编程习惯。
       要想操作寄存器,那得拿到它的数据手册, 中文数据手册.pdf (3.01 MB, 下载次数: 60) ,在这里面就哟寄存器的操作方法,很简单,一目了然。点亮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之前设置,否则也不亮,这又是为什么???


最新回复

后面的这段程序我试了,2个LED灯也可以亮  详情 回复 发表于 2018-5-24 12:45
点赞 关注(1)

回复
举报

6

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
后面的这段程序我试了,2个LED灯也可以亮
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表