七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清
機械社區(qū)
標題:
單片機新手,,請教問題
[打印本頁]
作者:
何其
時間:
2009-12-3 19:57
標題:
單片機新手,,請教問題
前不久用c語言寫了一個數碼管動態(tài)顯示倒計時程序。倒計時倒是沒問題,,可無論我怎么調延時時間,,他都閃爍的厲害,,請問高手怎么處理。是掃描頻率太低,,還是點亮后延時不夠,。如果是以上的原因,,那么掃描頻率和動態(tài)延時各要多少才能看起來不閃。
8 w, o+ }) r) v1 i
程序如下:
0 @ D8 M1 v: L# m* q
#include <AT89X51.H>
7 X. m( f6 Z" p# [" g2 ]6 x
unsigned char code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
5 E: M! x3 W5 `" |, F4 x9 ]
int i=0,j=0,k=1,a=0;
: H7 C( F& }1 H1 u5 h- f' S
sbit beep=P2^1;
: ?+ ~0 B3 ?, F6 G
sbit P35=P3^5;
% I: k; S8 [5 w) b9 d$ X
sbit P36=P3^6;
r) ^% q" m: W; {5 \7 q
sbit P37=P3^7;
1 p* m- _( Q, ]" `+ u- o) g
void delay(unsigned int aa)
$ h7 U0 A; ~: }; v
{unsigned int jj;
$ n' `6 j; z A) y
for(;aa>0;aa--)
6 d+ C0 @: g9 `# t! w5 ]! f% ^
for(jj=0;jj<60;jj++)
" a, j w1 M5 v- a" H o
{;}}
6 V7 q5 m. t% q2 V( [; D
void main(void)
% F( c1 s! B0 R1 i# f' k# x
{
0 @& m% z, H. k* Z5 Q* v: s& q
EA=1;
5 t. o5 _" b- `
ET0=1;
% E" E: o! R0 Z* T v- F/ K
TMOD=0x01;
5 c* l/ r- H8 `" O" B6 {
TH0=0xff;
! f, l0 r$ W, Z! A8 @ h! B/ z
TL0=0xff;
3 L5 G, H& t' l, `) M& o* E* w' e
TR0=1;
1 o) Q/ }3 b$ R3 U6 U5 Q" i& ~+ V
while(1)
E" o5 _- L, |2 H$ _
{
3 R- e2 I$ ]2 J/ \, R6 u: d
} }
# N' i/ \& j6 N* y
* R+ N0 ]6 m; V s; j' [
void timer0() interrupt 1
6 P8 J4 ~1 W) _0 x6 @3 I" m
{if(i<1&&j<1&&k<1)
& O& u4 @6 A7 i: Q
{P37=0;
. v" p0 N6 z7 ]2 _
P0=led[0];
2 _7 q, X: I" |: q2 q' u, h
beep=0;
+ |6 P: A7 o" n8 _. H# J! Q" O) ~
}
" W+ j3 {: ^. |; D
else
7 O2 [8 c/ z8 {
{
) L6 j" j3 z7 k* u( _/ d6 r7 u
P37=0;
. ]$ E3 Y; Y$ R4 k; g" ?) Z8 u
P0=led
;
* A& d% S/ [3 E- G8 K
delay(5);
" l& U. d8 O7 U; `8 w9 [- X
P37=1;
, Q3 ?8 F0 h: L
}
6 j9 D1 u3 F5 T J# T" N
if(j<1&&k<1)
l* U3 q8 Z' Q) i c( m
P36=1;
% D7 m& @+ X, A
else
+ Q! e1 ^' [) u) a ^2 R
{
! G3 x) L6 d) [& k% f
P36=0;
; v$ w l C& L) d: |/ T
P0=led[j];
8 H4 J7 i! ~4 W
delay(5);
" Z( t1 N$ y9 X4 h- k( J
P36=1;
$ W% r4 T7 ?- Y; z
}
3 ^' l* a& j% b
if(k<1)
0 A$ d% V: W# f( u! G
P35=1;
) v# H9 v6 m- M( p, X; j
else
; {- d$ H# }- h9 x+ W- b
{P35=0;
8 {9 ?, N+ Y4 i7 D- m5 k) n- ]
P0=led[k];
0 B( H# H+ T" p1 m
delay(5);
$ M5 Q! t% u1 b' H
P35=1;
# v9 R& r" h" U& G" L; m$ ]& P# X
}a++;
- m4 H0 L( n" \' v6 h
if(a%20==0)
; ]8 L+ A$ k4 Z& K0 n' _# V
{
, A9 R2 z$ p3 A# r) Y- D0 \
i--;
) b4 I1 [* V6 w8 B6 K
if(i<0)
, u5 p. v0 L$ S
{i=9;
8 N- \9 k9 H; ]$ D8 ?
j--;}
- s2 }. I* d: l
if(j<0)
& j. X0 c/ s3 N2 l
{j=9;
* a" l- B( b8 G5 I$ x/ X9 m5 p
k--;}
' o! [0 S. Y+ v
TH0=0xB1;
' v4 o6 K" V! y& R0 Z! s* h. [+ X
TL0=0xE0;
. u, \$ M% f8 M4 ^# z( W
}}
作者:
syw開門造車
時間:
2009-12-4 08:22
何其 網友好,!
0 H2 j3 Y& W/ K7 J. g. n$ g# U
% L S7 a, q; F# R/ \# E, q' @
你的延時子程序中的延時太長了,,所以閃爍。
2 e, H5 ~) g! n4 n3 p' q
.
& P0 f6 b* B2 @2 k
syw 091204---08.22
作者:
何其
時間:
2009-12-4 13:06
不是吧,,開門大俠,,循環(huán)60次,一毫秒都不到呀,。
作者:
syw開門造車
時間:
2009-12-5 05:11
何其 網友好,!
* l: _) {+ E" a
.
5 X/ J" v+ a3 x8 L
你用一下我給的延時看看還閃爍不?,!
; n& k- j- d+ S7 A5 p# p
.
_. I( c" U5 J2 E Y
syw 091205---05.11
) n0 F3 i& M: h5 g/ H/ P" d
, o, }, O& J$ J5 {5 D: r4 m. i
* l# x/ K6 f0 h/ p: O$ r0 X
% h: y; X0 S& p7 U" y( M5 p
G* R0 u, I- T3 s
P0=xsjs[xsjs1];
4 `" l* C0 ], {9 s3 l
P1=xsws[8];
" G8 I; ` Q }
delay(10);
* v! x% [3 B0 }2 A% F' n) X
//****************************
R: g1 J, J( V$ s0 k9 v$ W
void delay(int x)
4 M' W& ]7 t8 B) g2 y6 L
{
/ L. [ [1 z8 E& W. W/ E
int y, z;
& A/ b0 x' Y, f6 H& \# r$ O
for(y=0;y<x;y++)
- M3 G( c2 ?7 Y0 I
for(z=0;z<2;z++);
/ `5 ~6 ^$ t) ?( s
}
作者:
何其
時間:
2009-12-5 22:29
還是閃,,是不是這種程序里不適合if語句呀,我用除余數的方法如下程序就好了,。
9 L/ I8 V2 M' V/ h9 Q6 S
#include <AT89X51.H>
1 ~+ E4 G8 v4 s' `4 R9 p, y/ o
unsigned char code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
- h# |3 M+ G p7 }8 N1 M
int i=0,j=0,k=1,a=0,js;
* c( f8 Y) j. S1 c2 J
sbit beep=P2^1;
1 P$ Q; M0 [) o) Z8 c1 W" `
sbit P35=P3^5;
4 H* W6 i& y4 D& `1 F
sbit P36=P3^6;
* Q- y/ u: p; m/ _$ @
sbit P37=P3^7;
; |$ _2 g3 B+ |/ y
void delay(int aa)
1 n7 W6 V2 Q+ A2 y; r ?8 r
{int y,z;
8 O7 M" r: E0 |+ s* s" f: Y1 L
for(y=0;y<aa;y++)
) h) k) v( Z4 m' U# D( e
for(z=0;z<60;z++);
/ J4 T# U% M" R8 o
}
8 ^1 j; a: {9 H% _/ T# b% e
6 C. R4 @/ [5 y& R% ]
void main(void)
2 z& ]9 v/ @, ?7 j
{
) C& g! [" e2 @1 I7 @2 R( Z" ]
EA=1;
& k" `- [/ R$ y- U( b. \
ET0=1;
& {! ?* I/ i9 s) \* s x; z3 S
TMOD=0x01;
1 l) o% c/ x- T& t9 N
TH0=0xff;
" K6 g/ N2 A( |: l0 j3 a
TL0=0xff;
' q& X6 o2 y% W; V7 E
TR0=1;
& e4 A$ t1 R9 |7 Q% I
while(1)
/ F8 f5 r6 R3 h
{
' G: K. Y* T5 g. ?& V
for(i=100;i>=0;i--)
9 C! G) Q* s6 K7 T! j
{
. D1 Z' T2 V: m. ^% F L3 i
js=i;
0 Y$ q" l0 R, E( `( ^1 J$ [
delay(500); }
, ]# r, n X8 s
} }
2 \; N% N) }; s n% L, b2 ]6 d
% y, Z! d: }) K" @6 }( m- Q
" J. o4 V# n, j5 f
void timer0() interrupt 1
6 m0 z i `5 b/ y q0 B! ~
{
& c- i4 C& N1 P/ K) y. J' Y
P0=led[js/100];
: V* i# x0 _9 \' j
P35=0;
9 `% ^+ H, F0 U; v3 O! T7 g* P
delay(5);
; X. F+ L! D4 q7 n: z
P35=1;
# e; }: V& t% ~
P0=led[(js-(js/100)*100)/10];
# m3 j7 H& h! [- ?
P36=0;
6 l4 x9 c6 D- y# x
delay(5);
( S4 z" a' J7 F1 a" T
P36=1;
' T/ U6 ]/ o* Z& C; D
P0=led[(js-(js/100)*100)-((js-(js/100)*100)/10)*10];
% Z$ d; w( m0 M3 Q
P37=0;
" l- K9 X: y$ W1 j0 Z
delay(5);
0 q' X, E' g( Y* a1 h) n8 g
P37=1;
( z+ M; j1 I% O2 h9 m# `
* J$ v! S4 Z* E& K( _6 S, f
TH0=0xB1;
( E. y4 n" m8 V5 k! Q
TL0=0xE0;
H! E3 m* X, Q$ V
2 {, H+ u# P" I8 Y
}
歡迎光臨 機械社區(qū) (http://97307.cn/)
Powered by Discuz! X3.4