单片机程序,题目是:编写数码管显示012三个数循环。能给我注释,并有硬件连接。 一定狠狠的感谢您!!
#include<reg51.h>
unsigned char code s8[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};/*共阳极数码管显示码*/
void delay(unsigned int z) //延时子程序,延时Z毫秒
{ unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main() //主函数
{
int i;
while(1)
{
for(i=0;i<3;i++) //循环3次,i为要显示的数字
{
P2=s8[i];
delay(500); //延时时间,500毫秒
}
}
}
//数码管采用共阳极,用P2口驱动。
追问能不用c语言吗,汇编
追答要求汇编么?学校还在坑人啊,C语言实用好学。
ORG 0000H
SJMP MAIN
ORG 030H
MAIN: MOV R1,#00H
MOV A,R1
D1: ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR 查表
MOV P0,A
P0 口输出,显示数字
ACALL DELAY
INC R1
MOV A,R1 A加1
CJNE A,#10,D1 判断A是否到达10
LJMP MAIN ;当A达到10跳回主函数,重新赋值为0
DELAY: MOV R2,#05H 延时
D2: MOV R3,#0FFH
D3: MOV R4,#0FFH
DJNZ R4,$
DJNZ R3,D3
DJNZ R2,D2
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数值1到9的共阳极编码
END
这个是我搜索的,你把数字#10改成#3,端口换一下。
能给我留个qq号吗,有问题想问
追答305503170
单片机程序,题目是:编写数码管显示012三个数循环。能给我注释,并有硬件...
\/\/数码管采用共阳极,用P2口驱动。
51单片机led4位数码管动态显示“0123”的程序,急急,,,能帮忙的就快点...
wela4=1;\/\/显示千位数 delay(1000);P0=0xea;\/\/数字 wela1=1;wela2=0;wela3=1;wela4=1;\/\/显示百位数 delay(1000);P0=0xea;\/\/数字 wela1=1;wela2=1;wela3=0;wela4=1;\/\/显示十位数 delay(1000);P0=0xea;\/\/数字 wela1=1;wela2=1;wela3=1;wela4=0;\/\/显示个位数 delay(1000...
51单片机led4位数码管动态显示“0123”的程序,急急,,,能帮忙的就快点...
在while循环中:1 选第一个数码管,关闭其他数码管,再选让第一个数码管的那些段亮;2 选第二个数码管,关闭其他数码管,再选让第二个数码管的哪些段亮;3 ,4步同理,这样让while不停循环,就可以实现动态显示了。
利用数码管和单片机编写1-2-3-4每秒加一的循环程序
CLR P2.3 就是开通第1个数码管 SETB P2.3 就是关闭第1个数码管 TABLE为共阳数码管的七段码 ORG 0000H LJMP MAIN;转初始化程序ORG 000BH;定位中断子程序地址 LJMP INTT0ORG 0020HMAIN:MOV A,#0C0H MOV 30H,A;先清0,30H-33H分别存个、十、百、千位的七段码 MOV 31H,A...
关于51单片机的一个小程序,为什么我的数码管不能显示 0 1 2 3 ...
temp = temp&0xf0;这一句过后temp的低四位必定为0,swtch后面的语句都进不了。
c语言程序怎么让数码管循环显示0123-9012再到0123然后数码管熄灭
1.首先你要有几个函数可以显示每个数码管数字 void led1Show(char dat);void led2Show(char dat);void led3Show(char dat);void led4Show(char dat);dat为你要显示的字符,函数是不是能复用,看你代码2.再写一个统一显示的函数 void ledShow(int dat)\/\/dat为你要显示的数字{ led1Show(...
用51单片机控制4位一体数码管实现1234轮流显示的程序代码是什么,求!pro...
下面是使用AT89S51单片机控制4位一体数码管轮流显示1234的程序代码:```c include <reg51.h> \/\/ 数码管显示字型码表 unsigned char code LEDDisplay[] = { 0x3F, \/\/ 0 0x06, \/\/ 1 0x5B, \/\/ 2 0x4F \/\/ 3 };sbit DIO = P1^0; \/\/ 串行数据输入 sbit RCLK = P1^1; \/...
如何用单片机实现循环显示,谁有循环显示程序
\/\/下面程序实现同时在第1个数码管上显示数字1,在第2个数码管上显示数字2,在第3个数码管上显示数字3 include <AT89X51.H> sbit WX1=P2^0;sbit WX2=P2^1;sbit WX3=P2^2;unsigned char a[10]={0xC0,0xCF,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; \/\/0到9的数字 void ...
数码显示管从左往右循环显示 123456,然后是612345,依次循环?
ORG 30H MAIN: LCALL DISP MOV 20H,#1 MOV 21H,#2 MOV 22H,#3 MOV 23H,#4 MOV 24H,#5 MOV 25H,#6 AJMP MAIN DISP: MOV A,20H ACALL SEG7 MOV P0,A CLR P2.0 ACALL DLY SETB P2.0 MOV A,21H ACALL SEG7 MOV P0,A CLR P2.1 ACALL DLY SETB P2.1 MOV A,22H A...
单片机用汇编写两个数码管显示0到99循环的程序
要实现单片机用汇编语言编写的数码管循环显示0到99的程序,首先,你需要创建一个新的项目并做好初始化准备工作。接着,创建一个数码管段选表,它将决定每个数码管的显示模式。延时函数在此过程中也至关重要,以控制数码管的刷新速度。定义一个名为i的uchar变量,初始化一个名为wk的标志位,用于控制...