我开始学习PICs微控制器,我想从简单的事情开始。我已经试着读了一本书,但它更像是一本C语言的书而不是微控制器的书。我了解了ADC、定时器、内存条等,但我没有得到一些实际的例子。
检查针脚上的电压或打开LED的基本步骤是什么?我的意思是,我要求的不是所有的代码,而是如何完成这些基本任务的指南。此外,我知道代码依赖于微控制器,所以我有一个16F628A。
发布于 2012-05-06 07:43:48
像这样控制LED是一个很好的介绍微控制器和电子产品的方式。您将学习如何阅读数据表,如何执行低级系统配置,以及如何构建一些电子电路。但是,正如您可能已经看到的,即使是最简单的任务,也需要在开始时进行一些微不足道的工作和反复试验。好消息是,一旦您理解了基础知识,您就可以将相同的技术应用于整个微控制器类,并且您将开发自己的函数库,这将使构建新项目变得越来越容易。
16F628A具有memory-mapped I/O,这意味着其内部寄存器控制其特殊功能引脚的行为。
根据data sheet的说法,28A有两个模拟comparators。每个比较器连接到28A上的三个引脚。两个引脚用于输入:它们连接到您想要比较的电压。第三个引脚用于输出:比较器通过将输出引脚上的电压设置为高或低来指示哪个输入电压较高。
28A还有一个连接到另一个引脚的基准电压源。这可以产生一个已知的电压,您可以将其连接到比较器输入之一。将测试电压连接到另一个比较器输入端,并使用输出引脚来驱动LED。然后,当测试电压高于基准电压时,LED将亮起或熄灭。( 28A实际上是可配置的:您可以选择点亮LED的条件。)
数据手册包括一些汇编代码,向您展示如何通过设置比较器控制寄存器中的适当位来配置比较器。
您还需要了解28A是否可以直接驱动LED。有些设备内部包含适当的限流电路,而其他设备则需要您自己提供。
你可能会幸运地在网络上搜索"16F628A应用笔记“(制造商的建议)或"16F628A应用”(针对用户创建的应用)。This看起来很有趣,作者提出通过电子邮件将他的软件发送给您。也许他也会提供一些建议。
祝好运!
发布于 2012-05-06 07:45:12
实际代码将稍微依赖于您正在使用的编译器,并且在很大程度上取决于您是否希望使用某个包装器库(我不推荐这样做,因为调用包装器的代码通常比仅仅设置正确的寄存器要长)。
一般而言,您要做的工作称为GPIO (通用输入和输出),您需要执行以下操作:
https://stackoverflow.com/questions/10466657
复制相似问题