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


Browsing this Thread:   1 Anonymous Users






Re: 是不是程式記憶體換頁的問題
#3
新會員
新會員


查看用戶資訊
感謝版主的提示和執導...

我會用這顆ic是因為之前同事專案用到,庫存還很多用不到所以就拿來當練習用!! 簡單說就是不用花錢啦 !!

發表於: 2005/8/25 13:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 是不是程式記憶體換頁的問題
#2
版主
版主


查看用戶資訊
問題一:PCLATH及PCH計算(觀念)有問題。看DATA SHEET中"COMPUTED GOTO"章節的說明。

問題二:PIC有DATA (RAM) BANK及PROGRAM PAGE兩個東西要注意或切換。您有點搞混了。

弄清楚了,您在使用PIC上的功力就會大增了。

研究一下,再發表一下心得給大家知道一下吧!謝謝。



補充一下:該改用FLASH製程的PIC了!不會比較貴吧!

發表於: 2005/8/24 17:57
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


是不是程式記憶體換頁的問題
#1
新會員
新會員


查看用戶資訊
各位先進們討教了...

我寫了一個密碼的程式,因為使用OTP IC,為了結省IC能重複使用, 將原本燒過的程式部分用NOP 蓋掉 來燒錄新的程式,程式短一點狀況下重複使用都正常,但是當程式覆蓋到260行時燒出來的動作就出現問題,檢查發現當我執行到327行時有一個查表的動作,如果當工作站存器內容是"1"加上程式計數器當時的位置應該是跳到329行,但是他卻跳到了48行,我看了PLC的位置是他跳的位置沒錯...可使卻不是我想要他跳的位置...是不是程式記憶體換頁的問題,我該怎麼做能??

再請教一個問題,16C622有2K的程式記憶體位置,但他卻只有兩個BANK可以切換,這樣怎麼夠2K切換呢?

不好意思...初學 一堆狀況...麻煩各位了!!



; 2005 08/14 密碼比較

LIST P=16C622
include "P16C622.inc"

KEY1 EQU 20H
KEY2 EQU 21H
KEY3 EQU 22H
KEY4 EQU 23H
password EQU 30H
password2 EQU 31H
COUN1 EQU 25H ;密碼順位
COUN2 EQU 26H ;比對密碼順位
BTU_DELY EQU 2DH ;調整等待按鍵多久沒按後清除參數
READ1 EQU 27H

ORG 0X00
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
;====================================
;初值設定
;====================================
CLRF PORTA
CLRF PORTB
BSF STATUS,RP0 ;置第1檔頁
MOVLW 0x00 ; RA4-RA0 暫為輸出,可以改變
MOVWF TRISA ;暫存器內容模擬輸入狀態
CLRF TRISB ;設PORTB 為輸出
BCF STATUS,RP0 ;置第0檔頁
MOVLW B'00000111' ; 設為數位輸入
MOVWF CMCON
GOTO MAIN
;================================
; 6秒延遲
;================================
DELAY
CLRF 2BH
CLRF 2CH
MOVLW 0FH
MOVWF BTU_DELY
DEL2
GOTO READ ;檢查輸入
DEL2_2_1
DECFSZ 2BH,F
GOTO DEL2

DECFSZ 2CH,F
GOTO DEL2_2_1

DECFSZ BTU_DELY,F
GOTO DEL2_2_1
RETURN

;=======================================
;
;===============================================

MAIN
CLRF COUN1
CLRF KEY1 ;清除輸入密碼=
CLRF KEY2 ; =
CLRF KEY3 ; =
CLRF KEY4 ; <====
CLRF COUN2 ; 密碼比對次數計數
CALL DELAY ;呼叫六秒延遲
GOTO MAIN ;六秒到,沒有按鍵,重置狀態等待輸入按鍵

;========================================
; 密碼讀入
;========================================
READ
BTFSS PORTA,4
GOTO DEL2_2_1 ;沒有按鍵回到BTU_DELAY 6秒延遲
MOVF PORTA,W ; 先存入READ1暫存器=
MOVWF READ1 ; <=======
BCF READ1,4 ;清除按鍵檢測位元 VT
;============
keyEnter ;比對密碼是否為"井"鍵
MOVF READ1,W
XORLW 0x0C ;比對是否為"井"鍵
BTFSC STATUS,Z ;輸入不是"井" 跳去存輸入密碼
GOTO EnterOk ;比對密碼
BTFSC COUN1,2 ;檢查四個密碼是否已經輸入,
GOTO READ ;以輸入四個密碼,等待"井"號
;==================================
MOVF COUN1,W
INCF COUN1,F ; 輸入次數加一
ADDWF PCL,F ;程式累加器 + WF
GOTO KEYIN1 ;跳到對應的位置存入
GOTO KEYIN2 ;
GOTO KEYIN3 ;
GOTO KEYIN4 ;
;GOTO keyEnter ; 跳到比對密碼

KEYIN1
MOVF READ1,W
MOVWF KEY1
CALL DELAY_2
GOTO READ
KEYIN2
MOVF READ1,W
MOVWF KEY2
CALL DELAY_2
GOTO READ
KEYIN3
MOVF READ1,W
MOVWF KEY3
CALL DELAY_2
GOTO READ
KEYIN4
MOVF READ1,W
MOVWF KEY4
CALL DELAY_2
GOTO READ

;=========================================
; 組合輸入的密碼為兩個byte
;=======================================
EnterOk ;是"井"跳去組合密碼
SWAPF KEY1,W
ADDWF KEY2,W
MOVWF password
SWAPF KEY3,W
ADDWF KEY4,W
MOVWF password2
;============================
; codecompare
;============================
codecompare
MOVF COUN2,W ;比對產品組計數
CALL CodCoun1 ;跳到對應的產品密碼組別
XORWF password,W
BTFSC STATUS,Z
GOTO NEXTCODE ;RETURN 第一組密碼比對正確則跳去比對第二組
ERRORCODE
INCF COUN2,F ;不是第一產品密碼,加一,比對下一個
GOTO codecompare
NEXTCODE
MOVF KEY2,W ;將第二組密碼與輸入的第二組密碼比對
XORWF password2,W
BTFSS STATUS,Z
GOTO ERRORCODE ;第二組密碼與輸入錯誤,比對下一個產品密碼
CLRF PORTB
INCF COUN2,W
MOVWF PORTB
GOTO MAIN

CodCoun1 ;跳到對應的產品密碼
ADDWF PCL,F ;程式累加器 + WF
GOTO codes1
GOTO codes2
GOTO codes3
GOTO MAIN ;三組內建密碼比對都錯誤表示輸入碼錯誤,跳回重新數入


;========================================
; 密碼
;========================================
codes1
MOVLW 094H ;鐵捲門2
MOVWF KEY2 ;將密碼先移到KEY2,等待做比對
RETLW 066H ;鐵捲門1
codes2
MOVLW 092H ;汽車2
MOVWF KEY2
RETLW 063H ;汽車1
codes3
MOVLW 055H ;冷氣2
MOVWF KEY2
RETLW 060H ;冷氣1

;=================================
; 200mS 延遲
;=================================
DELAY_2
BTFSC PORTA,4 ;等待按鍵放掉
GOTO $-1

RETURN

END

發表於: 2005/8/24 8:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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

教育訓練中心

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