课程设计 单片机,共28页,7438字。 摘要 本设计以单片机为核心,计算器的输入采用键盘来完成,显示部分采用8位共阳数码管。其中单片机采用AT89C51,AT89C51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。键盘用普通按键组成4x4键盘,直接接在单片机的P1口,P1口低4位接键盘行线,P1口高4位接键盘列线,用常见的芯片74LS20和74LS00组成中断触发电路,以中断方式进入中断程序完成对键盘的取值和处理过程,包括按键的延时去抖、按键值的识别、按键值的返回,数字键和功能键的选取,以及加减乘除算法的实现。数码管采用8位一体的,为增强驱动能力,公共端采用PNP三极管驱动,并且P0口接上拉电阻。在P3.6上接一个蜂鸣器,当输入够8位数时,会发出“嘀”提示音,提示使用者输入数据已满。 本设计结果除了能完成要求的基本功能外,对于大于256的整数也能完成加减乘除运算,并且还能实时显示任意结果的位数。程序用C语言编写,具有简单可读性强的特点,具体程序见附表。 程序仿真采用流行的PROTEUS软件和keil联合仿真,方便调试程序和修改硬件,结果证明方案的硬件设计正确,程序也符合要求。 目录 1 概述 ………………………………………………………………………………3 1.1单片机原理及简介……………………………………………………………3 1.2设计任务………………………………………………………………………4 1.3基本要求………………………………………………………………………4 1.4系统功能………………………………………………………………………4 2 系统总体方案及硬件设计 ………………………………………………………5 2.1系统总体原理框图……………………………………………………………5 2.2键盘工作原理及中断…………………………………………………………5 2.3数码管显示……………………………………………………………………7 2.4显示驱动电路…………………………………………………………………9 2.5报警电路……………………………………………………………………11 3 软件设计…………………………………………………………………………11 3.1 软件流程……………………………………………………………………11 3.2 行列式键盘输入及按键功能设定…………………………………………12 3.3 动态数码显示………………………………………………………………13 3.4 数码显示方式处理…………………………………………………………13 3.5 算法运算的实现……………………………………………………………13 4 Proteus 软件仿真………………………………………………………………15 4.1用keil编译、调试程序……………………………………………………15 4.2用keil生成hex文件………………………………………………………15 4.3用proteus仿真………………………………………………………………16 5 课程设计心得……………………………………………………………………17 参考文献……………………………………………………………………………17 附1源程序代码 …………………………………………………………………18 附2系统原理图……………………………………………………………………28 |
查看评论
已有0位网友发表了看法