单片机简单的计算器c语言程序,用keil软件C语言编写的能够在单片机上运行的简易计算器程序...

#include

#include

#define uchar unsigned char

#define uint  unsigned  int

#define LED P0

#define KEY P1

sbit led1=P2^2;

sbit led2=P2^3;

sbit led3=P2^4;

sbit Beep=P1^5;

sbit SRCLK=P3^6;

sbit RCLK=P3^5;

sbit SER=P3^4;

unsigned char code CHARCODE[6][8]={

{0x00,0x00,0x08,0x08,0x3e,0x08,0x08,0x00},

{0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x00},

{0x00,0x00,0x22,0x14,0x08,0x14,0x22,0x00},

{0x00,0x00,0x08,0x08,0x2a,0x08,0x08,0x00},

{0x00,0x00,0x14,0x14,0x14,0x14,0x14,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

};

uchar code TAB[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

uchar code shu[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void zhifu(uchar q);

void yinyue(uchar m);

void xuehao(void);

void delay10ms(uchar c);

uchar keyscan(void);

void Hc595Byte(uchar dat);

void lay(unsigned int i);

int main()

{

uchar a=0x00,num1=0x00,num2=0x00,num3=0x00,w=0x00,w2=0x00,g,an,d,ans1,ans2,ans3,C,L;

while(1)                                                                  //++++++++++++++++++?a??????+++++++++++++++++++++++++++

{

xuehao();

a=keyscan();

if(a==16)

break;

}

while(1)

{

g=0x00;        // 存键入的第一个字符

while(1)

{ num1=keyscan();

if(num1<10)

break;

}

while(1)

{   w2=w;   //存键入的第一个数

d=g;//+-*/

g=0;

w=num1;//存键入的数

L=num1;        //

while(1)//显示键入的第一位数

{

led3=0,led2=0,led1=0,LED=shu[num1],LED=0x00;

num2=keyscan();

if(num2<=16)

break;

}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值