目录一、任务说明…………………………………………………………………………2二、原理图绘制说明…………………………………………………………………3三、流程图绘制以及说明……………………………………………………………5 1 显示程序设计……………………………………………………………………5 2 键盘识别程序设计………………………………………………………………6 3 运算程序设计……………………………………………………………………8 4 风鸣器程序设计…………………………………………………………………9四、PROTEUS 仿真说明 ……………………………………………………………10五、课程设计体会 ………………………………………………………………15附 I:计算器电路原理图……………………………………………………………16附 II:源程序代码 …………………………………………………………………17参考文献 ……………………………………………………………………………34一、任务说明本设计是一个实现加、减、乘、除的计算器,它的硬件主要由四部分组成,一个AT89C51 单片机芯片,一个八位共阳极的数码管,一个四乘四的键盘,一个排阻做 P0口的上拉电阻,它可以实现结果低于 65535 的加、减、乘、除运算。采纳动态显示,由八位共阳极数码管通过 P0 口,P2 口与单片机相连,数码管的A,B,C,D,E,F,G,DP 分别依次与单片机的 P0.0—P0.7 相连,P0 口做为字码控制端,数码管的 1,2,3,4,5,6,7,8 各引脚分别与单片机的 P2.0—P2.7 相连,P2 口做为数码管的位控制端,动态显示是每次数码管只显示一位,由于人的视觉停留是 0.05 到 0.2秒之间,当数码管依次点亮各个位时,使循环的频率高于人的视觉停留时间,人们就会认为数码管是同时点亮的,就可以达到动态显示的效果。采纳 4*4 键盘。采纳软件识别键值并执行相应的操作,键盘的第 0 行到第 3 行依次与单片机的 P3.4—P3.7 管脚相连,键盘的第 0 列到第 3 列依次与单片机的 P1.0—P1.3 管脚相连,程序运行时依次扫描各行,查询是否有键按下,假如有则进入键盘识别处理程序,实现相应的运算,然后通过数码管输出结果,假如没有按键就调用显示程序显示一个 0,等待按键按下,在进入按键扫描程序。这样循环执行。基本功能如下:1.计算器可显示 8 位数字,开机运行时,只有数码管最低位显示为“0”,其余位全部不显示;2.第一次按...