社区
下载资源悬赏专区
帖子详情
基于51单片机的简易带密码计算器设计报告.doc下载
weixin_39820780
2021-09-25 09:35:27
基于51单片机的简易带密码计算器设计报告.doc , 相关下载链接:
https://download.csdn.net/download/yunxidzh/24432599?utm_source=bbsseo
...全文
12
回复
打赏
收藏
基于51单片机的简易带密码计算器设计报告.doc下载
基于51单片机的简易带密码计算器设计报告.doc , 相关下载链接:https://download.csdn.net/download/yunxidzh/24432599?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
基于
51单片机
的
简易
带
密码
计算器
设计
报告
.
doc
基于
51单片机
的
简易
带
密码
计算器
设计
报告
.
doc
基于AT89C
51单片机
简易
计算器
的
设计
.
doc
基于AT89C
51单片机
简易
计算器
的
设计
.
doc
基于
51单片机
的
计算器
课程
设计
报告
实验
报告
.
doc
项目一:简单
计算器
1.实验题目:用
51单片机
实现简单的
计算器
功能 2.实验截图: 1).实验运行前截图: 2).实验运行后截图: 3.实验代码: #include
#include
#include
#include
#include
unsigned char table1[16]; //1602第一行显示字符 unsigned char table2[16]; //1602第二行显示字符 unsigned char code table_error[] = "error"; /* 键扫描函数 */ unsigned char keyscan() //扫描键盘函数 { unsigned char key_l,key_h,addres,num; P0=0x0f; key_l=P0; P0=0xf0; key_h=P0; addres=key_l " key_h; if(addres!=0xff) { Delayms(1); if(addres!=0xff) { P0=0x0f; key_l=P0; P0=0xf0; key_h=P0; addres=key_l " key_h; switch(addres) { case 0xee:num='1';break; case 0xde:num='2';break; case 0xbe:num='3';break; case 0xed:num='4';break; case 0xdd:num='5';break; case 0xbd:num='6';break; case 0xeb:num='7';break; case 0xdb:num='8';break; case 0xbb:num='9';break; case 0xd7:num='0';break;//按键0 case 0xe7:num='C';break;//按键* case 0xb7:num='=';break;//按键# case 0x7e:num='/';break;//按键A case 0x7d:num='*';break;//按键B case 0x7b:num='-';break;//按键C case 0x77:num='+';break;//按键D } while(addres!=0xff) { P0=0x0f; key_l=P0; P0=0xf0; key_h=P0; addres=key_l " key_h; } return num; } } return 0; } void clear_lcd(void) //清屏 { unsigned char j; for(j=0;j<16;j++) { table1[j]='\0'; table2[j]='\0'; } } void main() { unsigned char i=0,j; unsigned char key; unsigned char flag_operator = 0; //加减乘除标志位 unsigned char flag_equ = 0; //等于标志位 unsigned char flag_key = 0; //运算位标志 bit flag_MaxValue = 0; bit flag_minus = 0;//负数 long int value = 0; //最终运算结果 unsigned long int value_H =0; //第一个数据 unsigned long int value_L = 0; //第二个数据 unsigned long int temp[]={1, 10, 100,1000,10000,100000,1000000,10000000,100000000}; Initialize_LCD(); while(1) { key=keyscan(); if(key != 0) { if(key == 'C') //清除键C按下 { clear_lcd(); i=0; flag_operator = 0; flag_equ = 0; value = 0; value_H =0; value_L = 0; flag_key = 0; flag_minus=0; } else { for(j=0; j
基于
51单片机
简易
计算器
课程
设计
报告
书.
doc
基于
51单片机
简易
计算器
课程
设计
报告
书.
doc
基于C
51单片机
简易
计算器
的课程
设计
.
doc
赣南师范大学 基于C
51单片机
的
简易
计算器
学 院: 物理与电子信息学院 专 业: 电子信息工程 班 级: 学 名: 学 号: 指 导 教 师: 日 期: 目录 1. 绪论 3 2. 系统软件
设计
方案 4 2.1
设计
目标和实现方法 4 2.2整体方案论证 4 3. 系统硬件的
设计
与介绍 5 3.1复位电路的
设计
与运用 5 3.2时钟振荡器电路的
设计
与运用 6 3.3输入电路的
设计
6 3.4输出电路的
设计
8 4. 系统程序的
设计
与介绍 11 4.1 LED显示程序流程图
设计
11 4.2读键输入程序流程图
设计
13 4.3主程序流程图
设计
14 4.4仿真与调试 15 5. 结论 17 元件清单 18 附录1
简易
计算器
源程序 19 1.绪论 中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多是用竹子制成, 也有用木头,兽骨充当材料的。大约二百七十枚一束,放在布袋里可以随身携
带
。 直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时期的珠 算盘已经与现代的珠算盘几乎没有差别。 17世纪初,西方国家的计算工具已经有了较大的发展,英国数学家纳皮尔发明的"纳皮尔 算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方 、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅
带
动了
计算器
的快速发展,也为实现现代
计算器
发展奠定了良好的基础,成为现代社会应用广 泛的计算工具。 1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了世界上第一部机械 式
计算器
,在他的
计算器
中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿 轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外 一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除 的计算。此后,一直要到20世纪50年代末才有了电子
计算器
的出现。 2. 软件
设计
方案 2.1
设计
目标和实现方法 为了满足
简易
计算器
的基本要求,可以进行基本的运算(加减乘除),数据归零和出 错警告提示,我们采用基于
51单片机
设计
计算器
,并用七段共阴级LED 数码管显示数据,4*4的矩阵键盘实现数据的输入。 2.2 整体方案论述 根据简单
计算器
的功能和本方案中的
设计
指标要求,本系统选用了MCS 51 单片机为主控机。通过扩展必要的外围接口电路,实现对简单
计算器
的
设计
。具体
设计
考虑如下: 由于要
设计
的是简单的
计算器
,可以进行基本的四则运算,对数字的大小范围要求 不高,故我们采用可以进行四位数字的运算,选用8 个LED 数码管显示数据和运算结果。 另外键盘包括数字键(0~9)、符号键(+、- 、×、÷)、清除键和等号键,故只需要16 个按键即可。 系统模块图: 图2-1 系统模块图 3. 系统硬件的
设计
3.1 复位电路的
设计
上电复位的原理:VCC上电时,C充电,在10K电阻上出现了电压,使单片机复位;几个毫 秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。 手动复位的原理:工作期间,按下S,C放电。S松手,C又充电,在10K电阻上出现电压, 使得单片机复位。几个毫秒后,单片机进入工作状态。 如SW复位键按下时:RST经1k电阻接VCC,获得10k电阻上所分得电压,形成高电平, 进入"复位状态"。 当SW复位键断开时:RST经10k电阻接地,电流降为0,电阻上的电压也将为0,RST降 为低电平,开始正常工作 。 对于成熟产品,从降低成本角度,可以使用上电复位。另外,作为产品,最好使用上 电复位。因为使用者通常没有专业知识,就知道断电通电,对他们来说,按键复位成了 摆设。按键复位比较适合样品制作或者实验室调试场合,上电复位电路成本也低一些。 综上所述我们在本方案中选用了上电自动复位电路。 上位自动复位电路图和手动复位电路图如下图 两种复位方式 如图3—1: 3.2 时钟振荡电路的
设计
能够产生振荡电流的电路叫做振荡电路。一般由电阻、电感、电容等元件和电子器件所 组成。由电感线圈l和电容器c相连而成的lc电路是最简单的一种振荡电路,其固有频率 为f=[sx(]1[]2πlc。 § 一种不用外加激励就能自行产生交流信号输出的电路。它在电子科学技术领域中得到广 泛地应用,如通信系统中发射机的载波振荡器、接收机中的本机振荡器、医疗仪器以及 测量仪器中的信号源等。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器 。石晶振荡和陶瓷振荡均可采用此振动器。如采用外部时钟源驱动器件,XTAL2应不接。 有余输入至内部时钟信号要通
下载资源悬赏专区
13,656
社区成员
12,674,681
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章