3044|3

1297

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

【瑞萨R7F0之等灯等灯】5、系统功能与结构设计兼端口配置寄存器介绍 [复制链接]

本帖最后由 johnrey 于 2014-8-27 13:46 编辑

在完成按键,ADCPWM基础模块测试以后,对等灯等灯也比较有把握了,这里介绍一下整体功能。基本上是一个简单的光照控制系统的模拟,分成3种模式,自动、手动和预设。自动模式,根据环境光变化自动调节光照亮度;手动模式,根据用户自己需求来调节光照亮度,这个模式也可以看做用户设置模式,就是记忆下用户觉得比较ok的亮度,这个值就是后面自动调节时候的参考值,有点像大家在iphone上选择自动亮度,但是自动的亮度的程度还是自己可以选择的。最后一种模式就是氛围灯模式,其实就是一呼吸灯,也可以称为预设模式,按照程序预先设定的方式,变化光照强度。以上的应用环境既可以是一个房间,也可以是局部的照明。既然是个模拟,那就只能用一个高亮的LED代替实际的光源,而光源位置也离我们的探头——光敏电阻是比较近的。


这样可以得到系统大体结构如下,图中最下面的虚线框是受最近论坛中关于串口的讨论新想的,通过串口把光照度传到上位机,甚至可以接收上位机指令来更改LED光强。实线部分系统,包含了PORT+KR+AD+TAU,如果能把串口SAU加上,整个MCU中比较主要的单元都覆盖了。不过目前手头暂时没有USBUART,(调试器的那个虚拟串口是给调试用的,好像不能作为普通串口使用,已经用串口助手验证了),这个目前只是初步设想。最近的工作仍以实线部分为准,未来有时间再扩展。

其中模式切换用按键实现,模式循环变化。自动模式下,光照强度用光敏电阻和固定电阻串联分压,送MCUAD检测。本来分压输出还想接一个用LM324的电压跟随,再进AD的,但这样LM324需要一个比较高的电源电压(9v或者更高),为了简化外电路,就把这个去掉啦。如果光照度不合适,则由P0.4PWM输出,控制高亮LED的亮度,来调节总亮度。手动模式下,用一路电位器接AD,作为手动调节的输入端。输入电压越高,对应的高亮LED就越亮。系统资源安排如下:P13.7:按键输入。P0.1:光照手动控制输入;P0.2:光照强度探测输入;P0.4LED调光输出。调光输出产生的1ms定时兼做两路AD的触发信号,实现AD的定时采样。而采样的结果又会进而影响PWM调光输出。构成一个完备的循环采集-控制过程,即主函数的while1)循环。电路原理图如下:
实体电路比较简单,因为前期要不断调整高亮LED和光敏电阻之间的距离,为了方便起见,直接在面包板上实现了,稍显低端,见谅。其实要做的就左半部分:)

在开始所有代码工作前,还有一项基本配置要做——端口配置。很多人在用51时,基本不考虑这个问题,因为普通51的所有IO口只是数字的输入与输出。这个在R7F0上则不行,如果没有合理的配置端口,至少这个AD是不能用滴,默认的数字IO口也是输入模式,想输出PWM,也是要改的。所以在所有代码工作前,我们必须先配置端口。Port的主要寄存器如下,因为除了按键,用的都是P0口,所以以P0口的寄存器为例说明,其他口也是一样的。主要用到的是PMCPMPUPPIOR


PMC决定用作数字IO口(0)还是模拟IO口(1),因为复位后是0xff,所以想用作io口,必须置0,PMC只有port0有。所以PMC0=0xE7PM决定数字口是输入(1)还是输出(0)。默认全位输入。这里要将PM0.4改成输出0,所以PM0=0xEF;PU是用来设置上拉电阻的,文档中说对于输出口,是不会上拉的,因此不设也罢,而按键P13.7电路中已经有上拉,所以不设应该也没关系。P是决定数字IO的初始电平的。不介意的全部低电平好了P0=0x00,这样D2会亮。PIOR是端口重定向用的,不过基本不用去改它,P40给调试器用了,这会儿用不到呢。不放心的,直接写PIOR=0x00(复位值也是这个);

考虑到后期的SAU扩展,备份一个新的端口配置,PMC0=0xEC;PM0=0xEE;AD放到89脚上,67留给串口用。这样外围电路也要修改了,留待后面再整,现在开始码代码去了。

最新回复

过来看看~~~~~~~~~~~~~~~~~~~~~  详情 回复 发表于 2014-8-27 15:22
点赞 关注

回复
举报
jyb2014 该用户已被删除
沙发
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 

回复

1297

帖子

2

TA的资源

纯净的硅(中级)

板凳
 
谢谢,共同进步
 
 
 

回复

1119

帖子

0

TA的资源

一粒金砂(中级)

4
 
过来看看~~~~~~~~~~~~~~~~~~~~~
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表