[原创] pic18 starterkit 学习0x04——IO输出(LED闪烁)

mzb2012   2016-11-17 00:16 楼主
一、简介 IO口的使用其实是博大精深的,虽然看似简单,却能模拟各种协议通讯实现很复杂的功能,以后慢慢体会吧。首先,学会使用IO的输出功能,控制LED闪烁。 二、硬件连接 D4、D5、D6和D7共4个LED分别接在B0、B1、C2和C1口上 00.jpg 三、寄存器 pic单片机并不想51单片机输入和输出无需配置直接使用,而是需要配置一个TRIS寄存器。单片机有三组IO口分别为A、B和C口。而每个端口都有3个存储器映射的寄存器与之相关
  • TRIS寄存器 控制数据方向的寄存器
  • PORT寄存器 读取器件引脚电平的寄存器
  • LAT寄存器 输出高低信号到引脚寄存器
四、延时 通过一个很耗时的函数,让MCU停留在这个函数里,延时完成后才能执行后面的内容,其实是对硬件资源的浪费。准确的延时设计需要计算指令周期或者示波器观察。 五、代码和下载 (1)灯引脚宏定义 QQ截图20161116235044.jpg (2)延时函数,注意清狗 (3)方向寄存器配置成输出 QQ截图20161116235017.jpg (4)主函数共三部分 A.头文件 包含已定义的头文件 B.配置位 具体配置说明,见后面附件 C.初始化函数和主函数定义,实现LED灯亮200ms灭200ms如此反复。 QQ截图20161116235125.jpg (5)下载 A.点击图中按钮编译,如果成功最后又提示信息 QQ截图20161117001031.jpg B.选择烧写器 QQ截图20161117000340.jpg QQ截图20161117000358.jpg QQ截图20161117000414.jpg C.下载,如图按钮program QQ截图20161117000818.jpg 六、附件 (1)工程
02 - IO输出(LED闪烁).rar (18.98 KB)
(下载次数: 26, 2016-11-16 23:59 上传)
(2)配置位说明
hlpPIC18ConfigSet.chm (1.45 MB)
(下载次数: 29, 2016-11-17 00:01 上传)
(3)演示效果
VID_20161117_001459.mp4 (10.34 MB)
(下载次数: 56, 2016-11-17 00:16 上传)
本帖最后由 mzb2012 于 2016-11-17 00:16 编辑

回复评论 (8)

不错,就是觉得这样操作寄存器很麻烦,还要看手册,我直接用函数操作简单快捷,优化好
点赞  2016-11-17 08:38
引用: qwerghf 发表于 2016-11-17 08:38
不错,就是觉得这样操作寄存器很麻烦,还要看手册,我直接用函数操作简单快捷,优化好

用函数是方便点,如果里面有bug,会搞的很头大啊,各有利弊吧
点赞  2016-11-17 09:31
通过一个很耗时的函数,让MCU停留在这个函数里,延时完成后才能执行后面的内容,其实是对硬件资源的浪费。怎么延时时不对硬件资源浪费,怎么写?
点赞  2016-11-17 09:51
引用: huihuihaha 发表于 2016-11-17 09:51
通过一个很耗时的函数,让MCU停留在这个函数里,延时完成后才能执行后面的内容,其实是对硬件资源的浪费。 ...

用定时器,定时间隔到了再去执行任务,其他时间该干啥干啥
点赞  2016-11-17 11:57
谢谢楼主
点赞  2017-8-3 10:44
感谢楼主
点赞  2017-8-3 10:44
请问楼主,IO口要接上拉电阻吗?
点赞  2018-1-2 11:05
引用: 牛奶不是可乐 发表于 2018-1-2 11:05
请问楼主,IO口要接上拉电阻吗?

看你的需要,可以不要
点赞  2018-1-9 21:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复