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

論壇索引


Board index » All Posts




Re: 請教PIC18F252的應用
版主
版主


如果一次要顯示4 個 7-Segment LED的話,每一個顯示假設延遲 3mS 再加上 0.1mS 的Blanking, 那掃描頻率為 3.1mS x 4= 12.4mS,這樣也可以避開 16.6uS (60Hz) 的干擾 (日光燈的拍差)。

所以考慮每個顯示延遲的需求,100 mS 會讓每個 LED 嚴重閃動是行不通的。

發表於: 2005/5/24 12:04
頂部


Re: mplab ide無法import 燒錄檔??
資深會員
資深會員


我之前也遇過這種情形,不過在安裝/升級成MPLAB IDE 7.10後,這種情形就不見了,供您參考...

發表於: 2005/5/24 11:54
頂部


Question of Timer interrupter !!
新會員
新會員


#define PLL_VALUE 8.0
#define CLOCK_TICKS 7372800
#define TCY_PER_SECOND (PLL_VALUE*CLOCK_TICKS/4.0)

#define PRE_SCALE 256.0

void setupTimer1(float timeInS)
{
unsigned long period;

period=(unsigned long)(timeInS*TCY_PER_SECOND/PRE_SCALE)-1;

ConfigIntTimer1(T1_INT_PRIOR_3 & T1_INT_ON);
OpenTimer1(T1_ON & T1_GATE_OFF & T1_IDLE_STOP & T1_PS_1_256 & T1_SYNC_EXT_OFF & T1_SOURCE_INT,period);
}
//----------------------------------------------------------------------
(1)這是間隔1秒的 sample code
其中我了解TCY_PER_SECOND是怎麼計算出來的,但是不了解為何要除PRE_SCALE;而且未啥要除以256才會產生間隔一秒的中斷??
(2)在使用ICD2做模擬時;我使用Stopwatch的功能觀看中斷的時間時;發現跳入中斷的時間跟設定的不同(並非1sec中斷);已知我在Processor Frequency設定為14.7456mhz;不知道原因再哪??
(3) 中斷服務程式
void _ISR _T1Interrupt(void){} 與 void_attribute_((__interrupt__)) _T1Interrupt(void) 好像是通用的;若是未闔c30 user's guide都沒提到??


發表於: 2005/5/24 11:45
頂部


Re: mplab ide無法import 燒錄檔??
版主
版主


hex 檔是很單純的文字檔,用Notepad看看可不可以讀的到內容,要是可以正常讀取的話,那就掃掃毒吧! 有可能中獎了

發表於: 2005/5/24 11:42
頂部


Re: PIC 18F452 TIME1 中斷只能中斷一次??
版主
版主


程式有很多錯誤的地方,自己對看看。
list     18F452
       
include <p18F452.inc>
        
CBLOCK    0x00    ;設定使用到的記憶体
        Flag
    ENDC
;
#define TMR1_VAL    .16384

    
org    0x0000
    bra    Init
    org    0x0008
    bra    Hi_ISRs
    
    org    0x0100
Init
    call    Init_Timer1
    bsf        RCON
,IPEN        Enable Interrupt priority
    bsf        INTCON
,GIEH        Enable all High Priority Interrupt        
;
Main        
    btfss    Flag
,0
    bra    Main
    bcf    Flag
,0            
    nop
    bra    Main

Init_Timer1
    movlw    
B'10001111'
    
movwf    T1CON        
    movlw    
(.65536-TMR1_VAL)/.256
    movwf    TMR1H
    movlw    
(.65536-TMR1_VAL)%.256    
    movwf    TMR1L
            
    bsf        IPR1
,TMR1IP                Set Timer1 for high priority interrupt
    bcf        PIR1
,TMR1IF                Clear Timer1 Interrupt flag
    bsf        PIE1
,TMR1IE                Enable Timer1 Interrupt
    
return

Hi_ISRs
    bcf        PIR1
,TMR1IF                
    movlw    
(.65536-TMR1_VAL)/.256    
    movwf    TMR1H
    movlw    
(.65536-TMR1_VAL)%.256    
    movwf    TMR1L    
    bsf        Flag
,0    
    retfie    FAST  
;High Priority has to use RETFIE FAST
;
    
end

發表於: 2005/5/24 11:19
頂部


PIC 18F452 TIME1 中斷只能中斷一次??
新會員
新會員


小弟寫TIME1高優先中斷程式,程式第一次開機可以到中斷程
式去執行高優先中斷內的程式,可是再回到主程式就再也進不
去中斷程式??我有看過 PIR1有設定可是中斷就是不勳作??
是什麼原因??為何第一次可以進去第二次以後就再也進不去了
??
程式如下
list     18F452
    
include <p18F452.inc>
    
CBLOCK    0x00    ;設定使用到的記憶体
    Flag
ENDC

org    0x0000
bra    Init
org    0x0008
bra    Hi_ISRs

Init
call    Init_Timer1
Main        
btfss    Flag
,0
bra    Main
bcf    Flag
,0            
nop
bra    Main

Init_Timer1
movlw    
B'00001111'
movwf    T1CON        
movlw    
(.65536-TMR1_VAL)/.256
movwf    TMR1H
movlw    
(.65536-TMR1_VAL)%.256    
movwf    TMR1L
            
bsf    IPR1
,TMR1IP    
bcf    PIR1
,TMR1IF    
bsf    PIE1
,TMR1IE    
bsf    T1CON
,RD16    
return

Hi_ISRs
nop
bcf    PIR1
,TMR1IF    
bcf    T1CON
,RD16
            
movlw    
(.65536-TMR1_VAL)/.256    
movwf    TMR1H
movlw    
(.65536-TMR1_VAL)%.256    
movwf    TMR1L
            
bsf    T1CON
,RD16
bsf    Flag
,0    
retlw    0

發表於: 2005/5/24 10:48
頂部


mplab ide無法import 燒錄檔??
高級會員
高級會員


最近我的mplab ide 7.0要import *.hex會出現以下訊息:
The format of the file C:\xxx.hex can not be read or written becaues its extension was not recognized.
我曾re-install mplab ide就可以了,但過兩天又出現,請問各位大大有遇過嗎?

發表於: 2005/5/24 10:27
頂部


Timer0無法使用16 bits溢位中斷
高級會員
高級會員


請問各位大大
我用以下程式時, 只有TMR0L數到FF變成00時, TMR0IF會被設為1, 而TMR0H卻毫無動靜, 也就是說TMR0L溢位時, TMR0H不會自動加一, 若是我想要數到0xFFFF時產生TMR0IF請問該如何做


#include <p18C452.h>

void main(void)
{
TRISB=0x00;
PORTB=0x00;

T0CON=0x87;
TMR0H=0xFE;
TMR0L=0xFE;
while(1)
{
if(INTCONbits.TMR0IF)
{
PORTB=0x55;
}
}
}

發表於: 2005/5/24 9:28
人生最長久的擁有是珍惜 但是大都在失去後才發現
頂部


Re: 請教PIC18F252的應用
新會員
新會員


謝謝版主...我也有加過用你說的這樣而且我還在TRISB,PORTB那加for迴圈給它跑,可是它還是沒連續顯示 ,是不是我沒加延遲時間所以看不到...那要怎麼加延遲函數阿,像我加delay_ms(100)就出現錯誤...

發表於: 2005/5/24 9:19
頂部


Re: 用c寫程式哪一套比較好
高級會員
高級會員


參照:

Ryang 寫道:
如果要編譯 PIC16 系列的只有用 Third-Party 的軟體工具如 Hi-Tech PICC, CCS, IAR ... 等,Mocrochip 沒有 PIC16 的 C compiler。



錯!
Microchip 有pic16 的C Compiler for DOS
只有 54~57

BCL Help: MPC Code Development System

MPC HELP

Page 1 Features of MPC
Page 2 Running MPC From IDE
Page 3 Running MPC From DOS
Page 4 MPC Command Line Options
Page 5 MPC C Extensions
Page 7 MPC C Restrictions
Page 8 Preprocessor Directives



發表於: 2005/5/24 3:47
頂部



« 1 ... 7078 7079 7080 (7081) 7082 7083 7084 ... 7522 »



:::

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... ]

教育訓練中心

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