- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c51的简易计算器-单片机课程设计
单片机课程设计
题目名称基于51单片机的简易计算器
学生学院____ 信息工程学院_______
专业班级信息工程(应用电子方向)12(2)班
姓 名______虞君权__________
学 号 3112002559
指导教师_ _____李优新 ___
2015年1月15一、课程设计的内容
本次课程设计的内容从下面两个方面任选一个:一是在学院的单片机实验平台上进行,开发一个基于单片机与PWM技术的灯光调节系统,主要开发内容为按键定义、输入与防抖动技术、PWM调节技术以及显示技术等程序设计。二是利用51系列单片机及必要的外围芯片、输入输出等接口电路设计开发一个简易的单片机系统,在此基础上,自行设计一个单片机应用程序来实现一些实用的功能。
通过这些内容的设计、开发、安装、调试等一系列工作,熟练掌握单片机系统的开发流程与工作机理,加深对所学课程知识的理解与把握,为将来相关的研究开发工作打下坚实的基础。
二、设计内容
本次实验的任务就是要以51系列单片机为核心实现一个简易计算器计算器,它的结构非常简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
三、方案论证
经分析,计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。具体如下:
LCD显示电路
LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。
中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地
址读取数据线上的状态,判断哪个案件被按下。本实验采用中断式实现用户键盘接口。
扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一
位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。
反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下,
读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表1 得到的
键码。
这个就仁者见仁智者见智了,不过如果熟悉了扫描式,建议果断升级自己的硬件(很简单加个74LS08与门),故采用节省CPU的中断式扫描电路。
⒊) 单片机微控制电路
微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。
四、硬件电路的设计
2.1 硬件设计电路框图
2.2 硬件设计电路的元件清单
器件名称 将直接接在P2口上
五、软件设计及描述
六、硬软件的调试及方法
我个人遇到的主要问题出现在LCD1602上,要不是我自己买了块新的LCD恐怕我的结论,就只能在软件仿真实现了。
硬件上:在不加芯片调试时,LCD1602只显示一排全黑,一般说明该元件是好的。(但也不一定,我那时就一直认为我的元件没坏);给15,16管脚分别接上+5v和0v,测试背光是否完好;给VEE接上电位器,检查对比度是否可调;
七、实验结果与性能达标
我的计算器能准确进行包括整数及小数的加减乘除四则运算。
八、实验改进与心得体会
这个实验给我的感觉,硬件和软件上都不是很难。在将烧写进单片机芯片之前,进行所以觉得特别#includereg51.h
#include intrins.h
#includestdio.h
#includestdlib.h
#includemath.h
sbit RS = P1^2;
sbit RW = P1^1;
sbit E = P1^0; //定义lcd端口,RS:数据、命令选择端,RW:读、写选择端
sbit H1=P2^4;
sbit H2=P2^5;
sbit H3=P2^6;
sbit H4=P2^7;
char input,flag,f,i; //定义每次的输入input,和对输入的分类标志flag
char buf[16]=,num1[10]=,num2[10]=,result[16]=,sign;
float temp;
void delay(unsigned char x) //延时函数
{
unsigned char y;
for(;x0;x--)
for(y=0;y=110;y++)
;
}
void delay_4nop() //延时函数
{
_nop_();
_nop_();
_nop_();
_nop_(
您可能关注的文档
- 2017年高考英语一轮复习Unit5Meetingyourancestors习题.doc
- 2017年高考生物一轮复习第3单元细胞的能量供应和利用第9讲细胞呼吸习题.doc
- 2017年高考英语一轮复习Unit5Meetingyourancestors课时作业.doc
- 2017年高考英语一轮复习第一部分基础知识聚焦Unit1GreatScientists习题新人教版必修5.doc
- 2017年高考地理二轮复习专题02等值线图的判读讲学案含解析.doc
- 2017年高考英语一轮复习第一部分基础知识聚焦Unit5Meetingyourancestors习题.doc
- 2017年高考语文备考优生百日闯关系列专题08诗歌鉴赏之形象含解析.doc
- 2017年高考英语高频词汇表.doc
- 2017春高中化学第3章第2节水的电离和溶液的酸碱性第1课时水的电离溶液的酸碱性与pH课后素养演练.doc
- 2017版高中化学312弱电解质的电离平课时作业.doc
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)