资源简介

一个基于51单片机做的课程设计 源代码 原理图PCB 附带开题报告 到手参考即做

资源截图

代码片段和文件信息

#include
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit batt = P3^5;

float num1;            //  保存第一个数
float num2;            //  保存第二个数
uchar jjcc;            //  加减乘除标志变量
uchar Lcd_Str[17];         //  显示区缓存
uchar Num_str[17];    
uchar Lcd_num2_add = 0;    //  第二个数据开始位的增量
uchar Lcd_dis1_i = 0;    //  记录显示第一行字符
uchar Lcd_num1_i = 0;    //  记录num1 是几位数
uchar Lcd_num2_i = 0;    //  记录num2 是几位数

uchar Dian_i = 0;        //  小数点位数

sbit rs=P1^0;
sbit rw=P1^1;
sbit en=P1^2;

uchar code table_num[]=“0123456789abcdefg“;

void delay_lcd(uint z)
{
   while(z--);
}

void write_1602com(uchar com)
{
   P0=com;
   rs=0;rw=0;en=1;
   delay_lcd(100);
   en=0;
}
void write_1602dat(uchar dat)
{
  P0=dat;
  rs=1;rw=0;en=1;
  delay_lcd(100);
  en=0;
}
void Dis_str(uchar add uchar *p)
{
  write_1602com(add);
  while(*p>0)
   {
     write_1602dat(*p);
 p++;
   }
}

void init_1602()
{
   write_1602com(0x38);
   write_1602com(0x0c);
   write_1602com(0x06);
   write_1602com(0x01);
   write_1602com(0x80);
}

/********************** ********************
函数名称:delayms;
函数功能:延时z毫秒;
形    参:z (延时时间参数)
  
*******************************************/
void delayms(uchar z)
{
   uint xy;
    for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

uchar Key_io;   //  暂存IO值
uchar Key_jl;   //  松手检测自锁变量
uchar Key_value;   //  返回键值
uchar Key_D_bit;


uchar saom(void)
{
   Key_value=18;
   P3=0xf0;       //  拉低第四位
   Key_io=P3;
   if(Key_io!=0xf0)   //  查看搞四位是否有低电平
    {
  Key_io|=0x0f;   //  保持高四位出现低电平的管脚,拉高第四位
  P3=Key_io;      //  重新复制IO口
  Key_io=P3;      //  读取IO信息,确定键值
  if(Key_jl==0)   //  自锁变量,松手检测
   {
     Key_jl=1;
     switch(Key_io)
   {
     case 0x7e: Key_value=10;
            break ;

 case 0x7d: Key_value=0;
            break ;

 case 0x7b: Key_value=11;
            break ;

 case 0x77: Key_value=15;
            break ;


 case 0xbe: Key_value=7;
            break ;

 case 0xbd: Key_value=8;
            break ;

 case 0xbb: Key_value=9;
            break ;

 case 0xb7: Key_value=14;
            break ;


 case 0xde: Key_value=13;
            break ;

 case 0xdd: Key_value=6;
            break ;

 case 0xdb: Key_value=5;
            break ;

 case 0xd7: Key_value=4;
            break ;


 case 0xee: Key_value=12;
            break ;

 case 0xed: Key_value=3;
            break ;

 case 0xeb: Key_value=2;
            break ;

 case 0xe7: Key_value=1;
            break ;
   }
   }
}
   else
    {
  Key_jl=0;
}
  return Key_value;
}

uchar XS_JG(uchar addfloat n)  //显示函数
{
  uchar lenp=0;
  memset(Lcd_Str016)    ;   //内存空间初始化  
  sprintf(Lcd_Str“%e“n) ;
  while(Lcd_Str[p]!=‘e‘)
   {
     p++;
   }
  if(Lcd_Str[p+2]==0

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-15 21:41  51    计算器\
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\1602字符手册\
     文件      262017  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\1602字符手册\1602液晶说明.pdf
     文件     1368590  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\1602字符手册\字符手册.pdf
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Altium Designer Sunner画图软件学习视频\
     文件         180  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Altium Designer Sunner画图软件学习视频\Altium Designer Sunner画图软件学习视频.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Altium Designer Sunner画图软件安装视频\
     文件         182  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Altium Designer Sunner画图软件安装视频\Altium Designer Sunner画图软件安装视频.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\AltiumDesignerSummer9 画图软件安装包\
     文件         182  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\AltiumDesignerSummer9 画图软件安装包\AltiumDesignerSummer9 画图软件.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\C语言视频教程\
     文件         157  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\C语言视频教程\C语言视频教程.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\KEIL 软件安装视频\
     文件         161  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\KEIL 软件安装视频\KEIL 软件安装视频.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\MCU 单片机芯片资料\
     文件     2697759  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\MCU 单片机芯片资料\STC89C52RC.pdf
     文件         151  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\MCU 单片机芯片资料\单片机所有芯片51、52资料.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\PCB图\
     文件       24947  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\PCB图\PCB图.png
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\PROTEUS仿真软件的安装方法\
     文件         167  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\PROTEUS仿真软件的安装方法\PROTEUS仿真软件的安装方法.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Protel 99 软件安装包\
     文件         168  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Protel 99 软件安装包\Protel 99 软件安装包.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Protel 99 软件安装视频\
     文件         170  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Protel 99 软件安装视频\Protel 99 软件安装视频.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Protel 99画图软件学习视频\
     文件         242  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Protel 99画图软件学习视频\Protel 99画图软件学习视频.txt
     目录           0  2018-04-17 19:25  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Proteus ISIS  仿真软件学习视频\
     文件         165  2018-04-12 14:52  51    计算器\## 计算器发送资料 1602\## 计算器发送资料 1602\Proteus ISIS  仿真软件学习视频\Proteus仿真软件学习视频.txt
............此处省略279个文件信息

评论

共有 条评论