基于C51的最小单片机系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PROJECT REPORT
NAME:
STUDENT ID:
CLASS:
1.DESIGN GOALS
Function : digitron displays 0.25 at first.When the button is pressed,digitron change to display 1.00. The light-emitting diode flash 1 second at the same time. When the button is pressed again,the digitron displays 0.25.And the led flash 0.25 second.Then do as the circle.
2.THE REQUIRED COMPONENT component(number)
Light-emitting diode(1). Resistance:1k(1),10k(2) button(2) capacitor:30pF(2),10uF(1) crystal 12MHZ(1) exclution(1) 80C51(1) digitron(1) battery box(1)
3.CIRCUIT SCHEMATICS
4.CODES
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key=P1^0;
sbit led=P1^4;
uchar numt=0,n,logo;
void delayms(uint);
void display1();
void display2();
void keyscan();
void init();
void main()
{
init();
TR0=1;
led=0;
while(1)
{
keyscan();
if(!logo) display1();
if(logo) display2();
}
}
void init()
{
logo=0;
n=5;
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
}
void keyscan()
{
if(key==0)
{
delayms(5);
if(key==0)
{
TR0=0;
logo=~logo;
if(!logo) n=5;
if(logo) n=20;
numt=0;
while(!key);
TR0=1;
}
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display1()
{
P2=0x0e;
P0=0xef;
delayms(5);//显示0.
P0=0x00;
P2=0x0d;
P0=0xb3;
delayms(5);//显示2
P0=0x00;
P2=0x0b;
P0=0x7a;
delayms(5);//显示5
P0=0x00;
}
void display2()
{
P2=0x0e;
P0=0x8c;
delayms(5);//显示1.
P0=0x00;
P2=0x0d;
P0=0xeb;
delayms(5);//显示0
P0=0x00;
P2=0x0b;
P0=0xeb;
delayms(5);//显示0
P0=0x00;
}
void T0_time()interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
numt++;
if(numt==n)
{
led=~led;
numt=0;
}
} //codes ending 5.RENDERINGS。

相关文档
最新文档