姓 名:
专 业:
实验时间:
评定成绩:《微机实验及课程设计》实验报告 学号 61011108 东南大学 实验报告 实验六 8255 并行输入输出 学 号: 61011108 吴院电类 实 验 室: 2013年04月30日 报告时间: 2013年05月2日 审阅教师:
《微机实验及课程设计》
一. 实验目的
1)掌握 8255 方式 0 的工作原理及使用方法,利用直接输入输出进行控制显示;
2)掌握 8 段数码管的动态刷新显示控制;
3)分析掌握 8255 工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二. 实验内容
必做:
6-1、8段数码管静态显示: 编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。
6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f,参考程序p69)
选做:
6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII码不是数字(0~9),数码管显示E字母。
6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出)
三.实验原理与接线
(1)8255 方式 0:简单输入输出
实验电路如图 3.7-1,8255C 口输入接逻辑电平开关 K0~K7,编程 A 口输出接 LED 显示电路 L0~L7; 用指令从 C 口输入数据,再从 A 口输出。
(2)编程将A 口 L0-L7控制成流水灯,流水间隔时间由软件产生;流水方向由 K0键在线控制,随时 可切换;流水间隔时间也可由 K4~K7 键编码控制,如 0000 对应停止,0001 对应 1 秒,1111 对应 15 秒,大键盘输入 ESC 键退出。
(3)8 段数码管静态显示:按图 3.7-2 连接好电路,将 8255 的 A 口 PA0~PA6 分别与七段数码管的段 码驱动输入端 a~g相连,位码驱动输入端 S1 接+5V(选中) ,S0、dp 接地(关闭) 。编程从键盘输
入一位十进制数字(0~9) ,在七段数码管上显示出来。
(4) 8 段数码管动态显示:按图 3.7-3 连接好电路,七段数码管段码连接不变,位码驱动输入端 S1、 S0接 8255 C口的 PC1、PC0。编程在两个数码管上显示“56” 。 (注意字符变换之间应使段位全灭,避免显示“影子”
七段数码管的字型代码表如表
3.7-1:
编辑提示:
1、实验台的七段数码管为共阴性,段码同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码的输入端高电平选中。
2、8255的A口、B口、C口和控制口的端口地址分别为288H~28BH。编程首先要设置控制字输出到控制口。
3、逻辑电平开关向上拨到“1”时输出高电平;向下拨到“0”时输出低电平。
4、动态显示时应先从A口输出段码,然后再从C口输出位码,然后应该延时一段时间才能看到数码管的显示。
其中段码需要查表
Led db 3fh,06h,…………71h
位码分别为:左边的数码管xxxxxx10
右边的数码管xxxxxx01
5、动态显示时为了使两个数码管的字符可以同时看到,应注意延时的时间。
6、注意字符变换之间应使段位全灭,避免影子。
实验接线图(静态显示)
姓 名:
专 业:
实验时间:
评定成绩:《微机实验及课程设计》实验报告 学号 61011108 东南大学 实验报告 实验六 8255 并行输入输出 学 号: 61011108 吴院电类 实 验 室: 2013年04月30日 报告时间: 2013年05月2日 审阅教师:
《微机实验及课程设计》
一. 实验目的
1)掌握 8255 方式 0 的工作原理及使用方法,利用直接输入输出进行控制显示;
2)掌握 8 段数码管的动态刷新显示控制;
3)分析掌握 8255 工作方式1时的使用及编程,进一步掌握中断处理程序的编写。
二. 实验内容
必做:
6-1、8段数码管静态显示: 编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。
6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f,参考程序p69)
选做:
6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII码不是数字(0~9),数码管显示E字母。
6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出)
三.实验原理与接线
(1)8255 方式 0:简单输入输出
实验电路如图 3.7-1,8255C 口输入接逻辑电平开关 K0~K7,编程 A 口输出接 LED 显示电路 L0~L7; 用指令从 C 口输入数据,再从 A 口输出。
(2)编程将A 口 L0-L7控制成流水灯,流水间隔时间由软件产生;流水方向由 K0键在线控制,随时 可切换;流水间隔时间也可由 K4~K7 键编码控制,如 0000 对应停止,0001 对应 1 秒,1111 对应 15 秒,大键盘输入 ESC 键退出。
(3)8 段数码管静态显示:按图 3.7-2 连接好电路,将 8255 的 A 口 PA0~PA6 分别与七段数码管的段 码驱动输入端 a~g相连,位码驱动输入端 S1 接+5V(选中) ,S0、dp 接地(关闭) 。编程从键盘输
入一位十进制数字(0~9) ,在七段数码管上显示出来。
(4) 8 段数码管动态显示:按图 3.7-3 连接好电路,七段数码管段码连接不变,位码驱动输入端 S1、 S0接 8255 C口的 PC1、PC0。编程在两个数码管上显示“56” 。 (注意字符变换之间应使段位全灭,避免显示“影子”
七段数码管的字型代码表如表
3.7-1:
编辑提示:
1、实验台的七段数码管为共阴性,段码同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码的输入端高电平选中。
2、8255的A口、B口、C口和控制口的端口地址分别为288H~28BH。编程首先要设置控制字输出到控制口。
3、逻辑电平开关向上拨到“1”时输出高电平;向下拨到“0”时输出低电平。
4、动态显示时应先从A口输出段码,然后再从C口输出位码,然后应该延时一段时间才能看到数码管的显示。
其中段码需要查表
Led db 3fh,06h,…………71h
位码分别为:左边的数码管xxxxxx10
右边的数码管xxxxxx01
5、动态显示时为了使两个数码管的字符可以同时看到,应注意延时的时间。
6、注意字符变换之间应使段位全灭,避免影子。
实验接线图(静态显示)