#include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f} sbit KEY1=P3^1; sbit KEY2=P3^0; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit KEY5=P3^4; #define smg P2 void delay(void) { u16 i,j; for(i=0;i for(j=0;j } u8 add(u16 num1,u16 num2) { return(num1+num2); } u8 chen(u16 num1,u16 num2) { return(num1*num2); } int main() { while(1) { if(KEY1==0) { delay(20); P2=smgduan[0]; while(KEY==0) { P2=~smgduan[1]; } } else if(KEY2==0) { delay(20); P2=smgduan[0]; while(KEY2==0) { P2=~smgduan[2]; } } else if(KEY3==0) { delay(20); P2=smgduan[0]; while(KEY3==0) { P2=~smgduan[3]; } } else if(KEY4==0) { delay(20); } } } } }
时间: 2024-04-26 15:23:10 浏览: 185
C语言自学笔记—typedef与#define的区别
5星 · 资源好评率100%
这段代码是一个基于8051单片机的简单键盘控制数码管显示的程序。其中定义了一些常量和变量,如10个数码管显示的数字对应的编码、按键的IO口、两个简单的数学函数等。程序的主要功能是循环扫描按键,根据按下的按键控制数码管显示相应的数字。当按下第一个按键时,数码管显示0和1轮流显示;当按下第二个按键时,数码管显示0和2轮流显示;当按下第三个按键时,数码管显示0和3轮流显示;当按下第四个按键时,程序调用了chen函数,但是该函数没有实现具体的功能。
阅读全文