单片机中如何通过编程来获取LED数码管的段码
可以这样实现:定义一个消隐段码(现在你已经实现了数字0~9的段码),该段码使数码管所有段(即LED)全部熄灭,定义在段码表LED_code[10]位置(LED_code[9]对应数字9);之后你可以在点亮数码管之前取段码的程序中增加前导0的判断(很简单,请自己思考怎么实现),若判断是前导0,则P0=~LED_code[10](取代楼主之前的P0=~LED_code[led_num[i]],此时led_num[i]=0)。
OK!
4位共阳数码管动态扫描显示汇编程序 吗
大多情况下,提到真六段和假六段这个概念只是生产厂家的一个噱头,从技术上层面讲,6段即6个像素,只要内置芯片或外置控制器能将其完成6个像素的任何变化,不管是1/2扫描还是静态扫描,就是真正的6段6像数(相对应于LED数码管行业),否则就是假6段。
假6段不能完成你随性所欲的变化效果。
proteus 仿真 数码管不亮
1、检查数码管是共阴还是共阳,A表示共阳,K表示共阴。
或者直接给公共端接高电平或者低电平,段码端一部分接高电平,一部分接低电平,这样数码管亮的话看公共端接的是高还是低电平就可以判断了。
2、看你接的限流电阻是不是太大,大于1K的值有可能不亮,最好不要接限流电阻。
做实际的实物电路再加上470欧姆。
3、是不是接到51单片机的P0口了,接到P0口必须加上拉电阻,否则不会亮。
4、如果是程序控制数码管,注意延时时间的长短,太短会看不到亮。
为什么这个单片机程序运行后数码管不亮
//假设接共阴极数码管unsigned char ledmap[] = {0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66,/*4*/0x6D,/*5*/0x7D,/*6*/0x07,/*7*/0x7F,/*8*/0x6F,/*9*/0x77,/*A*/0x7C,/*b*/0x58,/*c*/0x5E,/*d*/0x79,/*E*/0x71,/*F*/};……SBUF = c; // 要发送的字符放入缓冲区 while(TI == 0);TI = 0;//假设只有一位数码管,若有多位数码管,就单独编写个显示程序,然后调用吧P1=ledmap[c&0x0f];//设数码管段码接P1口,接收的数据应该不大于0x0f;P2=0x01;//数码管位码控制}}
设计一个电子秒表,通过软件延时方式实现秒计时通过两个数码管动...
单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。
科研成果保护是每一个科研人员最关心的事情,目的不使自己的辛苦劳动付注东流加密方法有软件加密,硬件加密,软硬件综合加密, 时间加密,错误引导加密,专利保护等措施有矛就有盾,有盾就有矛,有矛有盾,才促进矛盾质量水平的提高加密只讲盾,也希望网友提供更新的加密思路,现先讲一个软件加密:利用MCS-51 中A5 指令加密,(本人85 年发现的,名软件陷阱),其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令A5 功能是二字节空操作指令加密方法在A5 后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5 指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序,你应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护我曾抓到过一位获省优产品仿制者,我说你们为什么把我的名字也写到你的产品中?硬件加密:8031/8052 单片机就是8031/8052掩模产品中的不合格产品,内部有ROM(本人85年发现的),可以把8031/8052 当8751/8752 来用,再扩展外部程序器,然后调用8031 内部子程序当然你所选的同批8031 芯片的首地址及所需用的中断入口均应转到外部程序区。
硬件加密 用高电压或激光烧断某条引脚,使其读不到内部程序,用高电压会造成一些器件损坏,重要RAM 数据采用电池(大电容,街机采用的办法)保护,拔出芯片数据失去机器不能起动,或能初始化,但不能运行 用真真假假方法加密 擦除芯片标识 把8X52 单片机,标成8X51 单片机,并用到后128B的RAM 等方法,把AT90S8252 当AT89C52,初始化后程序段中并用到EEPROM 内容,你再去联想吧!用激光(或丝印)打上其它标识如有的单片机引脚兼容,有的又不是同一种单片机,可张冠李戴,只能意会了,这要求你知识面广一点 用最新出厂编号的单片机,如2000 年后的AT89C 就难解密,或新的单片机品种,如AVR 单片机 DIP 封装改成PLCC,TQFP,SOIC,BGA等封装,如果量大可以做定制ASIC,或软封装,用不需外晶振的单片机工作(如AVR 单片机中的AT90S1200),使用更复杂的单片机,FPGA+AVR+SRAM=AT40K系列 硬件加密与软件加密只是为叙说方便而分开来讲, 其实它们是分不开的,互相支撑,互相依存的软件加密:其目的是不让人读懂你的程序,不能修改程序,你可以.......利用单片机未公开,未被利用的标志位或单元,作为软件标志位,如8031/8051 有一个用户标志 位,PSW.1 位,是可以利用的程序入口地址不要用整地址,如:XX00H,XXX0H,可用整地址-1,或-2,而在整地址处加二字节或三字节操作码,在无程序的空单元也加上程序机器码,最好要加巧妙一点 用大容量芯片,用市场上仿真器不能仿真的芯片,如内部程序为64KB 或大于64KB 的器件,如:AVR 单片机中ATmega103 的Flash 程序存储器为128KB AT89S8252/AT89S53 中有EEPROM,关键数据存放在EEPROM 中,或程序初始化时把密码写 到EEPROM 中,程序执行时再查密码正确与否,然后....... 当然不能告说人家这是什么器件,尽量不让人家读懂程序,在这里说谎,骗人是正当防卫。
用真真假假, 假假真真,把几种不同品种的单片机放在同一设备中,如主芯片用AVR(说是MCS51),键盘显示用AT89C2051(说是GAL),I/O 口扩展驱动用PIC(说是AT90S1200)等,当然要求你知识面广一点如果你用高级语言C 编写程序就简单了,因为C 语言程序移植方便有些国家的产品能做到三年保修,三年保不坏,三年后保坏,或三年后保有故障,可能用什么技术?你去想吧例:每次开机或关机,EEPROM 某单元加1,也可二个三个单元连接起来计数,达到某值停止工作,硬件用软件代替,软件用硬件代替用大规模CPLD 可编程器件,关于单片机加密,讲到这里,就算抛砖引玉,下面请各位高手把玉亮出来吧。
对付购买你设备,想不付钱或想少付钱的人,你可采用先供限时(次)使用版软件,钱付清下载正式版软件(监控)。
数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。
数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。
按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相...
单片机89c52如何控制多个数码管?
展开全部 只想用P3口的话,必须另加控制元件。
1一种方法是用两个锁存器来锁存数码管的段码和位码,进行动态扫描显示。
2另一方法是,用P3口的4位接一个BCD译码器控制数码管的段码,再P3口的3位接一个3-8译码器来控制数码管的位进行动态扫描。
3再就是可以用P3口的两根串行线接串并转换IC,来驱动数码管。
...
关于TM1637数码管驱动芯片的键扫电路的原理
这个应该是595做的显示模块,clk,dio可以用串口io,也可以用普通io的,只是软件上有所不同三极管的基极输入端,集电极是反相输出端。
基极输入低电平,集电极输出就是高电平,送到数码管的公共端。
数码管的段,再输入低电平时,这个段,就会发光。
看你将四位数码管接在单片机的哪一组输出口 例如51单片机一般都是四组八位输i/o口P0,P1,P2,P3口 一般P0口是三态i/o是要接上拉电阻的。
其他接口是不用接上拉电阻的。
上拉电阻一般选用1k~4k7都可以保证各管脚输出的电流小于500mA就可以了。
图我传的这个图 六位数码管虽然是共阴极的 (但是不影响原理)因为他接在51单片机的三态接口上 只需接上拉电阻 (排阻)即可 。
这种电路图用两个锁存器U1,U2分别控制数码管的位选和片选信号 (在读中标的WEI1-WEI6是位选信号,a-g等是段选信号)。
锁存器U2,U1是同型号的 用图中的wela 和dula的(高电平和低电平)分别控制位选和段选的直通和所存。
这样一组i/o口就能驱动数码管了。
节省了硬件的开销。
希望能帮到你!祝你好运假若用上拉电阻(排阻),用共阳的数码管P0口段码,P1口位选,那电流够驱动吗,是可以的 P0口三态作输出 一定要接上拉电阻 P0要驱动管耗较大的数码管那么选择的上拉电阻就小一点 但最好不要小于1k 。
P1口作位选因为P1口是正常的I/0口 所以不存在电流驱动不了的问题。
单片机控制数码管显示电路图的运行原理是利用人眼“视觉暂留”的原理来实现的。
1、根据科学论断,人眼视觉暂留时间是一帧也就是1/24秒,大约42毫秒时间。
2、在多个数码管显示电路中,控制上是通过扫描显示也就是分别分时给每个数码管送显示数据(段码+位码),而全部数码管的一次扫描时间不超过1/24秒。
3、要想达到稳定显示,经过试验,每个数码管数据暂留时间又不能太少,一般不少于3毫秒。
因此一个单片机的扫描控制流程最多可以控制14个数码管。
4、扫描控制,一般用定时器来实现,51单片机有2个定时器,因此,最多可以同时控制28个数码管稳定显示。
数码管的封装我已经搞定了,求完整SCH和PCB图,数码管的封装我已经搞定了,但有些地方我还是不太确定,排阻应该怎么接,导出PCB感觉不对。
LED数码管由7段或8段发光二极管组成,在平面上排成8字型。
分类:有共阴极和共阳极两种。
显示原理:使某些段点亮而另一些段不亮就可以显示0---9,A---F等字型。
使某段点亮必须具备2个条件: ① 共阴极管的公共端接地和共阳极管的公共端接电源。
② 共阴极管的控制端接电源和共阳极管的控制端接地。
哥,你这样粘贴真的好么,。
。
。