以下是我的数码管从1到99的显示程序
#include"stc15.h"
#define uint unsigned int
#define uchar unsigned char
sbit y1=P4^5;
sbit y2=P4^4;
sbit k1=P3^3;//按键1
sbit k2=P3^2;//按键2
uint right,left=0;
uchar code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e };
void kzleft(uint);
void delay(uint z);
void main()
{
int a = 0,b = 0;
y1=1;
P2=0xfe;
P4M0=1<<4 | 1<<5;//共阳极开启强推挽输出
P4M1=0x00;
while(1)
{
y1=0;
y2=1;
P2=table[right];
for(b = 0; b <70; b ++) ; //消影
kzleft(left);
for(b = 0; b <70; b ++) ; //消影
a ++;
if(a > 5000)
{
a = 0;
right ++;
if(right >9)
{
right =0;
left ++;
if(left >9)
{
left =0;
}
}
}
}
}
void kzleft(uint left)
{
y1=1;
y2=0;
P2=table[left];
}
?*void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=3000;y>0;y--);
}*/
-
数码管
你需要把整个操作过程整理出来,包括各按键的功能,不同功能所需要按键按下的次数等。
程序尽量模块话,就是模块的功能尽量单一,尽量简单,比如按键检测的模块就是检测按键,检测到了就记录按的是什么键,按了多少次,其他就放到其他的模块去做。
一周热门 更多>