51单片机做的k1-k4按键控制数码管加减演示仿真+程序
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载):
单片机源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code DSY_CODE[]=
- {
- 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff
- };
- uchar Num_Buffer[] = {0,0,0};
- uchar Key_Code,Key_Counts=0;
- void DelayMS(uint x)
- {
- uchar t;
- while(x--)
- {
- for(t=0;t<120;t++);
- }
- }
- void Show_Counts_ON_DSY()
- {
- uchar i,j=0x01;
- Num_Buffer[2]=Key_Counts/100;
- Num_Buffer[1]=Key_Counts/10%10;
- Num_Buffer[0]=Key_Counts%10;
- for(i=0;i<3;i++)
- {
- j = _cror_(j,1);
- P2 = j;
- P0 = DSY_CODE[Num_Buffer[i]];
- DelayMS(1);
- }
- }
- void main()
- {
- uchar i;
- P0 = 0xff;
- P1 = 0xff;
- P2 = 0x00;
- Key_Code = 0xff;
- while(1)
- {
- Show_Counts_ON_DSY();
- P1 = 0xff;
- Key_Code = P1;
- if(Key_Code != 0xff)
- {
- for(i=0;i<30;i++)
- {
- Show_Counts_ON_DSY();
- }
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
K1-K4 控制数码管加减演示.7z
(22.72 KB, 下载次数: 116)
|