黄亮教授解析动态扫描显示电路与数字电子技术要点

版权申诉
0 下载量 171 浏览量 更新于2024-07-07 收藏 373KB PPTX 举报
本资源是关于数字电子技术基础的习题课5,由黄亮副教授在北京交通大学电子信息工程学院讲解。课程主要聚焦于动态扫描显示电路的设计和应用。动态扫描显示电路利用人眼的视觉暂留现象,通过一个显示译码器驱动多块数码管同时显示信息,实现了多位数字的实时显示。 课程的核心组成部分包括: 1. 方波发生器:用于生成高频信号,如2048Hz的方波,这是后续电路工作的基础。它可以调整为输出高电平或低电平,满足不同电路需求。 2. 分频器:将方波发生器产生的2048Hz信号进行分频,降低到1Hz的频率,形成同步脉冲,便于控制数码管的刷新速率。 3. 数据选择器:如74LS157,用于在两个输入信号中选择一个输出,确保译码器接收正确的数据。 4. 2-4译码器:如74LS139,将地址信号转换为多路输出,以便驱动多个数码管的不同段。 5. 显示译码器:如74LS48,接收编码的数字信号,将其转换为相应的驱动数码管显示的控制信号,采用共阴极显示方式。 6. 数码管:由abcdefg段构成,根据这些段的高、低电平组合,显示0~9的不同数字。在共阴极数码管中,公共端COM接地,当某一字段的阳极接高电平时,该字段显示。 动态扫描显示的工作原理是,首先,方波发生器产生的低频信号通过分频器,然后选择器将数据传递给译码器,译码器根据接收到的编码生成对应的数码管段驱动信号。当显示译码器的输出与数码管的公共端COM相连时,相应的字段会因阳极电位变化而点亮。通过这种方式,实现了动态且同步的多位数字显示。 这堂课深入浅出地讲解了数字电子技术中的动态扫描显示技术,涉及了数据选择、编码解码、时序控制等多个关键环节,对于理解和应用此类技术具有重要的指导价值。

修改C51代码添加数码管显示倒计时时间: #include <reg52.h> #define uchar unsigned char #define uint unsigned int //定义全局变量:t0为0.5s定时函数的变量;t1为 0.5s*n (级联时间)定时函数的变量 unsigned char code_play[]={0xf3,0xfb,0xeb,0xde,0xdf,0xdd}; uchar t0 , t1; //***0.5s标准定时函数*** void Delay_0_5s() { for(t0=0;t0<2;t0++) { TH1 = 15536/256;//设定初值 TL1 = 15536%256; TR1 = 1;//启动T1 while(!TF1);//查询计数是否溢出,即50ms时间到,TF=1 TF1 = 0;//50ms时间到,将定时器溢出标志位TF1清零 } } //*** 0.5s*n(时间级联)函数 void Delay_0_5_ns(uchar t) { for(t1=0;t1<t;t1++) { Delay_0_5s(); } } //***主函数 void main() { uchar k; TMOD = 0x10;//T1工作方式1(一般固定) EA = 1; //{东西绿亮,南北红亮(1);闪烁(2);东西黄亮,南北红亮(3);东西红亮,南北绿亮(4);闪烁(5);东西红亮,南北黄亮(6) while(1) { //状态1:东西绿亮,南北红亮,4s P1 = code_play[0]; Delay_0_5_ns(8); //状态2:东西方向绿灯闪烁2s,南北方向红灯继续亮2s(定义闪烁亮灭分别为0.5s) for(k=0;k<2;k++) { P1 = code_play[0]; Delay_0_5_ns(2); P1 = code_play[1]; Delay_0_5_ns(2); } //状态3:东西黄亮,南北红亮,2s P1 = code_play[2]; Delay_0_5_ns(4); //状态4:东西红亮,南北绿亮,4s P1 = code_play[3]; Delay_0_5_ns(4); //状态5:南北方向绿灯闪烁,东西方向红灯继续亮2s for(k=0;k<2;k++) { P1 = code_play[3]; Delay_0_5_ns(2); P1 = code_play[4]; Delay_0_5_ns(2); } //状态6:东西红亮,南北黄亮,2s P1 = code_play[5]; Delay_0_5_ns(4); } }

2023-06-08 上传