资源简介
89C51计算器程序+proteus仿真,毕设程序,实现+-*/乘方开方运算
![](http://www.nz998.com/pic/41912.jpg)
代码片段和文件信息
#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 计算器\ob
文件 24313 2016-04-30 16:06 计算器\ob
文件 20400 2016-04-30 16:06 计算器\ob
文件 960 2016-04-30 16:06 计算器\ob
文件 13594 2016-04-30 16:06 计算器\ob
文件 93 2016-04-30 16:06 计算器\ob
文件 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
- 上一篇:多线程UDP接收数据并存储
- 下一篇:工业级STM8霍尔测速程序
相关资源
- 51单片机PWM程序,占空比、周期可调整
- proteus仿真 AT89C51输出各种波形
- 00
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- proteus_24C08—有注释(proteus里面使用的
- DS18B20分布式多点测温的Proteus仿真
- 基于proteus的单片机仿真--交通灯控制
- 带时间温度显示的室内灯光控制系统
- 51多机通信(内附Proteus及.hex文件)
- IIC proteus仿真实验
- 8086交通灯 Proteus原理图及程序
- 单片机仿真软件proteus6.7免安装绿色版
- 关于proteus仿真arm7出现错误的问题
- 基于PROTEUS的ARM7显示系统设计与仿真实
- STM32+1602液晶proteus仿真.zip
- AT89C51+ADC0808 PROTEUS仿真
- 单片机驱动4相步进电机proteus仿真
- proteus元件库对照表 (整理清晰)
- 微机原理 十字路口交通灯控制 prot
- 中央空调室内智能温控器设计论文、
- 基于51单片机的交通灯设计
- 基于AT89C51的十字路口交通灯设计pro
- Proteus单片机仿真大全几百个part4
- Proteus升压电路仿真
- keil调试仿真技巧-从入门到精通
- 十字路口交通灯.pdsprj
- 12864液晶Proteus模型
- 数电设计 交通灯控制逻辑电路设计
- Proteus仿真的单片机控制步进电机及液
评论
共有 条评论