?? ldd.c
字號:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit K1=P0^2;
void delay_ms(uchar ms); // 延時毫秒@12M,ms最大值255
void display();
void keyboard(); // 顯示子程序
uchar code dis_code[10]={0x60,0xfc,0x52,0x58,0xcc,0x49,0x41,0x7c,0x40,0x48};
uchar data dis_0;
uchar data dis_1;
uchar data dis_2;
uchar data dis_3;
uint data count; // 計數器
void main()
{
count = 0; // 計數器清零
P3 = 0x00; // 關所有數碼管
while(1)
{
if(K1==0)
{
delay_ms(5);
if(K1==0)
count++;
while(!K1) ;
delay_ms(5);
while(!K1) ;
}
display();
}
}
void display()
{
uchar data i = 10; // 用于延長每個數(兩位)的顯示時間
dis_3 = count/1000; //顯示千分位
dis_2 = count/100%10; //顯示百分位
dis_1 = count/10%10;
dis_0 = count%10;
while(i--)
{
P3 = 0xef;
P2 = dis_code[dis_0];
delay_ms(5); // 取個位的段碼
P3 = 0xff; // 開個位顯示(P2.7口控制個位數碼管)
P2=0xff;
// 延時1ms使兩位數碼管動態顯示時能看清
P3 = 0xdf;
P2 = dis_code[dis_1];
delay_ms(5); // 取十位的段碼
P3 = 0xff; // 開十位顯示(P2.6口控制十位數碼管)
P2=0xff; // 延時1ms作用同上
// 開十位顯示(P2.6口控制十位數碼管)
P3 = 0xbf;
P2 = dis_code[dis_2];
delay_ms(5);
P3 = 0xff;
P2=0xff; // 延時1ms作用同上
P3 = 0x7f;
P2 = dis_code[dis_3];
delay_ms(5);
P3 = 0xff;
P2=0xff;
}
}
void delay_ms(uchar ms) // 延時毫秒@12M,ms最大值255
{
uchar i;
while(ms--)
for(i = 0; i < 124; i++);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -