一、图貌似有点问题:
1、用的是共阴极数码管,如果用单片机直接驱动的话,应该用共阳极的;
2、所有LED(包括数码管)都未接限流电阻,建议串接470欧左右的;
3、单片机直接驱动“sounder”,估计驱动电流不够,建议接三极管后再输出
二、程序可以借鉴楼上的,但需要修改:
SETB P10
JNB P10,$
在这2句之间需要加入:
JB 10 LP0
LCALL DELAY_50MS
另:加入子程序DELAY_50MS
DELAY_50MS:
MOV R7,#0C3H
LP_DL:
MOV R6,#00H
DJNZ R6,$
DJNZ R7,LP_DL
RET
如果换成共阳极数码管后,数据表换成以下的:
TABLE: ;表:共阳数码管 0-9 A-F
DB 0C0H,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH
以上意见供参考
-\x0d\建立一个数组,用于存放 0-9的段码。\x0d\int Shuzu[]={---------};\x0d\如果会用指针\x0d\int P;\x0d\P=Shuzu; //指针指向数组!\x0d\用外部中断,\x0d\每中断一次,中断服务程序将数组元素加一P0=Shuzu[ax++](或指针加一:P0=P++)\x0d\以上假设P0口驱动数码管!\x0d\至于数码管使用的是共阳还是共阴,就把相对的数值存在数组中!\x0d\-\x0d\外部中断0的中断程序入口\x0d\void TI_0() interrupt 0\x0d\{\x0d\ --------\x0d\}\x0d\都提示到这里了,下面自己该会吧?\x0d\如果是新手的新手---想要我帮你写全部程序--\x0d\那至少你得把你单片机芯片型号说给我才能帮你!\x0d\还有数码管是用单片机哪个IO口!\x0d\数码管是怎么连接的?(串/并)
你既能够实现按一下,数据加1的话,那就差一点就可以实现你所说的功能了。
不过还要看你的中断是边沿触发呢,还是电平触发?
如果是边沿触发呢,每次进入中断的时候把一个位变量置1,并且保存外部中断口的电平。然后我们在主程序中读取这个位变量,如果位变量为1说明已经有铵键被按下。然后开如计时,并将位变量清零。当时间达到某一个值(如:200ms)我们就让计数寄存器加1,以此类推,当时间达到另一个值时(如:400ms),再将计数据器加1。不过,当主程序中再次读到位变量被置1时,我们要停止计时。并判断时间是否达到设定值,如果比设定值小的话,就视为干扰信号。这时清除计时器。这样就能实现连续加1的功能。
希望能让你得到启发。祝你好运!
这个可以用定时器来做,比如检查某键,按键时间超过2秒后一个变量开始累加知道键释放为止。实现方法如下:
#include<reg51h>
#define uint unsigned int
#define uchar unsigned char
uint v=0,time=0;
sbit key=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if((key==0)&&(time>40)v++; //如果按键时间超过2秒且键未释放,变量+1
if(key==1)time=0; //如果键释放,时间复位
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}
-
建立一个数组,用于存放 0-9的段码。
int Shuzu[]={---------};
如果会用指针
int P;
P=Shuzu; //指针指向数组!
用外部中断,
每中断一次,中断服务程序将数组元素加一P0=Shuzu[ax++](或指针加一:P0=P++)
以上假设P0口驱动数码管!
至于数码管使用的是共阳还是共阴,就把相对的数值存在数组中!
-
外部中断0的中断程序入口
void TI_0() interrupt 0
{
--------
}
都提示到这里了,下面自己该会吧?
如果是新手的新手---想要我帮你写全部程序--
那至少你得把你单片机芯片型号说给我才能帮你!
还有数码管是用单片机哪个IO口!
数码管是怎么连接的?(串/并)
以上就是关于一位数码管连在51单片机上,按键后数码管加1,按一下加1.怎样用汇编语言编写全部的内容,包括:一位数码管连在51单片机上,按键后数码管加1,按一下加1.怎样用汇编语言编写、c51单片机按键每按一次同时数码管显示数字加一是什么、单片机怎么用键盘中断实现按住按键,使内部RAM中的一个数据不停加1等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)