打印

帮忙看一下~!

[复制链接]
2402|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ethunter|  楼主 | 2007-8-18 16:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, TI, IO, go
我用的片子是16F505,想让C口的1,2位输出一个脉冲信号,程序如下:
    list p=16F505

    #include "p16F505.inc"

    org    0x000
    goto  MAIN
; '__CONFIG' directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file. 
; See respective data sheet for additional information on configuration word.

    
MAIN   
       BSF  STATUS,PA0
       MOVLW 0x00
       MOVWF  OSCCAL  ;;内部RC晶振校准
       CLRWDT
       CLRF  TMR0
       BCF  STATUS,PA0
       MOVLW  b'00000000'
       OPTION
       BCF  STATUS,PA0
       MOVLW  b'00001111'   ;;;;;;;;;;;;;;;;;;端口B
       TRIS PORTB
       MOVLW  b'00000000'   ;;;;;;;;;;;;;;;;;;端口C
       TRIS PORTC
START
    BSF PORTC,1
     BSF PORTC,2
    MOVLW 0x59
    MOVWF 0x55
    DECFSZ 0x55,1
    GOTO $-1     
    MOVLW 0X00
    MOVWF PORTC
    MOVLW 0x10       ;;50us  jinzhoukexin
    ;MOVWF AA       ;CHAO  SHENG  MAI KUAN 81uS
    ;DECFSZ   AA,1 
    MOVLW 0x59
    MOVWF 0x56
    DECFSZ 0x56,1
    GOTO $-1
    GOTO START
; remaining code goes here
    END                       ; directive 'end of program'

但写完单片不知道为什么不出,是不是程序上的毛病?硬件也看了,没有那错了,请高手赐教,谢谢~!
沙发
ethunter|  楼主 | 2007-8-18 16:22 | 只看该作者

再求~!

以前用51单片机,刚开始学pic,对pic写程序时初始片子都需要那些工作,比如初始STATUS寄存器之类的,那些寄存器不初始就不好用这类问题,请高手赐教~

使用特权

评论回复
板凳
xieyuanbin| | 2007-8-19 08:59 | 只看该作者

程序错的地方较多。

    BSF  STATUS,PA0
应为BSF  STATUS,RP0
另外置一个端口为高或为低时,不能使用BSF PORTC,x这样的指令,因有读-修改-写的过程,会导致端口逻辑混乱。

使用特权

评论回复
地板
ethunter|  楼主 | 2007-8-20 08:01 | 只看该作者

请帮忙写清楚~!

不是BSF PORTC,x那应该怎么写,读-修改-写我在手册也看到了,但不知道怎么用程序实现,麻烦高手了~!

使用特权

评论回复
5
jan_coco| | 2007-8-20 16:00 | 只看该作者

可以考虑,仿真一下

在mplab中仿真一下,程序不多,跟踪一下寄存器,设置几个断点,试试看?

使用特权

评论回复
6
ethunter|  楼主 | 2007-8-21 16:07 | 只看该作者

谢谢各位,己经搞好~

最后找到了,是写片子时对烧写器的配置问题,呵呵,不好意思,没有用过,范了很低级的错误

使用特权

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

本版积分规则

8

主题

267

帖子

0

粉丝