| 
 
| 就是从0-9数码管显示 #include<reg51.h>                //定义51寄存器头文件
 #define uchar unsigned char    //重新定义字符型数据
 #define SEG P0
 sbit dula=P2^6;                                   //573-1锁存器控制端定义
 sbit wela=P2^7;                                   //573-2锁存器控制端定义
 uchar TAB[10]={0x3f,0x66,0x5b,0x4f,0x66,                //定义数字0~4
 0x6d,0x3c,0x07,0x7f,0x67};                //定义数字5~9
 void delay(int);                                                                //声明延迟函数delay
 void display();                                                                        //声明显示函数display
 main()                                                                                        //开始执行主函数
 {
 wela=0;                                                                                  //初始化573-2控制端
 SEG=0x1f;                                                                              //初始化P0端口,片选数码管
 wela=1;                                                                                  //打开573-2控制端
 wela=0;                                                                                  //关闭573-2控制端
 while(1)                                                                                //无限循环
 {
 display();                                                                        //执行display函数
 }
 }
 void display()                                                                         //定义display函数
 {
 uchar i;                                                                                  //初始化无符号字符型数据i
 for(i=0;i<10;i++)                                                                  //循环10次计数
 {
 dula=0;                                                                                  //初始化573-1控制端
 SEG=TAB;                                                                          //初始化P0端口,依次显示数据
 dula=1;                                                                                  //打开573-1控制端
 dula=0;                                                                                  //关闭573-1控制端
 delay(500);                                                                          //延迟500*1ms=0.5ms
 }
 }
 void delay(int x)                                                                  //定义延迟函数delay
 {
 uchar i,j;                                                                          //初始化无符号字符型数据ij
 for(i=0;i<x;i++)                                                                  //计数x*1ms
 for(j=0;j<120;j++);                                                          //计数120次,循环1ms
 }
 下面是硬件连接
 C:\Users\Administrator.LBWIN7\Desktop
 | 
 |