51单片机设计一个程序:按键每按一次,数码管加1;当数码管加到9后又从0开始?

如题所述

第1个回答  2021-05-14
#include<reg51.h>
sbit k1=P3^3;
#define uint16 unsigned int
#define uchar unsigned char
uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay()
{
uint16 i=1000;
while(i--);
}
void main()
{
uchar n ;
P2=0xfe;
P1=0xff;
while(1)
{
if(k1==0)
{
if(n>=9) n=0;
else n++;
P1=shuzu[n];
while(!k1);
delay();
while(!k1);
}
}
}

51单片机设计一个程序:按键每按一次,数码管加1;当数码管加到9后又...
include<reg51.h> sbit k1=P3^3;define uint16 unsigned int define uchar unsigned char uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delay(){ uint16 i=1000;while(i--);} void main(){ uchar n ;P2=0xfe;P1=0xff;while(1){ if...

设计一个单片机输入显示系统,要求每按一下按键数码管显示数据加1(数码...
ROM:用以存放程序、一些原始数据和表格; I\/O口:四个8位并行I\/O口,既可用作输入,也可用作输出 T\/C:两个定时\/记数器,既可以工作在定时模式,也可以工作在记数模式; 五个中断源的中断控制系统; 一个全双工UART(通用异步接收发送器)的串行I\/O口,用于实现单片机之间或单片机与微机之间的串行通信; 片内振荡器...

单片机C51实现按键一次数码管加1程序问题。高手进。
设计一个单片机C51程序,实现功能是,1、按KEY1只有红灯亮,KEY2只有黄灯亮,KEY3只有绿灯亮。2、开始右数码管显示0,每按KEY1一次数码管显示加1,至9后再循环。先已经编好程序,第一个实现,但第二个总弄不对。感觉问题很简单,就是差一点,高手帮我看一下。... 展开 #include "key.h"sbit LED_RED=P3^0;s...

51单片机汇编语言按键控制数码管加1加到999
这样就可以了,b中的1代表100,a中的1就是1

c51单片机按键每按一次同时数码管显示数字加一是什么?
\\x0d\\x0a用外部中断,\\x0d\\x0a每中断一次,中断服务程序将数组元素加一P0=Shuzu[ax++](或指针加一:P0=*P++)\\x0d\\x0a以上假设P0口驱动数码管!\\x0d\\x0a至于数码管使用的是共阳还是共阴,就把相对的数值存在数组中!\\x0d\\x0a-\\x0d\\x0a外部中断0的中断程序入口\\x0d\\x0avoid TI_0() interrupt...

c51单片机怎么用两个按键控制两个数码管的加减,加到99就好,求程序
1、首先先在proteus画出仿真图,方便仿真程序。2、接着来编写程序,先来写入头函数。2、根据自己在proteus画的图,定义一下管脚根据你的原理图进行编写。3、然后写一个延时函数,来调节流水灯的时间间隔延时时间自己定义。4、下图就是主函数,包括流水灯的反复循环和j流水灯的方向。5、检查没有错误,...

用单片机c51,c语言编0-9计数器程序!谢谢!!!
看你的排阻接法,你的数码管要用共阴极的 当加到9之后,再按一下,是不是又恢复到0啦???下面是更改的回答 include<reg51.h>unsigned char a;unsigned char code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};void init(void){EA=1;EX0=1;IT0=1;}void ...

就是按钮按一下,数码管从0开始加1,加到9,用c语言单片机编写并且要用...
P32=1则会一直在循环里,P32=0则进行下一步,在串口双机通信实验里也许还能用上 *\/ if(s1==9){s1==0;}\/\/如果是9就下一个显示0 else{s1++;}\/\/如果不是正常加一 } } P0=num[s1];\/\/刷新7seg值}}这程序我刚打的,我也不知道能不能行,你看看吧,试试。能帮上点...

51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示
3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、最后写好代码后,将生成的hex文件写进单片机,数码管显示的数字就变成0了。

51单片机,数码管循环显示0-9,当每按一次中断,数码管显示0,延时一段时 ...
main{ 设置单片机上与数码管相连的引脚为输出,设置单片机中断接口(即中断按钮)的中断控制寄存器里的中断使能,设置整体中断使能,循环子程序xunhuan(); 显示0到9,} xunhuan(){ 循环子程序具体怎么循环 };ISR_zhongduan(){ 此处为中断时要做的事。比如楼主说的,可以将输出只为0,然后延时一段时间...

相似回答