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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机简易计算器毕业课程设计报告Word文档格式.docx

1、 成绩:签名: 年 月 日目录一、 题目二、 任务与要求(老师完成)三、 课程设计摘要及整体方框图1.总体设计思路简述2.硬件设计简述3.软件设计简述4.程序主流程图四、 课程设计原理分析及相关知识概述五、 结论六、 体会与收获附件:1、 源程序代码(根据需要选择)2、整体电路原理图(根据需要选择)2、 元件表(根据需要选择)3、 PCB板制作(根据需要选择)4、焊接与调试(根据需要选择)一、题目利用单片机芯片STC12C54、四位八段共阴数码管,已制作好的电路板等器件设计制作一个计算器,用LED显示计算数值及结果。二、任务与要求要求计算器能实现加减乘除四种运算,具体如下:1. 加法:四位整数

2、加法,计算结果若超过四位则显示计算错误2. 减法:四位整数减法,计算结果若小于零则显示计算错误3. 乘法:多位整数乘法,计算结果若超过四位则显示计算错误4. 除法:整数除法5. 有清除功能三、课程设计简述及整体方框图1.总体设计思路简述按照系统设计的功能的要求,初步确定设计系统由主控模块、显示模块、键扫描接口电路共三个模块组成,电路系统构成框图如图1.1所示。主控芯片使用STC12C54单片机,比 80C51速度更快,功能更强,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。键盘电路采用4*4矩阵键盘电路。显示模块采用4枚共阳极

3、数码管和74ls273锁存芯片构成等器件构成。2硬件设计简述单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。主控芯片选取STC12C5410AD芯片,因其具有良好的性能及稳定性,价格便宜应用方便。晶振选取11.0592MHz,晶振旁电容选取22pF。采用按键复位电路,电阻分别选取560和10K,电容选取10F。键盘接口电路 计算器所需按键有: 数字键:1,2,3,4,5,6,7,8,9,0 功能键:+, - , *, , = , C( 清零)共计16个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P1.0P1.7,这

4、样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P1口的扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘扫描的功能。数码管显示电路 采用4位数码管对计算数据和结果的显示,这里选取共阳数码管,利用NPN三极管对数码管进行驱动,为了节省IO资源,采取动态显示的方法来显示计算数据及结果,动态扫描。 为了实现数码管的动态显示,P2口输出显示值,通过P2口的二进制代码送到数码管进行显示。P3.2P3.5用来作为位选端,控制哪几位数码管进行显示。比如当P3.2为高电平时,其他位全给0,具体的在软件中会有说明。此时就将扫描的数据送给指定数码管显示。

5、3.软件设计简述键盘扫描子程序设计 要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。对于键盘的扫描,这里采用行列扫描的方法来完成对键盘的扫描。原理就是先确定按键在哪一行,接着再确定是哪一列,这样就可以知道是哪个按键被按下了。我是将P1口作为按键扫描口的,比如开始先给P1口设置为0xf0,即P1.0P1.7为,将它定义为e,再给P1口设置为0x0f,即P1.0P1.7为,将它定义为f,并且定义temp=e|f,好了,接下来若按下的是按键sw1,则P1口变为,e就是0xe0,并在非常短的时间内P1口变为,则f就是0x0e,

6、那么temp就为0xee,同理,每个按键都会有一个对应的十六进制值,我把它们列出来进行一一对应就行了,下面是扫描按键图。 以下为键盘扫描子程序的程序清单。uint kescan() uint com; P1=0xf0; e=P1; P1=0x0f; f=P1; temp=e|f; while(P1!=0x0f); if(temp=0xb7)com=0; if(temp=0x7e)com=1; if(temp=0xbe)com=2; if(temp=0xde)com=3; if(temp=0x7d)com=4; if(temp=0xbd)com=5; if(temp=0xdd)com=6; if

7、(temp=0x7b)com=7; if(temp=0xbb)com=8; if(temp=0xdb)com=9; if(temp=0x77)com=10; if(temp=0xd7)com=11; if(temp=0xe7)com=12; if(temp=0xeb)com=13; if(temp=0xed)com=14; if(temp=0xee)com=15; return(com);采用4位数码管对计算数据和结果的显示,这里选取共阴极数码管,利用NPN三极管对数码管进行驱动,利用来实现数码管的动态显示,P2口输出显示值,P2口为段选,P3.2P3.5用来作为位选端,控制哪几位数码管进行显

8、示。下面根据程序来阐述。n是一个运算中产生的值,若它大于10000,执行第一个if语句,如果则显示FFFF,若在10000以内,则将n分别除以1000、100、10和对10取余,得到我们想要的四个数,送显示子程序显示。其余减、乘、除的计算方法与加法的计算方法一样,这里不再累述。 void dis(uint n) if(n10000) for(i=0;i4;i+) if(fu=1) P2=(DSY_CODE15&0x7f); if(fu=0) P2=DSY_CODE15; P3=bit3-i; n=n10; delay(4); P3=0x00; else if(n1000) for(i=0; P

9、2=(DSY_CODEn%10& P2=DSY_CODEn%10; P3=bit3-i; n=n10; delay(4); P3=0x00; else if(n100)3; else if(n10)2; P2=(DSY_CODEn%10& P2=DSY_CODEn%10; else if(n%10) if(fu=1) P2=(DSY_CODEn& if(fu=0) P2=DSY_CODEn; P3=0x20; 运算子程序设计显示加减乘除四个运算符 void calculate(uint z) if(z=10) P2=0x76; 加法显示H,并且点亮最高位的数码管 P3=0x20; if(z=11) P2=0x40; 减法显示-, 并且点亮最高位的数码管 P3=0x20;if(z=12) P2=0x80; 乘法显示., 并且点亮最高位的数码管 P3=0x20; if(z=13) P2=0x49; 除法显示 并且点亮最高位的数 码管除法子程序设计除法的运算,可以显示小数点void div(void) d=bc; if(d1000) P2=DSY_CODEd%10; d=d10; else if(d100) d=10*bc; if(i=1) P2=(DSY_CODEd%10& if(i!=1) P2=DSY_CODEd%10; d=d10; else if(d10) d=100*b

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1