七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,,快速開始

搜索
查看: 3196|回復(fù): 4
打印 上一主題 下一主題

單片機新手,,請教問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2009-12-3 19:57:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前不久用c語言寫了一個數(shù)碼管動態(tài)顯示倒計時程序,。倒計時倒是沒問題,,可無論我怎么調(diào)延時時間,,他都閃爍的厲害,,請問高手怎么處理。是掃描頻率太低,,還是點亮后延時不夠,。如果是以上的原因,那么掃描頻率和動態(tài)延時各要多少才能看起來不閃,。
# l: U# Q6 i% ?" Q& h% t* o程序如下:
( P/ u# s  B8 M) ~#include <AT89X51.H>
  c  ^4 H; H4 s* Sunsigned char code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};3 g7 p) n+ u  `+ J5 H, a
int i=0,j=0,k=1,a=0;& h! j2 |+ j! j; c* G
sbit beep=P2^1;$ O' P' n5 l; |! f4 i( ^
sbit P35=P3^5;
  n/ l5 d8 c0 `1 isbit P36=P3^6;
# Y' f9 U8 `: b+ a7 S9 usbit P37=P3^7;, O. }( T6 M# H3 `. J4 ^; x
void delay(unsigned int aa)0 B" ?! {  z" @; C4 G
{unsigned int jj;
% N: U9 F1 R3 r9 C0 {4 efor(;aa>0;aa--)# i  H1 v& e+ N! {
for(jj=0;jj<60;jj++)5 r( n  n8 I& I; g' ]. Y
{;}}" v$ c' Y5 V" a
void main(void)2 p/ B9 r1 V  ^
{
( K7 F/ K4 K; H1 Z6 N. \EA=1;( g: D  N1 M5 ?1 E
ET0=1;! c) E/ l# b" ]9 ~+ u7 N5 s8 y
TMOD=0x01;7 ^' V, O( J1 Z/ o
TH0=0xff;" O) d: s+ ]3 j& V4 _# w" Z
TL0=0xff;+ k/ q8 h2 s0 A" f0 Q  M4 A
TR0=1;
1 w" i5 l7 b5 n. ?$ ^. y6 i, E3 R: N& Kwhile(1)
) W9 S, d7 y' c3 d+ N{
. h" R3 k/ ~7 j. T1 z. c. {0 D# g }  }
/ K3 M; U! w5 X; j
7 s/ j; {+ ]* `: mvoid timer0() interrupt 1( E1 m; v' L( Q8 \& q% P
{if(i<1&&j<1&&k<1)
& h& {% z* @7 j7 L) Y3 I( N' q{P37=0;! ?3 i% g5 R  b, l- u
P0=led[0];
6 m3 _: A9 I. k+ P3 a  t2 n. lbeep=0;                                 
' O* {  Q: L2 k) s1 n0 C# n. ]' U}
+ Z, q* M& o* O# N8 Eelse  
4 G9 e) y  ^  y9 K{
" l6 S; ?# J* _5 E: i( U$ ^# HP37=0;1 I1 `1 v, @% F: Y# i6 E
P0=led;& f7 ]0 y/ Q+ X) j& v
delay(5);
' i7 T% h8 l/ C+ Q( `5 A8 a- lP37=1;
+ l" Y" N2 ?* Y% N, o- H2 j9 k} ( p9 a$ e1 `1 o; z, R+ ?6 p3 X( k
if(j<1&&k<1)3 r2 s5 I3 q0 P0 x  l# Z! R
P36=1;2 C7 Q0 i/ h  \, h) ~) F
else& K) l$ E$ P: u% ]
{- n5 U( Z5 L* v+ J& z. H
P36=0;4 S" R+ x6 L7 `  o! D
P0=led[j];5 ]6 n, u" M8 b1 d, T3 J# J
delay(5);
7 V4 [+ d& F0 s1 ~& DP36=1; ; v7 ]) ~: H( g9 P. K
}5 J6 i/ a5 J4 z6 \4 i, [
if(k<1); o1 W# f0 l4 ~5 u5 M. y
P35=1;
/ J! U4 B9 ?1 \" g* c/ }8 pelse, G6 I+ O. w/ }$ X6 ]
{P35=0;
% u( }  J$ U- X2 FP0=led[k];
3 k' D; l" N$ I: z4 ?3 s' p2 X2 q& b) Wdelay(5);  6 j3 ~4 \' d" [6 v/ N4 G! {
P35=1;
/ G% R- T. @% P2 z  n}a++;. M, j/ y0 s9 {7 B  E( [
if(a%20==0)
$ T. _2 \0 i0 ?3 H  C7 c{
1 ?$ d) q& G; h- Y8 p7 ri--;, `. p# \! X  D; O  g8 }
if(i<0)7 V4 q$ m8 f7 Z6 l9 z- E
{i=9;( {$ T$ r+ v. U/ t
j--;}: ~8 Z8 p8 N5 I& J) g' I, t% W
if(j<0)                     3 t. i9 M$ T4 |$ ^' v
{j=9;
4 U& O. x" R% }7 U5 ek--;}- R! q2 f+ B4 O; w5 G/ `7 t8 _
TH0=0xB1;
. v7 A/ W2 ]1 D8 e/ m& o% lTL0=0xE0;
$ U3 r; ?1 H! T9 y% i$ q' u# b}}
2#
發(fā)表于 2009-12-4 08:22:36 | 只看該作者
何其 網(wǎng)友好!5 {5 J) W! A; @/ f# N
2 ]. s. M; ^8 {  H! l) O
你的延時子程序中的延時太長了,,所以閃爍,。
+ B5 ^$ E1 m* `$ J) y.
3 w( V+ v5 B% i5 v' Osyw  091204---08.22
3#
 樓主| 發(fā)表于 2009-12-4 13:06:37 | 只看該作者
不是吧,開門大俠,,循環(huán)60次,,一毫秒都不到呀。
4#
發(fā)表于 2009-12-5 05:11:29 | 只看該作者
何其 網(wǎng)友好,!
5 @4 w, _" j+ O9 [0 f.
2 I' i8 G: `/ ^% s# x你用一下我給的延時看看還閃爍不,?!2 [7 y, b/ l# d8 M1 y
.) e6 O( V9 w3 B. v' O
syw  091205---05.11  F' S, o* i  K) G0 k1 `; k
  }1 h# d( c# A9 C

" `; `# X3 Y- K5 M5 E$ u* z8 z7 @- Y4 z
; `2 c6 }" N, L, r" n; Y7 t( I
        P0=xsjs[xsjs1];; H; f9 A* d2 Y0 ^6 t, _
         P1=xsws[8];! }( h1 @; E# p- ]8 x
        delay(10);( _2 L8 M2 @# d; R2 n- h- F# A( F/ M
//****************************
9 b/ r4 C) J; W9 O    void delay(int x)
2 z* ~+ k0 U- l) c8 N$ i7 @    {
1 y* c4 x6 |. w7 K4 s0 D( ^      int  y, z;
4 u) d- w% L  {7 E$ |2 I        for(y=0;y<x;y++)) T* R& q# T; }: x- F' L4 Y3 P/ S
        for(z=0;z<2;z++);
, X3 f- d; v  \& k& p  Y     }
5#
 樓主| 發(fā)表于 2009-12-5 22:29:30 | 只看該作者
還是閃,,是不是這種程序里不適合if語句呀,,我用除余數(shù)的方法如下程序就好了。  |6 Z/ Y. V/ y0 z* g, h; A  u
#include <AT89X51.H>& L2 s4 Z1 h6 @% y
unsigned char code led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};; [9 O+ P5 @: j3 q
int i=0,j=0,k=1,a=0,js;8 A& G2 |( l8 `0 L2 g/ W
sbit beep=P2^1;; l" o8 ^4 I2 h8 W
sbit P35=P3^5;: r& S* {, j1 w8 n0 w
sbit P36=P3^6;
( _7 {; I0 _9 j9 V/ M, |  e) f% @sbit P37=P3^7;( F& a" o, K  j$ L# r; V4 n7 H
void delay(int aa)9 Q# f" `: O" j0 m7 ]  d: s+ A
{int y,z;: d; u* D3 [3 l+ g9 S+ i* [
for(y=0;y<aa;y++)
5 M* f5 X/ N& y" s/ z( vfor(z=0;z<60;z++);
& S8 F6 N4 M2 E# _}
$ o3 A2 s" \# ~9 p- A5 X9 I# H2 _: [
! x: X0 a/ }6 w1 bvoid main(void)1 K- t2 z" e( Q+ B
{
0 ]5 R; l  Q$ s8 \6 \& PEA=1;
3 e" X) @8 K8 V, |5 [ET0=1;
: {* |! s$ r% w6 w. |TMOD=0x01;" F& D  l* L0 _1 S: a3 A
TH0=0xff;, _/ \$ Q/ m' b6 ~0 L- D
TL0=0xff;
( J9 |8 d7 \  qTR0=1;
7 u8 S$ S2 p+ `  i/ Xwhile(1)' X8 W2 v( B5 `4 p: H. E3 ~
{. T5 D& T" d9 }' N/ e/ k% E
for(i=100;i>=0;i--)
# \3 C! x: d+ ^, I9 S1 g{
/ k7 m6 V5 ?: U& x. \- A+ B$ Zjs=i;* T( Z1 Y/ ?. K( R
delay(500); }
5 v+ }1 S$ l# r! ]1 _  C/ @ }         }# J: o$ k( X# n! }- O. O9 a( x

  @2 e- W6 C7 B
' F6 Y! f& C& S- N+ b! @" Avoid timer0() interrupt 1" Q1 H0 |2 a4 K7 M+ D! e2 b
{2 B) R0 s- K+ B9 C5 y: ]3 ]
  P0=led[js/100];
5 i5 R" ?: x& q2 v4 WP35=0;
! ^/ P. M, t7 `  delay(5);
7 {+ W" D+ S- _9 ?          P35=1;* }' d8 t" k/ m
  P0=led[(js-(js/100)*100)/10];
& {3 W- w) K" bP36=0;0 |1 F: {" q- B0 |9 Z
  delay(5);
* o9 i2 N) f; z. _ P36=1;
) {9 z( e2 }& V: t" d" M1 W0 j! h P0=led[(js-(js/100)*100)-((js-(js/100)*100)/10)*10];
; O  R$ Q; U4 q" {P37=0;5 ~' o& r& S5 V
delay(5);: V6 O# ?1 d9 m% ^* x  L
  P37=1;8 [/ d/ x7 ?( s. T. m' v

" ]6 m7 G. r) p% a1 p4 v  T0 @TH0=0xB1;; n. r2 G2 d" T, O7 d
TL0=0xE0;; E% h/ @& c6 r
# j5 v( s0 z/ J- L/ k
}
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2024-12-28 17:16 , Processed in 0.051540 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表