资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机技术与接口单片机技术与接口课程设计报告课程设计报告题题 目:目: 简易计算器的设计与实现简易计算器的设计与实现 班班 级:级: 1313 电信本电信本 2 2 学学 号:号: 姓姓 名:名: 同组人员:同组人员: 指导教师:指导教师: 邓明华邓明华 年年 月月 日日目目 录录1. 设计任务与目的.12设计方案和系统框图.12.1 设计方案选择.12.2 系统框图设计.23硬件电路设计.23.1 单片机介绍.23.2 液晶屏 LCD1602 的介绍.33.3 44 矩阵薄膜键盘介绍.43.4 整体电路图 .54.程序的设计及描述.55.系统调试.66.总结.7参考文献.81简易计算器简易计算器1.1.设计任务与目的设计任务与目的本次实验的任务就是要以 51 系列单片机为核心实现一个简易计器,它的结构非常简单,利用单片机的 I/O 接口设计 44 键盘,16 个键依次对应09、 “+” 、 “-” 、 “” 、 “” 、 “=”和清除键。通过检测不同数字键、功能键的按下,可以进行加减乘除运算,并可连续运算。 。对应每一个数字键按下的同时,单片机控制液晶显示屏 LCD 显示按下键的值。通过软件编程可实现单加减乘除。2 2设计方案和系统框图设计方案和系统框图21 设计方案选择经分析,计算器电路包括三个部分:显示电路、4*4 键扫描电路、单片机微控制电路。具体如下1)LCD显示电路LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.2)4*4键盘扫描电路(中断式,扫描式,反转式)设计行列键盘接口,一般常采用3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。中断式:在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个案件被按下。本实验采用中断式实现用户键盘接口。扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下,2读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表得到键码。由于考虑到熟练掌握单片机使用,故本次设计采用的中断式3)单片机微控制电路微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。2.2 系统框图图2-1 系统组成框图3 3硬件电路设计硬件电路设计3.1 单片机介绍:单片微型计算机简称单片机,是典型的嵌入式 微控制器(Microcontroller Unit),常用英文字母的缩写 MCU 表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU 的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50 年代开发的 74 系列,或者 60 年代的 CD4000 系列这些纯硬件来搞定的话,电路一定是一块大 PCB 板!但是如果要是用美国 70 年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实3现高智能,高效率,以及高可靠性!单片机的硬件特性 :单片机集成度高。单片机包括 CPU、4KB容量的ROM(8031 无)、128 B容量的RAM、 2个16位定时/计数器、4个8位并行口、全双工串口行口。系统结构简单,使用方便,实现模块化。3.2 液晶屏 LCD1602 的介绍:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602液晶模块内部的控制器共有11条控制指令,如表3-1所示:表3-1 1602指令表序号指令RSR/W D7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/D S4显示开/关控制0000001DCB5光标或字符移位000001S/C R/L *6置功能00001DLNF*47置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容3.3 44 矩阵薄膜键盘介绍图 3-1 薄膜 44 矩阵键盘内部电路53.4 整体电路图图 3-2 简易计算器整体电路图4.4.程序的设计及描述程序的设计及描述本程序组成可分为 3 个模块:矩阵键盘模块,LCD 显示模块,和运算模块(源代码见附件)程序框图见下图 4-16图 4-1 程序组成框图5 5实物的调试与仿真结果对比实物的调试与仿真结果对比在本次电路的焊接中比较顺利,在整体电路焊接完成后除了 LCD 显示屏需要调整一下对比度,没有其他的故障,下面实物与仿真的对比:1) 加法运算7图 5-1 加法实物 图 5-2 加法仿真2)减法运算图 5-3 减法实物 图 5-4 减法仿真3)乘法运算图 5-5 乘法实物 图 5-6 乘法仿真 4)除法运算图 5-7 除法实物 图 5-8 除法仿真6.6.总结总结在编程和硬件调试的过程中我们遇到了很多困难,特别是液晶屏的选择以及对 LCD 驱动显示电路的理解,几乎花掉了我们大半的时间,但仍旧是只理解了与我们项目相关的少量程序,在设计这个电路的过程中我们阅读了大量的关于液晶屏的资料,在各大 C 语言论坛、单片机论坛及 Proteus 仿真、Keil C 论坛上注册了会员。同时参阅了论坛上大量成熟的电路及代码,深深的感觉到自己现在知识水平的落后,本以为本课题的思路非常简单却没想到做起来是那么举步维艰,通过这里我们体会到了一个硬件程序员的辛苦所在。但苦尽甘来我们还是尝到了我们课题成功后的喜悦,虽然只是成功了一小步只能显示五个自习室。在此过程中,我们也认识了一些论坛上的高人和访问了很多电子高手的博客,他们开阔的思路渊博的知识,绝非课本上能够学到的。8参考文献参考文献1C 程序设计(第三版),谭浩强,清华大学出版社A,2008.52单片机原理与接口技术 ,牛昱光,电子工业出版社A,2009,13MCS-51 单片机原理系统设计与应用,万福君,清华大学出版社A,2008,64Proteus 仿真论坛 http:/www.mcutt.com/thread-7599-1-1.html551 单片机综合学习系统之 1602 字符型液晶显示篇 ,电子制作2008.1附件 1源代码#include#define CLEARSCREEN LCD_write_command(0x01) #define uint unsigned int #define uchar unsigned char#define LCDIO P0#define KEYBOARD P1sbit LCD1602_RS=P25; sbit LCD1602_RW=P26; sbit LCD1602_EN=P27; code uchar mayuan16=0,1,2,3,4,5,6,7,8,9,c,+,-,*,/,=;unsigned char code keycode=0x28,0x11,0x21,0x41,0x12,0x22,0x42,0x14,0x24,0x44,0x18,0x81,0x82,0x84,0x88,0x48;int i,j,k=1;long t=0,t1=0,t2=0,s;void delay_10ms()uchar i,j;for(i=0;i0)t=t2-t1;else t=t1-t2;while(t!=0) LCD_write_dat(0x30+t%10);t=t/10;if(t2-t10) LCD_write_dat(0x2d);12break;case 13:t=t2*t1;while(t!=0) LCD_write_dat(0x30+t%10);t=t/10;break;case 14:i=0;t=(long)(float)t2/t1)*1
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号