为什么程序烧进单片机后数码管只亮中间

作者&投稿:仁饱 (若有异议请与网页底部的电邮联系)
老师们帮帮忙,为什么 下面的程序烧如AT89c52单片机后,只有灯会动,数码管却一直停在320不会动。~

可能是  你的 TIME1 的中断  根本就没有执行  所以 NUM的值 一直没有变   你仔细看下  你有关TIME1 断配置 和 中断入口是不是有 问提,给你个思路具体的  自已得学会找原因。
TR1=0;这一句 也有问题,,TR1=1 才是打开运行  T1你试试吧

这要看是几位数码管,是开发板新烧录的程序,那就看看显示程序是不是循环扫描显示的。最好发个截图看一下是什么样。

你能确定数码管是共阴的吗?如果真的确定,那你程序中的段码可是共阳数码管的段码,刚好相反,应该显示是要显示0,中间一横不亮,可是段码反了,就变成只亮中间一横了。
共阴数码管的段码表如下:
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

你用的共阴极的数码管,程序却是共阳极的段码,{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc6,0xa1,0xe3,0xab,0x8c,0x83,0x8b,0xc7,0xbf};//共阳极LED 0-9
在程序中取反就行了。 数码管扫描放定时中断中,效果比较好。


求:如何将C语言程序弄进51单片机?
C语言是人能用的文字语言,单片机只能用由0和1组成的机器语言,要想单片机运行C语言,拢共要三步:1)写C语言程序。2)用编译软件编译C程序并生成hex代码。3)用下载线或烧录器将hex代码写入单片机。

为什么程序能烧写到单片机上,原理是什么
但在早期,rom只能一次性设计好,例如早期的PLC,把二极管上的丝烧了后就永久编码出1。而我们知道,单片机程序经编译连接后传给机器便是机器语言,简而言之就是一大堆1和0。在少些过程中,我们将烧不烧一大堆MOS管和BJT的丝或连不连上通道来表示这些1和0 以上的话土了一些,希望能帮到你 ...

keil怎么把程序烧录进单片机
1.在电脑上下载一个烧写软件和USB下载口驱动程序 2.有一个.hex文件 3.连接好开发板和电脑 4.下图1234顺序执行,3为了打开.hex文件

怎么把程序写进单片机
1 首先将编写的程序经仿真软件调试好,然后编译保存为HEX文件格式。2 使用编程器(也叫烧写器)先选择芯片的厂家,芯片型号。3 装在要烧写到程序代码(HEX文件格式)4进行芯片空白检查 5选择编程(进行下载)6对比检查(成功)当然 也可以选择自己做一个某个芯片的专用的烧写器。

将程序烧进单片机有哪几种方法?
方法多着,要看你的单片机支持哪几种的,我知道的有四五种吧 并行编程(高压编程),ISP,串口直接写入的(STC的),JTAG等。最常用的是ISP(在线编程),自制简单成本低。现在出的单片面都支持ISP,如51的AT89S51,AVR的全系列ATMEGA8 PIC等。高压编程支持的芯片多,但成本高,不易自制,可下51的如...

在网上下载的单片机程序可以直接烧录进去吗
网上下载的单片机程序(汇编或C 语言)一般要经过编译,生成HEX文件,才能烧进单片机。单片机型号相同,就可以烧录进去,但要实现所需功能,外围硬件电路还要相同,硬件不同,再好的程序也不能运行

需要一个单片机程序,烧进去简单的进行一下单片机的连接就好,这是作业...
下面是秒表程序,但每个电路硬件设计不同,程序也就不一样的,我把我数码管地方的电路图也发你,看看。如和你的电路一样,直接烧入就可以了,如不一样,你还要按你的电路把程序改一下。include<reg51.h> define uchar unsigned char sbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;sbit ...

单片机如何烧写程序?
重新烧进去新的程序,就会删除旧的。1.首先,编辑keil上的代码,用keil4进行编译,在项目文件夹中找到已编译的十六进制文件,并将其写入SCM文件中。2.现在,我们需要一个写对写的软件来编写程序,这里使用的是stc-isp软件。3.打开软件,首先选择合适的知道单片机型号,这里使用的是stc89C52。那么串口...

...的程序用c语言可以写吗?还有,怎么把写好的程序烧进单片机中...
基本上没有必要为了节省少量空间去大量延长项目周期,三是因为现在的编译器的效率和汇编语言相差很小,基本上可以达到1:1.1的水平,没有必要使用汇编。程序写好以后使用专门的下载器将程序下载进单片机。有的单片机支持串口下载,只需要一个串口线即可。具体单片机具体分析。

单片机中烧程序是什么意思
单片机烧程序是单片机破解的意思。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,...

千阳县15876811496: 为什么程序烧进单片机后数码管只亮中间 -
阚发雪胆: 你能确定数码管是共阴的吗?如果真的确定,那你程序中的段码可是共阳数码管的段码,刚好相反,应该显示是要显示0,中间一横不亮,可是段码反了,就变成只亮中间一横了.共阴数码管的段码表如下:unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

千阳县15876811496: 为什么我avr单片机按键显示让两个数码管亮,可是烧入程序只有一个数码管亮,可是按键第一个就亮 -
阚发雪胆: 数码管显示功能是单片机的基础.所以熟练掌握能够编程简练而且快速.你说的现象其实是由于AVR单片机的管脚状态设置在初始化的过程中出现了错误.由于AVR单片机不同于51单片机.它的管脚需要初始化.每个管脚都需要设置寄存器的状态.以便于设成输出 或者输入.由于你在初始化的过程中漏掉了一个管脚的设置所以就会出现这些现象.当然这些都是在没有看到程序和硬件连接的基础上的猜测.如果要是看出现的具体问题还是需要看程序和硬件连接才能确认.

千阳县15876811496: 单片机初学者求教:为什么下面的程序烧进单片机后数码管只显示四个零,按键怎么按都没有反应? -
阚发雪胆: void delayms(int xms) // 延时函数;{int i,j; for(i=0;i for(j}

千阳县15876811496: 程序烧入单片机后为什么数码管不显示数?程序烧入单片机后为什么数码
阚发雪胆: 有可能是数码管出问题了

千阳县15876811496: 52单片机烧入程序,1602只亮,不显示 -
阚发雪胆: 1602只亮不显示字符有可能的问题是:1、对比度调整不合适,调整一下电路参数就可以解决.2、软件问题,这个需要看到源程序才知道问题所在.

千阳县15876811496: 单片机数码管想让前6个一起亮,但是烧录后只有第一个亮,求助是什么原因? -
阚发雪胆: 主程序中并没有进行位扫描,输出的位码是固定的,0xc0.这不行的.位码也要在for循环中,做移位扫描才能显示6位数码管.你这程序就是固定显示一位的.把源程序发上来,帮你改,别发图片.发图片,想帮你改程序,还得自己现敲,没有时间敲这玩意.你都不诚心,别人就更不愿意多管闲事了.

千阳县15876811496: 51单片机编程,为什么只有第一个数码管亮.单片机是STC89C52RC,程序是看的郭天祥的. -
阚发雪胆: 解释一下wela,dula是指什么?如果是数码管的公共端,那说明一下是共阴还是共阳? 根据我的理解,如果要两个数码管一起亮,应该把上面的几句都包含在while(1)循环内吧?即:#include<reg52.h> sbit dula=P2^6; sbit wela=P2^7; void main() { while(1) { wela=1; P0=0xfc; wela=0; dula=1; P0=0x06; dula=0; } }

千阳县15876811496: (单片机)写了一个让数码管亮的程序,数码管没反应,显示屏亮了 -
阚发雪胆: 记得要延时0.5ms左右.一看你就是没有延时的. wela=1; P0=0xFE; //延时0.5ms wela=0; ///

千阳县15876811496: 在写ds18b02时下到单片机中只有一个数码管亮,一个微亮,显示为5且数值不变 请问大侠这是什么原因呢 -
阚发雪胆: 显示数值是85吧 表示ds18b20读取数据,没有成功 只有一个数码管亮,一个微亮 这个是你,显示程序有问题.看看各部分的延时.肯定是一个延时长,一个延时短,要调一下

千阳县15876811496: 为什么液晶接入单片机数码管就亮了 -
阚发雪胆: 应该是数码管接入单片机还没写入程序就全亮,这是因为你加了驱动(如三极管),在没有程序的单片机一般所有IO口为高电平.比如,共阴的数码管在阴极加了三极管驱动,当IO口为高电平时,阴极为底电平,其余的全为高电平,所以会全亮.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网