MPLAB XC8 C 编译器入门教程:LED闪烁项目

需积分: 50 31 下载量 56 浏览量 更新于2024-07-18 收藏 2.43MB PDF 举报
"XC8入门指南_cn" MPLAB® XC8是Microchip Technology Inc.推出的一款C语言编译器,专为8位PIC微控制器(MCU)设计,用于嵌入式系统的开发。该编译器是MPLAB X IDE的一个组成部分,为用户提供了一个集成的环境来编写、编译和调试代码。这篇入门指南面向的是初次接触MPLAB XC8以及嵌入式编程的用户,特别是对Microchip器件不熟悉的开发者。 在MPLAB X IDE中创建项目是使用XC8的第一步,这通常涉及选择合适的MCU型号,例如本指南中使用的PIC18F87J11,以及配置项目属性。PIC18F87J11是一款高性能的8位MCU,广泛应用于各种嵌入式系统。 基础代码通常从包含头文件`<xc.h>`开始,这个文件包含了所有必要的定义和函数原型,以便与Microchip的MCU进行交互。接着,使用`#pragma config`指令可以设置器件的配置位,这些位控制着MCU的启动行为、电源管理和其他特性。 编译过程是验证代码是否符合C语言标准以及MCU特定的指令集的过程。MPLAB XC8编译器会分析源代码,生成相应的机器语言,即目标代码。如果在编译过程中遇到错误或警告,编译器会给出提示,帮助开发者解决问题。 指定器件配置位是非常重要的一步,因为它能确保MCU以预期的方式运行。例如,禁用使用特定端口引脚的外设,可以防止它们与用户程序冲突。这通常通过配置寄存器来实现,这些寄存器控制MCU的各种功能。 初始化端口的数据方向寄存器(如TRIS寄存器)和端口锁存器(PORT寄存器)是控制I/O端口的基本操作。通过设置这些寄存器,可以定义端口引脚是输入还是输出,以及写入特定的逻辑电平。 为了实现实际的控制效果,如让连接到端口的LED闪烁,通常需要使用延时函数。这种函数会在CPU上执行一系列无操作(NOP)指令,以占用一定的时间,使得LED的亮灭间隔可见。 本指南还涵盖了如何使用中断,中断是嵌入式系统中处理实时事件的关键机制。通过编写中断服务例程(ISR),程序可以在外部事件发生时立即作出响应。 最后,通过MPLAB X IDE,用户可以选择下载代码到开发板,如PICDEM PIC18 Explorer,或者使用软件模拟器在没有物理硬件的情况下测试代码的行为。 MPLAB XC8入门指南提供了从零开始学习嵌入式C编程的详细步骤,涵盖了从创建项目到编写基本控制代码,再到使用中断和硬件交互的完整流程。对于想要掌握Microchip 8位MCU开发的初学者,这是一个宝贵的资源。同时,指南强调了使用MPLAB X IDE和XC8编译器的评估版或免费模式的可能性,降低了学习的门槛。
2020-02-03 上传
新版XC8编译器1.45b版本,带完整安装包,支持新型号MICROCHIP 8位单片机,具体支持型号如下: 10F200 10F202 10F204 10F206 10F220 10F222 12C508 12C508A 12C509 12C509A 12C509AF 12C509AG 12CE518 12CE519 12CR509A 12F508 12F509 12F510 12F519 16C505 16C54 16C54A 16C54C 16C55 16C55A 16C56 16C56A 16C57 16C57C 16C58A 16C58B 16CR54 16CR54A 16CR54C 16CR56A 16CR57B 16CR57C 16CR58A 16CR58B 16F505 16F506 16F526 16F54 16F57 16F59 16HV540 MCV08A MCV14A MCV18A MCV28A RF509AF RF509AG 12F529T39A 12F529T48A 16F527 16F570 10F320 10F322 10LF320 10LF322 12C671 12C672 12CE673 12CE674 12F609 12F615 12F617 12F629 12F635 12F675 12F675F 12F675H 12F675K 12F683 12F752 12HV609 12HV615 12HV752 16C432 16C433 16C554 16C557 16C558 16C620 16C620A 16C621 16C621A 16C622 16C622A 16C62A 16C62B 16C63 16C63A 16C642 16C64A 16C65A 16C65B 16C66 16C662 16C67 16C71 16C710 16C711 16C712 16C715 16C716 16C717 16C72 16C72A 16C73A 16C73B 16C745 16C74A 16C74B 16C76 16C765 16C77 16C770 16C771 16C773 16C774 16C781 16C782 16C923 16C924 16C925 16C926 16CE623 16CE624 16CE625 16CR62 16CR620A 16CR63 16CR64 16CR65 16CR72 16CR73 16CR74 16CR76 16CR77 16CR83 16CR84 16CR926 16F610 16F616 16F627 16F627A 16F628 16F628A 16F630 16F631 16F636 16F639 16F648A 16F676 16F677 16F684 16F685 16F687 16F688 16F689 16F690 16F707 16F716 16F72 16F720 16F721 16F722 16F722A 16F723 16F723A 16F724 16F726 16F727 16F73 16F737 16F74 16F747 16F753 16F76 16F767 16F77 16F777 16F785 16F818 16F819 16F83 16F84 16F84A 16F87 16F870 16F871 16F872 16F873 16F873A 16F874 16F874A 16F876 16F876A 16F877 16F877A 16F88 16F882 16F883 16F884 16F886 16F887 16F913 16F914 16F916 16F917 16F946 16HV610 16HV616 16HV753 16HV785 16LF627 16LF627A 16LF628 16LF628A 16LF648A 16LF707 16LF720 16LF721 16LF722 16LF722A 16LF723 16LF723A 16LF724 16LF726 16LF727 16LF73 16LF74 16LF747 16LF76 16LF767 16LF77 16LF777 16LF818 16LF819 16LF83 16LF84 16LF84A 16LF87 16LF870 16LF871 16LF872 16LF873 16LF873A 16LF874 16LF874A 16LF876 16LF876A 16LF877 16LF877A 16LF88 MCP19110 MCP19111 MCP19114 MCP19115 MCP19116 MCP19117 MCP19118 MCP19119 MCP19120 MCP19121 MCP19122 MCP19123 MCP19124 MCP19125 MCP19126 MCP19128 MCP19214 MCP19215 MCP19625 MCV18E RF675F RF675H RF675K 12F1501 12F1571 12F1572 12F1612 12F1822 12F1840 12LF1501 12LF1552 12LF1571 12LF1572 12LF1612 12LF1822 12LF1840 12LF1840T39A 12LF1840T48A 16F1454 16F1455 16F1459 16F1503 16F1507 16F1508 16F1509 16F1512 16F1513 16F1516 16F1517 16F1518 16F1519 16F1526 16F1527 16F1574 16F1575 16F1578 16F1579 16F1613 16F1614 16F1615 16F1618 16F1619 16F1703 16F1704 16F1705 16F1707 16F1708 16F1709 16F1713 16F1716 16F1717 16F1718 16F1719 16F1764 16F1765 16F1768 16F1769 16F1773 16F1776 16F1777 16F1778 16F1779 16F1782 16F1783 16F1784 16F1786 16F1787 16F1788 16F1789 16F1823 16F1824 16F1825 16F1826 16F1827 16F1828 16F1829 16F1829LIN 16F18313 16F18323 16F18324 16F18325 16F18326 16F18344 16F18345 16F18346 16F1847 16F18854 16F18855 16F18856 16F18875 16F18876 16F18NVM 16F1933 16F1934 16F1936 16F1937 16F1938 16F1939 16F1946 16F1947 16LF1454 16LF1455 16LF1459 16LF1503 16LF1507 16LF1508 16LF1509 16LF1512 16LF1513 16LF1516 16LF1517 16LF1518 16LF1519 16LF1526 16LF1527 16LF1554 16LF1559 16LF1566 16LF1567 16LF1574 16LF1575 16LF1578 16LF1579 16LF1613 16LF1614 16LF1615 16LF1618 16LF1619 16LF1703 16LF1704 16LF1705 16LF1707 16LF1708 16LF1709 16LF1713 16LF1716 16LF1717 16LF1718 16LF1719 16LF1764 16LF1765 16LF1768 16LF1769 16LF1773 16LF1776 16LF1777 16LF1778 16LF1779 16LF1782 16LF1783 16LF1784 16LF1786 16LF1787 16LF1788 16LF1789 16LF1823 16LF1824 16LF1824T39A 16LF1825 16LF1826 16LF1827 16LF1828 16LF1829 16LF18313 16LF18323 16LF18324 16LF18325 16LF18326 16LF18344 16LF18345 16LF18346 16LF1847 16LF18854 16LF18855 16LF18856 16LF18875 16LF18876 16LF1902 16LF1903 16LF1904 16LF1906 16LF1907 16LF1933 16LF1934 16LF1936 16LF1937 16LF1938 16LF1939 16LF1946 16LF1947 MCP19132 MCP19133 16F15313 16F15323 16F15324 16F15325 16F15344 16F15345 16F15354 16F15355 16F15356 16F15375 16F15376 16F15385 16F15386 16F18424 16F18425 16F18426 16F18444 16F18445 16F18446 16F18455* 16F18456* 16F18857 16F18877 16F188EX 16F19155 16F19156 16F19175 16F19176 16F19185 16F19186 16F19195 16F19196 16F19197 16LF15313 16LF15323 16LF15324 16LF15325 16LF15344 16LF15345 16LF15354 16LF15355 16LF15356 16LF15375 16LF15376 16LF15385 16LF15386 16LF18424 16LF18425 16LF18426 16LF18444 16LF18445 16LF18446 16LF18455* 16LF18456* 16LF18857 16LF18877 16LF19155 16LF19156 16LF19175 16LF19176 16LF19185 16LF19186 16LF19195 16LF19196 16LF19197 18C242 18C252 18C442 18C452 18C601 18C658 18C801 18C858 18F1220 18F1230 18F1320 18F1330 18F13K22 18F13K50 18F14K22 18F14K22LIN 18F14K50 18F2220 18F2221 18F2320 18F2321 18F2331 18F23K20 18F23K22 18F2410 18F242 18F2420 18F2423 18F2431 18F2439 18F2450 18F2455 18F2458 18F248 18F2480 18F24J10 18F24J11 18F24J50 18F24K20 18F24K22 18F24K40 18F24K50 18F24Q10 18F2510 18F2515 18F252 18F2520 18F2523 18F2525 18F2539 18F2550 18F2553 18F258 18F2580 18F2585 18F25J10 18F25J11 18F25J50 18F25K20 18F25K22 18F25K40 18F25K50 18F25K80 18F25Q10 18F2610 18F2620 18F2680 18F2682 18F2685 18F26J11 18F26J13 18F26J50 18F26J