打印
[技术问答]

新唐单片机不能操作IO口问题

[复制链接]
2348|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pmw_56|  楼主 | 2018-4-2 17:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


新唐N76E003 单片机不能操作单个脚位,可以对整个端口操作,比喻 P12 = 0 ; P12= 1; 不能运行,P1 = 0; P1 = 0xFF;就可以运行,这是什么原因呢?

有没有朋友遇到 ?   我用的是 KEIL C51  9.57 最新版编译器,9.56也不行才升级到9.57的

               
                P12 = 0;
               
//                P1 = 0x00;
               
                Timer0_Delay1ms(1000);
               
                P12 = 1;
               
//                P1 = 0xFF;
               
                Timer0_Delay1ms(1000);
               

沙发
ayb_ice| | 2018-4-2 17:19 | 只看该作者
怎么可能,除非你定义错误

使用特权

评论回复
板凳
619888476| | 2018-4-2 17:20 | 只看该作者
使用了新唐的例程没有?

使用特权

评论回复
地板
pmw_56|  楼主 | 2018-4-2 17:23 | 只看该作者
本帖最后由 pmw_56 于 2018-4-2 17:24 编辑
619888476 发表于 2018-4-2 17:20
使用了新唐的例程没有?

官方例程也是一样的 ,这个是官方的例子 GPIO的例子

#if 1
  
  while(1)
  {
//                clr_GPIO1;                                                                                        // Tiny board GPIO1 LED define
//                P0 = 0x00;
//                P2 = 0x00;
//                P1 = ~P1;
               
                P12 = ~P12;
               
                Timer0_Delay1ms(100);
               
//                P0 = 0xff;
//                P2 = 0xff;
//                P1 = 1;
//                set_GPIO1;        
//                Timer0_Delay1ms(100);
  }
#endif

使用特权

评论回复
5
pmw_56|  楼主 | 2018-4-2 17:24 | 只看该作者
pmw_56 发表于 2018-4-2 17:23
官方例程也是一样的

#if 1


P1 = ~P1 ; 就可以正常运行

P12 = ~P12; 灯不闪了 ,怎么回事 ?

使用特权

评论回复
6
pmw_56|  楼主 | 2018-4-2 17:30 | 只看该作者
ayb_ice 发表于 2018-4-2 17:19
怎么可能,除非你定义错误

P1 , P12 是头文件中定义好的

使用特权

评论回复
7
pmw_56|  楼主 | 2018-4-2 18:48 | 只看该作者
发现 void Timer0_Delay1ms(UINT32 u32CNT)  这个函数 里面的对 TH0 ,TL0的操作


clr_TR0;
               
                TL0 = LOBYTE(TIMER_DIV12_VALUE_1ms);                 //Find  define in "Function_define.h" "TIMER VALUE"
        TH0 = HIBYTE(TIMER_DIV12_VALUE_1ms);
                set_TR0;
没有先关闭 TR0 , 规格书上写到必须把TR0关闭,否则造成不可预料的后果

使用特权

评论回复
8
pmw_56|  楼主 | 2018-4-2 19:18 | 只看该作者
pmw_56 发表于 2018-4-2 18:48
发现 void Timer0_Delay1ms(UINT32 u32CNT)  这个函数 里面的对 TH0 ,TL0的操作

问题找到了,是开发板上标的引脚和图纸不一致

使用特权

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

本版积分规则

34

主题

215

帖子

1

粉丝