求下图的单片机C语言程序、数码管从0--9的加一或减一
#include unsigned char code table_d[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};unsigned char code table_w[]={0x01,0x02};unsigned char num;void show(unsigned char);void delay(void);void main(){ unsigned char code_num[2]={0}; EA=1; EX0=1; EX1=1; IT0=1; IT1=1; while(1) { show(num); }}void show(unsigned char num){ P2=table_w[1]; P0=table_d[num%10]; delay(); P0=0xFF; P2=table_w[0]; P0=table_d[num/10%10]; delay(); P0=0xFF;}void delay(){ int i,j; for(i=10;i;--i) for(j=100;j;--j);}void inc(void) interrupt 0{ if(++num>99||num99||num<0) num=0;;}
就是i+1然后除以10 得到余数,这样i就能在0~9一直循环了 当i=9的时候 再运行i+1,这样等于10,再余10 就能回到0.
#include<reg51.h>
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar dat;
void ext0() interrupt 0
{
dat++;
dat%=10;
}
void ext1() interrupt 2
{
dat--;
if(dat>9)dat=9;
}
main()
{
EX0=1;
EX1=1;
IT0=1;
IT1=1;
EA=1;
while(1)
{
P2=talbe[dat];
}
}
求下图的单片机C语言程序、数码管从0--9的加一或减一
include<reg51.h>#define uchar unsigned charuchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar dat;void ext0() interrupt 0{dat++;dat%=10;}void ext1() interrupt 2{dat--;if(dat>9)dat=9;}main(){EX0=1;EX1=1;IT0=1;IT1=1;EA=1;whil...
求下图的单片机C语言程序、利用外部中断0.1实现两位数码管从0--99的...
EA=1; EX0=1; EX1=1; IT0=1; IT1=1; while(1) { show(num); }}void show(unsigned char num){ P2=table_w[1]; P0=table_d[num%10]; delay(); P0=0xFF; P2=table_
...按一下,数码管从0开始加1,加到9,用c语言单片机编写并且要用计数器...
在编写这个程序时,我使用了C语言和单片机技术。程序的主要功能是通过一个按钮按一下,数码管从0开始加1,加到9。具体实现方法如下:首先,我定义了两个变量:s1和P32。s1用于存储当前的数码管数值,P32是按钮的状态。然后,我定义了一个数组num,用于存储0-9的数码管显示值。数组的具体值记不得了...
如何用51单片机C程序控制数码管从9到0的显
include<reg51.h>#define uchar unsigned charuchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit rstkey=P2^2;sbit speaker=P2^0;void delay()\/\/延时约400毫秒{uchar i,j;for(i=0;i<200;i++)for(j=0;j<250;j++);}main(){uchar i,key;P2=0xff;while(1...
用C语言编程,使51单片机数码管从0显示到60
include<intrins.h> define uchar unsigned char define uint unsigned int define DataPort P0 define RS_CLR RS = 0 define RS_SET RS = 1 define RW_CLR RW = 0 define RW_SET RW = 1 define EN_CLR EN = 0 define EN_SET EN = 1 sbit RS = P1^3; \/\/定义端口 sbit RW =...
如图的单片机C语言程序,如何把数码管共阴极改成共阳极
把Pattern_P2[]和Pattern_P0[]中的所有数据按位取反,就把数码管共阴极改成共阳极
新手,单片机问题,求解释!(此程序是实现数码管从0到9循环)
1.这是1~9再0~9吧。如果是0开始,INCR0 MOVA,R0 ;这2 条先后顺序对换一下 2.CJNEA,#10,LOOP MOV R0,#0 ;加这2条 MOV A,R0 ;加 3.还有就是你的延时时间太短了,每个数字显示得太快,才65ms。
用stc12c5a60s2写一个程序,首先单个数码管从9亮到0然后接着八个流水...
在使用STC12C5A60S2单片机时,编写一个程序,首先让单个数码管从9逐位点亮至0,然后依次点亮八个流水灯。首先,需要根据具体的数码管类型,如共阴极或共阳极,设置高低电平。例如,若数码管为共阴极,可以将低电平设置为0,高电平设置为1。具体实现步骤如下:1. 首先,初始化单片机的I\/O端口,设置...
用C语言51单片机编写数码管从00到99的循环程序
{ TMOD=0x01;ET0=1;EA=1;TR0=1;TH0=0x3c;TL0=0xaf;} void time_1s (void) interrupt 1 { int ncount;TH0=0x3c;TL0=0xaf;ncount++;if(ncount<20) return;{ ncount=0;i++;if(i==100) i=0;} }
单片机编程问题。实验是数码管从1~9显示完后蜂鸣器一直响。我是初学...
三、C语言中的循环可以嵌套循环,不管任何形式的,无限嵌套在语法上是没有错得,但在实际运行会出现很严重问题,会导致系统死机崩溃,程序永远死在那,出不来。四、没错,可以写成i++,而且推荐;五、因为i=1只是你赋的初值,没有这句默认为0,而且最主要的是i已经在下面的循环体内被赋了初值,即...