1 / 23
文档名称:

基于51单片机简易计算器.doc

格式:doc   大小:339KB   页数:23
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于51单片机简易计算器.doc

上传人:bai1968104 2018/8/20 文件大小:339 KB

下载得到文件列表

基于51单片机简易计算器.doc

文档介绍

文档介绍:基于51单片机的简易计算器
简介
用51做的一个建议计算器,能计算7位数*7位数,小数点保留三位,其他不多说,上图和程序,由于时间关系,程序没完全优化,解决了按一次计算符号后再按符号键无效的问题。
硬件电路
单片机部分+矩阵键盘+1602显示
  图3-1所示为简易计算器的电路原理图。P3口用于键盘输入,接4*4矩阵键盘,键值与键盘的对应表如表----所示,p0口和p2口用于显示,p2口用于显示数值的高位,po口用于显示数值的低位。
图3-1 简易计算器电路原理图
PCB
键值与功能对应表
键值
0
1
2
3
4
5
6
7
8
9
+
-
×
/
=
ON/C
功能
0
1
2
3
4
5
6
7
8
9
+
-
×
÷
=
清零
说明
矩阵键盘有16个按键,满足对简易计算器的计算实现,显示部分采用LCD1602,第一行显示计算的数值符号,第二行显示计算结果。
最大能计算7位数*7位数的值,可以计算负数,小数点结果保留有三位,在每次按下计算符号后,接着只能按下数字,再按下符号键无效,也就是每次计算只能按一个计算符号,如输入错误需按N清零键,或者复位单片机。
2 .计算器的软件设计
#include<>
#include<>
#define uchar unsigned char
sbit lcden=P2^2;
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcdbf=P0^7;
uchar temp,key,i,j,flag,fh,k;
long a,b,c;
uchar code table[]={1,2,3,0,
4,5,6,0,
7,8,9,0,
0,0,0,0};
uchar code table2[]="123+456-789*000/";
void delay(uchar ms)
{
uchar x,y;
for(x=ms;x>0;x--)
for(y=110;y>0;y--);
}
/*-------------对LCD1602的操作-----------*/
bit busy(void)//判断忙碌
{
bit res;
lcdrs=0;
lcdrw=1;
lcden=1;
_nop_();
_nop_();
res=lcdbf;
lcden=0;
return res;
}
void write_inst (uchar cmd)//写命令
{
while(busy()==1); //忙碌就等待
lcdrs=0;
lcdrw=0;
lcden=0;
_nop_();
_nop_();
P0=cmd;
_nop_();
_nop_();
lcden=1;
_nop_();
_nop_();
lcden=0;
}
void ()//写地址
{
|0x80);
}
void write_date(uchar dat) //写数据
{
while(busy()==1);
lcdrs=1;
lcdrw=0;
lcden=0;
P0=dat;
_nop_();
_nop_();
lcden=1;
_nop_();
_nop_();
lcden=0;
}
void init() //初始化
{
lcden=1;
write_inst(0x38);//显示8位2行
delay(5);
write_inst(0x0c);//显示开,光标关,不闪烁
delay(5);
write_inst(0x06);//增量方式不位移
delay(5);
write_inst(0x80);//检测忙碌信号
delay(5);
write_inst(0x01);//
delay(5);
}
/*------------键盘扫描-----------*/
void keyscan()//键盘扫描
{
P3=0xfe;
if(P3!=0xfe)
{
delay(20);
if(P3!=0xfe)
{
temp=P3&0xf0;
switch(temp)
{
case 0xe0:key=0;break;
case 0xd0:key=1;break;
case 0xb0:key=2;break;
case 0x70:key=3;break;
}
}
while(P

最近更新

职责链模型的性能评估方法 35页

2025年叙永县幼儿园教师招教考试备考题库带答.. 30页

2025年合肥科技职业学院单招职业适应性考试题.. 44页

2025年吉林省通化市单招职业倾向性考试题库附.. 42页

2025年周宁县幼儿园教师招教考试备考题库含答.. 30页

职业教育与产业智能化对接的策略研究 28页

2025年商城县招教考试备考题库附答案解析(必.. 30页

高精度温度传感技术研究 35页

2025年四川艺术职业学院马克思主义基本原理概.. 12页

2025年天全县幼儿园教师招教考试备考题库及答.. 30页

胃复安对胃食管反流的干预机制研究 35页

2025年宜春幼儿师范高等专科学校单招职业技能.. 43页

绿色认证标准在有机化妆品产业的影响 26页

2025年宿迁职业技术学院马克思主义基本原理概.. 12页

高效公共子序列算法 35页

2025年山西省职工工艺美术学院马克思主义基本.. 13页

2025年平乐县招教考试备考题库含答案解析(夺.. 30页

2025年广东艺术职业学院马克思主义基本原理概.. 12页

2025年广西政法管理干部学院马克思主义基本原.. 13页

2025年延川县幼儿园教师招教考试备考题库带答.. 31页

2025年忠县幼儿园教师招教考试备考题库附答案.. 30页

2025年抚顺矿务局职工工学院马克思主义基本原.. 13页

2025年昆明艺术职业学院马克思主义基本原理概.. 12页

2025年杂多县招教考试备考题库带答案解析(必.. 30页

畸形蔬果剔除安全标准 60页

2025年江苏省泰州市单招职业倾向性考试题库附.. 43页

2025年江西泰豪动漫职业学院单招职业倾向性测.. 43页

2025年沙洲职业工学院单招综合素质考试题库附.. 43页

2025年河南建筑职业技术学院单招职业技能测试.. 45页

2025年泰山科技学院马克思主义基本原理概论期.. 12页