|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8只数码管动态显示多个不同字符 仿真和源程序
) Q% D: G: F2 n0 O: q, P4 `, j9 D( [& n: k
/ b5 z) E9 W' K5 S! r. }4 h
5 q- Y' x! g! K所有资料下载:+ G! @" w7 C: f) ^3 Z2 Z
1 N3 h+ a* T2 I- l( ~
g4 a4 r& G: F7 ?0 b! ?& h4 Z2 m$ x' t2 `5 U( [
源程序:
) Z( j' t5 c: C! f#include<reg51.h> //51头文件( d$ H2 Y% g$ } |. u% N4 `
#include<intrins.h> 5 j" s, w+ ^! Y9 A* I" T" `
#define uchar unsigned char //数据类型定义
* @; I5 i! K9 J, b#define uint unsigned int / [( R: C! a2 W% X4 b
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//七段数码管0~9段码值2 `" a; B2 L: D+ y" v- ^
4 N' m. i; v/ h
void DelayMS(uint x) //延时6 E J: f7 |4 p! b2 q* ~
{ uint t;
- f, d8 Y( s! t# o6 dwhile(x--) //while语句
7 M2 D; V) z/ E- A8 M* O+ u for(t=0;t<120;t++); //t的值大小确定变换快慢. h" z/ \5 [7 [1 ]
} \" }1 O# e. Z. B1 q3 {/ h; p
//主程序
- Q$ k- g- L0 W2 Q9 P$ Tvoid main()! G$ s1 t' Z! `6 d
{
% T ?" b5 ?! W: Suchar i,wei=0x80;% K$ ^* V, S3 K# h, J
while(1)0 T$ O8 M; M* i z3 U$ I) I0 L
{
. ]7 g0 V8 B, y+ n( ] for(i=0;i<8;i++)
6 ]4 W0 q" @2 K8 t% B. S, h7 Y* A { P0=0xff;
; @1 w" X, t# U9 Z% G P0=DSY_CODE; //发送段码
2 N$ I; E i0 G3 {2 E wei=_crol_(wei,1);
* h- y. s' ~9 f6 A) o P2=wei; //发送位码 , l: p2 ^8 c! U& ^
DelayMS(2);
. |" f* W( K& v; ]7 B! W- E5 @) { }
5 z) k! }3 n+ `9 U& K3 M* H2 ~ }
`6 Y. w, O6 ^, ?3 q } " H1 k8 U9 X% `* @
& {: Z: z5 ^0 y; ~ |
|