
项目2数码管电子钟制作任务1数码管显示器数字显示任务1数码管显示器数字显示任务要求任务分析硬件电路设计与施工软件编写任务执行任务要求:点亮8位数字管显示单元,接通电源后,8位数字显像管将稳定地从左到右显示数字12345678,如下图所示。任务分析:①数字管的工作原理②多位数字管的动态扫描①数字管的工作原理数字管段码计算表字符代码0 1 1 0 0 0 0 0 0 0 XC0 1 1 1 1 1 1 1 0 0 1 0XF9 2 1 0 1 0 0 1 0 0 0XA4 3 1 0 1 1 0 0 0 0 0XB0 4 1 0 0 1 1 0 0 1 0X99 5 1 0 0 1 0 0 0 0 0X92 6 1 0 0 0 0 0 0 0 0X82 7 1 1 1 1 1 0 0 0 0XF8 8 1 0 0 0 0 0 0 0 0X80 9 1 0 0 1 0 0 0 0 0 0X90 dp gfedcba P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0段码②多位数字电子管的动态扫描显示多位8段数字电子管时,为简化硬件电路,通常为所有数字。段线选择相应地并联连接,并由单片机的8位I / O端口控制,以形成段线选择的多路复用。

每个数码管的公共电平由单片机的独立I / O端口线控制,每个数码管按顺序和周期点亮。这种数码管驱动方法称为“动态扫描”。这样,尽管一次只选择了一个数码管,但由于人眼有一定的“视觉残留”,只要正确设置延迟时间,您就会感觉到同时点亮了多个数码管。 。硬件电路设计与构建1、硬件电路设计2、搭建电路数字显示数字显示电路原理图设计74LS377锁存器介绍74LS377是锁存器,控制端口:E为低功耗,选择74LS377锁存芯片,当CP为在上升沿,输入信号可以锁定到芯片中。 74LS377真值表74LS377引脚图数字管显示数字硬件模块的接线图(YL-236微控制器培训设备)+ 5V GND MCU04显示模块D0〜D7 CS1 CS2 WR MCU02电源模块P0.0〜P0.7 P2.7 P2.6P3.6 MCU01 + 5V GND + 5V GND主机模块软件编程1、主程序流程图2、参考程序3、程序知识点1、主程序流程图开始显示子程序开始关闭数字电子管初始化:定义数字电子管芯片选择,位选择和时钟端口,数组发送要显示的字符代码,发送要显示的字符的位扫描代码,主要函数周期性地调用扫描函数并延迟一段时间。时间过去后,修改的变量的位置和字位数据都显示出来了吗?是否返回段码0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 // 1〜8 2、参考程序}; void delay(unsigned char a){while(a--); // delay Delay} void display(){static unsigned char i; //定义控制变量PX = 255; //防止余辉DM = smg [i]; //将值分配给DM PX =〜(0x80 >> i); //片选信号i ++; //将变量加1,显示下一位i&= 7; //扫描总共8位数字} void main(){while(1){display(); //调用显示函数delay(255); //适当的延迟,减少刷新频率}}}编程知识点:(1)MCU外部数据和总线概念(2)“&”运算和“ |”运算(3)“〜”和“!”反转运算(4)“”移位运算(1)MCU外部数据和总线概念unsigned char xdata DM _at_ 0x7fff; //外部地址段代码unsigned char xdata PX _at_ 0xbfff; //选择外部地址片进行分配时,首先,端口P2输出其地址的高8位,端口P0输出地址的低8位。

然后,P0端口输出分配的数据,WR(P3.端口6)输出写定时脉冲。例如:当分配外部变量DM时,首先发送地址,P2分配为0X7F,P0分配为0xff。然后,P0端口输出分配数据,WR输出写定时脉冲。 (2)“&”运算和“ |”运算①按位与运算符(&)该运算涉及的两个运算,如果两个对应的位均为1,则该位的结果为1,否则为0。 0&0 = 0 0&1 = 0 000000011&000000010 1 1&0 = 0 1&1 = 1 ----------------------------- 000000001②按位或运算符(|),只要两个对应位之一为1,则该位的结果为1。即:0 | 0 = 0 0 | 1 = 1 1 | 0 = 1 1 | 1 = 1000 100 | 0000111111 ----------------------------- 00111111111(3)“〜”和“!”反运算①根据位置负运算符(〜 )②逻辑取反运算符(!)参与运算的按位运算值,如果运算值是0,则输入反转;如果输出1,如果不是0,则输出0.〜0000000011-- --------------------------- 111111100!000011111 -------------------- --------- 0(4)“”移位操作①左移位操作(>“左侧操作数的二进制位都向右移位,“ >>”右边的数字指定移动的位数。高位用0填充,其值等于2除。PX =〜(0x80 >> i
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-338007-1.html
商会是政府办的么
那些所谓的创新公司靠圈钱过日子
不明白的是号称民主国家的美国竟不顾天下苍生