AT89C51单片机设计独立按键,静态数码管电路,并编程实现按下Ki键,数码管显示对应的数字i(i=1~8)
要实物吗
我做单片机设计的
没时间写,给你一个参考吧。
自己加一个按键检测,显示的数值改成自己设定
#include
#define uint unsigned int
#define uchar unsigned char
uchar temp,aa,bai,shi,ge;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void display(uchar bai,uchar shi,uchar ge);
void delay(uint z);
void init();
void main()
{
init();//初始化子程序
while(1)
{
if(aa==20)
{
aa=0;
temp++;
if(temp==100)
{
temp=0;
}
bai=temp/100;
shi=temp%100/10;
ge=temp%10;
}
display(bai,shi,ge);
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uchar bai,uchar shi,uchar ge)
{
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delay(1);
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(1);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
delay(1);
}
void init()
{
wela=0;
dula=0;
temp=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
一位共阳数码管接在P0口,为静态显示。P3口接有8个独立式按键,按键为K1~K8,按键8个按键中的任意一个,数码管则显示出按键编号。仿真图如下,这是按下K6时显示6。
51单片机的引脚结构和功能
T89C2051是精简版的51单片机,精简掉了P0口和P2口,只有20引脚,但其内部集成了一个很实用的模拟比较器,特别适合开发精简的51应用系统,毕竟很多时候我们开发简单的产品时用不了全部32个I\/O口,用AT89C2051更合适,芯片体积更小,而且AT89C2051的工作电压最低为2.7V,因此可以用来开发两节5号电池供电...
stc89c52单片机和51单片机的区别
1、种类不同:51系列单片机是指51内核,stc89c5X基本都是51内核的种类。2、大小不同:最后一个数字表示E2prom的大小,E2prom=X*4K,c51就是4K,c52就是8k。3、配件不同:52还多了一个定时器,所以可以说52是51(这个51是指stc89c51,不是51内核)的增强型。如下图,可以很清晰的看出两者之间...
用51单片机做一个LED显示的电子钟
用89C51设计LED电子钟6个数码管显示时分秒,要求通过键盘输入初值,打上开关K1时允许设定时间,按下开关K1时开始运行显示时间,K2用做选择是24小时制还是12小时制答得正确又快的可以获... 用89C51设计LED电子钟 6个数码管显示时分秒,要求通过键盘输入初值,打上开关K1时允许设定时间,按下开关K1时开始运行显示时间,K2用...
89c51单片机控制舵机!
程序:\/\/12MHz include <reg51.h> void InitTimer0(void){ TMOD = 0x01;TH0 = 0x0B1;TL0 = 0x0E0;EA = 1;ET0 = 1;TR0 = 1;} void delay(void) \/\/误差 0us 延时1ms 此处可以修改高电平周期 \/\/修改此处的延时可以更改舵机转的角度 ,45度具体是多少 你可以试试 { unsigned ...
用89c51单片机 数码管显示HELLO的程序 六段数码管上
include<reg52.h> define uchar unsigned char define uint unsigned int sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x76,0x79,0x38,0x38,0x3f};uchar code table_2[]={0xfe,0xfd,0xfb,0xf7,0xef};void delay(uint t){ uint x,y;for(x=0;x<t;x++)for(y=0;y<110...
MCS-51系列单片机的发展史
在集成度、功能、速度、可靠性、应用领域等方面,单片机全面向更高水平发展。在单片机的增强型中,主要分为低档、中档和高档芯片。低档芯片如P87LPC76X系列、P89LPC900系列,中档芯片包括8XC5X系列、P8XC5XX2系列、P89C6XX2系列等,高档芯片如89C51RX系列、Atmel公司的T89C51RX系列等,具有功能齐全、...
求大佬教教怎么用89c51单片机实现模拟路灯
for(i = t; i > 0; i--)for(j = 110; j > 0; j--);} void main(){ while(1){ LED = 0; \/\/ 点亮LED delay(1000); \/\/ 延时1秒 LED = 1; \/\/ 熄灭LED delay(1000); \/\/ 延时1秒 } } ```4. 烧录程序:将编写好的程序通过编程器烧录到89c51单片机中。5. 运行程序:将...
t89c51,87c51和stc89c52单片机的dip引脚分布图封装相同吗
封装相同。
51单片机怎么实现两位数的加减
STC(国产宏晶)单片机:89c51、89c52、89c516、90c516等众多品牌。功能 ·8位CPU·4kbytes程序存储器(ROM) (52为8K)·128bytes的数据存储器(RAM) (52有256bytes的RAM)·32条I\/O口线·111条指令,大部分为单字节指令 ·21个专用寄存器 ·2个可编程定时\/计数器·5个中断源,2个优先级(52有6...
测厚求助不锈钢测厚声速按照碳钢的选取来测厚的话
采用单片机设计制作的超声波测厚仪,可以使测厚仪的厚度标定、声速设定、声速调整等操作实现智能化,全部测量过程由按键开关操作,实现PVC面膜式结构,同时还可以简化电路、降低成本、减少功耗。本文将向读者介绍超声波反射法测厚仪的工作原理及其智能化的设计。2 超声反射法测厚仪的工作原理用超声波探头向被测物体发出...