打印
[PIC®/AVR®/dsPIC®产品]

PIC18F452点灯

[复制链接]
750|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
玛尼玛尼哄|  楼主 | 2023-4-13 20:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#pragma config FOSC = HS    // 设置时钟源为高速晶振
#pragma config PWRT = ON    // 开启上电复位定时器
#pragma config BOREN = OFF  // 关闭低电压复位
#pragma config WDT = OFF    // 关闭看门狗定时器
#pragma config LVP = OFF    // 禁止低压编程模式

#include <xc.h>

#define LED PORTAbits.RA0  // 定义LED控制口

void main()
{
    TRISAbits.TRISA0 = 0;  // 设置RA0为输出

    while(1)
    {
        LED = 1;           // 点亮LED
        __delay_ms(500);   // 延时500ms
        LED = 0;           // 熄灭LED
        __delay_ms(500);   // 延时500ms
    }
}


使用特权

评论回复
沙发
玛尼玛尼哄|  楼主 | 2023-4-13 20:56 | 只看该作者
以上代码使用了预处理指令设置配置字,并在main函数中定义了LED控制口,并使用一个无限循环实现了LED的闪烁效果。

需要注意的是,此代码中使用了XC8编译器提供的__delay_ms函数,需要在代码中加入#include <xc.h>来包含相关的头文件。此外,也需要在代码中设置相应的端口方向寄存器(TRIS)来控制IO口的输入输出状态。

通过以上代码,可以在PIC18F452单片机上实现一个简单的点灯功能,并通过配置字设置单片机的时钟源和外设工作状态,提高系统的稳定性和可靠性。

使用特权

评论回复
板凳
pzsh| | 2023-4-18 14:50 | 只看该作者
我觉得代码风格非常棒!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

174

主题

3057

帖子

2

粉丝