LED--8051驱动测试程序
时间:11-11
来源:互联网
点击:
- /************************************************
- 功能:LED--8051驱动测试程序(共阴极)
- 使用:调用函数 LEDn_display(*****)
- n表示用几个数码管显示n<=4
- 参数传递跟据具体情况确定
- 时间:2011年1月7日
- ************************************************/
- #include
- #include
- #defineuintunsignedint
- #defineucharunsignedchar
- sbit dula=P2^6;//段码控制
- sbit wela=P2^7;//位码控制
- /*共阴(CC)极显示段码*/
- uchar code LED_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- voidLED_delay(unsignedcharLED_i)//1ms延时程序
- {
- unsignedcharLED_j,LED_k;
- for(LED_j=LED_i;LED_j>0;LED_j--)
- for(LED_k=125;LED_k>0;LED_k--);
- }
- voidLED1_display(uchar sh_c,uchar g_c)//1位显示程序
- {
- //显示个位
- P0=0xfb;wela=1;wela=0;//第一个数码码管当前显示
- P0=LED_table[g_c];dula=1;dula=0;//显示的数字
- LED_delay(5);
- }
- voidLED2_display(uchar sh_c,uchar g_c)//2位显示程序
- {
- //显示十位
- wela=0;P0=0xfd;wela=1;wela=0;
- dula=0;P0=LED_table[sh_c];dula=1;dula=0;
- LED_delay(5);
- //显示个位
- P0=0xfb;wela=1;wela=0;
- P0=LED_table[g_c];dula=1;dula=0;
- LED_delay(5);
- }
- voidLED3_display(uchar bai_c,uchar sh_c,uchar g_c)//3位显示程序
- {
- //显示百位
- P0=0xfe;wela=1;wela=0;
- P0=LED_table[bai_c];dula=1;dula=0;
- LED_delay(5);
- //显示十位
- wela=0;P0=0xfd;wela=1;wela=0;
- dula=0;P0=LED_table[sh_c];dula=1;dula=0;
- LED_delay(5);
- //显示个位
- P0=0xfb;wela=1;wela=0;
- P0=LED_table[g_c];dula=1;dula=0;
- LED_delay(5);
- }
- voidLED4_display(uchar qian_c,uchar bai_c,uchar sh_c,uchar g_c)//4位显示程序
- {
- //显示千位
- P0=0xfe;wela=1;wela=0;
- P0=LED_table[bai_c];dula=1;dula=0;
- //显示百位
- P0=0xfe;wela=1;wela=0;
- P0=LED_table[bai_c];dula=1;dula=0;
- LED_delay(5);
- //显示十位
- wela=0;P0=0xfd;wela=1;wela=0;
- dula=0;P0=LED_table[sh_c];dula=1;dula=0;
- LED_delay(5);
- //显示个位
- P0=0xfb;wela=1;wela=0;
- P0=LED_table[g_c];dula=1;dula=0;
- LED_delay(5);
- }
LED8051驱动测 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)