Chip123 科技應用創新平台
標題:
請問倒數00就停怎寫?
[打印本頁]
作者:
hope1014
時間:
2008-11-26 06:56 PM
標題:
請問倒數00就停怎寫?
LIBRARY ieee;
0 m$ O' t" ~! j% V+ h# [! p
USE ieee.std_logic_1164.all;
* o1 @( g/ \ V9 @; Z5 h7 O
USE ieee.std_logic_unsigned.all;
! D& x9 q6 J" O, Q
ENTITY counter_backwards60_seg2 IS
: v6 e! y% H3 S
PORT(Clrn,Load,Ena,Clk : IN STD_LOGIC;
2 E7 x' Q% g+ h% Z( U
Ring : OUT STD_LOGIC;
! T9 `, |: I! f
Q0,Q1 : OUT STD_LOGIC_VECTOR(3 downto 0)) ;
8 h$ A9 G2 E b: `4 s: j
END counter_backwards60_seg2;
1 C5 `/ P6 [' {; B j% O% x
ARCHITECTURE arc OF counter_backwards60_seg2 IS
8 M3 U8 M% f" c- X* n, L7 E
BEGIN
( Q. q- i! D* ?5 m- A
PROCESS (Clk)
" L/ {, y9 {8 F- B2 D
VARIABLE imper0 :STD_LOGIC_VECTOR(3 downto 0);
; i! O, z: L( c
VARIABLE imper1 :STD_LOGIC_VECTOR(3 downto 0);
( N7 g+ r" \+ G2 b$ C5 G) ~
BEGIN
# H% D D2 [9 t' H) _# b2 X$ |
IF Clrn='0' THEN imper1 := "0110"; imper0 := "0000";
9 o8 r& f8 P& e/ o: r
ELSE IF (Clk'event AND Clk='1') THEN
6 L+ x9 H) A# [& H) k
IF Load='0' THEN imper1:="0110"; imper0:="0000";
& ~ G) s7 ~+ `' o! {4 y3 l
ELSIF Ena='1' THEN
$ h4 S! e0 e2 v
IF (imper0="1001" AND imper1="0101")THEN
: w* N, Y D! T% C" p, F
imper0 :="1000";
9 A% |$ t7 b7 E- j' j" W2 g
ELSIF imper0 >"0000" THEN imper0 := imper0-1;
% s6 ~0 u+ o/ B& P
ELSE imper0:="1001";
7 d5 ?. z# W3 d# n" ~
IF imper1 >"0000" THEN imper1 := imper1-1;
1 V6 ?+ S/ k3 G1 s
ELSE imper1:="0101";
9 f* m' t. ~2 J) ^& H% s
END IF;
L U3 e' {% d" x5 K' V
END IF;
" d/ h7 p7 ?; P# e) u7 y/ ^: D1 k4 D
END IF;
/ Z; _* a+ r+ |( \ e
END IF;
: U' l3 F$ b2 A( |; V
END IF;
* v5 L' B9 p; d5 M. `; q
Q0 <= imper0; Q1 <= imper1;
' C5 t1 ]/ d$ i
Ring <= not(imper0(0) or imper0(1) or imper0(2) or imper0(3) or imper1(0) or imper1(1) or imper1(2) or imper1(3));
# d. C! Z( C! ]1 C
END PROCESS ;
9 r1 v+ C5 `' V1 x o
END arc;
( E2 H3 }5 u- d
& |* u* S/ v6 k; e2 E
上面是我的倒數60秒程式
* p5 E. F) V; g, |+ A
小弟不才
6 B, c* q5 {5 m) C
不知道怎寫停止
6 \) @" u) h0 Z: E
只要數1次60就好
作者:
spring69393
時間:
2008-11-27 09:37 PM
如果單純計數的話,宣告成整數型式比較好。 signal timer : integer range ;
9 `8 M; Z. D# V" m+ b' o8 ?
要六十秒數一次的話,簡單點就 if timer = 0 then timer <= 0; 就好了,
, O5 f M) l9 r- K. Q; g7 G0 O
除非你有什用途 ,不然就這樣就好了。
作者:
hope1014
時間:
2008-11-28 05:05 PM
我是使用QuartusII
+ j% k1 D+ w1 P' {& D
跑一次的宣告是要放哪一行...?
8 Z: ^# j" P1 p; e) X0 O
還有一個問題想請教
. N! c3 N+ I4 k& U) O
就是counter_backwards60_seg2是我的分鐘
' W5 j+ w! R; X+ P q2 V, m
counter_backwards60_seg是我的秒
% K3 Q0 h" i; x" M3 o, i
現在就是秒那邊 10→9秒的時候Co也會進位
/ M- Z: p/ t3 Q }& c
秒的個位數有延遲 所以導致10→9秒的Co會進位
4 G9 ?+ {" V( n2 V& ~
程式分跟秒是依樣的 (Ring就是Co)
+ P, r. G$ `. g# Q" u
另外 分鐘怎從60開始
8 }/ T$ X! G5 P3 z/ C4 P7 D% r
因為現在我是00:00開始倒數
5 z! V5 N3 Z% ^# V& \7 M8 K
我需要在counter_backwards60_seg2改哪邊?
6 ]" H3 L. t) @+ j3 J" B) Q
5 M0 ?8 A2 ^* \6 R, |
2 c5 l% C- h/ T: e, I4 J
我奇摩即時通:xt_9000
?. @1 P& g/ z1 |) c% h6 _/ O6 N
希望有好心人幫幫忙
5 f. p' \" u. _$ [9 N% }4 y
懵懂無知的大學生
作者:
spring69393
時間:
2008-11-30 01:13 AM
剛學程式時寫的計數器,不過是上數的,基本上跟你要的下數差不多,只是反過來而已,
# b$ m" p! t' ~ @
看有沒有用可以參考一下。
作者:
hope1014
時間:
2008-12-5 05:10 PM
感謝大大的回答
0 d. o. h+ n) }, a8 b- K
我想問說
1 Y2 Q, g1 ^8 `* W8 l+ h3 h
怎從"60"開始倒數?
% }# h8 c" u5 b5 n" U7 X0 V
60→59→58→57....→00
" ` g6 g; p' G$ p" B( }
因為我弄出來都是
) D. {8 t7 F) Y
00→59→58→57....→00
# K2 ?/ k0 a E& {$ q. a4 j5 M6 Z+ w
C8 j* E; F, L: I" ?
" Z' }3 ]6 G; v* Q# C0 ^
希望有高手解一下疑惑
作者:
spring69393
時間:
2008-12-6 03:06 AM
初始值要給六十呀,也就是rst 的地方不要給他00 ,給他60。
, B6 _5 s' {* v( S. T1 I4 d
1 @ i' A- n* ?4 C
不過時鐘的話應該是給59才對,沒有從60在數回來的。
作者:
hope1014
時間:
2008-12-6 08:22 PM
沒有啦
3 X2 ?6 M5 T5 m l+ t: L4 ?
因為我要做60分鐘倒數
8 L2 L% c3 [$ n% W
所以要60:00 →59:59→59:58
$ u* j8 H( D, {- |: M' B
我現在是00:00→59:59 @@"
作者:
spring69393
時間:
2008-12-7 03:58 PM
if reset<='0' then
1 Q0 Z& p) h6 S7 G; z
timer<=(others=>'0'); <<< 改這 60 00
作者:
hope1014
時間:
2008-12-7 07:00 PM
我沒有設定res啊@@"
( z, T- Q+ ^6 n K& v O3 [4 x" F
我是用Quartus II 電路圖接法
7 M; F ]) q+ i
60:00(現在是00:00) →59:59→59:58
; ~! K, p6 X& C, \8 ]( P4 G
( f+ a+ c) \, i) }9 \
IF Clrn='0' 或者 IF Load='0' 就停止動作了啊@@
5 e2 u, u) h/ G! Z U" @7 o( u
小弟比較笨拙~"~
作者:
hope1014
時間:
2008-12-8 01:00 AM
LIBRARY ieee;
. \8 r: C1 _9 P( @! z- L; M
USE ieee.std_logic_1164.all;
0 }8 o' _( @" L& V. Z6 L
USE ieee.std_logic_unsigned.all;
8 y2 U, e/ D8 D7 T3 S# u
ENTITY counter_backwards60_seg2 IS
! l- U: }" Q' I; g* C/ l8 O
PORT(Clk : IN STD_LOGIC;
+ ]. c0 M- k- {* j% o, W
Q0,Q1 : OUT STD_LOGIC_VECTOR(3 downto 0)) ;
7 l4 z& a+ ?/ e S# ^1 R' V3 S2 r- G9 w
END counter_backwards60_seg2;
8 W# k3 C3 \2 d E
ARCHITECTURE arc OF counter_backwards60_seg2 IS
1 U: ~4 y0 U7 i5 b; V1 _
BEGIN
* p. _3 H- i0 q4 @( Y8 L8 J$ F
PROCESS (Clk)
0 [/ v% W1 L* G/ l: Q/ n
VARIABLE imper0 :STD_LOGIC_VECTOR(3 downto 0);
2 g6 a0 Q7 \4 v
VARIABLE imper1 :STD_LOGIC_VECTOR(3 downto 0);
" r5 i$ ?3 y W6 x8 `5 E
BEGIN
/ Q6 J$ E. Y2 c, {
" `8 q) K( M$ m) y* z m6 l; {9 ?
IF (Clk'event AND Clk='1') THEN
5 W. q3 M( N3 M; H" k7 I+ g" }
* }5 L9 U- K! o9 M6 ~9 T
IF imper0 >"0000" THEN imper0 := imper0-1;
3 C! W" C, {7 r* Y7 w
ELSE imper0:="1001";
. v! H6 A r2 s' J% `2 A3 }' h& ~
IF imper1 >"0000" THEN imper1 := imper1-1;
, v' L2 N7 X- ~3 `. O& ^+ {+ n
ELSE imper1:="0101";
* H: m. M" v# w/ P4 l
END IF;
) P; J9 Y/ [/ S) K( p6 B& |1 X
END IF;
7 L% Y6 s) |$ I& r! O, z' g
END IF;
& k5 D3 E" ^! @2 d
Q0 <= imper0; Q1 <= imper1;
# ~$ [8 l. x+ v5 B/ t
END PROCESS ;
1 C( l) D1 A1 }
END arc;
. C# g1 z$ ?9 K/ o' W1 }
以上我精簡了一些 也能跑模擬圖
$ ^! }( U/ ]( \" Q0 B
但現在重點是我該怎寫60→59→58...
4 W7 ]1 d- c2 H k# \
初始值60要怎寫...
9 k0 l( v: s4 \& m; u3 G Y4 m) j1 D" f
是要多2個input 然後給他一開始的值?
, f* c" g X0 f' S* E' ~" B0 }6 I
但要怎寫啊@@...
/ U' |) z; R# N" l
作者:
hope1014
時間:
2008-12-8 09:32 PM
以上問題已經解決@@"
5 W$ K' Q. l* {
但請問 我需要一個另外程式
) x* h: _/ V; z6 G. f
去控制暫停開始和暫停
" Y+ Q* q r6 g V
LIBRARY ieee;
% S, e9 _: N, r( M4 z
USE ieee.std_logic_1164.all;
, R+ l6 ~ P. c) K6 [7 ?
USE ieee.std_logic_unsigned.all;
; N2 N8 x& p: C3 I( v' \$ m) j
ENTITY debounce_v IS
! l% {5 D) }1 r' m
PORT(CLK,PB : IN STD_LOGIC;
2 P" b- F' X7 W8 D: ~
PULSE : OUT STD_LOGIC
2 n& X( @+ D4 a# |
);
; T+ `% c- m1 w$ X
END debounce_v;
5 i" i' e2 _/ O P9 Q" J
ARCHITECTURE arc OF debounce_v IS
, t5 w* m. D- M
SIGNAL imper : STD_LOGIC;
3 u+ r0 ^. h" k7 b+ \, n& Z+ y4 M3 w
BEGIN
5 Y5 H L3 V8 Q A9 V$ w
PROCESS (CLK)
8 O+ g4 K) t4 x, _% j
VARIABLE counter : integer range 0 to 49;
9 c2 S* O1 k+ q0 E1 E1 a; m/ r) p
BEGIN
! S8 ]+ X( Q; \8 P$ y* n
IF (CLK'event AND CLK='1') THEN
% t1 m% }6 B- ^8 z
IF counter = "1" and (PB = '1') THEN imper <= '1';
3 G2 I% n# K! [; n$ i
ELSE counter := counter-1; imper <= '0';
6 P2 x3 B' j" ]
END IF;
9 x1 o) X- R' L5 ]. z* ^6 p
END IF;
; M1 v+ R5 Q4 `3 a- U
PULSE <= imper;
; W. ~, X2 }1 Q0 S
END PROCESS ;
, o1 u! |- d+ u
END arc;
: |2 F4 z4 V) u
1 ~; D: m" ~9 W9 q9 _
這是按一次減一次
% t3 h" B$ I* K$ i' j# e! d X$ C
想要按一下開始 按一下暫停
: y/ k6 y6 n6 U+ T
: A; m# }1 r8 u' ^7 S# ^ m
ps.轉自全華圖書
作者:
spring69393
時間:
2008-12-9 09:39 AM
Quartus II 電路圖接法 我不會也,程式寫法就懂。
5 ^! [3 P8 C. A+ z# Z, c' Z/ g7 y8 A
9 t5 L6 b+ d1 J
你就建一個按鍵 跟上面的一樣,只是還要做一個暫存器,=0 就跑,= 1就停。
作者:
hope1014
時間:
2008-12-11 08:38 PM
@@"
2 I! [1 ~3 u5 ?/ H
有需要暫存器??
3 Q; `7 z9 I0 F
那是震盪器→先接到開關→接到暫存器→計數器
8 ~% m2 }# V0 h, p6 r7 v
這是樣嗎?
作者:
hope1014
時間:
2008-12-12 10:23 PM
PROCESS (CLK)
" U1 u) g$ s5 \3 W/ ]) t0 w# o
VARIABLE counter : integer range 0 to 49;
& W/ A6 }$ x8 |: e
BEGIN
" l7 M1 _& I* h7 }$ f+ m
IF (CLK'event AND CLK='1') THEN
8 M1 v! W8 v$ A4 v) B9 J
IF counter = "1" and (PB = '1') THEN imper <= '1';
+ Y; @+ U: }! c% J$ z3 B- [4 e
ELSE counter := counter-1; imper <= '0';
. i2 g7 M, T+ }$ ~
END IF;
- @! ^6 F! {$ `( L' r
能幫我解釋一下這幾行是什麼意思嗎?
作者:
spring69393
時間:
2008-12-14 09:56 PM
PROCESS (CLK) -- 有些書翻成敏感列,如果clk 的狀態有改變的話就重做以下動作
- \" \5 m; @% \0 v. U0 d
VARIABLE counter : integer range 0 to 49; -- 把counter設成 0 到49 的整數
) Y- i, R# W: k
BEGIN
1 c) p) Y5 ?+ |8 G' [5 H
IF (CLK'event AND CLK='1') THEN -- 如果clk 正緣觸發
$ p) e# x" M `" N) |' C5 L
IF counter = "1" and (PB = '1') THEN imper <= '1';
# Y `: ~& o& K U/ v
-- 如果counter = "1" 和 (PB = '1')就把 imper設為1
, x/ y! S6 ^, W
H' S( O/ P5 N# ]$ j" t/ q6 W
ELSE counter := counter-1; imper <= '0'; --不然的話counter := counter-1; imper 為0
5 L. y0 Y2 |& a" {3 [
END IF;
作者:
hope1014
時間:
2008-12-18 07:44 PM
spring69393 大大感謝您
3 l9 m& g- I4 t
5 Z, j2 s2 t1 L
按鍵開關 第一次 on時,開始計時。
! x" ]9 [8 l1 U, `# [
第二次 on時,停止計時。
7 [' T7 i S; d# Z& o" B/ I6 B2 {7 h
第三次 on時,開始計時。
/ o8 o7 n8 Q( h# ]4 O) X
% c% G% L4 ~ Y
這有哪位大大能幫忙@@
作者:
spring69393
時間:
2008-12-21 12:53 PM
你就判斷暫存器是 高電位還低電位不就好了,一個計數一個停止呀,不是很簡單嗎@"@
作者:
hope1014
時間:
2008-12-22 09:21 PM
是移位暫存器嗎?
2 {" S* I' Q- {( n5 u/ v
平行輸入 / 平行輸出
0 [6 b8 x4 H/ ^3 w) S1 y6 |# y+ n
平行輸入 / 串列輸出
3 C6 I7 I5 v) h
串列輸入 / 平行輸出
" H1 y3 N+ {6 q* E
串列輸入 / 串列輸出
; T- q s7 s# h; O' F C
哪一個啊@@...
) N$ h; `2 o" [! b% y+ w5 D
我都是看書自己學
/ e) F8 t% F, u- u
所以都不會咩
. r f5 U5 }& |" V$ @; n: z. q
拜託 幫幫忙
作者:
hope1014
時間:
2008-12-24 08:18 PM
真的有要用到暫存器?!
! X1 J# Q& c" O( \) Y1 U& U1 @5 Y
今天問老師
5 |* { G: s/ H2 }- Q; A: ]2 R
可是老師沒說到暫存器的東西
$ U& f' K! M$ Z# j6 k
反而是說
; w: v* @+ H: g% h$ R) Z4 W' \% E
IF CLK'event AND CLK='1
K: O! Y8 L* E& F J" Q
counter := counter + 1 ;
! j# S( V$ B2 k" g8 @+ D
: o, Y, F4 f' n1 [9 a+ ?% Y
抓counter (0) ----第一個腳位?!
* O$ M, P- B7 B5 Y
給counter位元多一點之類的
7 E3 o6 c7 S% A8 j3 t' A, l
( X0 q. ?3 a: i+ z0 V# M
00 01 10 11
% Z) c( o# J" ^3 R2 Y; ]( [
最後腳位為0 ----Run
1 P/ t( j8 X$ k3 I# Z
最後腳位為1 ----Stop
! ^2 S4 f; ?) O( ]9 r+ T
4 B& r$ d: [; }2 v8 M4 [. C
可是要怎弄勒@@
作者:
spring69393
時間:
2008-12-25 08:12 PM
你說的是自動變速,跟你的要求的開關功能根本不一樣。
1 x) x8 G+ m. l# g
至於怎麼做我也不知怎樣跟你說,給你程式你又看不懂,
& S0 U7 \$ t* e, f2 g+ o
跟你說原理你又不去想,要用你懂的畫圖的我又不會,
, Z2 @1 I/ @0 K
難解了!
作者:
ssejack1
時間:
2008-12-26 09:37 AM
Key function
( k! G% r& F# n* V/ j, t* i
按鍵開關 第一次 on時,開始計時。
1 A+ n% `: D; t( b, W
第二次 on時,停止計時。
2 b, D" w. y! ?. w
第三次 on時,開始計時。
0 A1 ]- ~: r! n# f. h. A
未 synthesis,請自行 debug........
$ J1 C5 i1 I. k- T. I( W/ q+ M+ y
! e8 b; }! [$ O7 e3 M
LIBRARY ieee;
: [! s7 \% ]1 {, h3 Q! q$ E+ e
USE ieee.std_logic_1164.all;
3 }1 R$ e0 T$ C L; P
USE ieee.std_logic_unsigned.all;
1 C! T3 @- \* |, ]# {3 t7 K$ W
ENTITY KeyFunction IS
@1 U9 u; E/ y
PORT(CLK,
; g0 M9 D7 w- T7 `
PB,
0 W* Z6 M* |7 E5 K
RSTn : IN STD_LOGIC;
- c; S& k& o7 J4 \
START_COUNT,
4 i/ y" B4 A" @2 s/ [
PAUSE
; `& ^- i" Q- Y& q4 ?* u2 G+ _4 i
: OUT STD_LOGIC
9 k4 i% O) `" @' o
);
+ z4 }% k, D) J4 V4 H- d
END KeyFunction;
1 ^9 W( i; R5 d. p
ARCHITECTURE arc OF debounce_v IS
! \& u4 x. k( B
SIGNAL currently_state : STD_LOGIC_VECTOR(2 downto 0);
9 s9 m9 p: E8 @+ j. h" H
signal pb_reg,debounce_counting,debounce_end : std_logic;
4 V q3 l* F( v: E
signal debounce_counter : STD_LOGIC_VECTOR(15 downto 0);
$ ~% v# h2 b4 |! k) s# V' }
. R3 R4 `9 h5 M9 n
constant debounce_time : STD_LOGIC_VECTOR(15 downto 0):= "0000000000000000";
; j& W3 m2 W- i/ |( Q- \
BEGIN
$ k! \: F5 F. J) m
& \+ f9 M4 I9 G
--============================================================
! ~& Y, G' F: B& l' Y
-- get key push state. ( active high)
! T K! P. E3 Y$ Q
--============================================================
6 y+ z' @9 v" P! l6 \
PROCESS (CLK,RSTn,PB,pb_reg,debounce_counting,debounce_end)
1 S9 Q! ]" w$ g" l3 K& k
BEGIN
' ^! S2 x9 r8 G/ Q# k
if( RSTn = '0') then
) Z `4 Z- Q, o- M" j
pb_reg <= 1;
" v& s6 s9 ~2 j3 S$ t
elsif( CLK 'event and CLK ='1')then
5 v# R: ^/ G8 x3 `
if( PB='1' and pb_reg ='0')then
$ q4 [+ i7 V9 Z" D
debounce_counting <= '1';
$ l; z' N! m b9 F1 x
elsif( debounce_end = '1')then
2 W1 ~* a- f+ _( A* x$ L5 \" m' _
debounce_counting <= '0';
( {9 L& ?+ R- {3 { J' M7 R, x* l
else
( p/ L1 v3 I- D' a2 Y
debounce_counting <= debounce_counting;
) R1 w; a P" x' n4 [/ x
end if;
! d8 ~: F1 E: L
pb_reg <= PB;
& a; H* N8 a+ M% K4 l4 Q
end if;
作者:
ssejack1
時間:
2008-12-26 09:38 AM
--============================================================
5 q! R" D) B7 G* I/ K2 @
-- key debounce timer
9 X1 u1 x: O4 r* |) D
--============================================================
. G" B: O5 p% x0 r& A3 H* ?
PROCESS (CLK,RSTn,PB,pb_reg,debounce_counting,debounce_end)
$ a. M; T# x4 B5 D) e, I& u8 b
BEGIN
/ D, C- J6 ^. Z
if( RSTn = '0') then
* Z& O2 U9 @. \: {( D) a
debounce_end <= '0';
. k% D; J0 \6 z$ g1 o- U* e
debounce_counter <= debounce_time;
0 A! _( j% B# U" F- _0 U- q
elsif( CLK 'event and CLK ='1')then
4 B6 n+ M4 V/ O* v
if( debounce_counting ='1')then
! e" J% x* V) Y5 e. Y
if( debounce_count = "1111111111111111")then
6 c( ^* h& ]2 f1 B6 F! X
debounce_end <= '1';
S& e4 ?- m1 V' x. c" X! @
debounce_counter <= debounce_time;
% u6 _7 \# m) @$ {3 ]
else
. C+ p! ?8 R/ _7 N& J4 }
debounce_end <= '0';
2 }# @0 z$ S0 j0 [
debounce_count = debounce_count+1 ;
& n( U! q( v/ [ {& d6 G
end if;
$ T6 }; b: Q0 d
end if;
& N4 U* J& D6 M" ^7 ~/ i: z, z: m
end if;
. z; _# S) P0 b) {& L' ]" v
1 A& J5 s& C4 z7 X
--============================================================
3 f' A% }0 i; B# H; D/ n6 N1 n! B" g1 z
-- key function control
O/ b6 f) L+ t
-- PAUSE -(key push)-> START_COUNT -(key push)-> PAUSE -(key push)-> START_COUNT
* ~0 Q8 s4 ?4 E* r& A1 ^8 ]) X
--============================================================
8 t( S- S) G m+ P8 I
PROCESS (CLK,RSTn,pb_reg,debounce_end)
0 f, Z! x X* ?+ x$ s8 o4 m2 S
BEGIN
- J& X4 X. J0 t
if( RSTn = '0') then
8 ^. N3 e9 b8 |1 u' Q+ p( ]
currently_state <= "10"; -- pause
& R! c# L9 u: o) l R" z) X. z
elsif( CLK 'event and CLK ='1')then
: f- W# Q1 F7 q/ D8 ?
if( debounce_end ='1' and pb_reg ='1')then
7 C! `4 z7 B0 j( n4 C
currently_state <= currently_state(0)& currently_state(1);
# O- m9 q J; T! ?* F$ s
end if;
# L# N8 ~# x- Q% y
end if;
' Y% ^( V+ k* w) x
START_COUNT <= currently_state(0);
- y% y1 A! K. b
PAUSE <= currently_state(1);
' B" w/ A. v; p
% {; V/ F0 c( x% O2 c/ o0 D
END PROCESS ;
, |1 r- K: N7 n
END arc;
歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/)
Powered by Discuz! X3.2