基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告

上传人:汽*** 文档编号:466121380 上传时间:2023-06-19 格式:DOCX 页数:24 大小:272.91KB
返回 下载 相关 举报
基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告_第1页
第1页 / 共24页
基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告_第2页
第2页 / 共24页
基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告_第3页
第3页 / 共24页
基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告_第4页
第4页 / 共24页
基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告》由会员分享,可在线阅读,更多相关《基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROUES电路和仿真课程设计报告(24页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及接口技术课程设计报告设计题目:计算器设计信息与电气工程学院二零一三年七月计算器设计单片机体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机.是 一种特殊器件,需经过专门学习方能掌握应用, 应用中要设计专用的硬件和软件. 近年来,单片机以其体积小、价格廉、面向限制等独特优点,在各种工业限制、 仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用.与此同时,单 片机应用系统的可靠性成为人们越来越关注的重要课题. 影响可靠性的因素是多 方面的,如构成系统的元器件本身的可靠性、 系统本身各局部之间的相互耦合因 素等.其中系统的抗干扰性能是系统可靠性的重要指标.数学是科技进步的重要

2、工具, 数据的运算也随着科技的进步越发变得繁琐复 杂,计算器的出现可以大大解放人在设计计算过程中的工作量,使计算的精度、 速度得到改善,通过 msc51 单片机,矩阵键盘和 LED 数码管可以实现简单的四 位数的四那么运算和显示,并当运算结果超出范围时予以报错. 注:这一局部主要描述题目的背景和意义, 对设计所采取的主要方法做一下简要 描述.字数不要太多, 300-500 字.另注:本文要当做模板使用,不要随意更改字体、字号、行间距等,学会使用格 式刷.文中给出的各项内容都要在大家的报告中表达, 可采用填空的方式使用本 模板.1. 设计任务结合实际情况,基于 AT89C51 单片机设计一个计算

3、器.该系统应满足的功 能要求为:(1) 实现简单的四位十进制数字的四那么运算;(2) 按键输入数字,运算法那么;(3) LED 数码管移位显示每次输入的数据和运算结果;(4) 当运算结果超出范围时实现报错.主要硬件设备:AT89C51单片机、LED数码管、矩阵键盘.注:这一局部需要写明系统功能需求, 用到的主要硬件 (参考实验箱的说明书)2. 整体方案设计计算器以AT89C51单片机作为整个系统的限制核心,应用其强大的 I/O功 能和计算速度,构成整个计算器.通过矩阵键盘输入运算数据和符号, 送入单片 机进行数据处理.经单片机运算后判断是否超出要求的运算范围,限制LED数码管的输出原理图如图2

4、-1所示.图2-1基于单片机的变频调速恒压供水系统原理图本系统硬件主要由矩阵键盘、I/O输入输出、显示系统等几局部组成. 各模块的主要功能如下:(1) 矩阵键盘将十六进制编码的数字传入单片机.(2) 单片机扫描键盘信号并接收,对输入的键盘信号进行处理(3) LED以动态扫描的方式移位显示每次输入的数据和最后的运算结果. 系统的整体设计方案设计图如图2-2所示.图2-2系统的整体方案设计图注:文中出现的所有框图、流程图都要用 VISIO画,不允许从文档中裁剪然后 粘贴.要注意图的格式,图中的文字大小不要大于正文,图题用五号宋体,居中3. 系统硬件电路设计3.1时钟电路本设计采用外部时钟方式,使用

5、外部振荡器产生脉冲信号,采用12MHz的石英晶体振荡器,结构如图3-1 oC11nFC21nFR210kR110kC31uFX1CRYSTAL1918293031U123-415L67-81*1XTAL1XTAL2RSTPSENALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51PO.O/ADO383736353433322122232425262728101112131415161739P0.1/AD1P0.4/AD4P0.5/AD5P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.4/T0P3.5/T1P0.2/AD2P0.3/AD3

6、P0.6/AD6P0.7/AD7P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.0/A8P2.1/A9P3.6/WRP3.7/RDP3.2/INT0P3.3/INT1图3-1时钟电路和复位电路3.2复位电路本设计采用按键手动电平复位电路,通过RST端经电阻与电源Vcc接通而实 现,结构如图3-1 o3.3数码管显示电路本设计所用数码管显示电路采用 4位红色共阴极数码管接上拉电阻实现,其结构如图3-2图3-2数码管显示电路3.4键盘输入电路本设计采用4*4矩阵键盘实现数据和运算法那么的输入.按键设置在行、列线 的交点上,行列线分别连接的按键开关的两端,并通过上来电阻街道+5

7、V上.无 按键按下时,行、列线均处于高电平,当有按键按下是,相对应的行和列电平为 低电平.此特点也用于单片机I/O 口对矩阵键盘的扫描.矩阵键盘和单片机的连接如图3-2所示.图3-2矩阵键盘与单片机的连接图注:以上各局部根据电路功能模块化介绍器件选型、器件特性、电路设计思路、电路功能等,要注意与第2小节中的整体方案设计图相对应.文中出现的电路原 理图同样不能从资料中裁剪,可从自己设计的Proteus图中拷贝.4. 系统程序设计4.1主程序流程图单片机限制I/O 口循环扫描键盘状态,当检测到有按键按下时,将按键信号 输入单片机,处理并输出显示,假设无按键按下,那么保持前一个数据的显示状态.系统主

8、程序流程图如图4-1所示.开始图4-1主程序流程图4.2键盘扫描子程序流程图先检测是否有按键按下,当有按键按下时,逐行检测每一行的列状态,将准 确的键盘信号输入单片机.键盘扫描流程图如图4-2所示开始扫描键盘*是否有按键按下 4:、IY图4-2键盘扫描流程图4.3按键处理输出显示子程序流程图输出的子程序包括运算数的输出和结果输出, 当有数字键按下,之前的数字 左移一位,最新按下的数字显示在第一位,当有符号键按下,屏幕清零,当有等 号键按下,判断运算结果是否符合要求,假设符合要求,输出结果,不符合要求, 输出报错提示.输出显示子程序流程图如图4-3所示.开始有按键按下是否是数是否是丫青零键上一次

9、输出结果左移一位最新结果显示在个位之前输入的数据保存对屏幕清零处理, 将之前的数据保存以作 运算用是否是运、. N-算键严是否是等、号键清零所有数据和显示结束图4-3按键处理显示输出子程序流程图5. 系统调试这一局部分为Proteus软件仿真调试和硬件调试两局部,分别给出调试过程、 调试时应注意的问题,分析遇到的问题及问题的解决方法,Proteus调试可截屏运行结果图形并加以分析.5.1 Proteus软件仿真调试5.2硬件调试6. 程序清单#in elude #in elude #in elude #in elude #in eludeun sig ned ehar key_sca n();

10、void delay10ms();un sig ned ehar key_free();void display();void display1( un sig ned int nu mberl);void display2( un sig ned int nu mber2);void display3( un sig ned int nu mber3);void display4 (un sig ned int nu mber4);void display_result();void delay (un sig ned int time);void key_deal();void displ

11、ay_error();void eaeulate();void put_offleds();ehar共阴数码管intintun sig nednumbertable=0x3F,0x06,0x5B,0x4F,0x66,0x6d,0x7D,0x07,0x7f,0x6f;/1 至9的共阴显示段码un sig ned ehar errortable=0x86;报错时使用的段码un sig nedehar weitable=0xfe,0xfd,0xfb,0xf7;/位选un sig nedtemp,temp1,temp2, nu mberl, nu mber2 ,nu mber3 ,nu mber4,a

12、1,a2,a3,a4,b1,b 2,b3,b4,c1,c2,c3,e4,way,k,k1,waytest,result_test;un sig nedResult;result1,result2,result3,result4,E_test;un sig ned ehar key;void mai n()while(1)key_sea n();key_free();key_deal();/新的显示函数void display.display1( nu mberl);delay(6);display2( nu mber2);delay(6);display3 (nu mber3);delay(6

13、);display 4(nu mber4); delay(6);void display1( un sig ned int nu mber1)P2= weitable3;P仁nu mbertable nu mber1;void display2( un sig ned int nu mber2)P2= weitable2;P仁nu mbertable nu mber2;void display3( un sig ned int nu mber3)P2= weitable1;P仁nu mbertable nu mber3;void display4 (un sig ned int nu mber4)P2= weitable0;P仁nu mbertable nu mber4;/结果显示程序void display_result()display1(result1);delay(6);display2(result2);delay(6); display3(result3);delay(6); display4(result4);delay(6);/定义延时程序void delay (un sig ned int time) un sig ned int i,j;for(i=time;i0;i-) for(j=112;j0;j-); ;/按键扫描子程序un sig ned ch

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号