单片机课程设计
    简
    易
    计
    算
    器
                专    业  
                班    级          
                学生姓名            
                学    号    
                任课教师      
                提交日期  
  ..........................................01
.........................................01
一、  设计任务和要求.............................
1、1  设计要求
1、2  性能指标
1、3  设计方案的确定
二、  单片机简要原理.............................
2、1  AT89C51的介绍
2、2  单片机最小系统
2、3  七段共阳极数码管
三、  硬件设计...................................
3键盘电路的设计
3、2  显示电路的设计
四、  软件设计...................................
    4系统设计
4、2  显示电路的设计
五、  调试与仿真.................................
5Keil C51单片机软件开发系统
5、2  proteus的操作
六、 心得体会....................................
参考文献.........................................
附录1  系统硬件电路图............................
附录2  程序清单..................................
一、 设计任务和要求
1.1 设计要求
本次课程设计,我选择的课题是单片机十进制加法计算器软硬件设计 c语言编译器ide代码编辑,设计任务为:
设计一键盘显示装置,键盘上除需定义10个十进制数字键外还要相应的功能键,其它键不定义无响应。利用此系统可分别可输入十进制被加数与加数,实现两数相加并将结果以十进制形式显示出来。(扩展:多位10进制数相加)
1.2 性能指标
      本课程设计的十进制加法计算器的计算范围为0~255,计算结果全为整数,计算结果溢出结果不显示。
      1、加法:三位加法,计算结果超过255溢出不显示
      2、减法:三位减法,计算结果若小于零溢出不显示
      3、乘法:三位数乘法
      4、除法:整数除法
      5、有清零功能
1.3 设计方案的确定
按照1.1的设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于AT89C51芯片的I口不够多,而且为了硬件电路设计的简单化,故选择串行动态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行动态显示显示运算结果。
主程序进行初始化,采用行列扫描进行查表得出键值,每次按键后调用显示子程序。
二、 单片机简要原理
在该课程设计中,主要用到一个AT89C51芯片和串接的共阴数码管。作为该设计的主要部分,下面将对它们的原理及功能做详细介绍和说明。
2.1  AT89C51的介绍:
            图一  AT89C51外形结构和引脚分布图
芯片AT89C51的外形结构和引脚图如图一所示。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低
电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8CPU和闪烁存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.2  单片机最小系统
    单片机最小系统就是支持主芯片正常工作的最小部分,包括主控芯片、复位电路和晶振电路。
  (一) 复位电路
                          图二  复位电路
    本设计采用上电与手动复位电路,电阻分别选取100和10K,电容选取10uF,系统一上电,芯片就复位,或者中途按按键也可以进行复位。
(二) 晶振电路
                      图三    晶振电路
晶振电路是单片机的心脏,它用于产生单片机工作所需要的时钟信号。单片机的晶振选取11.0592MHz,晶振旁电容选取30pF。
2.3  七段共阳极数码管
    图四  七段共阳数码管
图为七段共阳数码管的引脚图,从左到右数码管的段码分别为a,b,c,d,e,f,g和小数点dp,低电平时点亮,最右边为位选端。
三、  硬件设计
简易数字计算器系统硬件设计主要包括:键盘电路,显示电路以及其他辅助电路。下面分别进行设计。
3.1 键盘电路的设计
键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。但大多数智能仪器和电子产品的按键数目都不太多(20个以内),为了降低成本和简化电路通常采用非编码键盘。非编码键盘的接口电路有设计者根据需要自行决定,按键信息通过接口软件来获取。本课题需要的是16个按键,故选择用非编码键盘。
计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。