• 大小: 107KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 其他
  • 标签: proteus  

资源简介

89C51计算器程序+proteus仿真,毕设程序,实现+-*/乘方开方运算

资源截图

代码片段和文件信息

#include
#define u8 unsigned char
#define u16 unsigned int
unsigned char bz_1;
 unsigned int key_sw;
sbit p30 = P3^0;    sbit CLK1 = P3^0;   
sbit p31 = P3^1;    sbit K1 = P3^1;
sbit p32 = P3^2;    sbit J1 = P3^2;
sbit p33 = P3^3;    sbit PR1 = P3^3;
sbit p34 = P3^4;    sbit Q1 = P3^4;
sbit p35 = P3^5;    sbit _Q1 = P3^5;
sbit p36 = P3^6;    sbit _Q2 = P3^6;
sbit p37 = P3^7;    sbit PR2 = P3^7;
sbit p20 = P2^0;    sbit CLR1 = P2^0;
sbit p21 = P2^1;    sbit CLR2 = P2^1;
sbit p25 = P2^5;    sbit CLK2 = P2^5;
sbit p26 = P2^6;    sbit K2 = P2^6;
sbit p27 = P2^7;    sbit J2 = P2^7;
sbit p07 = P0^7;    sbit Q2 = P0^7;
///////////// 74ls90引脚
sbit r0_1=P3^1; sbit r0_2=P3^2;
sbit r9_1=P3^5; sbit r9_2=P3^6;
sbit input_a=P0^7;sbit input_b=P3^0;
sbit out_a=P2^1;sbit out_b=P2^7;sbit out_c=P3^7;sbit out_d=P2^5;
/////////////74ls112引脚
sbit clr1=P2^0;sbit clk1=P3^0;sbit k1=P3^1;sbit j1=P3^2;sbit pr1=P3^3;sbit q1=P3^4;sbit q2=P3^5;
sbit clr2=P2^1;sbit clk2=P2^5;sbit k2=P2^6;sbit j2=P2^7;sbit pr2=P3^7;sbit q3=P0^7;sbit q4=P3^6;
#include
unsigned char check_7490();
unsigned char check_74112();
#define GPIO_DIG P0
#define GPIO_KEY P1

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit Beep=P1^5;

unsigned char code DIG_CODE[17]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x71};//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
unsigned char KeyValue;//用来存放读取到的键值
unsigned char KeyState; //记录按键的状态,0没有,1有
unsigned char DisplayData[8];//用来存放要显示的8位数的值
unsigned int key_swkey_Dat;        //存放数码管显示的数
void Delay10ms();   //延时程序10ms
void KeyDown();  //检测按键函数
void DigDisplay(); //动态显示函数
void Voice();  //蜂鸣器函数
void delay(unsigned int i) ; //蜂鸣器延时函数
void LED();    //点亮LED灯

void keyInit()  //将测试引脚初始化
{
    P3 =0XFF;
    P2 |=0xE3;
    p07 = 1;
}

unsigned char check_7400()
{
    if((p32== !(p30&p31))&&(p35== !(p34&p33))&&(p37== !(p26&p27))&&(p25 == !(p20&p21)))
    {
        return 0 ;//好的返回0
    }
    else return 1;//坏的返回1
}

void  fuzhi_7400(u8 dat)    //对7400的引脚进行赋值
{
    p30 = dat&01;p34 = dat&01;p26 = dat&01;p20 = dat&01;
    p31 = dat>>1;p33 = dat>>1;p27 = dat>>1;p21 = dat>>1;
   
}


unsigned char check()  //根据key_sw的值来判断是检测哪个芯片,并且好芯片返回1,坏芯片返回2
{
  
    keyInit();  //将测试引脚初始化
    
    if(key_sw == 7400) //检测74LS00
    {
        fuzhi_7400(0);//00
        check_7400();
        fuzhi_7400(1);//01
        check_7400();
        fuzhi_7400(2);//10
        check_7400();
        fuzhi_7400(3);//11
        check_7400();
    }

    
    if(key_sw == 74112) //检测74LS112
    {
      bz_1=check_74112() ;
    }
    
 if(key_sw == 7490) //检测74LS112
    {
      bz_1=check_7490() ;
    }
    return bz_1;
  //  if(key_sw == 3)
  //  {
    
  //  }
 //   return 0;   //不检测任何芯片的时候返回0
// else return bz_1;
}

/*******************************************************************************
* 函 数 名         : main
* 函数功能    : 主函数
***************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-10-27 19:18  计算器\
     目录           0  2016-10-27 19:18  计算器\Listings\
     文件       26893  2016-04-30 16:06  计算器\Listings\main.lst
     文件       21382  2016-04-30 16:06  计算器\Listings\计算器.m51
     目录           0  2016-10-27 19:18  计算器\objects\
     文件       24313  2016-04-30 16:06  计算器\objects\main.obj
     文件       20400  2016-04-30 16:06  计算器\objects\计算器
     文件         960  2016-04-30 16:06  计算器\objects\计算器.build_log.htm
     文件       13594  2016-04-30 16:06  计算器\objects\计算器.hex
     文件          93  2016-04-30 16:06  计算器\objects\计算器.lnp
     文件       12590  2016-04-28 21:30  计算器\ck_jc.c
     文件       12176  2016-04-28 18:14  计算器\jsq.c
     文件       12176  2016-04-30 16:06  计算器\main.c
     文件       12127  2016-04-27 21:29  计算器\main.c.bak
     目录           0  2016-10-27 19:18  计算器\仿真\
     文件      119936  2014-05-28 14:01  计算器\仿真\Last Loaded jsq.DBK
     文件      119936  2014-05-28 14:01  计算器\仿真\jsq.DSN
     文件         742  2016-04-27 22:01  计算器\仿真\jsq.PWI
     文件       70974  2016-04-30 16:07  计算器\计算器.uvgui.Administrator
     文件       70976  2016-04-30 16:06  计算器\计算器.uvgui_Administrator.bak
     文件        4962  2016-04-27 17:46  计算器\计算器.uvopt
     文件       13793  2016-04-27 17:46  计算器\计算器.uvproj
     文件        4962  2016-04-26 13:32  计算器\计算器_uvopt.bak
     文件       13789  2016-04-26 13:32  计算器\计算器_uvproj.bak

评论

共有 条评论