当前位置:首页 > 单片机 > 单片机
[导读]//TX-1C实验板 //芯片 STC89C52RC //晶振频率 11.0592MHz //=====一个LED灯闪 #include #define uint unsigned int sbit led1=P1^0; void delay1s(); void main() { while(1) { led1=0; delay1s();

//TX-1C实验板

//芯片 STC89C52RC

//晶振频率 11.0592MHz

//=====一个LED灯闪

#include

#define uint unsigned int

sbit led1=P1^0;

void delay1s();

void main()

{

while(1)

{

led1=0;

delay1s();

led1=1;

delay1s();

}

}

void delay1s()

{

uint i,j;

for(i=500;i>0;i--)

for(j=110;j>0;j--);

}

//======流水灯程序

#include

#include

#define uint unsigned int

#define uchar unsigned char

void delayms(uint xms);

uchar aa;

void main()

{

aa=0xfe;

while(1)

{

P1=aa;;

delayms(500);

aa=_crol_(aa,1);

}

}

void delayms(uint xms)

{

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}

//=====启动蜂鸣

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit beep=P2^3;

void delay(uint z);

void main()

{

while(1)

{

beep=0;

delay(100);

beep=1;

delay(10000000);

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

//======数码管的显示;数字6

#include

sbit dula=P2^6;

sbit wela=P2^7;

void main()

{

wela=1;

P0=0xfe;

wela=0;

dula=1;

P0=0x7d;

dula=0;

while(1);

}

//======数码管的静态显示

#include

#define uint unsigned int

#define uchar unsigned char

sbit dula=P2^6;

sbit wela=P2^7;

uchar num;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71

};

void delayms(uint);

void main()

{

wela=1;

P0=0xc0;

wela=0;

while(1)

{

for(num=0;num<16;num++)

{

dula=1;

P0=table[num];

dula=0;

delayms(1000);

}

}

}

void delayms(uint xms)

{

uint x,y;

for(x=xms;x>0;x--)

for(y=110;y>0;y--);

}

//======数码管的动态显示

#include

#define uint unsigned int

#define uchar unsigned char

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 delayms(uint);

void main()

{

while(1)

{

dula=1;

P0=table[1];

dula=0;

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

delayms(500);

dula=1;

P0=table[2];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delayms(500);

dula=1;

P0=table[3];

dula=0;

P0=0xff;

wela=1;

P0=0xfb;

wela=0;

delayms(500);

dula=1;

P0=table[4];

dula=0;

P0=0xff;

wela=1;

P0=0xf7;

wela=0;

delayms(500);

dula=1;

P0=table[5];

dula=0;

P0=0xff;

wela=1;

P0=0xef;

wela=0;

delayms(500);

dula=1;

P0=table[6];

dula=0;

P0=0xff;

wela=1;

P0=0xdf;

wela=0;

delayms(500);

}

}

void delayms(uint xms)

{

uint x,y;

for(x=xms;x>0;x--)

for(y=110;y>0;y--);

}

//======定时器0工作方式1=====

#include

#define uchar unsigned char

#define uint unsigned int

uchar num;

void main()

{

P1=0x55;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

{

if(num==20)

{

num=0;

P1=~P1;

}

}

}

void t0_time() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

num++;

}

//=======用定时器0的方式1实现第一个发光管以ms间隔闪烁,用定时器1的方式1实现数码管前两位59s循环计时。

#include

#define uchar unsigned char

#define uint unsigned int

sbit dula=P2^6;

sbit wela=P2^7;

sbit led1=P1^0;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

void delayms(uint);

void display(uchar,uchar);

uchar num,num1,num2,shi,ge;

void main()

{

led1=0;

TMOD=0x11;//00010001

TH0=(65536-50000)/256;

TL0=(65539-50000)%256;

TH1=(65536-50000)/256;

TL1=(65539-50000)%256;

EA=1;

ET0=1;

ET1=1;

TR0=1;

TR1=1;

while(1)

{

display(shi,ge);

}

}

void display(uchar s,uchar g)

{

dula=1;

P0=table[s];

dula=0;

P0=0xff;

wela=1;

P0=0xfe;

wela=0;

delayms(5);

dula=1;

P0=table[g];

dula=0;

P0=0xff;

wela=1;

P0=0xfd;

wela=0;

delayms(5);

}

void delayms(uint xms)

{

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}

void t0_time() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65539-50000)%256;

num1++;

if(num1==20)

{

num1=0;

led1=~led1;

}

}

void t1_time() interrupt 3

{

TH1=(65536-50000)/256;

TL1=(65539-50000)%256;

num2++;

if(num2==20)

{

num2=0;

num++;

if(num==60)

nu

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。

关键字: 51 单片机 51单片机论坛

背景写这篇文章的初衷要从最近带我一个朋友入坑学习单片机的经历开始讲起;我要用梁静茹给我的勇气写写如何入坑单片机;我的一个朋友以前是汽车电子技术专业,毕业之后去做了和汽车相关的工作,修了一年车;其实干一行爱一行,三百六十行...

关键字: 单片机开发

【零基础】彻底搞懂51单片机各种型号(ATMEL系列)

关键字: 51 型号

51单片机交通灯(十字路口演示)

关键字: 51 交通

51单片机编程软件keil4的安装过程

关键字: 51 编程

接触过STC89,90,12,15系列,接触过SMT32F103,接触过TI TIVA cortex m4,接触过Mbed OS,接触过TI CC23530,CC2540的来怒答一波。

关键字: cc2530 51 单片机

▼点击下方名片,关注公众号▼欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。回复【STM32】,获取STM32相关设计和视频教程回复【PCB】,获取PCB设计相关的资料回复【硬件知识】、【硬件设计】,获...

关键字: 单片机开发

功耗,在电池供电的仪器仪表中是一个重要的考虑因素。PIC16C××系列单片机本身的功耗较低(在5V,4MHz振荡频率时工作电流小于2mA)。

关键字: PIC 单片机开发 功耗

感觉自己看过好多五花八门的关于单片机的开发经验了,但是不一定那些就是适合你的,“书读百遍其义自见”,在追求学问的路上我们永无止境。 单片机开发初探 做AT89C5X(51,52,55等等)的时间最长,知道的可能多些,主要...

关键字: 单片机开发

以前都只是在网上搜的能用的例子,对一些参数不是很清楚,这次汇总。而且网络通信还是很常用的通信手段。

关键字: api c Linux socket
关闭
关闭