|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8只数码管动态显示多个不同字符 仿真和源程序8 O& o3 U2 Q/ M. W+ [. \& R Q" }4 a
5 ?% g% R% ?( E. ^, \$ T# @7 D' w' \+ d0 }8 G. z
; e) g7 E) z, _+ d5 u6 {所有资料下载:
( Y! }) m. [ |9 B9 s
6 U* E, L# s% u% X
! Q& V( F) ?4 H& [8 y( J! @
+ ^6 L0 o! c1 U) E5 ?( o0 E% c% ?: p源程序:
+ s8 Q, J+ H# C9 T: i* `% c#include<reg51.h> //51头文件7 @1 J8 {- S! @ `" Y
#include<intrins.h>
8 F2 l2 f( b& S#define uchar unsigned char //数据类型定义) z7 y2 {3 o% J8 v4 p$ ?" G
#define uint unsigned int 1 \( R0 h& f( C% H5 z
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//七段数码管0~9段码值; a- t5 G! \& m" U7 b$ m5 U7 f
3 O$ P! y, V, c0 I. Y. r9 l' r void DelayMS(uint x) //延时7 n) V) Q9 \; P
{ uint t; 4 T9 z4 u) n& c8 B, V; w2 a# f
while(x--) //while语句/ @# |# J, p7 R; u) N
for(t=0;t<120;t++); //t的值大小确定变换快慢4 y5 p$ g, }0 {
}
% w" b1 [" v& H% \$ R0 Q//主程序/ ]( c' k0 j2 l0 S% k& G
void main() {- {" C2 i0 T- w! x: c
{! k$ }) H6 {1 H1 n
uchar i,wei=0x80;
& R, I5 J2 p: v) K7 k/ C" Jwhile(1)% J6 Z7 G1 Q. U3 `4 b6 u
{
' P1 P( |) i$ O! p! A: o* V for(i=0;i<8;i++) 2 M% a$ d5 [1 Q
{ P0=0xff;
$ H: v% g+ O% J2 m% W" p" W P0=DSY_CODE; //发送段码
; {, e+ @+ Y! i wei=_crol_(wei,1);
" K K. u( ~ r5 K P2=wei; //发送位码 2 n b- M* m- f6 r
DelayMS(2);
3 s9 p8 ^' i9 T3 l( N; t4 h2 t }
9 d) G: k5 N0 u! k$ J; @' I8 Z }8 L! v" b" \- _- e
}
' w9 H! ]3 y9 s$ Z! z* P3 K( k6 A8 K% M. {6 o9 t
|
|