用C语言怎么编写7段LED的显示程序

用C语言怎么编写7段LED的显示程序,第1张

C语言写LED数码管显示程序与汇编是一致的,将显示的基本内容定义在一个数组中就可以了,比如:

#include<reg51.h>

#define uchar unsigned char

uchar 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=0i<200i++)

for(j=0j<250j++)

}

main()

{

uchar i,key

P2=0xff

while(1)

{

i=0

P1=table[i]

while(1)

{

key=P3

if(key!=0)break

}

switch(key)

{

case 0x01:i=1break

case 0x02:i=2break

case 0x04:i=3break

case 0x08:i=4break

case 0x10:i=5break

case 0x20:i=6break

case 0x40:i=7break

case 0x80:i=8break

default:break

}

P1=table[i]//显示按下抢答器的号

P0=key//显示按下键号的LED

while(1)

{

if(rstkey==0)break//主持人按下复位键则重新开始

speaker=~speaker//否则蜂鸣器报警

delay()

}

}

}

c语言程序很简单:

#include<reg51.h>//包含头文件

sbit LED=P1^0//位变量定义

void main()//主程序

{

unsigned char i//声明一个变量

for(i=0i<5i++)/循环5次

{

LED=0//亮

delayms(500)//延时

LED=1//灭

delayms(500)//延时

}

while(1)//停止不动

}

延时子程序随便搜一个,如果时间差别太大,可调某些参数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7897980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存