1、 1 电子系统课程设计 设计题目: 基于 STC51 单片机的计算器 学院:信息科学与技术学院 专业:电子信息科学与技术 日期:2011 年 11 月 2 一一、确定计算器完成的功能确定计算器完成的功能 1. 整数加减乘除法。 2. 小数的除法。 3. 矩阵键盘输入指令。 4. 每按一次键蜂鸣器发声一次。 5. 计算结果显示。 二、二、系统方案设计与论证系统方案设计与论证 使用单片机 STC51 完成计算器的加减乘除法运算,并且显示结 果。 1.各模块方案设计各模块方案设计 1.1 单片机的选择 要求单片机完成简单的整数加减乘除法、处理 4*4 矩阵键盘 的输入数据、控制显示器件显示输入的数据
2、与运算的结果、控制蜂鸣 器的发音。 根据单片机完成的功能对单片机的处理速度要求不高,且考 虑到经济效益,决定使用 STC51 单片机。 1.2 单片机最小系统单片机最小系统 1.2.1 晶振选择 24MHZ,使 STC51 单片机速度跟快,并且 价格和 12MHZ 差不多。 1.2.2 为了防止单片机程序进入死循环而出不来,增加一个 复位键。 3 1.3 显示器件的选择显示器件的选择 方案一、 使用 12864 作为显示设备, 但是考虑到计算器只要求 显示数字,使用 12864 太浪费,且价格比较贵,不予选用。 方案二、使用 1602 作为显示设备。相比 12864 这个器件比较 便宜,且能显
3、示数字和一些字符,能完成要求功能。 方案三、 使用数码管作为显示设备。 数码管能显示数字和一些 特殊字符,而且计算器要求的显示器件能显示数字和一些特殊字符。 所以数码管能完成我们的要求显示要求,并且数码管是最便宜的。 综上所述我们选择性价比最高的数码管作为显示器件。 1.4 输入设备的选择输入设备的选择 计算器要求输入的数据有 (0,1,2,3,4,5,6,7,8,9,*,/,+,-,=,clear),共 16 个。输入数据不 多,最后选择 4*4 的矩阵键盘作为输入设备。 1,5 声音信号声音信号 现实中使用的计算器每按下一次键盘,就会发出声音。因此设 计的计算器应该要求每按下一次键盘就发声
4、一次。 发声设备使用蜂鸣 器就能完成要求。 三、实际电路的设计三、实际电路的设计 1. 1. 单片机最小系统单片机最小系统与复位电路与复位电路 1.1 单片机最小系统是指用最少的元器件组成的单片机可以 工作的系统。 4 1.2 31 脚(EA/VPP),当接高电平时,单片机在复位后从内部 ROM 的 0000H 开始执行;当接低电平时,复位后后直接从外部 ROM 的 0000H 开始执行。我们只使用的单片机内部的 ROM 区,所以 31 脚 (EA/VPP)应接高电平。 1.3 复位电路: 由电容串联电阻构成,由图并结合“电容电压 不能突变“的性质,可以知道,当系统一上电,RST 脚将会出现高电平, 并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机 当 RST 脚的高电平持续两个机器周期以上就将复位,所以,适当组合 RC 的取值就可以保证可靠的复位. 5 2.2.蜂鸣器电路蜂鸣器电路 三极管主要是做驱动用的。因为单片机的 IO 口驱动能力不够 让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可 以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极 电流