-
:Laugh: 不辛苦,大家讨论讨论,问题解决了就好。
-
:titter: dontium 我是新手, 网孔分析是什么意思啊? 可以具体讲讲吗?
这个电路的理想情况是:
正常工作时 Q1的电压极性是不会倒过来的。此时,如果电动机卡住了,电路中的电流增大,R2两端的电压变大,也就是三极管Q2的发射结电压增大,使三极管Q2进入饱和区,这时Q2的集电结正偏。Ub>Ue,使的可控硅AK极电压反向。我测试了好久,三极管一直在放大区。总进不了饱和区。实在不知道为什么?我觉得按照这个思路,应该可以吧
-
版主 你好 我是这样想的 Q2达到饱和的时候,其集电结会正偏,也就是Ubc会大于0;这个时候,Q1两端的AK的电压极性就会改变。
-
嗯嗯 谢谢前辈的指引 :)
-
我今年毕业,已经工作了。学的嵌入式,也是做技术。现在也在迷茫中,有时觉得自己一肚子的想法、一身的劲,但不知在工作中怎么施展。但不用担心,做技术对以后转行做别的,如销售,都是有好处的。
-
:Laugh: 搞技术的男生很多都英文不好啊
-
嗯嗯 楼上说的有道理,我的确也想赚外快。但是,工作之余的时间,也想多做点事情,让自己增长见识。
-
嗯嗯 楼上说的有道理,我的确也想赚外快。但是,工作之余的时间,也想多做点事情,让自己增长见识。
-
哦哦
-
Mask(阻焊层规则)
Solder Mask Expansion(阻焊层收缩量规则)
Paste Mask Expansion(助焊层收缩量规则)
Plane(电源层规则)
Power Plane Connect(电源层连接类型规则)
Power Plane Clearance(电源层安全间距规则)
Polygon Connect Style(焊盘与覆铜连接类型规则)
Testpoint(测试点规则)
Testpoint Style(测试点样式规则)
Testpoint Usage(测试点使用规则)
Manufacturing(电路板制作规则)
Minimum Annular Ring(最小包环限制规则)
Acute Angle Constraint(锐角限制规则)
Hole Size(孔径大小设计规则)
Layer Pairs(板层对设计规则)
Highspeed(高频电路规则)
Parallel Segment(平行铜膜线段间距限制规则)
Length(网络长度限制规则)
Matched Net Lengths(网络长度匹配规则)
Daisy Chain Stub Length (菊花状布线分支长度限制规则)
Vias Under SMD(SMD焊盘下过孔限制规则)
Maximum Via Count(最大过孔数目限制规则)
Placement(元件布置规则)
Room Definition(元件集合定义规则)
Component Clearance(元件间距限制规则)
Component Orientations(元件布置方向规则)
Permitted Layers(允许元件布置板层规则)
Nets To Ignore(网络忽略规则)
Hight(高度规则)
Signal Integrity(信号完整性规则)
Signal Stimulus(激励信号规则)
Overshoot-Failing Edge(负超调量限制规则)
Overshoot-Rising Edge(正超调量限制规则)
Undershoot-Falling Edge(负下冲超调量限制规则)
Undershoot-Rising Edge(正下冲超调量限制规则)
Impedance(阻抗限制规则)
Signal Top Value(高电平信号规则)
Signal Base Value(低电平信号规则)
Flight Time-Rising Edge(上升飞行时间规则)
Flight Time-Falling Edge(下降飞行时间规则)
Slope-Rising Edge(上升沿时间规则)
Slope-Falling Edge(下降沿时间规则)
Supply Nets(电源网络规则)
-
看看:)
-
STATE_KIDEL:
如果有按键,查表,看是第几个按键。(排除8个IO口中,你不用做按键的那些IO。另外也是keyport中是从0开始的,而记在temp中是从0开始的)。
Key_ThisValue=temp+1; 当前键值
KeyState=STATTE_KDOWN; 按键状态
KeyDn_Cnt=KEY_LONGTIME; 按键按下持续时间置为KEY_LONGTIME,减到0就表示长按时间到了。
如果没有按键,break跳出。
STATE_KDOWN:
如果按键松开了,判断长按时间到。
--> 如果长按时间到了,
Key_OldValue=0;
KeyState=STATE_KIDEL;回到闲置状态
gKeyBuf=Key_ThisValue+LONG_KEY_UP;
gbHaveKey=TRUE;
——————> 长按
--> 如果长按时间还没有到,如果按键抬起了,有可能是双击。
KeyState=STATE_KUP;设置了KeyState为STATE_UP,如果时间到了,表示按键按下后,又弹起,弹起的时间够了。
KeyUp)Cnt=KEY_TWICETIME;
如果按键没有松开
--> 如果长按时间到了
Key_ThisValue+=LONG_KEY;
gKeyBuf=Key_ThisValue;
gbHaveKey=TRUE;
———————>长按
-->如果长按时间没有到,按键还按着的话,就自减1.
KeyDn_Cnt--;
STATE_KUP:
如果按键抬起时间到了
-->如果 旧的键值=当前键值
Key_ThisValue+=TWICE_KEY; 当前Key值+Twice_key
Key_OldValue=0; j
KeyState=STATE_KIDEL;
gKeyBuf=Key_ThisValue;
gbHaveKey=TRUE;
—————————>双击
-->如果 旧的键值 !=当前键值
KeyState=STATE_KIDEL;
gKeyBuf = Key_ThisValue;
gbHaveKey = TRUE; // ------有键值
——————————>有短按
如果按键抬起时间没有到
KeyUp_Cnt--;
-->如果KeyPort!=0
KeyState=STATE_KIDEL;
Key_OldValue=Key_ThisValue;
———————————>有新按键
接下来,我们来具体分析几个可能出现的例子。
1> 按键由闲置进入按下,
-->STATE_KIDEL
-->STATE_KDOWN
刚按下时,键盘没有松开,长按等待时间也还没有到,就KeyDn_Cnt--;
(1)如果KeyDn_Cnt减到了0,此时按键还没有松开,就是长按了,进行处理后,向上提交长按键值。
(2)过了很久,键盘松开了。仍然在STATE_KDOWN中
进入 按键已松开,长按时间到,有些东西归位,进行处理后,向上提交长按抬起键值。
(3)如果长按等待时间还没有到,按键松开了
更改按键状态 -->STATE_KUP,并使用KeyUp_Cnt为KEY_TWICETIME。
进入按键抬起状态
如果按键刚刚弹起了,双击等待时间还没有到,就KeyUp_Cnt--;
如果这时,又有按键按下,扫描到KeyPort!=0
则又进入-->STATE_KIDEL,然后Key_OldValue=Key_ThisValue,
又重新开始,如果是按下同样的键,如果这个同样的键按下的时间达到了长按时间,则丢弃之前的Key_OldValue,向上提交长按按键或长按抬起按键。
如果这个同样的键按下的时间不够长按时间,就抬起了。则进入STATE_KUP,如果在
KEY_TWICETIME之内,没有新的按键,则双击等待时间为0以后,判断Key_OldValue==Key_ThisValue,一定是等于的,则进行处理后,向上提交双击键值。
(2)如果这时,双击等待时间到了,keyPort=0,中间没有按键。
则比较Key_OldValue=0,不等于Key_ThisValue。有些东西归位,处理后向上提交短按键值
还有一点啊:如果你;连续的按按键,那么本程序处理的只是最后两个按键,或一个按键。
-
太牛了
-
真可爱
:)
-
看看:time:
-
:lol 呵呵 共同学习共同进步嘛!
-
不好意思 图没有上传到服务器,现在上传。
第一个图:(地址映射关系)
第二个图:(从Nor启动,选择【d】)
第三个图:(从Nor启动,选择【a】,再从Nand启动)
-
哦 呵呵 谢谢老师啦!:)
-
哦? 怎么上传呀?
-
:titter: 嗯嗯 真地太感谢啦