• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (genitec)




Re: 最近在自製燒錄版遇到問題...
#31
高級會員
高級會員


我猜你的硬體有問題 , 在網上別人是看不出來的 , 費點心再檢查一下礻的硬體吧 , 要全部喔! 問題就在你認為不重要的地方!! 加油!!!

發表於: 2009/11/5 23:04
頂部


Re: 有關pic16f877晶片<組合語言的判斷式如何寫>
#32
高級會員
高級會員


參照:

newchen86 寫道:
請問一下上癮大大阿是這樣寫嗎
1.有buildall但有錯誤,它table沒往下找只到7E而以....
2.還有這個status,c要宣告位子吧
3.請問如果用BTFSS要如何寫
謝謝


阿 ! 當然不是這樣寫的!!
check_done前的 ... , 意思是你要自己補上去 , 我懶得打:(

你知道 movf ADRESH,W 這行指令是啥意思嗎??
還有 sublw B'00000010' 是什麼 減 什麼 ??

發表於: 2009/11/5 22:59
頂部


Re: 有關pic16f877晶片<組合語言的判斷式如何寫>
#33
高級會員
高級會員


參照:

newchen86 寫道:
請問一下寫上癮了...我要顯示幾個數字就要寫幾個 check嗎
謝謝你的幫忙


對的 , 就像你原本也寫了好幾個 if (...)...

發表於: 2009/11/4 22:36
頂部


Re: 有關pic16f877晶片<組合語言的判斷式如何寫>
#34
高級會員
高級會員


參照:

newchen86 寫道:
請問一下大大可以幫忙看一下中間的判斷式要如何寫,因為我们寫的if是錯誤的,就是跳不進去所以7段才不能顯示出數質
可以請版主或高手们教一下嗎 謝謝
list    p=16f877A
    
include    <p16f877A.inc>

__CONFIG _CP_OFF _WDT_OFF _XT_OSC _LVP_OFF _BODEN_OFF


K1    EQU 0x20
ADRESH_Index EQU 0x21


    org    0x000
    nop
Start

;;;;;;;;;;;;;  IO initialization  ;;;;;;;;;;;;;;;;;;;;
    
    
banksel    TRISB
    movlw    
B'00000000'
    
movwf    TRISB
;    banksel    PORTB
;    clrf    PORTC

;;;;;;;;;;;;;  AD Initialization  ::::::::::::::::::::

    
banksel    ADCON0
    movlw    
B'01000001'
    
movwf    ADCON0
    banksel ADCON1
    movlw    
B'00001110'
    
movwf    ADCON1
    
;;;;;;;;;;;;;    TMR0  Iitialization  ;;;;;;;;;;;;;;;;;;n    

    movlw    
B'10000111'
    
movwf    OPTION_REG

;;;;;;;;;;;;   Delay time  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Main
    banksel    INTCON
    btfss    INTCON
,T0IF
    
goto    Main

;;;;;;;;;;;  Start AD  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    
bcf    INTCON,T0IF
               bsf    ADCON0
,GO
;;;;;;;;;;;;;;;;    Conversion Time  ;;;;;;;;;;;;;;;;;;;;

Wait
[d][color=0000FF]    btfss    PIR1,ADIF[/color][/d]
[
color=0000FF]    btfsc    ADCON0,GO[/color]
    goto    
Wait

[d][color=0000FF]    if (ADRESH >= B'00000000') & (ADRESH <= B'00000010')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00000011') & (ADRESH <= B'00000101')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00000110') & (ADRESH <= B'00001000')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00001001') & (ADRESH <= B'00001011')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00001100') & (ADRESH <= B'00001111')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00010000') & (ADRESH <= B'00010010')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00010011') & (ADRESH <= B'00010101')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00010110') & (ADRESH <= B'00011000')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00011001') & (ADRESH <= B'00011011')
        
movf ADRESH_Index
    
elseif    (ADRESH >= B'00011100') & (ADRESH <= B'11111111')
        
movf ADRESH_Index
    
endif[/color][/d]
[
color=0000FF]               movf     ADRESH,w
               sublw    
B'00000010'
               
btfsc     status,c
               
goto      check1
               movlw    1
               
goto      check_done
check1
               movf     ADRESH
,w
               sublw    
B'00000101'
               
btfsc     status,c
               
goto      check2
               movlw    2
               
goto      check_done
check2
...
...
...
check_done[/color]
    
call    TABLE
;;;;;;;;;;;;;;;;;  Output  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    
movf    ADRESH,W    [color=990000];這行要做啥 多餘的吧[/color]
    
movwf    K1
    swapf    K1
,F
    movf    K1
,W
    
    movwf    PORTB
    
;---------------------------------------------------------
    goto    
Main
TABLE
    banksel    ADRESH_Index      
[color=CC0000];??[/color]
[
d][color=0000FF]    movf    ADRESH_Index,W[/color][/d]
    
addwf    PCL,F
    retlw    0x7E
    retlw    0x30 
    retlw    0x6D 
    retlw    0x79 
    retlw    0x33 
    retlw    0x5B 
    retlw    0x5F 
    retlw    0x70 
    retlw    0x7F 
    retlw    0x7B 
    end


發表於: 2009/11/1 0:21
頂部


Re: LED顯示
#35
高級會員
高級會員


參照:

minglong 寫道:
各位大大,我想用外部中斷來控制LED的亮暗,按一下按鈕開關,下一個燈就亮,類似跑馬燈那樣,不過按按鈕燈都不能固定,每次過沒多久就會又跑回初始值的燈亮,下面是我的程式,要怎麼改才不會這樣阿。


#include <pic16f946.h>

unsigned int k=0,j=0,num[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void delay(unsigned int us)
{
    
unsigned int i;
     for(
i=us;i>0;i--);
}

void interrupt isr (void)
{
    if(
INTF==1)
    { 
        
k++;
        [
color=0033FF]if(k==100)[/color]
        {
            
PORTG=num[j];
            
j++;
            if(
j==5j=0;
        }
[
color=0000FF]    INTF=0;[/color]
    }
}

main(void)
{
    
TRISB0=1;
    
TRISG=0;

    
GIE=1;
    
INTE=1;
    
INTF=0;
    
//INTEDG=1;

    
while(1
    {
        
    };
}


中斷內的 k++;
還有 if(k==100)...
是做 debounce用的嗎?? 還是外部要中斷100次才改變led的狀態一次??

發表於: 2009/10/23 22:04
頂部


Re: 關於12F675 write EEPROM....
#36
高級會員
高級會員


提供淺見供參考:
1. pwm有沒有機會改到TM0 , 主程式處理PWM的值 , 此值由TM0 OUTPUT.

2. 切割 EEPROM副程式 , 達到要求的時間.

發表於: 2009/10/21 9:34
頂部


Re: 嵌入式設計論壇,省100元的報名期限快到了!(APP-EDF09 實驗板 照片與功能)
#37
高級會員
高級會員


請問一下 :
報名網頁上說 "為免爭議,請列印完成並攜帶報名後由系統發出的e-mail通知函報到,以茲證明。"

那系統何時會發出e-mail , 我10/8報名的!!

發表於: 2009/10/16 21:28
頂部


Re: 溫控
#38
高級會員
高級會員


我都是這樣做的:
1. 建表 : 先做好硬體 ,再寫軟體將讀到的a/d值顯示出來,即可記錄溫度與a/d值的對照表.
2. 查表 : 將建好的表放進軟體 , 取得a/d後查表即得溫度值

發表於: 2009/7/21 9:07
頂部


Re: 12F675 ADC 使用問題
#39
高級會員
高級會員


我很少寫C CODE , 想反問最後那個 while(1) 要不要加 { }

#include <pic12f675.h>
//ADC utilities

void init_a2d(void){
    
ANSEL=0x34;//ADC CLOCK INTERNAL, Analog Select only AN2
    //ADCON0=0x80; // right justify result.
    
ADCON0=0x00// left justify
    
ADON=1// turn on the A2D conversion module
}

//unsigned int read_a2d(unsigned char channel){// for 10bit ADC
unsigned char read_a2d(unsigned char channel){// for 8bit ADC
    
channel&=0x03// truncate channel to 2 bits
    
ADCON0&=0xc3// clear current channel select
    
ADCON0|=(channel<<2); // apply the new channel select
    
GO_DONE=1// initiate conversion on the selected channel
    
while(GO_DONE);
    
//return (ADRESH<<8)+ADRESL; // return ADC value of the result
    
return ADRESH;
}



void main(void)
{


//internal RC oscilator calibration
    
_asm
    bsf STATUS
;Bank 1
    call 3FFh 
;Get the cal value
    movwf OSCCAL 
;Calibrate
    bcf STATUS
;Bank 0
    _endasm
;

    
TRISIO=0x04;// set AN2(GP2) as "input" direction pin
    
CMCON=0x07;
    
init_a2d();

/*
// for debug and test code
while(1)
{
    delay_ms(1000);
    GPIO=GPIO^0x30;
}
*/ 
while(1)  
[
color=0000FF]{ 
    if(
read_a2d(2)>63GP5=1;
    else 
GP5=0;
}[/
color]

}

發表於: 2009/7/21 8:45
頂部


Re: 如何在討論區中貼上程式碼,且能正確地顯示?
#40
高級會員
高級會員


哈哈 ~ 前人種樹,後人乘涼 , 我不過是幫忙在樹下澆水而已 !!

技術的路上常是寂寞的 , 尤其是剛接觸新領域的時候 . 如果有個地方是種了很多樹的 , 那會是很大的前進動力!!

發表於: 2009/6/22 11:09
頂部



« 1 2 3 (4) 5 6 7 ... 13 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------