pic16f877a程序仿真能行,为什么开发板上实现不了?

2019-03-25 19:33发布

#include<pic.h>  void delay(int ms)  {  int i=0,j=0; for(i=0;i<ms;i++) for(j=0;j<67;j++)  {;} } void main(void)  { TRISC=0; PORTC=0b11111111; delay(100); while(1){} } 程序如上,其他程序也是仿真是可以的,就是开发板上没反映。是一个点灯的程序,RC口接八个LED灯 [ 本帖最后由 nibini1 于 2011-11-7 14:32 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
pcd
1楼-- · 2019-03-26 00:12
开发板LED灯那边的原理图有吗?也发来看看!程序上没看出啥问题!设置一下断点在while(1)那边,停住后,看看PORTC口的状态是不是0xFF。
常见泽1
2楼-- · 2019-03-26 02:44
多少M的晶振呢?是不闪烁 还是没现象
常见泽1
3楼-- · 2019-03-26 03:48

  1. #include<pic.h>
    #define uchar unsigned char
    #define uint unsigned int
    __CONFIG(0X3B31);

    /****************************************************************************************
    ** Function name: delay
    ** Descriptions: 软件延时1ms
    ** input parameters: z
    ** output parameters: 无
    ** Returned value: 无
    ******************************************************************************************/
    void delay(uint z)
    {
    uint x,y;
    for( x = z; x > 0;x-- )
    for( y = 110; y > 0; y-- );
    }

    /****************************************************************************************
    ** Function name: main
    ** Descriptions: 流水灯测试程序
    ** 跳线连接:插上J23跳冒(LED连上电源)
    ** 现 象:下载代码,运行程序,流水灯开始流淌
    ** input parameters: 无
    ** output parameters: 无
    ** Returned value: 无
    *****************************************************************************************/
    void main()
    {
    int num,temp;
    TRISD = 0X00; //输出 与AVR相反
    while(1)
    {
    temp = 0x01;
    for (PORTD = 0Xfe,num = 0; num < 8; num++ , temp <<= 1,PORTD = ~temp)
    delay(1000);
    }
    }
复制代码

 

发个我测试过的正确的程序 您参考下

常见泽1
4楼-- · 2019-03-26 08:37
 精彩回答 2  元偷偷看……
nibini1
5楼-- · 2019-03-26 10:35

4M的晶振,__config()是配置字,和硬件上实现有联系吗?

看了下书上的程序,貌似都有这条额

[ 本帖最后由 nibini1 于 2011-11-8 18:48 编辑 ]
nibini1
6楼-- · 2019-03-26 14:50
仿真的时候灯是有亮的,呜呜,原理图太大了,不好发,
谢谢好心人了

一周热门 更多>