前一个亮灯程序是在下载的范例基础上修改的,本次则从零开始建立一个全新的项目。 在MPLAB X IDE主窗口点击新建项目:
在项目属性窗口中选择“独立项目”:
在器件搜索窗口中输入关键字(例如15244),从下拉列表框中选择对应的器件:
然后选择正确的编译器:
最后输入项目名称和确定项目存放的文件夹,注意在下部的编码窗口选择相应的汉字字符集,否则程序(含注释)中无法输入汉字字符:
点击“finish”按钮结束项目设置,此时项目框架就建成了,但还没有代码文件和头文件,这些文件可以通过代码配置器MCC来完成。在“Windows”下拉菜单中点击第一个选项“MPLAB Code Configurator”(也可以直接点击工具栏上的MCC图标),进入代码配置器:
通常是将MCC文件保存在默认的位置,直接点击“保存”。之后便正式进入到代码配置器界面:
选择好使用内容时钟(详见上图),然后在下面的引脚图上RA2(LED)设置为output,RC2(KEY)设置为input。我选用的是定时器0来作毫秒定时,添加好定时器0并按下图设置:
最后一个设置项目不要漏了(因为需要下拉到最后才能看到,很容易漏设置):
设置好之后点击左上部的“Geberate”按钮生成代码文件。然后退出MCC(再点击一次MCC图标),就可以添加代码了。不过有时退出MCC后会遇到无法编辑代码的情况,此时可退出MPLAB X IDE之后再重新进入一次就行。
先在main.c文件中定义一个16位的全局变量ms,然后在主函数中打开中断并启动定时器0,在主循环中写入执行代码:
uint16_t ms;
/*
Main application
*/
void main(void)
{
// initialize the device
SYSTEM_Initialize();
// When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits
// Use the following macros to:
// Enable the Global Interrupts
INTERRUPT_GlobalInterruptEnable();
// Enable the Peripheral Interrupts
INTERRUPT_PeripheralInterruptEnable();
// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();
// Disable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptDisable();
TMR0_StartTimer();
while (1)
{
// Add your application code
if(ms>499){
ms = 0;
LED_Toggle();
}
}
}
在tmr0.c文件中也定义好外部变量ms:
然后在中断函数中写入ms++:
最后编译下载烧录到评估板上,LED灯便按照1秒的频率闪烁起来了,下面是动画:
下面是测试项目的压缩包:
MyTest.X.rar
(185.89 KB)
|