24小时接单的黑客

联系黑客,怎么找黑客,黑客怎么找,黑客接单,破解系统

c语言简单代码(石头剪刀布c语言简单代码)

8.液晶背光控制

#include<reg52.h>

#include<stdio.h>

#include<intrins.h>

unsigned int hour,minute,second,count;

sbit RS = P2^4;//Pin4

sbit RW = P2^5; //Pin5

sbit E = P2^6;//Pin6

sbit BLCtrl = P2^7;

sbit KEY = P3^2;

#define Data P0 //数据端口

char data TimeNum[]=" ";

char data Test1[]=" ";

void DelayUs(unsigned char us)//delay us

{

unsigned char uscnt;

uscnt=us>>1;

while(--uscnt);

}

void DelayMs(unsigned char ms)//delay Ms

{

while(--ms)

{

DelayUs(250);

DelayUs(250);

展开全文

DelayUs(250);

DelayUs(250);

}

}

void WriteCommand(unsigned char c)

{

DelayMs(5);//short delay before operation

E=0;

RS=0;

RW=0;

_nop_();

E=1;

Data=c;

E=0;

}

void WriteData(unsigned char c)

{

DelayMs(5); //short delay before operation

E=0;

RS=1;

RW=0;

_nop_();

E=1;

Data=c;

E=0;

RS=0;

}

void ShowChar(unsigned char pos,unsigned char c)

{

unsigned char p;

if (pos>=0x10)

p=pos+0xb0; //是第二行则命令代码高4位为0xc

else

p=pos+0x80; //是第二行则命令代码高4位为0x8

WriteCommand (p);//write command

WriteData (c); //write data

}

void ShowString (unsigned char line,char *ptr)

{

unsigned char l,i;

l=line<<4;

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

ShowChar (l++,*(ptr+i));//循环显示16个字符

}

void InitLcd()

{

DelayMs(15);

WriteCommand(0x38); //display mode

WriteCommand(0x38); //display mode

WriteCommand(0x38); //display mode

WriteCommand(0x06); //显示光标移动位置

WriteCommand(0x0c); //显示开及光标设置

WriteCommand(0x01); //显示清屏

}

/////////////////////////////////////////////////////////////////

void main(void)

{

InitLcd();//初始化液晶

DelayMs(15);

sprintf(Test1," www.haotun.com ");//第一行

ShowString(0,Test1);

sprintf(TimeNum,"LCM1602 Test ok!");//第二行

ShowString(1,TimeNum);

while(1){

if(!KEY)

{

DelayMs(10);//按下去抖

while(!KEY);

if(KEY)

{

c语言简单代码(石头剪刀布c语言简单代码)

DelayMs(10);//释放去抖

if(KEY)

BLCtrl=!BLCtrl; //背光关掉或者打开

}

}

}

}

9.步进电机控制

#include <reg52.h>

unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格

unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格

void Delay(unsigned int i)//延时

{

while(--i);

}

main()

{

unsigned char i;

while(1)

{

for(i=0;i<4;i++) //4相

{

P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格

Delay(10000); //改变这个参数可以调整电机转速

}

}

}

10. 直流电机调速

#include <reg52.h>

sbit KEY1 = P3^1;

sbit PWM = P1^5;

unsigned char CYCLE; //定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1ms

unsigned char PWM_ON ;//定义高电平时间

void delay(unsigned int cnt)

{

while(--cnt);

}

main()

{

unsigned char PWM_Num;//定义档位

TMOD |=0x01;//定时器设置 1ms in 12M crystal

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;//定时1mS

IE= 0x82; //打开中断

TR0=1;

CYCLE = 10;// 时间可以调整 这个是10步调整 周期10ms 8位PWM就是256步

while(1)

{

if(!KEY1)

{

delay(10000);

if(!KEY1)

{

PWM_Num++;

if(PWM_Num==4)PWM_Num=0;

switch(PWM_Num){

case 0:P1=0xFE;PWM_ON=0;break;//高电平时长

case 1:P1=0xFD;PWM_ON=4;break;

case 2:P1=0xFB;PWM_ON=6;break;

case 3:P1=0xF7;PWM_ON=8;break;

default:break;

}

}

}

}

}

void tim(void) interrupt 1 using 1

c语言简单代码(石头剪刀布c语言简单代码)

{

static unsigned char count; //

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;//定时1mS

if (count==PWM_ON)

{

PWM = 1; //灯灭

}

count++;

if(count == CYCLE)

{

count=0;

if(PWM_ON!=0) //如果左右时间是0 保持原来状态

PWM = 0;//灯亮

}

}

11.秒表

#include <reg52.h>

code unsigned char tab[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//共阴数码管 0-9

unsigned char Dis_Shiwei;//定义十位

unsigned char Dis_Gewei; //定义个位

unsigned char S_Dis_Shiwei;//定义秒十位

unsigned char S_Dis_Gewei; //定义秒个位

unsigned char second,msecond;

void CLR(void);

void delay(unsigned int cnt)

{

while(--cnt);

}

main()

{

EX0=1;//外部中断0设置

IT0=1;

EX1=1;//外部中断1设置

IT1=1;

TMOD |=0x01;//定时器设置 10ms in 12M crystal

TH0=0xd8;

TL0=0xf0;

ET0=1; //打开中断

TR0=0;

EA=1;

CLR();

while(1)

{

P0=S_Dis_Shiwei;//显示秒十位

P2=1;

delay(300);//短暂延时

P0=S_Dis_Gewei; //显示秒个位

P2=2;

delay(300);

P0=0x40; //显示秒个位

P2=3;

delay(300);

P0=Dis_Shiwei;//显示十位

P2=4;

delay(300);//短暂延时

P0=Dis_Gewei; //显示个位

P2=5;

delay(300);

}

}

void tim(void) interrupt 1 using 1

{

TH0=0xd8;//重新赋值

TL0=0xf0;

msecond++;

if (msecond==100)

{

msecond=0;

second++;//秒加1

if(second==100)

second=0;

S_Dis_Shiwei=tab[second/10];//十位显示值处理

S_Dis_Gewei=tab[second%10]; //个位显示处理

}

Dis_Shiwei=tab[msecond/10];//十位显示值处理

Dis_Gewei=tab[msecond%10]; //个位显示处理

}

void ISR_INT0(void) interrupt 0 using 1

{

TR0=!TR0; //利用外部中断打开和关闭定时器0 用于开始和停止计时

}

void ISR_INT1(void) interrupt 2 using 1

{

if(TR0==0)//停止时才可以清零

CLR();

}

void CLR(void)

{

second=0; //利用外部中断清零

msecond=0;

Dis_Shiwei=tab[msecond/10];//十位显示值处理

Dis_Gewei=tab[msecond%10]; //个位显示处理

S_Dis_Shiwei=tab[second/10];//十位显示值处理

S_Dis_Gewei=tab[second%10]; //个位显示处理

}

12.花样灯

#include <reg52.h>

unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0x00,0,0x55,0x55,0xaa,0xaa};//rom允许情况可以无限添加

////////////////////////////////////////////////////////

void delay(unsigned int cnt)//简易延时

{

while(--cnt);

}

///////////////////////////////////////////////////////

main()

{

unsigned char i;

while(1)

{

P1=0xFE;//第一个亮

for(i=0;i<8;i++)

{

delay(10000);

P1 <<=1;

}

P1=0x7F;//第七个LED亮

for(i=0;i<8;i++)

{

delay(10000);

P1 >>=1;

}

P1=0xFE;//第一个LED亮

for(i=0;i<8;i++)

{

delay(10000);

P1 <<=1;

P1 |=0x01;

}

P1=0x7F;//第七个LED亮

for(i=0;i<8;i++)

{

delay(10000);

P1 >>=1;

P1 |=0x80;

}

////////////////////////////////////

for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强

{

delay(20000);

P1=seg[i];

}

}

}

13.红绿灯

#include <reg52.h>

bit red,green,yellow,turnred;

code unsigned char tab[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//共阴数码管 0-9

unsigned char Dis_Shiwei;//定义十位

unsigned char Dis_Gewei; //定义个位

void delay(unsigned int cnt)

{

while(--cnt);

}

main()

{

TMOD |=0x01;//定时器设置 10ms in 12M crystal

TH0=0xd8;

TL0=0xf0;

IE= 0x82; //打开中断

TR0=1;

P1=0xfc;//红灯亮

red =1;

while(1)

{

P0=Dis_Shiwei;//显示十位

P2=0;

delay(300);//短暂延时

P0=Dis_Gewei; //显示个位

P2=1;

delay(300);

}

}

void tim(void) interrupt 1 using 1

{

static unsigned char second=60,count; //初值99

TH0=0xd8;//重新赋值

TL0=0xf0;

count++;

if (count==100)

{

count=0;

second--;//秒减1

if(second==0)

{ //这里添加定时到0的代码 ,可以是灯电路,继电器吸合等,或者执行一个程序

if(red)

{

red=0;yellow=1;

second=5;

P1=0xF3;//黄灯亮5秒

}

else if(yellow && !turnred)

{

yellow=0;green=1;

second=50;

P1=0xCF;//绿灯亮50秒

}

else if(green)

{

yellow=1;green=0;

second=5;

P1=0xF3;//黄灯亮5秒

turnred=1;

}

else if(yellow && turnred)

{

red=1;yellow=0;

P1=0xFC;//红灯亮60秒

second=60;

turnred=0;

}

}

Dis_Shiwei=tab[second/10];//十位显示值处理

Dis_Gewei=tab[second%10]; //个位显示处理

}

}

原文链接:

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.