社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 精华区
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
搜索
查看: 584|回复: 13

[求助] 小白自学pic24fj,遇到问题求大神指导。急急急!!!

[复制链接]

11

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2017-2-15 09:11:01 | 显示全部楼层 |阅读模式

自己刚入门PIC24fj256ga108的单片机,我写了程序,控制8个继电器分别导通电路的,但是程序烧写到单片机中,无法使电路按照我要求导通。大神们看一下,是不是我程序出问题了。顺便麻烦看一下我是不是串口写错了,串口调试的时候没有反应。麻烦大神看一下我的工程文件有什么问题吗
#include <p24Fxxxx.h>
#include"serial.h"
unsigned char RxData;//这个数是从串口收到数据,可以判断这个数据,来决定开哪一个继电器
int main()
{
TRISB = 0x0000;
     TRISC = 0X0000;
TRISD = 0x0000;
UART_Init();
while(1)
{   if(RxData==1)
        {PORTB = 0xCDFF;
   PORTD = 0xFFFF;
         PORTC = 0xFFFF;
}                     
       else if(RxData==2)
       { PORTB = 0xADFF;
   PORTD = 0xFFFF;
         PORTC = 0xFFFF;
       }
      else if(RxData==3)
      {PORTB = 0xF5FF;
      PORTD = 0xFFFF;
         PORTC = 0xEFFF;
                         }
    else if(RxData==4)
    { PORTB = 0xF5FF;
   PORTD = 0xEFFF;
         PORTC = 0xFFFF;
                         }
        else if(RxData==5)
    { PORTB = 0xBBFF;
   PORTD = 0xF7FF;
         PORTC = 0xFFFF;}
       else if(RxData==6)
    { PORTB = 0xBBFF;
      PORTD = 0xFFFB;
         PORTC = 0xFFFF;}
         else if(RxData==7)
     {PORTB = 0xFBFF;
   PORTD = 0xDFFF;
         PORTC = 0xFFFE;}
         else if(RxData==8)
       { PORTB = 0xFBFF;
   PORTD = 0xDFFF;
         PORTC = 0xFFFD;}
}   
}

下面是串口程序
#include <p24Fxxxx.h>
#include"serial.h"
void UART_Init(void)
{
TRISFbits.TRISF3=0;  
TRISFbits.TRISF2=1;  
U1STA=0x0400; //对发送机使能并对错误标志位清零,接受或者收到一个字符即产生//中断   
U1MODE=0x8000; //允许串行口工作使能且设置BREGH=0模式 、8位数据无奇偶校验、一位停止位  
U1BRG=50; //8M晶振且波特率设置为9600时,U1BRG设置值为51  
IFS0bits.U1TXIF=0;  
IFS0bits.U1RXIF=0;  
IEC0bits.U1TXIE=1; //允许串行通讯发送中断使能  
IEC0bits.U1RXIE=1;//允许串行通信接受中断
}
void __attribute__((interrupt))_U1RXInterrupt(void)
{   
IFS0bits.U1RXIF=0;  
RxData=U1RXREG;   
}




此帖出自PIC单片机论坛

pic24GAv2.1.zip

192.45 KB, 下载次数: 2


回复

使用道具 举报

6113

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-2-15 09:28:38 | 显示全部楼层
输出使用LATx寄存器,而不是PORTx。

回复

使用道具 举报

11

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2017-2-15 09:32:00 | 显示全部楼层
dcexpert 发表于 2017-2-15 09:28
输出使用LATx寄存器,而不是PORTx。

使用LAT操作也是一样的问题,我就改成了port,我的程序和串口有问题吗版主大人。方便的话能否打开我的工程文件帮我看一下呢

点评

你仿真看看,描述的太简单,不好分析。 proteus支持这个型号,可以在proteus中调试,不但方便,速度也快。 另外建议程序中不要直接对寄存器赋值,这样不好维护和修改,可以多使用位操作。PIC的头文件中已经定  详情 回复 发表于 2017-2-15 10:09

回复

使用道具 举报

365

TA的帖子

103

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-2-15 09:51:06 | 显示全部楼层
配置位你设置了吗?在设置中是在程序中配置,但程序中又没有配置代码。

configure

configure


回复

使用道具 举报

6113

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2017-2-15 10:09:44 | 显示全部楼层
cp1994 发表于 2017-2-15 09:32
使用LAT操作也是一样的问题,我就改成了port,我的程序和串口有问题吗版主大人。方便的话能否打开我的工 ...

你仿真看看,描述的太简单,不好分析。

proteus支持这个型号,可以在proteus中调试,不但方便,速度也快。

另外建议程序中不要直接对寄存器赋值,这样不好维护和修改,可以多使用位操作。PIC的头文件中已经定义了很多位变量,你可以打开看看。

回复

使用道具 举报

11

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2017-2-15 10:23:35 | 显示全部楼层
gs001588 发表于 2017-2-15 09:51
配置位你设置了吗?在设置中是在程序中配置,但程序中又没有配置代码。

应该怎么设置

回复

使用道具 举报

365

TA的帖子

103

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-2-15 10:28:08 | 显示全部楼层
不只配置位一处有问题,工程设置完全不对呀。还是用MPLAB X IDE吧

回复

使用道具 举报

11

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2017-2-15 10:31:50 | 显示全部楼层
gs001588 发表于 2017-2-15 10:28
不只配置位一处有问题,工程设置完全不对呀。还是用MPLAB X IDE吧

能给个下载链接吗

回复

使用道具 举报

11

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2017-2-15 10:32:05 | 显示全部楼层
gs001588 发表于 2017-2-15 10:28
不只配置位一处有问题,工程设置完全不对呀。还是用MPLAB X IDE吧

能给个下载链接吗

点评

http://www.microchip.com/mplab/mplab-x-ide http://www.microchip.com/mplab/compilers  详情 回复 发表于 2017-2-15 13:24

回复

使用道具 举报

365

TA的帖子

103

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-2-15 12:42:11 | 显示全部楼层
pic24GAv2.1.rar (125.11 KB, 下载次数: 6)

回复

使用道具 举报

365

TA的帖子

103

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-2-15 12:44:31 | 显示全部楼层
我这个程序用了从配置来说用了内部8M RC,指令时钟也是8M,波特率时钟即为4M。波特率设置寄存器 25

回复

使用道具 举报

365

TA的帖子

103

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-2-15 13:24:57 | 显示全部楼层

回复

使用道具 举报

365

TA的帖子

103

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2017-2-15 13:27:18 | 显示全部楼层

回复

使用道具 举报

11

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2017-2-15 13:49:15 | 显示全部楼层
gs001588 发表于 2017-2-15 12:42
这个改了改,也不保证能正常,但至少比你那个要好一些。

万分感谢

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-9-20 19:16 , Processed in 0.512873 second(s), 22 queries , Redis On.

快速回复 返回顶部 返回列表