导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→用PIC16F877A写的报警声程序为何有颤音??[guest]

 *第23896篇: 用PIC16F877A写的报警声程序为何有颤音??

  
楼 主:guest 2004年7月20日11:12
 用PIC16F877A写的报警声程序为何有颤音??
用PIC16F877A写的报警声程序为何有颤音??

源程序如下:

#INCLUDE  "P16F877.INC"     ;Fosc=4MHZ,T0=1us
P1             EQU  20H
P2             EQU  21H
A1             EQU  22H
A1_TEMP  EQU  23H
A2             EQU  24H
;********************************************************
      ORG  0000H
MAIN  
      BSF  STATUS,RP0         ; 选BANK1
      MOVLW  00H              ; RC定义为输出
      MOVWF  TRISC
      BCF    STATUS,RP0       ; 选BANK0
;*********************************************************
LP0  
      CLRF  P1    
      CLRF  P2 
;................................     
LP1  
     MOVF      P1, 0
     CALL       TAB1
     MOVWF   A1
     MOVWF   A1_TEMP
;...............................
     MOVF      P2, 0
     CALL       TAB2
     MOVWF   A2
;................................
LP2  
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     NOP
     DECFSZ    A1, 1
     GOTO       LP2
     MOVLW   B'00000010'
     XORWF    PORTC, 1                           声音从RC1输出
     MOVF      A1_TEMP, 0
     MOVWF   A1
     DECFSZ   A2, 1
     GOTO      LP2
     INCF        P1, 1
     INCF        P2, 1
     MOVLW  .21
     SUBWF   P1, 0
     BTFSS    STATUS, Z
     GOTO     LP1
     GOTO     LP0

TAB1  
      ADDWF  PCL,1
      RETLW  .33
      RETLW  .32
      RETLW  .31
      RETLW  .29
      RETLW  .28
      RETLW  .27
      RETLW  .26
      RETLW  .25
      RETLW  .24
      RETLW  .23
      RETLW  .22
      RETLW  .21
      RETLW  .20
      RETLW  .19
      RETLW  .18
      RETLW  .17
      RETLW  .16
      RETLW  .15
      RETLW  .14
      RETLW  .13
      RETLW  .12

TAB2  
      ADDWF  PCL,1
      RETLW  .39
      RETLW  .65
      RETLW  .37
      RETLW  .77
      RETLW  .40
      RETLW  .81
      RETLW  .50
      RETLW  .82
      RETLW  .93
      RETLW  .48
      RETLW  .99
      RETLW  .108
      RETLW  .57
      RETLW  .118
      RETLW  .63
      RETLW  .129
      RETLW  .141
      RETLW  .75
      RETLW  .157
      RETLW  .89
      RETLW  .85
;************************************************* 
      END

以前写的也是.不知道是什么原因.请大家指导一下.谢谢!!



>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:求教一个三知DSP开发板的问题

[下一篇主题]:请问用何工具软件将bin格式的多个字库文件合并为一个文件?