知乐空间

PIC18F单片机的入门(pic单片机教程)

Pic单片机教程(PIC18F单片机介绍)

MikroElektronika的PIC板启动USB

那么PIC的StartUSB是什么呢?

PIC StartUSB是一款小型开发板,采用PIC18F2550 MCU,支持快速USB 2.0。它有用于所有MCU引脚的连接焊盘和两个用于放置额外元件的额外原型设计区域。该板的最大优点是微控制器已经用快速USB引导加载程序进行了预编程,因此不需要外部编程器。您可以使用mikroBootloader将与应用程序相关的十六进制文件从PC传输到PIC的程序存储器。MikroBootloader是mikroElektronika为其USB HID Bootloader开发的PC应用程序。板载miniUSB连接器、振荡器(8.0 MHz晶体)、复位电路、电源指示灯LED和另外两个LED提供快速启动所需的一切。另外两个led通过跳线连接到PIC18F2550的RA1和RB1引脚。上图显示了带有所有元件和其他原型制作区域的StartUSB for PIC板。

今天的教程非常重要,因为我们将讨论PIC板的StartUSB的完整设置,它将使您探索PIC18F系列MCU的世界。首先需要安装的是mikroC Pro for PIC,这是mikroElektronika针对PIC12、PIC16和PIC18系列微控制器开发的C编译器。您可以下载该软件的演示版,它将允许您编译多达2 K程序字的程序。安装编译器后,下载mikroBootloader,mikroBootloader是PC的一个应用程序,可以与StartUSB板上存储在PIC18F2550单卡机中的Bootloader程序进行通信。您可以从以下链接下载PIC和mikrobootloader的StartUSB用户指南。

StartUSB板的用户手册提供了板的电路图以及如何将其连接到PC以使用mikroBootloader下载应用程序十六进制文件的说明。在继续之前,请阅读手册信息资源联机丛书中的这些详细信息。

USB PIC板的StartUSB电路图,其中两个led连接到RA1和RB1

使用“Hello World”测试板

我们将通过一个简单的测试程序开始我们的旅程,这将确保一切设置正确,我们将准备使用PIC18F2550进行更高级的实验。该程序将交替闪烁两个板载led(连接到RA1和RB1引脚),持续时间为500 ms。在mikroC Pro for PIC中,该应用程序是作为项目开发的。如果你以前从未使用过mikroC Pro for PIC,mikroElektronika的文件“在mikroC Pro for PIC中创建第一个项目”将指导你创建第一个项目。按照这些步骤操作时,选择PIC18F2550作为MCU,选择8.0 MHz作为器件时钟。在主程序窗口中,键入以下程序。

/*

启动PIC板的USB测试程序

说明:两块板上的led交替闪烁500毫秒。

MCU:PIC18F2550,外部晶振= 8.0 MHz,PLL实际时钟= 48.0mhz。

版权所有@ Rajendra Bhatt

2011年3月29日

*/

//定义LED连接

RA1_bit的sbit LED1

sbit LED2 RB1 _ bit

void main(){

CMCON = 0x07//禁用比较器

ADCON1 = 0x0F//禁用模拟功能

TRISA = 0x00

TRISB = 0x00

le D1 = 0;

led 2 = 1;

做{

led 1 =〜led1;

led 2 =〜led2;

delay _ ms(500);

} while(1);

}

下载mikroC项目文件

编译程序得到十六进制文件,然后用mikroBootloader应用程序加载到PIC18F2550单片机中。请遵循StartUSB板用户手册中提到的说明。加载程序后,请重置电路板并等待5秒钟,直到微控制器退出引导加载模式并开始执行新加载的应用程序。您将看到两个板载led交替闪烁。等一下,它们被编程为闪烁0.5秒的持续时间,但你会看到它们跑得快得多。微控制器时钟似乎比所应用的外部振荡器(8.0 MHz)快得多。因为内置PLL电路,所以在PIC18F2550中是可以的。

PIC板StartUSB上的LED闪烁。

PIC18F2550板上的USB模块需要48.0 MHz的时钟才能全速运行。通过内置96 MHz PLL模块将其输出除以2来获得时钟。PLL本身由主时钟源的4 MHz输入信号驱动,在本例中,主时钟源是一个8.0 MHz晶振。因此,驱动PLL所需的4.0 MHz频率可以通过使用PLL预分频器值2从8.0 MHz频率源获得。然后,将PLL(96 MHz)的输出除以2,获得USB操作所需的48 MHz时钟。微控制器内核和其它外设也可以使用这个时钟速度,但这不是必须的。还有其他选项可以满足USB模块的时钟要求,并且仍然可以灵活地从主振荡器源为其他器件提供时钟。这些细节可以在PIC18F2550的数据手册中找到。但是对于PIC板使用的StartUSB,由于需要USB自举程序、USB模块和微控制器内核,所以两者都使用来自PLL的48.0 MHz时钟。遗憾的是,引导加载程序不允许用户更改时钟设置,因此它始终是48.0 MHz,除非您先擦除引导加载程序,然后使用外部编程器来修改时钟设置的配置寄存器。所以板载PIC18F2550 MCU实际运行频率是48.0 MHz,而不是8.0 MHz。这就是LED闪烁速度加快的原因。要解决这个问题,请从mikroC的“项目”菜单中打开“编辑项目”窗口,并确保时钟设置与下面显示的一致。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。

留言与评论(共有 0 条评论)
验证码: