首页
编程语言
数据库
网络开发
Algorithm算法
移动开发
系统相关
金融统计
人工智能
其他
首页
>
> 详细
代作LED指示灯编程、讲解LED、辅导C报告 解析C/C++编程|解析Haskell程序
#include
#include
#include
#include "1602.h"
#include "delay.h"
sbit Key1 = P3^5;
sbit Key2 = P3^3;
sbit Key3 = P1^3;
sbit Led = P3^6; //LED
sbit Speak = P2^2;
unsigned int count;
unsigned char Flag;
unsigned char full;
int Angle_up=90; //??????
int Angle_down=20; //??????
int max,min;
unsigned int mb=45,counter,n;
unsigned int Oldcount,Newcount; ///
unsigned char Sycount; //
void KeyScan(void) //
{
unsigned char temp[3];//
if(Key1 == 0) //
{
DelayMs(10); //
if(Key1 == 0)
{
Flag=1;
count++;
if(count==1)
{
LCD_Clear();
LCD_Write_Com(0x0c); //
temp[0]=Angle_up/100+'0';
temp[1]=Angle_up%100/10+'0';
temp[2]=Angle_up%10+'0';
LCD_Write_String(0,0,"Value_up :");
LCD_Write_String(13,0,temp);
temp[0]=Angle_down/100+'0';
temp[1]=Angle_down%100/10+'0';
temp[2]=Angle_down%10+'0';
LCD_Write_String(0,1,"Value_down: ");
LCD_Write_String(13,1,temp);
}
if(count>2)
{
LCD_Write_Com(0x0c);//
count=0;
Flag=0;
LCD_Clear();
LCD_Write_String(0,0,"Speed: d/min");
LCD_Write_String(0,1,"Level: ");
}
}
while(Key1 == 0);//
}
}
void Set_angle(unsigned char sel)
{
unsigned char temp[3];
max=360;
min=0;
if(sel==2) {max=200;min=0;LCD_cursor(15,1);} //angle_down
if(sel==1) {max=200;min=0;LCD_cursor(15,0);} //angle_up
if(Key3 == 0)
{
DelayMs(10);
if(Key3 == 0)
{
if(sel==1) //
{
Angle_up++;
if(Angle_up>max) Angle_up=min;//
if(Angle_up
LCD_Write_Com(0x0c); //,
temp[0]=Angle_up/100+'0';
temp[1]=Angle_up%100/10+'0';
temp[2]=Angle_up%10+'0';
LCD_Write_String(13,0,temp);
}
if(sel==2) //
{
Angle_down++;
if(Angle_down>max) Angle_down=min;//
if(Angle_down
LCD_Write_Com(0x0c); //,
temp[0]=Angle_down/100+'0';
temp[1]=Angle_down%100/10+'0';
temp[2]=Angle_down%10+'0';
LCD_Write_String(13,1,temp);
}
}
while(Key3 == 0);//
}
if(Key2 == 0)
{
DelayMs(10);
if(Key2 == 0)
{
if(sel==1) //
{
Angle_up--;
if(Angle_up>max) Angle_up=min;//
if(Angle_up
LCD_Write_Com(0x0c); //,
temp[0]=Angle_up/100+'0';
temp[1]=Angle_up%100/10+'0';
temp[2]=Angle_up%10+'0';
LCD_Write_String(13,0,temp);
}
if(sel==2) //
{
Angle_down--;
if(Angle_down>max) Angle_down=min;//
if(Angle_down
LCD_Write_Com(0x0c); //,
temp[0]=Angle_down/100+'0';
temp[1]=Angle_down%100/10+'0';
temp[2]=Angle_down%10+'0';
LCD_Write_String(13,1,temp);
}
}
while(Key2 == 0);//
}
}
void Init(void)
{
//0
TMOD |= 0x01; //T01
TH0 = 0x4C;
TL0 = 0x00; //T050ms
TR0 = 1; //T0
ET0 = 1; //
//0
IT0 = 0; //0
EX0 = 1;//
EA = 1; //
}
void main(void)
{
LCD_Init();
LCD_Clear();
Init();
LCD_Write_String(0,0,"Speed: d/min");
while(1)
{
KeyScan();
if(Flag==0)
{
//
LCD_Write_Char(7,0,mb/100+0x30);
LCD_Write_Char(8,0,mb%100/10+0x30);
LCD_Write_Char(9,0,mb%10+0x30);
//
LCD_Write_Char(14,1,full+0x30);
if((mb>Angle_down&&mb
{
Speak=1;
}
else
{
Speak=0;
}
}
else
{
Speak=1;
Set_angle(count);
}
}
}
//**************************************************
//:30s*2
void External0() interrupt 0//0
{
counter++;
}
//***************************************************
//
//30s
void Timer0() interrupt 1
{
TH0 = 0x4C;
TL0 = 0x00;
n++;
if(n==600) //30s
{
mb=2*counter; //
n=0; //,
counter=0;
}
}
#include "1602.h"
#include "delay.h"
sbit RS = P2^7; //
sbit RW = P2^6;
sbit EN = P2^5;
#define RS_CLR RS=0
#define RS_SET RS=1
#define RW_CLR RW=0
#define RW_SET RW=1
#define EN_CLR EN=0
#define EN_SET EN=1
#define DataPort P0
/**/
void delay1(int i)
{
int j,k;
for(j=0;j
for(k=0;k<10;k++);
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Check_Busy(void)
{
unsigned char temp=0;
DataPort= 0xFF;
RS_CLR;
RW_SET;
if(P0^7==1)
{
EN_SET;
EN_CLR;
}
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Write_Com(unsigned char com)
{
LCD_Check_Busy();
RS_CLR;
delay1(10);
RW_CLR;
delay1(10);
DataPort= com;
delay1(10);
EN_SET;
delay1(10);
EN_CLR;
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Write_Data(unsigned char Data)
{
LCD_Check_Busy();
RS_SET;
delay1(10);
RW_CLR;
delay1(10);
DataPort= Data;
EN_SET;
delay1(10);
EN_CLR;
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Clear(void)
{
LCD_Write_Com(0x01);
DelayMs(5);
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x); //
}
else
{
LCD_Write_Com(0xC0 + x); //
}
while (*s)
{
LCD_Write_Data( *s);
s ++;
}
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x);
}
else
{
LCD_Write_Com(0xC0 + x);
}
LCD_Write_Data( Data);
}
/*------------------------------------------------
------------------------------------------------*/
void LCD_Init(void)
{
LCD_Write_Com(0x38); /**/
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
LCD_Write_Com(0x08); /**/
LCD_Write_Com(0x01); /**/
LCD_Write_Com(0x06); /**/
DelayMs(5);
LCD_Write_Com(0x0C); /**/
}
void LCD_cursor(unsigned char X,unsigned char Y)
{
if (Y == 0)
{
LCD_Write_Com(0x80 + X);
}
else
{
LCD_Write_Com(0xC0 + X);
}
LCD_Write_Com(0x0e);
}
联系我们
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-21:00
微信:codinghelp
热点文章
更多
辅导 comm2000 creating socia...
2026-01-08
讲解 isen1000 – introductio...
2026-01-08
讲解 cme213 radix sort讲解 c...
2026-01-08
辅导 csc370 database讲解 迭代
2026-01-08
讲解 ca2401 a list of colleg...
2026-01-08
讲解 nfe2140 midi scale play...
2026-01-08
讲解 ca2401 the universal li...
2026-01-08
辅导 engg7302 advanced compu...
2026-01-08
辅导 comp331/557 – class te...
2026-01-08
讲解 soft2412 comp9412 exam辅...
2026-01-08
讲解 scenario # 1 honesty讲解...
2026-01-08
讲解 002499 accounting infor...
2026-01-08
讲解 comp9313 2021t3 project...
2026-01-08
讲解 stat1201 analysis of sc...
2026-01-08
辅导 stat5611: statistical m...
2026-01-08
辅导 mth2010-mth2015 - multi...
2026-01-08
辅导 eeet2387 switched mode ...
2026-01-08
讲解 an online payment servi...
2026-01-08
讲解 textfilter辅导 r语言
2026-01-08
讲解 rutgers ece 434 linux o...
2026-01-08
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 99515681 微信:codinghelp
© 2024
www.7daixie.com
站长地图
程序辅导网!