微机原理与接口技术实验报告3-动态数码管
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
while(t--);
//通过执行“t”条空语句达到延时
}
void main()
{
int i,light[8]={0xee,0xfe,0x9c,0xfc,0x60,0xda,0xf2,0x66};//i 为循环变量,light 数组包含了
“ABCD1234”对应的二进制数
while(1)
//制造死循环让数码管维持常亮
五:算法分析:
通过控制 J16 不同位为低电平的顺序使数码管依次点亮,通过对数码管“a、b、c、d、
e、f、g”赋值 0 或者 1 实现显示“ABCD1234”的功能。
六:实验程序:
#include<reg52.h>
void delay(int t)
//延时函数,用于使每一个数码管显示都能维持一段时间
位的二进制数加 4
}
}
}
七:实验结果:
数码管最终能从左至右依次显示“ABCD1234”,且肉眼可见维持全部常亮状态。
ห้องสมุดไป่ตู้八:结果分析:
在依次点亮数码管时候选择合适的延时很重要,如果延时太久,则会导致肉眼可见数码
管显示的字符是一个一个的向右移动。另外,编程应该分步骤进行,先测试一下 P0 口不同
赋值对数码管显示图形的影响,搞清楚每一位对应数码管哪一个发光二极管。还要测试一下
{
P2=0x00;
//给 P2 赋初值,选择第一个数码管先亮
for(i=0;i<8;i++) //循环,让数码管从左到右依次点亮
{
P0=light[i]; //让 P0 按数组输出恰当的八位二进制数使数码管显示对应字符
delay(100); //延时,让数码管点亮后维持一段时间
P2+=4;
//P2 的 2,3,4 端组成的三位二进制数每增加一相当于 P2 这个 8
微机原理与接口技术实验报告 3_动态数码管
武汉大学物理科学与技术学院
一:实验名称:
动态数码管实验。
二:实验要求:
数码管从左至右依次显示 ABCD1234。
三:模块连线:
JP10(P0)接 J12、J21 跳线帽接左边、74LS138 的 ABC 分别连 P2.2、P2.3、P2.4。
四:芯片说明:
74LS138 为 3-8 线的译码器,可实现一位 0-7 十进制数与三位二进制数的转换。
P2 口的输出与 74LS138 三个输入端的对应关系,因为这些对应关系都会因接线正反的不同
2016 年 10 月 25 日星期二
而颠倒。
2016 年 10 月 25 日星期二