码迷,mamicode.com
首页 > 其他好文 > 详细

重拾单片机 第二天 数码管的使用 (动态扫描数码管)

时间:2015-10-28 20:53:10      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

我们要实现的功能是什么呢?

从 第一个数码管扫描 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!