资源描述:
《数码管动态显示数字的四个实例程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数码管动态扫描显示#include#defineuintunsignedint#defineucharunsignedcharucharcodeDIS_SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};ucharcodeDIS_BIT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};/****************************/voiddelay(uintk){uintdatai,j;for
2、(i=0;i//包含51单片机寄存器定义的头文件voiddelay(void)//延时函数,延时约0.6毫秒{unsignedchari;for(i=0;i<
3、200;i++);}voidmain(void){while(1)//无限循环{P2=0xfe;//P2.0引脚输出低电平,DS0点亮P0=0xf9;//数字1的段码delay();P2=0xfd;//P2.1引脚输出低电平,DS1点亮P0=0xa4;//数字2的段码delay();P2=0xfb;//P2.2引脚输出低电平,DS2点亮P0=0xb0;//数字3的段码delay();P2=0xf7;//P2.3引脚输出低电平,DS3点亮P0=0x99;//数字4的段码delay();P2=0xff;}}数码管慢速动态扫描显示1234#include//包含51单片机寄存器
4、定义的头文件voiddelay(void)//延时函数,延时一段时间{unsignedchari,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}voidmain(void){while(1)//无限循环{P2=0xfe;//P2.0引脚输出低电平,DS0点亮P0=0xf9;//数字1的段码delay();P2=0xfd;//P2.1引脚输出低电平,DS1点亮P0=0xa4;//数字2的段码delay();P2=0xfb;//P2.2引脚输出低电平,DS2点亮P0=0xb0;//数字3的段码delay();P2=0xf7;//P2.3引脚输出低电平,DS3点
5、亮P0=0x99;//数字4的段码delay();P2=0xff;}}数码管循环显示0-9#include//包含51单片机寄存器定义的头文件/**************************************************函数功能:延时函数,延时一段时间***************************************************/voiddelay(void){unsignedchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);}/****************************
6、**********************函数功能:主函数***************************************************/voidmain(void){unsignedchari;unsignedcharcodeTab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示0~9的段码表,程序运行中当数组值不发生变化时,//前面加关键字code,可以大大节约单片机的存储空间P2=0x7f;//P2.7引脚输出低电平,数码显示器第7位接通电源工作while(1)//无限循环{fo
7、r(i=0;i<10;i++){P0=Tab[i];//让P0口输出数字的段码92Hdelay();//调用延时函数}}}