今天看了一下评分细则,要求使用定时器,本设计就是据此而设计的。
与“九、基于IT中断的LED闪烁灯”所不同的是将其中的Interval Timer工具箱,改用Timer来实现了,其有其优点:采用16位定时寄存器,因此定时间隔比Interval Timer的长。其它的工具都没有改变,与“九、基于IT中断的LED闪烁灯”的类似,可参考之。
上几张图来看,这是定时器(Timer)的设置:
主函数中的程序:
Timer中断函数中的程序:
把程序下载到RL78/G13开发板上,就会看到D2灯交替地亮2秒灭2秒,由于程序易于理解,就不上视频了。。。
十二、按键控制蜂鸣器
设计介绍:
按键采用中断的方式,设置如下图所示:
蜂鸣器驱动引脚采用PCLBUZ0模式进行驱动,设置如下图:
主函数如下图:
中断函数如下图:
将程序下载到开发板上,观察到的效果如视频所示:
http://v.youku.com/v_show/id_XNDQyMDIxOTA0.html
十三、LCD1602液晶屏驱动
本次实验实现了通过RL78/G13的P1口作为数据Data的输入输出端口--共八位,分别与LCD1602的DB0--DB7相连,即P1n---DBn ;P7.0、P7.1、P7.2分别用于LCD1602的三个控制线RS、R/W、E,即P7.0--RS,P7.1--R/W,P7.2--E相连接。
这其中还用到了一个4ms的延时程序,这是因为,用RL78/G13不是直接控制的液晶点,而是通过控制LCD1602上的芯片来控制液晶屏的,这就涉及到芯片间通信的问题,这当然就离不开时序了,这个延时程序就是用来维持每个信号的,使其能够持续一段时间,等待着LCD1602上的芯片处理完成。这里的延时程序不是采用的循环等待的方式,而是增加了一个Timer工具箱,在其中设定一个标志位,有其来判断延时的中止,从而达到定时的目的。
好了,别的不多说了,上图先:
先来个函数架构:
主函数:
初始化函数和LCD写命令函数:
LCD写数据和整合写字符函数:
中断延时函数:
Timer的中断函数:
再来张LCD1602功能分布图,科普一下,嘿嘿:
最后,上效果图了:
呵呵!效果看上去有点问题,是的,不是别的,是我的LCD1602的RAM地址有点错误,才显示成这样,原本要显示成: I LOVE EEPW ^_^ 的,可惜LCD不给力啊,不过仔细看看那个笑脸还是正确的啊,哈哈,歪好!歪好!高兴就好!
EEPW友们,还等什么,还不快快试试自己板子,做个更有创意的,期待着你们。。。
视频链接:
http://v.youku.com/v_show/id_XNDQyNjgxMzYw.html
回复
有奖活动 | |
---|---|
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? |
打赏帖 | |
---|---|
如何实现基于NXPiMX.RT1021的BH1730采集被打赏50分 | |
【换取手持数字示波器】AHT10温度检测分享被打赏40分 | |
【换取手持数字示波器】ACM32F070开发板点亮LCD屏和触控按键,串口,ADC被打赏40分 | |
【换取手持数字示波器】ACM32F070LCD屏和触控按键功驱动蜂鸣器分享被打赏40分 | |
【换取手持数字示波器】国民技术PWM功能知识分享被打赏40分 | |
【换取手持数字示波器】放大器运放知识分享被打赏40分 | |
【分享评测,赢取加热台】+开关电源AC输入知识分享被打赏30分 | |
【换取手持数字示波器】N32G430点亮数码管与串口打印、ADC被打赏40分 | |
老胖子聊电路--分析一个反馈电路被打赏50分 | |
【换取手持数字示波器】+点亮WS2812RGB灯被打赏50分 |