ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:168.50KB ,
资源ID:8417775      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8417775.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告(简易计算器)35228.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告(简易计算器)35228.doc

1、单片机实训报告简易计算器姓 名 * 学 号 * 专 业 * 学 校 * 指导教师 * 实训时间 2014.06.23-2014.06.29 目录中文摘要 1关键词 11 实训任务 11.1 主要功能设计 11.2 任务目的 12 整体设计方案 12.1 方案论证 12.2 系统框图 23 控制软件设计 2 3.1 程序时序总图 23.2 液晶显示软件设计 33.3 键盘输入软件设计 53.4 计算函数设置 74 软件调试 8个人小结 8 参考文献 9 附录 91摘 要:计算器是人们的日常生活中是最常见的电子产品之一,它应用极广、发展迅猛,并且不断出现着拥有更加强大功能的计算器。为了解和研究计算

2、器,本次实训设计制作了一个简易计算器,能够在五位的计算范围内进行“+” 、 “-”、 “*”、 “/”的基本运算,能进行负数的精确结果显示。该计算器以AT89C51 单片机芯片作为核心。采用 LCD1602 工业字符液晶进行显示。完成的计算器经过检验能够完整的实现预设功能,各种细节完善,具有很高的使用价值。关键词:单片机;简易计算器;AT89C51;LCD16021 实训任务1.1 主要功能设计以 AT89C51 单片机芯片为核心来制作一个简易计算器,外部由 4*4 矩阵键盘和一个 LCD1602 工业字符型液晶显示屏构成,内部由一块 AT89C51 单片机构成,通过软件编程可实现简单加减乘除

3、。1.2 任务目的通过本次实训提高我们的单片机硬件设计、软件编程能力,自主学习到更多的单片机应用知识。2 整体设计方案2.1 方案论证计算器电路包括三个部分:显示电路、4*4 键扫描电路、单片机微控制电路。 具体如下:(1)LCD显示电路LCD1602 作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合 LCD 本身的时序图来完善初始化程序。2又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用 LCD.(2)4*4键盘扫描电路对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键被按下;否则,

4、扫描下一行。根据读到的值组合就可以查表 1 得到的键码,因为编程的方式,本次实训采用逐行扫描来读取键值,方便程序编写。(3)单片机微控制电路:微控制电路就是以 AT89C51 为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。2.2 系统框图51 系列单片机系统4*4 键盘LCD 显示时钟电路复位电路系统框图3 控制软件设计:实训中采用 C 语言对单片机进行编程,采用的是自下而上的设计方式,先设计出每一个模块(子程序) ,然后再慢慢扩大,最后组成程序。3.1 程序总时序图33.2 液晶显示软件设计(1)显示流程液晶初始化调用显示字序液晶显示结束开始4(2)1602 液晶显示时序图,通过

5、时序图,所有编程问题都可以得以解决。(3)由时序图可以写出液晶的初始化函数、功能设置函数、清屏函数、写指令函数、写数据函数。void delay1() /采用软件实现延时, 5 个机器周期_nop_();_nop_();_nop_();void int1() /LCD 初始化lcd_w_cmd(0x3c);lcd_w_cmd(0x0c);lcd_w_cmd(0x01);lcd_w_cmd(0x06);lcd_w_cmd(0x80);unsigned char lcd_r_start() /读状态字unsigned char s;RW=1;delay1();RS=0;delay1();E=1;d

6、elay1();s=P1;delay1();E=0;delay1();5RW=0;delay1();return(s);void lcd_w_cmd(unsigned char com) /写命令字unsigned char g;dog=lcd_r_start();g=gdelay(2);while(g!=0);RW=0;delay1();RS=0;delay1();E=1;delay1();P1=com;delay1();E=0;delay1();RW=1;delay(255);void lcd_w_dat (unsigned char dat) /写数据unsigned char g;do

7、g=lcd_r_start();g=gdelay(2);while(g!=0);RW=0;delay1();RS=1;delay1();E=1;delay1();P1=dat;delay1();E=0;delay1();RW=1;delay(255);63.3 键盘输入软件设计(1)键盘输入程序运行时序图(2)键盘扫描程序unsigned char scan_key()unsigned char i,temp,m,n,k;bit find=0;P0=0xff;k=0x01;for(i=0;i=b)q=0;return(a-b);if(a9) /四则运算的判断m=1; w=a2i;if(a2i1

8、0if(a2i=13|o=1) /清零o=0;lcd_w_cmd(0x01);lcd_w_cmd(0x80);a=0;b=0;wan=0;qian=0;bai=0;shi=0;ge=0;m=0;sum=0;if(a2i=14) /等号l+;p=jian(); /调用减法函数switch(w)case 10:sum=a/b;break; /除法case 11:sum=a*b;break; /乘法case 12:sum=p;if(q=1)lcd_w_dat(-);break; /减法case 15:sum=a+b;break; /加法default:break;wan=sum/10000; /万位

9、qian=(sum-wan*10000)/1000; /千位bai=(sum-wan*10000-qian*1000)/100; /百位8shi=(sum-wan*10000-qian*1000-bai*100)/10; /十位ge=sum%10; /个位if(wan!=0) /万位显示lcd_w_dat(a1wan);lcd_w_dat(a1qian);lcd_w_dat(a1bai);lcd_w_dat(a1shi);lcd_w_dat(a1ge);if(wan=0lcd_w_dat(a1bai);lcd_w_dat(a1shi);lcd_w_dat(a1ge);if(wan=0lcd_w

10、_dat(a1shi);lcd_w_dat(a1ge);if(wan=0lcd_w_dat(a1ge);if(wan=0if(l%2!=0) /换行lcd_w_cmd(0xc0);if(l%2=0) /换屏lcd_w_cmd(0x80);o=1;a=0;b=0;wan=0;qian=0;bai=0;shi=0;ge=0;m=0;sum=0; /运算完一次全部清零4 软件调试:(1)编程前先画了流程图,这样思路清晰,能按部就班的完成。(2)子函数有显示部分、键盘扫描部分和计算部分,编写好后综合在一起。(3)在将程序写在一起的过程中,使用 ISIS 进行了仿真,仿真过程模拟了键盘的输入,同时观察各

11、种情况时液晶的输出情况。个人小结:第一天:刚开始不知道实训室的电脑不行,走很多弯路,弄了整整一天,只是把教材的程序搬了上去,仅此而已,可以说,毫无收获。第二天:早上也是毫无收获,下午才发现电脑的问题,一下子就搞好了键盘输入。可是新的问题又出现了,我根本就不会用四则运算,所以那天又被困住了。第三天:上午通过老师的详细讲解,初步运用了四则运算,下午进一步完善,但是还有负数没有弄好,晚上回到宿舍就成功完成了实训内容。9参考文献教材单片机应用技术(C 语言版) 附件硬件设计电路的元件清单器件名称 数量AT89C51 1按键 16自锁开关 1不自锁开关 1电容 22uF 1LCD1602 1晶振 12MHz 1电容 30pF 2发光二极管 1510 电阻 10

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报