[PIC®/AVR®/dsPIC®产品] PIC16F单片机的IO的方向设置可以用下面的方式吗

[复制链接]
1576|5
 楼主| mintspring 发表于 2024-3-11 22:45 | 显示全部楼层 |阅读模式
要配置PIC16F684的RC0和RC5引脚为输出并交替驱动LED闪烁,你可以使用MPLAB X IDE来编写和调试你的PIC代码,以及XC8编译器来编译它。

下面是一个简单的示例代码,演示如何实现你的需求:
  1. #include <xc.h>

  2. // 配置配置单片机的配置字
  3. #pragma config FOSC = INTRCIO   // 内部振荡器
  4. #pragma config WDTE = OFF       // 禁用看门狗定时器
  5. #pragma config PWRTE = OFF      // 禁用上电复位定时器
  6. #pragma config MCLRE = OFF      // RA3引脚作为普通输入,不作为复位
  7. #pragma config CP = OFF         // 禁用代码保护
  8. #pragma config CPD = OFF        // 禁用数据EEPROM保护

  9. #define _XTAL_FREQ 4000000     // 内部振荡器频率为4MHz

  10. void main() {
  11.     TRISC0 = 0; // RC0设置为输出
  12.     TRISC5 = 0; // RC5设置为输出
  13.    
  14.     while(1) {
  15.         RC0 = 1; // 使RC0输出高电平,点亮LED
  16.         __delay_ms(500); // 延迟一段时间
  17.         
  18.         RC0 = 0; // 使RC0输出低电平,关闭LED
  19.         RC5 = 1; // 使RC5输出高电平,点亮另一个LED
  20.         __delay_ms(500); // 延迟一段时间
  21.         
  22.         RC5 = 0; // 使RC5输出低电平,关闭LED
  23.     }
  24. }
TRISC0  这种表述是正确的吗

 楼主| mintspring 发表于 2024-3-11 22:46 | 显示全部楼层

试了一下可以。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| mintspring 发表于 2024-3-11 22:47 | 显示全部楼层
#pragma config FOSC = INTRCIO   // 内部振荡器
这个错了。
xuanhuanzi 发表于 2024-3-30 15:39 | 显示全部楼层
以前的操作方式,现在都是用图形化配置生成配置函数。
桃乐丝 发表于 2025-11-3 15:07 | 显示全部楼层
PIC16F 单片机 IO 方向通过 TRIS 寄存器设置:TRIS 位为 1 时对应 IO 为输入,0 时为输出。例如 TRISA=0x01 表示 RA0 为输入,其余 RA 口为输出。需注意不同型号寄存器命名(如 TRISB、TRISC),且设置后立即生效。只要按此规则操作,直接对 TRIS 寄存器赋值的方式是正确的,这是 PIC16F 的标准配置方法。
夏眠毁灭者 发表于 2025-11-13 17:29 | 显示全部楼层
PIC16F 单片机 IO 方向通过 TRIS 寄存器设置:TRIS 位为 1 时对应 IO 为输入,0 时为输出,可直接对寄存器赋值(如 TRISA=0x0F 使 RA0-RA3 为输入),或按位操作(如 bsf TRISB, 2 设置 RB2 为输入)。这种方式符合其架构,是标准配置方法,需注意部分引脚复位后默认方向,确保操作正确。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

303

主题

4972

帖子

24

粉丝
快速回复 在线客服 返回列表 返回顶部