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


Browsing this Thread:   1 Anonymous Users






救命阿~我得七段顯示器會一直回到顯示9
#1
新會員
新會員


查看用戶資訊
我要的動作是RC0按一下由9變8再按一下8變7依此類推.按RC1由1變2再按一下由2變3依此類推.@@"我現在遇到ㄉ問題是我按一下RC0時會由9變8再按一下8變7~@@"但是過大約一秒就自動回到9~正常應該會停在7阿~不知到我那寫錯ㄌ~希望專家為我解答~謝謝
我的eall:i5208888888@yahoo.com.tw
補充說明ko=9,k1=8,k2=7,k3=6,k4=5,k5=4,k6=3,k7=2,k8=1,k9=0


程式如下:
LIST P=16F685,R=DEC
INCLUDE "P16F685.INC"
VAL_US equ 0x20 ;1 ms delay
count equ 0x21 ;1 ms delay variable address

MAIN
BANKSEL ANSEL
CLRF ANSEL
BANKSEL TRISB
MOVLW B'00000000'
MOVWF TRISB
BANKSEL PORTB
CLRF PORTB
BANKSEL TRISA
MOVLW B'00000000'
MOVWF TRISA
BANKSEL PORTA
CLRF PORTA
BANKSEL TRISC
MOVLW B'11111111'
MOVWF TRISC
BANKSEL PORTC
CLRF PORTC
K0
BANKSEL PORTA
MOVLW B'00000001'
MOVWF PORTA
BANKSEL PORTB
BSF PORTB,6
call delay_1s

A0
BANKSEL PORTC
BTFSC PORTC,0
GOTO A0
GOTO K1

K1

BANKSEL PORTA
MOVLW B'00000000'
MOVWF PORTA
BANKSEL PORTB
BSF PORTB,6
call delay_1s

A1
BANKSEL PORTC
BTFSC PORTC,0
GOTO B1
GOTO K2
B1
BANKSEL PORTC
BTFSC PORTC,1
GOTO A1
GOTO K0
K2
BANKSEL PORTA
MOVLW B'00000111'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s


A2
BANKSEL PORTC
BTFSC PORTC,0
GOTO B2
GOTO K3
B2
BANKSEL PORTC
BTFSC PORTC,1
GOTO A2
GOTO K1
K3
BANKSEL PORTA
MOVLW B'00000110'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s

A3
BANKSEL PORTC
BTFSC PORTC,0
GOTO B3
GOTO K4
B3
BANKSEL PORTC
BTFSC PORTC,1
GOTO A3
GOTO K2
K4
BANKSEL PORTA
MOVLW B'00000101'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s

A4
BANKSEL PORTC
BTFSC PORTC,0
GOTO B4
GOTO K5
B4
BANKSEL PORTC
BTFSC PORTC,1
GOTO A4
GOTO K3
K5
BANKSEL PORTA
MOVLW B'00000100'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s
A5
BANKSEL PORTC
BTFSC PORTC,0
GOTO B5
GOTO K6
B5
BANKSEL PORTC
BTFSC PORTC,1
GOTO A5
GOTO K4
K6
BANKSEL PORTA
MOVLW B'00000011'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s
A6
BANKSEL PORTC
BTFSC PORTC,0
GOTO B6
GOTO K7
B6
BANKSEL PORTC
BTFSC PORTC,1
GOTO A6
GOTO K5
K7
BANKSEL PORTA
MOVLW B'00000010'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s
A7
BANKSEL PORTC
BTFSC PORTC,0
GOTO B7
GOTO K8
B7
BANKSEL PORTC
BTFSC PORTC,1
GOTO A7
GOTO K6
K8
BANKSEL PORTA
MOVLW B'00000001'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6
call delay_1s
A8
BANKSEL PORTC
BTFSC PORTC,0
GOTO B8
GOTO K9
B8
BANKSEL PORTC
BTFSC PORTC,1
GOTO A8
GOTO K7
K9
BANKSEL PORTA
MOVLW B'00000000'
MOVWF PORTA
BANKSEL PORTB
BCF PORTB,6

call delay_1s
B9
BANKSEL PORTC
BTFSC PORTC,1
GOTO A9
GOTO K8
delay_1s:
movlw d'250'
movwf count
movlw d'200'
movwf VAL_US
dec_loop nop
decfsz count,f
goto dec_loop
decfsz VAL_US,f
goto dec_loop


END

發表於: 2008/11/14 16:35

Edited by nireco on 2008年11月14日 19:25:58
Edited by nireco on 2008年11月14日 19:28:37
Edited by nireco on 2008年11月14日 19:29:20
Edited by nireco on 2008年11月14日 19:30:40
Edited by nireco on 2008年11月14日 19:31:27
Edited by nireco on 2008年11月14日 19:33:41
Edited by nireco on 2008年11月14日 19:38:39
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 救命阿~我得七段顯示器會一直回到顯示9
#2
新會員
新會員


查看用戶資訊
無法解壓縮~

發表於: 2008/11/14 17:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 救命阿~我得七段顯示器會一直回到顯示9
#3
初級會員
初級會員


查看用戶資訊
還好你只要顯示 1~9的數字 ,如果要是三位數 ,那程式不是寫不完 ,我雖然不太會 ,但是幾個地方給點建議 :
.
1,將測RC0寫成一個副程式, 要加防彈跳延遲, 你都沒有防彈跳.
2,將測RC1也寫成一個副程式, 要加防彈跳延遲.
3.將"加一"的動作寫成一個副程式.
4.將"減一"的動作也寫成一個副程式.
5.將"顯示"的動作也寫成一個副程式.
6.在主程式中將CALL RCO副程式及CALL RC1副程式及CALL"顯示" 寫入死迴圈.
7.當RCO或RC1 被按下時則離開 死迴圈, 進入相對的"加一"或"減一"副程式 ,再進入死迴圈.
8. 應該就可以了, 試試罷 .

發表於: 2008/11/15 7:59
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 救命阿~我得七段顯示器會一直回到顯示9
#4
初級會員
初級會員


查看用戶資訊
顯示0~9可以用"RETLW"建一個對應顯示碼, 將"加一"或"減一"處理過的數值, 傳入 這個副程式, 就可以得到相對的顯示碼.

發表於: 2008/11/15 8:08
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 救命阿~我得七段顯示器會一直回到顯示9
#5
新會員
新會員


查看用戶資訊
可以寫給我嗎~不太會懂怎麼使用~謝謝

發表於: 2008/11/15 10:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 救命阿~我得七段顯示器會一直回到顯示9
#6
高級會員
高級會員


查看用戶資訊
你的副程式 delay_1s 中最後一行應該是 ret , 不知是不是沒copy 到 ?
另外 watch dog 是否有打開 , 檢查看看吧!!

發表於: 2008/11/15 21:19
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... ]

教育訓練中心

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