用C语言编写一个在八个数码管上轮流显示1-8的程序
我的计划是由模拟的程序制成的。这是非常简单的0。
---使用7 4 HC5 7 3 芯片显示显示。
在(x = z; x> 0; x)中(y = 1 2 0; y> 0)
verilog数码管静态显示。 。 。 。 。 。 可以按照这程序给我说说它的运行过程吗?
首先,您必须能够知道装饰段,不是吗? 如果没有解释,各种符号将显示数字管,以显示各种的不同以及显示不同的解释。4 'h0:sm_seg = 8 'hc0:sm_sg = 8 'hp9 :sm_sg = 8 'he4 , “ 4 ” 4 “ 4 ” h3 :8 'hb = 8 'hb = 8 'h 5 'h 5 'h 5 'h5 :5 'h 5 'h 5 'h 5 'h 5 't 5 'h 5 'h 5 '' <5 'h] sm_sg = 8 'h8 2 )显示“ 6 'h:4 'h6 :4 'h6 ; show“ 8 'h9 :sm_seg = 8 'h9 0; / 8 'h_sg = 8 'h8 ; “ b” sm_seg = 8 'hc6 ; ://显示“ f” fo“。
查看以下代码:始终 @(当时wald @ 0000柜台到达柜台到达柜台时到达柜台3 0k >>>>>>>>>他们是mays,他们是我的沿着我的下落,在off of down of down of the of down of down of the of down of down of down of the of down of the of the Field Aciption in the Fait中的现场激活SM_SEG,将数字管的用于数字。
该管以0-9 A-F作为临时时间(即时间周期)自动跳过。
求一份用verilog设计电子日历的。 最好详细点。 感谢了!!!!急
4 .1 显示原理设计显示部分:时钟从0:0:00:00,000开始,这意味着数字管显示000000,然后添加1 个每秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二秒第二个第二秒第二秒第二秒第二秒第二秒,添加1 ,然后在第二个甜菜达到5 之后返回到0。1 0,即5 9 秒,在几分钟内加1 ,然后在1 0秒内返回0。
依此类推,时钟的最大显示值为2 3 小时,5 9 分钟和5 9 秒。
只要在这里确定1 次,其他叮咬就会基于此积累。
同时,当时钟达到最大值时,天数也将增加一个。
也增加了1 根据不同的月份,太阳日历中显示的天数为2 8 、2 9 、3 0和3 1 天。
随着1 的增加,依此类推,显示了日历永久的现实。
此外,您可以看到连接方法的一般电路图,因此我不会在此处解释。
显示一些电路图4 .1 1 永久日历优化算法1 日历算法相对简单,并且十月的天数相当固定。
只有2 月,这是跳跃年份的2 9 天,非莱普(Non -Leap)的2 8 天。
每个月的日历安排。
这是确定每个月第一天的一周中的哪一天。
我们知道1 9 01 年1 月1 日是星期二,本周的变化是每个周期的7 天。
直到1 9 01 年2 月1 日,总共经过3 1 天(可以从表1 中可以看出),模型3 1 至7 是1 月3 日:1 ,I9 01 是星期二,在加三个之后,这是星期五。
因此,1 9 01 年2 月1 日是星期五。
同样,可以考虑到1 9 01 年至2 1 00年的每一天都是一周中的一天。
表1 2 3 4 5 6 7 8 9 1 1 1 1 2 LEAP 3 1 2 9 3 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 3 03 1 2 其中一些是太阳能和日历日之间的字母; 这只是与设计相关的月球和太阳日历之间的关系。
表2 位01 2 3 4 5 6 7 8 9 1 1 1 1 2 1 3 1 4 1 5 数据!!! (总共1 6 位)在表2 中显示。
其中,“ 0” in”!(0/1 )表示3 0天,而“ 1 ”表示2 9 天。
” XXXX(4 位可以代表数字范围0〜1 5 )“意味着今年是否有跳跃月,“ 0”的值表示没有跳跃月亮,“ 1 〜1 2 ”表示特定的跳跃月。
可以通过在此处解决的特殊声明来解决2 00x2 2 2 2 2 年= 4 00个字节需要形成压缩月的日历数据表。
以下登月日以及可以使用以下算法:(1 )从1 9 01 年1 月1 日到1 9 01 年2 月1 日,认为3 1 已通过(2 )根据月历数据表,有2 9 天1 9 00年1 1 月,因此3 1 -2 9 = 2 天。
直到情况达到时钟为止,DS1 3 02 日历显示的设计可以使用数年,几个月和几周。
1 3 02 有1 2 个寄存器,7 个与日历和时钟有关。
,控制列表,充电列表,时钟断开和与RAM相关的寄存器等等。
单个RAM包含3 1 个单元,每个单元都配置为8 位字节,其寿命。
控件的单词为C0H〜FDH,读取奇数,数字也写入操作; 单词控件是FEH(写)和FFH(读)。
4 .2 .2 DS1 3 02 软件与硬件与时间显示CPU之间的连接实际需要三行,即Sclk(7 ),I/O(6 )和RST(5 )。
图3 显示了DS1 3 02 和8 9 C2 05 1 连接图,其中LCD用于显示时钟。
4 .2 .3 DS1 3 02 和CPU之间的连接实际上,在卸载程序时,您只能在不添加电容器的情况下添加3 2 .7 6 8 KHz Crystal振荡器。
选择晶体振荡器时,不同的晶体振荡错误也很大。
另外,DS1 8 B2 0也可以添加到上述电路中以显示真实的时间温度。
仅占据一个CPU端口。
LCD也可以用LED代替,还可以使用北京Weixinjie Technology Development Co.,Ltd。
生产的LCM1 01 多段LCM显示模块,其中包含WatchDog(WDT)/小时的发电机和两个蜂鸣频率。
功耗很低,在显示条件下电流为2 μA(典型值),在节能模式下小于1 μA,并且操作电压为2 .4 V至3 .3 V,并带有清晰的显示。
4 .3 总体设计实现过程:DS1 3 02 串行时钟芯片发送到微控制器,并处理了微控制器和输出。
7 4 LS1 6 4 使串行信号成为并行信号,每个信号对应于七个LED段代码,三个1 6 4 匹配三线LED数字管。
MicroController P2 .6 -P2 .0连接到七个晶体管作为列驱动器,共有7 个数字管极。
整个过程显示在方案图中。
4 .4 系统软件设计4 .4 .1 程序流程图
数码管显示三位数循环
Verilog语言可以定义计数器和控制信号,以实现数字管道显示的三位数周期。在Verilog语言中,可以定义三个计数器CNT1 ,CNT2 和CNT3 ,以便显示数百,十或单个位。
还定义一个可变的flag_value以显示当前显示的数字。
首先,flag_value 0的值是,这表明必须显示不显示数字。