版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昆明理工大学 课程设计报告设计名称:单片机计算器课程设计姓 名:学号:2011118521XXX2011118521XXX专业班级:测控技术与仪器11111111院(系):信息工程设计时间:20132013 年 6 6 月 2121 日设计地点:昆明理工大学德信楼目录一、题目.二、任务与要求.三、课程设计及整体方框图.a. .总体设计思路简述.b. 硬件设计简述.c. 软件设计简述.d. 程序主流程图.四、课程设计原理分析及相关知识概述五、结论.六、体会与收获.附件:1源程序代码(根据需要选择)2、整体电路原理图(根据需要选择)2、元件表(根据需要选择).3、实验操作(根据需要选择)、题目使用
2、单片机芯片AT89C51、LCD1602液晶显示屏,用KEIL uVision与porteus仿真软件实现简易计算器的仿真与调试。 设计制作一个计算器,KEYPAD4*4键 盘输入,用LCD显示计算数值及结果。、任务与要求要求计算器能实现加减乘除四种运算,具体如下:1.加法:多位数加法,计算结果不超过8位则显示计算。2.减法:多位整数减法,计算结果可以算小于零则显示计算。3.乘法:多位整数乘法,计算结果若超过8位则显示计算4.除法:整数除法,可以算出小数点3位。5.有清除功能三、课程设计简述及整体方框图1.1. 总体设计思路简述按照系统设计的功能的要求, 初步确定设计系统由主控模块、 显示模块
3、、 键 扫描接口电路共三个模块组成,电路系统构成框图如图1.1所示。主控芯片使用AT89C51单片机, 功能更强,由先进工艺制造,并带有非易失性Flash程序存 储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。 键盘电路采用4*4矩阵键盘电路。显示模块采用1枚LCD 1602与RES-V构成器件构成。2 2硬件设计简述单片机最小系统就是支持主芯片正常工作的最小电路部分,包括运算器.控制器.存储器,输入输出设备构成.主控芯片选取AT89C51芯片,因其具有良好的性能及稳定性,价格便宜应 用方便。晶振选取11.0592MHz,晶振旁电容选取22pF。 采用按键清零电路,KEYP
4、AD 4*4C.键盘接口电路计算器所需按键有:数字键: 1,2,3,4,5,6,7,8,9,0功能键: +,-,*,/,=,C(清零)共计16个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连, 四行和四列的8个公共端分别接P3.0P3.7,这样扫描P3口就可以完成对矩阵键 盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P3口的扫 描结果和各按键的地址, 我们就可以得到是哪个键按下, 从而完成键盘扫描的功LCD显示电路采用LCD对计算数据和结果的显示,动态扫描。为了实现LCD的动态显示,P0口输出显示值,通过P0口的二进制代码送到LCD进行显示。3.3. 软件设计简述键
5、盘扫描子程序设计要进行数据的计算就必须先进行数据的输入, 也就必须确定按键输入的数值 是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。对于键盘的扫描, 这里采用行列扫描的方法来完成对键盘的扫描。 原理就是 先确定按键在哪一行, 接着再确定是哪一列, 这样就可以知道是哪个按键被按下 了。我是将P3口作为按键扫描口的,比如开始先给P3口设置,每个按键都会 有一个对应的十六进制值, 我把它们列出来进行一一对应就行了, 下面是扫描按 键图。以下为键盘扫描子程序的程序清单。uchar code table=7,8,9,0,4,5,6,0,123,0,0,0,0,0;uchar code tab
6、le1=7,8,9,0 x2f-0 x30, 4,5,6,0 x2a-0 x30,1,2,3,0 x2d-0 x30, 0 x01-0 x30,0,0 x3d-0 x30,0 x2b-0 x30;LCD显示电路采用LCD 1602对计算数据和结果的显示,P0口进行输出显示,D0D7口接P0.0P0.7口,RW接P2.0,RS接P2.4,E接P2.3.LCD2LM032L1 2 34|5 67 8 9 112 3 4void delay(uchar z) /延迟函数uchar y;for(z;z0;z-)for(y=0;y110;y+); void check() /判断忙或空闲doP0=0 x
7、FF;rs=0;/指令rw=1;/读lcde n=0;禁止读写delay(1);等待,液晶显示器处理数据lcde n=1;/允许读写while(busy=1); /判断是否为空闲,1为忙,0为空闲void write_com(uchar com) /写指令函数P0=com; /com指令付给P0口rs=0;rw=0;lcden=0;check();lcden=1;void write_date(uchar date) /写数据函数P0=date;rs=1;rw=0;lcden=0; check();lcden=1;void init() /初始化 num=-1;lcden=1; /使能信号为高
8、电平write_com(0 x38); /8位,1行write_com(0 x0c); /显示开,光标关,不闪烁*/ write_com(0 x06); /增量方式不移位 显竟獗暌贫 柚write_com(0 x80); /检测忙信号write_com(0 x01); /显示开,光标关,不闪烁num_1=0;i=0;j=0;a=0; /第一个参与运算的数b=0;/第二个参与运算的数c=0;flag=0; /flag表示是否有符号键按下,fuhao=0; / fuhao表征按下的是哪个符号除法子程序设计除法的运算,可以显示小数点3位write_com(0 x04);i=0;c=(long)(fl
9、oat)a/b)*1000);while(c!=0)write_date(0 x30+c%10);c=c/10;i+;if(i=3)write_date(0 x2e);if(a/b=0)write_date(0 x30);write_date(0 x3d); a=0;b=0;flag=0;fuhao=0;break;主程序见附录14.4.程序主框图四、课程设计原理分析及相关知识概述本次课程设计用的 AT89C51AT89C51 具有速度快、功耗低、抗干扰强的特点, 有多种I/OI/O 端口模式。Vcc=5vVcc=5vU2pXTAL1PO.O/ADOP0.1/AD1P0.2/AD2XTAL2P
10、0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0 7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2 4/A12EAP2.5/A13P2.6/A14P2.7/A15P1 0P3 0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INTTP1.4P3.4/T0P1.5P3.5/T1P1.6P3 6/WRP1.7P3.7/RD193918349293025312861578AT89C512671210113451213141617五、结论完成硬件和软件的设计和制作后, 进行系统的调试,并处理不断 出现的问题。
11、对于计算器的性能,主要的衡量指标就在于计算的精度,本次制作的 计算器性能情况如下:a.a.加法运算:8 8 位整数加法运算,和值不超过 9999999999,若超过上 限,则显示错误提示。b.b. 减法运算:4 4 位正整数减法运算,结果为正或负。c.c.乘法运算:积不超过 999999999999 的整数乘法运算,若超出上限, 显示错误提示。d.d. 除法运算:整数除法,既计算结果为可显示小数。六、体会与收获单片机课程设计, 体会是单片机学的不够扎实, 不会的很多啊, 当然这次的课程设计做计算器程序用的是 c c 语言,不是课上初学的汇 编,所以很难适应,尽管大家都知道汇编编这个程序也很困难
12、,但还 是互相学习,到处找资料看,问同学,所以我的软件主程序才能编译 成功,系统才能调试出结果。很感谢那些热心教导我的同学和指导我 的老师。在软件方面,感觉困难更多一些,一开始真的很着急,毫无头绪 啊,一时38 736 5间,百度,论坛,贴吧逛了个遍,找了很多资料,也参考了 同学的程序, 其中每一个子程序模块都认真去读, 去分析,化为己用, 最重要的按键扫描和显示程序, 还有包括加减乘除的运算程序, 还了 解了 c c 语言在单片机编程中的一些特点,包括函数的声明和调用等 等。而且在用 uvisonuvison 编译的时候出了很多问题,其中一个就是关于 头文件的,要加上“ #include#i
13、nclude reg51.h ”,不仅如此,还要将有关 的文件覆盖在 uvisonuvison 安装路径下,这样头文件才有效啊,所以,一 开始找不出问题所在,极其郁闷。但是总的来说,软件设计能够把结 果调出来还是很激动的, 同时,我们还亲自动手试验箱进行操作, 在老师的帮助下得以突破,完美的结束了实训。附录 1 1 程序源代码#include/头文件#define uint unsigned int /#define uchar unsigned charsbit Icde n=P23; / 定义引脚sbit rs=P2A4;sbit rw=P2A0;sbit busy=P0A7;char i
14、,j,temp,num,num_1;long a,b,c;a,第一个数 b,第二个数 c 得数fIoat a_c,b_c;uchar flag,fuhao;/flag 表示是否有符号键按下, fuhao 表征按下的是哪个符号uchar code table=7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0;uchar code table1=7,8,9,0 x2f-0 x30,4,5,6,0 x2a-0 x30,1,2,3,0 x2d-0 x30, 0 x01-0 x30,0,0 x3d-0 x30,0 x2b-0 x30;void delay(uchar z) / 延迟函数uc
15、har y;for(z;z0;z-)for(y=0;y0)c=a-b;elsec=b-a;while(c!=0)write_date(0 x30+c%10); c=c/10;if(a-b0) write_date(0 x2d);write_date(0 x3d);/再写 =a=0;b=0;flag=0;fuhao=0;else if(fuhao=3)write_com(0 x80+0 xf);write_com(0 x04);c=a*b; while(c!=0)write_date(0 x30+c%10);c=c/10;write_date(0 x3d);a=0;b=0;flag=0;fuha
16、o=0;else if(fuhao=4)write_com(0 x80+0 xf);write_com(0 x04);i=0;c=(long)(float)a/b)*1000);while(c!=0)write_date(0 x30+c%10); c=c/10;i+;if(i=3)write_date(0 x2e);if(a/b=0)write_date(0 x30);write_date(0 x3d);a=0;b=0;flag=0;fuhao=0;break;case 15:write_date(0 x30+table1num);flag=1;fuhao=1;break;main()init();while(1)keyscan();附录 2 2 protuesprotues 仿真图LCD1LM032L附录 3 3 元件清单设备使用了C51与LCD液晶显示的完美结合,P0口接LCD液晶显示,同时外接排列电阻RES-PACKAT89C51单片机keypad数值键盘LCD 1602LCD液晶显示RES-V电阻RES-PACK8排列电阻U119|_XTAL1182930312XTAL2PSENALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C511K -RES-VARP0.0/AD0P0.1/AD1P0.2/AD2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年云南建筑安全员A证考试题库附答案
- 贵州大学《集成电路原理》2023-2024学年第一学期期末试卷
- 贵阳幼儿师范高等专科学校《成矿规律与成矿预测》2023-2024学年第一学期期末试卷
- 2025广东建筑安全员知识题库
- 2025青海省建筑安全员《C证》考试题库
- 硅湖职业技术学院《化工原理B》2023-2024学年第一学期期末试卷
- 2025年江苏省安全员A证考试题库
- 2025湖北省建筑安全员A证考试题库附答案
- 广州新华学院《体育活动组织与策划》2023-2024学年第一学期期末试卷
- 广州卫生职业技术学院《数学课程与教材研究》2023-2024学年第一学期期末试卷
- 数学-2025年高考综合改革适应性演练(八省联考)
- 2024-2025学年安徽省六安市金安区三上数学期末调研试题含解析
- 市场营销试题(含参考答案)
- 2024年医疗器械经营质量管理规范培训课件
- 景区旅游安全风险评估报告
- 2023年新高考(新课标)全国2卷数学试题真题(含答案解析)
- 2024年计算机二级WPS考试题库380题(含答案)
- 事业单位工作人员奖励审批表
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 眼科护理的国内外发展动态和趋势
- 2024年中煤平朔集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论