如何用 C 语言对 PIC18 单片机进行编程?分步指南
如何用 C 语言对 PIC18 微控制器进行编程。分步教程(图片视图)
如何对微控制器进行编程?
微控制器编程意味着在特殊软件中为不同目的对微控制器进行编码。有很多软件可以让我们为微控制器和 IC 芯片编写不同的代码。下面,我们将讨论如何对微控制器进行编程。
在本教程中,我们将使用 C 为 PIC18 微控制器编程或编写一个简单的代码,其中“C”是一种广泛使用的计算机语言,它恰好是唯一受支持的语言(除了组装)此时适用于 8 位和 16 位 PIC 微控制器。
- 8 位图片:
PIC10、PIC12、PIC16、PIC18为8bit系列单片机。
- 16 位图片:
PIC24、dsPIC30、dsPIC33是16位MCU系列
- 32 位图片:
PIC32是32位MCU系列。
如何将编码的程序烧录到单片机上?
烧录微控制器意味着将编码程序从编译器(其中编译器是我们可以编写、分析、测试和调试微控制器的编码程序的软件)传输到微控制器内存。
为微控制器编写的编码或程序通常是汇编/C语言,编译器生成一个微控制器可以理解的十六进制文件。 hex文件包含特殊指令,这些指令将被传输到微控制器内存中,然后根据给定的指令和程序工作。
当我们对微控制器进行编程时(我们将逐步讨论如何编写微控制器专用编码的教程),然后我们需要它来烧写这个程序到微控制器的内存中。
为此,我们需要一个硬件,它可以通过软件理解和读取存储在我们的笔记本电脑或 PC 上的 hex 文件的内容和编程代码。因此,我们通过 USB 电缆或串口将此硬件连接到 PC/笔记本电脑,并将编写的编程代码传输到微控制器的内存中,然后微控制器执行设计者和制造商设计微控制器 IC 芯片的确切功能。
- 相关文章:不同类型的微控制器
用 C 语言对 PIC18 微控制器进行编程。
Microchip Technology 是第二大电子和 IC 制造行业。 Microchip Technology 销售 6 引脚封装(PIC10F2xx 系列)、100 引脚封装(dsPIC33EP512MU810)甚至 144 引脚封装(某些 PIC32 器件)的微控制器。还有很多以前的系列,比如PIC12、PIC16、PIC18。
Target Controller介绍:
这里我们将讨论PIC18系列。该系列的常用单片机是PIC18f452。该控制器是一个 8 位微控制器,有 40 个引脚,32kb 的程序存储器,它可以在高达 40 MHZ 的晶振频率下工作,因此该控制器适用于许多应用。
该控制器可以吸收和提供高达 25mA 的电流,因此无需使用晶体管来驱动 LED 并将它们连接到其他硬件。有3个外部中断引脚和2个16位定时器,1个8位定时器。该控制器配备捕捉模块和比较器模块。本控制器自带模数转换器,无需外接ADC。
这个控制器也可以有模块与其他硬件通信,如RS232模块、I2C模块、1wire模块和并行从端口。这款微控制器是一款设计美观的设备,适合初学者、业余爱好者以及小型和复杂电子项目的专业人士。
编程环境介绍:
我们要使用的编程环境是MikroC for PIC。该 IDE 配备了一系列内置库和易于使用的界面。这个集成开发环境包含许多计算器,例如十六进制到二进制和十进制的转换,这对编程有很大帮助。
这个软件体积也比其他软件小,所以使用和安装都很方便。该软件的语法与 MPLAB 软件略有不同,但作为一名设计师,我会建议所有读者使用 MikroC 而不是 MPLB,因为它的语法非常易于阅读,并且有很多内置库可供使用。
它肯定会减少编程时间,您不必从头开始构建延迟、LCD 读写、RS232 协议等常用功能。主页>
请注意,MikroC 不是免费软件,而 Microchip 的 MPLAB X IDE 和 XC8 编译器是免费的,并提供许多免费库。
让我们从一个例子开始。
注意:认为您已经下载并安装了 MikroC 编程软件,我们将用 C 语言对其进行编程,您也初步了解了 C 语言编程.
- 相关文章:什么是 Arduino 以及如何编程? Arduino编程
在 MikroC 中创建新项目:
第 1 步:
双击桌面或您安装该软件的位置上的 MikroC 图标(如下所示)。
加载软件后会看到这个窗口。
第 2 步:
现在到右上角的Project按钮,点击“Project”。
第 3 步:
现在点击“Now Project”,会出现下面的新窗口。
第 4 步。
现在点击下一步,选择你的目标MCU时钟速度和项目名称以及你要保存的目录。
之后,不要关注其余的窗口,只需在出现的所有剩余窗口上单击下一步即可。
现在将出现以下窗口。这是您在此窗口上的编程环境,您必须编写代码并编译它。
现在你已经设置好了软件。下一步就是写代码了。
- 相关文章:ATMega 微控制器是什么以及如何用它制作 LED 项目?
为 PIC18 微控制器编写代码:
PIC18f452 带有 5 个端口。四个端口是 8 位,一个端口是 4 位在本教程中,我们将使用 8 位端口。在为 PIC18 编写代码时,您需要牢记几件事。 (代码如下 )
将端口作为输入或输出:
每个端口都有 TRISX 寄存器,用于定义您使用此端口作为输入还是输出。其中 X 可以是 A、B、C、D、E、F,例如TRISB。
对于输出,您必须在 TRISB 中放入 0x00,对于输入,您必须在其中放入 0xFF。但情况并非总是如此,因为每个引脚都可以独立选择为输入或输出。您可以将 0x09 写入 TRISB,它将选择 RB0 和 RB3 作为输入,其余引脚作为输出。
延迟函数:
在 mikroC 中我选择了延迟库,所以我不必在这里创建延迟函数,我可以简单地使用 Delay_ms() 函数。在这个函数中,你必须给出你想要多少毫秒的延迟,如果你想要 1000 毫秒的延迟,你可以像 Delay_ms(1000) 这样写。
这里的 e 是第一个简单的切换 PORT 位代码。
void main() {
TRISB=0x00; // Defineind as Output
While(1) //Infinite loop
{
PORTB=0x00;
Delay_ms(500) ; //500 miliseconds delay
PORTB=0xFF;
Delay_ms(500) ;
}
}
当你写完这段代码之后你必须编译它。
点击这个“build all”按钮代码将被编译,并在您保存项目文件的文件夹中创建十六进制。
创建十六进制后,您可以使用 PICKIT 硬件在 PIC18f452 中烧录此十六进制,也可以使用 proteus 对其进行测试。
这就是第一个教程的全部内容;请继续关注即将发布的有关该主题的帖子。
相关文章:
- 微处理器和微控制器的区别
- 8085 & 的区别8086 微处理器 - 比较
- MAX232:构造、操作、类型和应用
- RS232 串行通信协议及其工作原理?
- 使用555定时器的拍子开关电路电子项目
- 10 多种在线电气/电子工程师设计和仿真工具
- 贴片电阻代码:如何找到贴片电阻的值
工业技术