1、 1 目录: 1、 课题目标 2 2、 系统总体设计方案规划与选定 2 3、 硬件设计 2 4、 软件设计 3 4.1 主程序流程图 4 4.2 键盘读取程序流程图 5 4.3 显示函数流程图 6 4.4 数值转换流程图 6 5、 调试 7 6、 新增功能及实现方法 10 7、 小结与体会 11 8、 参考文献 12 9、 附录(源程序代码、电路图等) 12 2 1.课程目标课程目标 设计一个计算器, 实现两个 4位数 (含整数和小数) 的加减乘除, 运算功能数据输入及运算结果显示与平时使用计算机相同。用 8279 接口实现,4*5 键盘及 8 位 LED 灯显示。 20 个键包括 09 共
2、10 个数字键, + , - , * , /共 4 个运 算键, =键,小数点键以及清零键,剩余 3个键可以自由发挥。系 统复位后,应在最右边 LED 上显示 0。 2.系统总体设计方案规划与选定系统总体设计方案规划与选定 由于本学期学习了 C51 单片机的课程,此次的单片机选择了 AT89C51。 同样因为前段时间的实验使用过 LED, 所以这次显示屏幕 还是选择了 LED 的显示屏,方便操作和使用。接口部分课程规定要 用 8279,其功能十分强大,读取键盘等都十分便利,利于 LED 灯和 键盘的扩展, 其中还使用了 74HC138, 74LS373 配合电路的实现和连 接。 3.硬件设计硬
3、件设计 AT89C51 通过 8279 扩展键盘和 LED 灯,其中 P0口作为单片机 芯片与 8279 传递命令,状态, 数据的端口, P2 口通过 P2.0 的状态来 区分 8279 是状态字传送还是数据传送。 INT0 口与 8279 的 IRQ 连接, 当有键按下时会产生一个中断,从而执行中断程序。 8279 中的 SL0,SL1,SL2 产用编码模式,通过一个 74HC138 可以控制 8 条线,其中 4 条线分别和键盘行线相连接,作为扫描线。 同时 8279 中的 RL04 作为键盘的列线,当键盘上有键按下时,可以 3 通过扫描值和返回值得到键的准确位置, 从而根据位置执行不同的函
4、 数。 8279的OUTA,OUTB共8个端口通过一个74LS373与LED相连, 作为 LED 的数据线,而 8个 LED 灯的片选端由 8279 的 SL0,SL1, SL2 控制。 (详细电路图见附录一) 4.软件设计软件设计 4.1 主程序流程图主程序流程图 是 4.2 键盘读取程序流程图键盘读取程序流程图 开始 清零,开中断,等待中断 有无键按下? 读键盘, 计算, 返回结果 对结果进行转化 显示结果 否 4 4.3 显示函数流程图显示函数流程图 开始 判断按下的键是不 是在功能键码表里 查表, 根据返回的键值来判断是什么 数字,同时判断标志变量做相应处 理,将键转化为数值 否 键盘读取完毕,将数值返回,留作下 个函数的参数 查功能键码表, 确定是那个键并执行 不同的程序, 同时对标志变量进行操 作 是 5 4.4 数字转换流程图数字转换流程