3167|0

156

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【新驱动力科技MM32F031C6开发板评测】单线驱动&I2C器件&SPI器件&独立按键控制继电器 [复制链接]

       要学习一款单片机,学会驱动常用的串行总线接口如I2C、SPI、异步单串行总线等是非常有必要的,因为绝大部分的传感器外设接口都是这三种外加UART串口,而串口已经在上一帖中调通了,那么这帖就把单总线、I2C、SPI合到一起,加上一个按键做控制,完成一个简单的小项目,评测MM32开发板的外设性能。
      I2C方面,官方给出的例程是使用硬件I2C接口驱动EEPROM,我个人尝试跑了一下这个例程,出现了一些BUG,EEPROM写入之后读取的数据不正确,暂不知道是什么原因,因此我选择DS3231日历芯片,这个芯片对I2C总线的确认、电平和推挽要求不严格,不加确认也可以成功读取数据,并且我使用的是软件模拟I2C总线的方法,这个方法在大多数没有硬件I2C接口的单片机中用得非常多,方便移植,因为I2C在通信过程中需要较长时间的延时等待,属于低速串行通信总线,加了DMA和中断并不会显著提高实时性。这里是DS3231:

       SPI总线外接一个带主控的液晶显示屏,SPI总线的作用是单片机给主控发送指令和数据,控制主控进行刷屏或显示特定数据,虽然没有直接控制液晶硬件,但是大尺寸液晶的主控一般是用FPGA直接给液晶刷屏的(我手头上这个也是FPGA主控的液晶屏),FPGA器件控制外设的速度非常高,远比单片机高得多,因此这种液晶屏主要的速度瓶颈不是FPGA控制液晶刷屏的速度,而是单片机传指令和数据给FPGA的速度,选用SPI这种无确认高速串行总线是非常合适的。这里是液晶屏的接口图:

       单总线接口则选用非常常用的DHT11温湿度传感器,通信和相应速度慢,可以同时输出数字温度和湿度。这是DHT11的接口图:

    最后就是独立按键和继电器了,新驱动力MM32开发板板载了一个PA0 WAKEUP按键,但是出厂的时候这个按键并没有连上PA0引脚,需要用户自行焊接P5排针跳帽并选择外部上拉或下拉。至于继电器,就选用非常常用的5V光耦隔离继电器,可以用MM32输出的TTL数字电平来闭合或断开继电器。接口图:

    整个小项目的流程就是MM32单片机采集温度、湿度,读取日期、时间,并通过独立按键控制继电器开合,按一下闭合,按一下断开,继电器另外一端连接LED照明灯,继电器开合即控制LED照明灯开关。

上传工程文件:
MM32F031C6T6.zip (139.31 KB, 下载次数: 13)
此内容由EEWORLD论坛网友donatello1996原创,如需转载或用于商业用途需征得作者同意并注明出处


此帖出自电机控制论坛
点赞 关注(1)
 
 

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

随便看看
查找数据手册?

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