随着社会越来越发达,大家都选择在网络上汲取相关知识内容,比如pic单片机教程_PIC18F单片机的入门,为了更好的解答大家的问题,小编也是翻阅整理了相应内容,下面就一起来看一下吧!


(相关资料图)

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系列单片机的世界。首先需要安装的是mikroC Pro for PIC,这是mikroElektronika为PIC12、PIC16、PIC18系列微控制器开发的c编译器。你可以下载这个软件的演示版,它将允许你编译程序,最多可以有2 K个程序字。安装好编译器后,下载mikroBootloader,这是一个PC的应用程序,可以和StartUSB板上存储在PIC18F2550 MCU中的Bootloader程序进行通信。您可以从以下链接下载PIC和mikrobootloader的StartUSB用户指南。

StartUSB板的用户手册提供了板的电路图以及如何将其连接到PC以使用mikroBootloader下载应用十六进制文件的说明。继续之前,请阅读手册中的这些细节。

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

使用“Hello World”测试板

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

/*

启动PIC板的USB测试程序

注:两块板上的指示灯交替闪烁500毫秒。

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

版权所有@ Rajendra Bhatt

2011年3月29日

*/

//定义LED连接

RA1_bit的 *** it LED1

*** it 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的“项目”菜单中打开“编辑项目”窗口,并确保时钟设置与下面显示的一致。

关键词: