标签:
我们要实现的功能是什么呢?
从 第一个数码管扫描 1 到第二个数码管 2 ,第三个数码管 3,。。。。。。。一直到 第8个数码管 显示8
1 /*--------------www.szjcdz.cn--------------------
2 名称:数码管动态扫描
3 编写:shenhui
4 日期:2015.10.28
5 内容:数码管动态扫描
6 ------------------------------------------------*/
7 #include<reg52.h>
8 #define uchar8 unsigned char
9 #define uint16 unsigned int
10 sbit LATCH1=P2^6;
11 sbit LATCH2=P2^7;
12 void display( );
13
14 uchar8 code DuanMa[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};// 显示段码值0~F
15 uchar8 code WeiMa[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//分别对应相应的数码管点亮,即位码
16
17 uchar8 Template; // 存储显示值的全局变量
18
19 // 延时函数
20 void DelayMS(uint16 val)
21 {
22 uint16 i,j;
23 for(i=0;i<val;i++)
24 for(j=0;j<113;j++);
25
26 }
27
28
29 //*******************************主函数*******************************//
30 void main(void)
31 {
32 37
38
39 display( );
40
41 42
43
44 }
45
46
47
48 void display( void )
49 {
50 uint16 i;
51 while(1)
52 {
53
54 for(i=0;i<8;i++)
55 {
56 P0=0;
57 LATCH1=1;
58 LATCH1=0;
59
60
61 P0=WeiMa[7-i];
62 LATCH2=1;
63 LATCH2=0;
64
65
66 P0=DuanMa[i];
67 LATCH1=1;
68 LATCH1=0;
69
70 DelayMS(200);
71
72 }
73
74 }
75
76
77 }
标签:
原文地址:http://www.cnblogs.com/shengruxiahua/p/4918325.html