全球旧事资料 分类
示、、×、÷运算符号,用8位数码管显示键入的数字和运算的结果。键入时依次显示并自动移位,例如18927,先键入1,显示1,再键入8,1自动左移一位显示18,键入,LED点阵显示,键入9,数码管之前显示的18消失并重新显示为9,键入27。数码管显示键入的数字和结果0;LED点阵显示加减乘除符号;4×4矩阵键盘分别代表按键:按键S0S9代表数字按键19,按键S10代表数字按键0,按键S11S16代表、、×、÷、=、C,其中C按键为计算器清零按键;这16个矩阵键盘的按键分配不同的蜂鸣器频率,使得其按下时有不同的声音以便分别。
(2)设计方法:
89C52单片机
数码管
LED点阵
矩阵键盘
蜂鸣器
编写一段程序,在上电之后或按复位键之后2个4位数码管分别自动显示2个同学学号的后4位。通过矩阵键盘,LED点阵,数码管完成计算器功能。数字及结果在数码管上显示,+、-、×、÷、=在LED点阵上显示,C键为清零键,每个按键对应不同的音频。
(3)程序流程图:
4
f89C52单片机:
C89C52有40个引脚,4个8位并行IO口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时计数器。STC89C52的存储器系统由4K的程序存储器(ROM,和128B的数据存储器RAM组成。
STC89C52引脚图:
5
f数码管:
这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点),如下图所示。图中的8个LED分别与上面那个图中的ADP各段相对应,通过控制各个LED的亮灭来显示数字。
LED点阵:
6
f矩阵键盘:
首先辨别键盘中有无键按下,有单片机IO口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总
7
f会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入
状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如
果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此
列,而且是在与零电平行线相交的交点上的那个键。
4、程序清单:


实验名计算器
使用的IO
数码管使用P0P22P23P24键盘使用P1点
阵使用r
好听全球资料 返回顶部