打印

纠结的程序

[复制链接]
1647|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shuidi_wangdan|  楼主 | 2013-1-17 16:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<p18f46k80.h>
#pragma config FOSC=INTIO1
#pragma config XINST=OFF
#pragma config WDTEN=OFF
//#pragma config LVP=OFF

#define uint unsigned int
#define uchar unsigned char

void pic18_FOSC_init()
{
OSCCON=0X5D;//4MHz
}
void IO_init()
{
  TRISAbits.TRISA0=0;//输出
LATAbits.LATA0=1;
}
void main()
{
        pic18_FOSC_init();
        IO_init();
        //timer_init();
        while(1)
            {
                          LATAbits.LATA0=~LATAbits.LATA0;       
        }
}
上面是我自己写的一段程序,我自己看不到哪有问题,希望高手给指点!
我用示波器测不出LATA0端口的变化,但我测出时钟脚的变化。
希望管理员别屏蔽,问题确实很简单,希望多多给指点,谢谢!
沙发
shuidi_wangdan|  楼主 | 2013-1-17 17:23 | 只看该作者
有谁能帮帮我?51和AVR没有遇到过这个情况。头疼的问题!

使用特权

评论回复
板凳
huangxz| | 2013-1-17 18:39 | 只看该作者
shuidi_wangdan 发表于 2013-1-17 17:23
有谁能帮帮我?51和AVR没有遇到过这个情况。头疼的问题!

程序没有问题啊,你延时一下是是吧

使用特权

评论回复
地板
shuidi_wangdan|  楼主 | 2013-1-18 08:01 | 只看该作者
好的!谢谢!

使用特权

评论回复
5
shuidi_wangdan|  楼主 | 2013-1-18 10:13 | 只看该作者
我现在烧写了程序,但不工作,在PROTEUS里面是工作的,内部晶振在工作,为什么是这么一个情况呢?

使用特权

评论回复
6
shuidi_wangdan|  楼主 | 2013-1-18 10:15 | 只看该作者
huangxz 发表于 2013-1-17 18:39
程序没有问题啊,你延时一下是是吧

我现在烧写了程序,但不工作,在PROTEUS里面是工作的,内部晶振在工作,为什么是这么一个情况呢?

使用特权

评论回复
7
huangxz| | 2013-1-18 14:03 | 只看该作者
shuidi_wangdan 发表于 2013-1-18 10:15
我现在烧写了程序,但不工作,在PROTEUS里面是工作的,内部晶振在工作,为什么是这么一个情况呢? ...

初始化安装说明书里面的设置再试试吧(说明书p175)
CLRF PORTA ;  Initialize PORTA by
; clearing output latches
CLRF LATA ; Alternate method to
; clear output data latches
MOVLW 00h ; Configure A/D
MOVWF ANCON1 ; for digital inputs
MOVLW  0BFh ; Value used to initialize
; data direction
MOVWF  TRISA ;  Set RA<7, 5:0> as inputs,
;  RA<6> as output

,或许是因为指令执行的速度超过io口的速度,我的建议是加个延时,这样就可以看出来了,



实在不行就用ICD仿真一下了,这样很快就找到问题了。

使用特权

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

本版积分规则

个人签名:奇葩满天下,不分你我他! 奋斗!https://bbs.21ic.com/static/image/smiley/chubby/17.gif[/url]

65

主题

549

帖子

3

粉丝