- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计实验报告
简易计算器
学院:信息工程学院
班级:自动化三班
姓名:
学号:2009550335
日期:9月28日
目 录
一、设计任务和性能指标
1.1设计任务
1.2性能指标
二、设计方案
三、系统硬件设计
3.1单片机最小系统
3.2键盘接口电路
3.3数码管显示电路
3.5按键监视电路…………………………………………………6
四、系统软件设计
4.1键盘扫描子程序设计
4.2移位子程序及结果计算子程序设计
4.3显示子程序设计
4.4主程序设计
五、调试及性能分析
5.1调试步骤
5.2性能分析
六、心得体会
参考文献
附录1系统硬件电路图
附录2
附录
一、设计任务和性能指标
1.1设计任务
自制一个单片机最小系统,包括复位电路,采用外部小键盘输入数据,能够实现加法、乘法及一个科学计算,计算结果显示在四位一体的数码管上。
1.2性能指标
加法:四位加法,计算结果若超过四位则显示计算错误;
减法:四位减法,计算结果若小于零则显示计算错误;
乘法:个位数乘法;
除法:整数除法;
取对数;
开平方;
指数运算;
有清零功能
二.设计方案
按照系统设计的功能的要求,初步确定设计系统由主控模块、监测模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示。主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。
监测模块采用二极管和扬声器(实验室用二极管代替)组成电路。
键盘电路采用4*4矩阵键盘电路。
显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。
整个单片机的接口电路:
P0用于显示输出;
P1用于键扫描输入;
P2用于数码管位选控制;
P3用于键盘扩展(部分运算符输入);
三.系统硬件设计
3.1单片机最小系统
单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。
主控芯片选取STC89C52RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。
晶振选取11.0592MHz,晶振旁电容选取20pF。
采用按键复位电路,电阻分别选取100Ω和10K,电容选取10μF。
以下为单片机最小系统硬件电路图。
单片机最小系统硬件电路
3.2键盘接口电路
计算器所需按键有:
数字键:’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’
功能键:’+’, ’-‘ , ’*’, ’/ ’ , ’ = ’, ’ C( 清零)’
扩展键:“log”,“ln”,“x^2”“小数点”,“开方”
共计25个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P1.0~P1.7,这样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P1口德扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘的功能。
以下为键盘接口电路的硬件电路图
键盘接口电路
实物图:
扩展键接口电路:
3.3数码管显示电路
采用8位数码管对计算数据和结果的显示(实验时只用到了4位),这里选取共阴数码管,利用74LS244N对数码管进行驱动,为了节省I/O资源,采取动态显示的方法来显示计算数据及结果。
P0口输出显示值,
P2.0~P2.7(实际操作用到P2.0-P2.3)用来作为位选端,控制哪几位数码管进行显示。
以下为数码显示电路的硬件电路图
3.4按键监视电路
按键监视电路就是在按键时,发出声音提醒,以确保输入数字有效。这里就采用5V蜂鸣器作为示音设备(实际操作用发光二极管代替)。用p3.7口输出信号。
以下为报警电路硬件电路图
按键监视电路图
系统整体硬件电路图见附录一
四、系统软件设计
4.1键盘扫描子程序设计
要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。
以下为键盘扫描子程序的程序清单。
uchar Keyscan(void)
{
uchar i,j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
for(j=0; j4; j++)
{
P1 = Buffer[j]
您可能关注的文档
最近下载
- 计量器具检定校准服务投标方案(完整技术标).docx
- 弹弹堂架设你想一个游戏那么一定要对这个有认识这样才能为.pdf
- 《常温好氧水解制复合碳源》编制说明.pdf
- 2023执业药师继续教育从8个临床问题学习氯吡格雷说明书参考答案.docx
- 护士进修汇报多学科护理的协作与合作.pptx
- 哈希HACH-NPW-160H总磷-总氮水质在线分析仪 使用手册-操作说明书.pdf
- 小学英语新人教版PEP三年级上册Unit 1 Making friends Part A第1课时教学课件(2024秋).pptx
- 《铁路桥隧养护与维修》教学课件合集.pptx
- 人教版六年级上册数学第三单元《分数除法》全单元教学课件(新插图).pptx
- 趋势交易法(鹿希武)-可直接打印.doc
文档评论(0)