查看: 1484|回复: 14
|
pic16f877a setting problem
[复制链接]
|
|
我想问为什么 software run 时when dectect input 可以 goto time delay,
但用hardware run 时 when dectect input 没有goto time delay?
朋友说 是 要在 mplab software "configure setting" setting samething?????
so what is to be setting?
警告楼主:
应该是第二次了, 之前说过了一次。
请楼主不要用中文加英文混过去,除了一些名词外,
你的很明显就是要混过去。。。
对不起, 按版规扣你-20分, 你自行翻译修正后会把积分还给你。
[ 本帖最后由 pic 于 1-4-2008 07:14 AM 编辑 ] |
评分
-
查看全部评分
|
|
|
|
|
|
|
发表于 29-3-2008 12:32 PM
|
显示全部楼层
请问一下。。
你的circuit给PIC16F877A 的circuit
solder 是在PCB 吗???
如不是很可能事你的broad的问地。。
应为我也try (holehole一同一洞)小弟不知道教什么。。希望你明白我指的是什么。。。
因为很多也是cristal 没能function well.
哪(holehole一同一洞)用LED try 美问地
但 LCD 化touch 到time 的会影响到。。。
if wrong pls correct me |
|
|
|
|
|
|
|
发表于 29-3-2008 06:03 PM
|
显示全部楼层
原帖由 antzz 于 28-3-2008 10:57 AM 发表
我想问为什么 software run 时when dectect input 可以 goto time delay,
但用hardware run 时 when dectect input 没有goto time delay?
朋友说 是 要在 mplab software "configure setting" setting samething?? ...
你做simulation了吗?? |
|
|
|
|
|
|
|
楼主 |
发表于 31-3-2008 03:32 PM
|
显示全部楼层
回复 3# LitterFish 的帖子
我 using mplab simulation 没问题
但try at hardware 也没问题,only 不能 holding long time.......
because the time delay is to hold it for long time...?
It is mplab software "configure setting" have samething i no set?
警告楼主:
应该是第二次了, 之前说过了一次。
请楼主不要用中文加英文混过去,除了一些名词外,
你的很明显就是要混过去。。。
对不起, 按版规扣你-20分, 你自行翻译修正后会把积分还给你。
[ 本帖最后由 pic 于 1-4-2008 07:15 AM 编辑 ] |
评分
-
查看全部评分
|
|
|
|
|
|
|
发表于 31-3-2008 06:55 PM
|
显示全部楼层
|
|
|
|
|
|
|
楼主 |
发表于 28-4-2008 10:24 AM
|
显示全部楼层
我的osc = 4MHz
main
CLRF 0X50 ;CLEAN THE DATA
CLRF 0X53 ;CLEAN THE DATA
CLRW ;CLEAN THE W REGISTER
BSF STATUS, RP0 ;SET BANK1 ACTIVE
MOVLW 0XFF ;SET ALL PIN TO HIGH
MOVWF TRISC ;SET PORTC AS INPUT
MOVLW 0X00 ;SET ALL PIN TO LOW
MOVWF TRISB ;SET PORTB AS OUTPUT
BCF STATUS, RP0 ;SET BANK0 ACTIVE
BSF PORTB,2 ;ACTIVE THE VACUUM MOTOR ROTATE
ROTATE
BCF PORTB,7 ;SET PB7 UNACTIVE (LEFT MOTOR REVERSE)
BSF PORTB,5 ;SET PB5 ACTIVE (LEFT MOTOR FORWARD)
BSF PORTB,6 ;SET PB6 ACTIVE (RIGHT MOTOR FORWARD)
DECTECT
MOVF PORTC,W ;MOVE PORT C DATA TO W REGISTER
MOVWF 0X53 ;MOVE W REGISTER DATA TO IS ADDRESS
BTFSC 0X53,2 ;DECTECT THE PORTC PIN 2
GOTO REVERSE ;GOTO SUB-ROUTINE
BTFSC 0X53,3 ;DECTECT THE PORTC PIN 3
GOTO REVERSE ;GOTO SUB-ROUTINE
GOTO DECTECT ;GOTO SUB-ROUTINE
REVERSE
BCF PORTB,5 ;SET PB5 UNACTIVE (LEFT MOTOR FORWARD)
BCF PORTB,6 ;SET PB6 UNACTIVE (RIGHT MOTOR FORWARD)
MOVLW 0XA0 ;Time delay setting
MOVWF 0X50 ;address to install time delay data
DELAY_LOOP
BSF PORTB,7 ;SET PB2 ACTIVE (LEFT MOTOR REVERSE)
DECFSZ 0X50,F ;DECREASE THE VALUE ADN SAVE IN THIS ADDRESS
GOTO DELAY_LOOP ;GOTO DELAY_LOOP ROUTINE
DECTECT_REV
MOVF PORTC,W ;MOVE PORT C DATA TO W REGISTER
MOVWF 0X53 ;MOVE DATA TO SI ADDRESS
BTFSC 0X53,2 ;DECTECT THE PORTC PIN2
GOTO DECTECT_REV ;GOTO DETECT_REV ADDRESS
BTFSC 0X53,3 ;DECTECT THE PORTC PIN3
GOTO DECTECT_REV ;GOTO DETECT_REV ADDRESS
GOTO ROTATE ;GOTO SUB-ROUTINE
END
这是我的 pic program
我有一些不明白为什么 "port c input always high" motor 可以reverse,
但是 "port c input high" one pulse,motor 就不能reverse.
是不是 time delay 没有运作????? |
|
|
|
|
|
|
|
发表于 28-4-2008 11:14 AM
|
显示全部楼层
原帖由 antzz 于 28-4-2008 10:24 AM 发表
我的osc = 4MHz
main
CLRF 0X50 ;CLEAN THE DATA
CLRF 0X53 ;CLEAN THE DATA
CLRW ;C ...
放上你的原理图与你的流程图在说吧! |
|
|
|
|
|
|
|
楼主 |
发表于 28-4-2008 01:53 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 28-4-2008 02:24 PM
|
显示全部楼层
能让我们知道你的原理图吗?别在这里打哑谜浪费时间与空间。
你也必须要让我们知道,在什么条件下要让你的马达左转或者是右转。
不要等人家问,你才回答。
[ 本帖最后由 rothmans 于 28-4-2008 02:31 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 28-4-2008 02:43 PM
|
显示全部楼层
什么是原理图?
Port C Pin 2 & 3 active high
Port B pin 7 是马达左转
Port C Pin 2 & 3 active low
Port B pin 5 & 6 是马达右转。 |
|
|
|
|
|
|
|
发表于 28-4-2008 03:47 PM
|
显示全部楼层
原帖由 antzz 于 28-4-2008 02:43 PM 发表
什么是原理图?
Port C Pin 2 & 3 active high
Port B pin 7 是马达左转
Port C Pin 2 & 3 active low
Port B pin 5 & 6 是马达右转。
原理图 = Circuit Diagram.
你能说你要做什么,想要得到什么结果吗? |
|
|
|
|
|
|
|
楼主 |
发表于 28-4-2008 05:07 PM
|
显示全部楼层
我有贴在http://www.badongo.com/file/9084454
那是 circuit block diagram.
我的问题是 当Port C Pin 2 & 3 active high 时,
Port B pin 7 的马达左转 不能够左转很久。
可以说 "马达左转" 是跟随 Port C Pin 2 & 3 active high 一起运作。
Port B pin 7 的马达左转 的 time delay 没有运作?
原本的运作是当Port C Pin 2 & 3 active high 时,
Port B pin 7 的马达左转,然后会跟随 time delay 的设定运作,
然后在去察覺Port C Pin 2 & 3 是否active high.
而不是是跟随 Port C Pin 2 & 3 active high 一起运作。
可以说 time delay 没有运作? |
|
|
|
|
|
|
|
发表于 28-4-2008 07:49 PM
|
显示全部楼层
原帖由 antzz 于 28-4-2008 05:07 PM 发表
我有贴在http://www.badongo.com/file/9084454
那是 circuit block diagram.
我的问题是 当Port C Pin 2 & 3 active high 时,
Port B pin 7 的马达左转 不能够左转很久。
可以说 "马达左转" 是跟随 Port C Pi ...
你的延迟代码是有操作,延迟时间大概只有 0.7mSec.
你提供的资料的确不足够也不符合 pic 的基本要求,而且似乎有所保留,既然如此,不好意思我帮不到你了。
[ 本帖最后由 rothmans 于 28-4-2008 07:52 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 29-4-2008 09:02 AM
|
显示全部楼层
对不起!!
少了 Port 设定运作
main
CLRF 0X50 ;CLEAN THE DATA
CLRF 0X53 ;CLEAN THE DATA
CLRW ;CLEAN THE W REGISTER
BSF STATUS, RP0 ;SET BANK1 ACTIVE
MOVLW 0XFF ;SET ALL PIN TO HIGH
MOVWF TRISC ;SET PORTC AS INPUT
MOVLW 0X00 ;SET ALL PIN TO LOW
MOVWF TRISB ;SET PORTB AS OUTPUT
BCF STATUS, RP0 ;SET BANK0 ACTIVE
怎样计算延迟时间?
怎样才能延迟时间 5 sec?
怎样才能符合 pic 的基本要求?
这以经是全部的 程序.
程序有问题??
我想问还需要怎样的资料?
对不起!!
我不是很会發表我的问题
给你很多问题。。。对不起!! |
|
|
|
|
|
|
|
发表于 2-5-2008 09:19 AM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|