实验三 七段数码管 一、实验目的: 进一步熟悉8255,掌握数码管显示数字的原理 二、实验原理: 1、 实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中
2、 七段数码管的字形码: 3、 在实验2 中加入键盘是否有输入判断,如有则去读取键盘输入数据,并加入提示信息,比如“输入十位数”,“输入个位数”,从键盘读入的数据放入十位和个位数据定义区,取代要显示的数据
4、 只需要添加两位变量作为缓存,一个记录键盘输入的值,一个记录循环减 1 的结果,将其通过数码管显示出来,减至 0 时重载键盘输入的值
三、实验步骤: 静态显示:将 8255 的A 口 PA0~PA6 分别与气短数码管的段码驱动输入端A~G 相连,位码驱动输入端S1 接+5V(选中),S0、DP 接地(关闭)
动态显示:七段数码管段码不变,位码驱动输入端S1,S0 接 8255 C 口的PC1,PC0
8253 的接法参考第二次实验的接法,CLK0 接入1MHz,CLK1 接 8255 的PC7
1、在两个数码管上显示两位数字,要求延时应用 8253 硬件延时 2、可以改变数码管显示数字,从键盘读入两位数字,并在数码管显示出来
3、对输入数据进行倒计时计数,时间显示在数码管上,计到 0 重新开始
四、流程图: Y N N Y Y 开始 对 8255 进行初始化编程 设置 8255C 口输出 A 口输入 从键盘读入数据 根据十位获得段码,高位输出至数码管 延时 根据个位获得段码,低位输出至数码管 延时 循环显示这个数 n
要输出的数字等于 0
要输出的数据减 1 重新载入输入的数据 五、实验结果: 实验结果如预期一致,可以键盘输入倒计时的值,时间显示在数码管上,计数到 0 重新计数
六、程序代码: ;***********