嵌入式学习小组
直播中

张锐

7年用户 163经验值
私信 关注

请问PIC18F25K80单片机测试两个端口分别高电平和低电平输出程序怎么写?

本人新手,要求写个程序测试PIC18F25K80单片机,测试两个端口分别高电平和低电平输出,每10秒出现波纹!下面我写的对么?应该怎么写?

#include
              //包含单片机内部资源预定义

AD1PCFG = 0xFFFF;                //设置所有IO口为数字IO口,而非模拟IO口。
TRISA = 0xFFFE;                  //bit0 置为0,其他bit置为1.
LATAbits.LATA0 = 0;              // A0脚输出0电平。
void init();                     //I/O口初始化函数申明

void IOports(void)
{
AD1PCFG = 0xFFFF;
TRISA = 0xFFFD; // 配置A0,A1为数字输出口


while(10)
{
LATAbits.LATA0 = 0;              // A0脚输出低电平。
Delayms(10);                       // 延时10ms
LATAbits.LATA1 = 1;              // A1脚输出高电平。
Delayms(10);                       // 延时10ms
}
}

回帖(14)

关欣冰

2019-5-17 08:13:03
入口函数呢,延时函数在哪里声明的
举报

张娟

2019-5-17 08:18:46
云汉达人
如果要精确延时,建议采用定时器……不要用延时函数……
举报

颜廷波

2019-5-17 08:28:37
要怎么写。新手不懂
举报

潘福乔

2019-5-17 08:45:48
#include              //包含单片机内部资源预定义

AD1PCFG = 0xFFFF;                
TRISA = 0xFFFE;                  //bit0 置为0,其他bit置为1.
LATAbits.LATA0 = 0;              // A0脚输出0电平。
void delay();                     //I/O口初始化函数申明

void main()                 
{
    TRISA = 0xFFFD;                // 配置A0,A1为数字输出口
    while (1)         
    {
        LATAbits.LATA0 = 0;              // A0脚输出低电平。
        delay();
        LATAbits.LATA1 = 1;              // A1脚输出高电平。
        delay();
    }
}
 
void delay()              
{
    int i;                 //定义整形变量
    for (i = 500;i--;);     //延时
  }
  

  请问这样OK么?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分