資源簡介
淮陰工學(xué)院 單片機課程設(shè)計 以車速里程測量為主的多功能任務(wù)設(shè)計
要求可以檢測車輪所轉(zhuǎn)圈數(shù),從而確定里程,并顯示。除基本電路外,需要車輪檢測用傳感器以及信號調(diào)理電路,數(shù)碼管顯示電路,時鐘電路等。

代碼片段和文件信息
#include?
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
sbit?SPK??=?P1^5;??? //?¨ò?·??ù?÷
sbit?SMG_q?=?P1^0; ??//êy??1ü??
sbit?SMG_b?=?P1^1;
sbit?SMG_s?=?P1^2;
sbit?SMG_g?=?P1^3;
sbit?key1?=?P3^7; ?????//°′?ü??
sbit?key2?=?P3^6;
sbit?key3?=?P3^5;
sbit?key4?=?P3^4;
sbit?key5?=?P3^3;
sbit?key6?=?P3^2;
uint?m;
uchar?abcn;
uchar?sgspeed;
uchar?qianbaishige;
unsigned?char?code?table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90};
void?delay(uchar?xms)???????//?óê±m(xù)s
{
????????uchar?ij;
????????for(i=xms;i>0;i--)
????????????????for(j=110;j>0;j--);
}
void?display()?????????//速度數(shù)碼管顯示?P1位選,P0段選
{
????P1=0xff;
????????delay(2);
????????P1=0xfe;
????????P0=table[g]; ?//顯示速度的個位
????????delay(5);
????????P1=0xff;
????????delay(2);
????????P1=0xfd;
????????P0=table[bai]; //顯示百位
????????delay(5);
????????P1=0xff;
????????delay(2);
????????P1=0xfb;
????????P0=table[shi]; ???//顯示十位
????????delay(5);
P1=0xff;
????????delay(2);
????????P1=0xf7;
????????P0=table[ge]; ??//顯示個位
????????delay(5);
}
void?keyscan()????????????//按鍵掃描
{
if(key4==0)????????//4按下???
{
delay(10);
?if(key4==0)
{
????????????????while(!key4)
{
display();
}
m++;
ge++;
if(ge>9) ?//個位>9個位置0,十位加1
{
?ge=0;
?shi++;
}
if(shi>9)
{
?shi=0;
?bai++;
}
if(bai>9)
{
?bai=0;
?qian++;
}
if(qian>9)
{
qian=0;
bai=0;
??? shi=0;
?? ge=0;
}
}
??}
if(key2==0) //2按下
{
delay(10);
if(key2==0)
{
P1=0xff;
P2=0xfe;
delay(1000);
b=P2;
while(1)
{
????for(a=0;a<7;a++)
????{
b=_crol_(b1); //流水燈?左移7次
P2=b;
delay(1000);
????}
for(c=0;c<7;c++)
{
b=_cror_(b1); //右移7次
P2=b;
delay(1000);
}
if((P3&0xfc)!=0xfc)
break;
??? ????????}
}
P2=0xff; //關(guān)燈
}
if(key1==0) //1按下
{
delay(10);
if(key1==0)
{
P1=0xff;
while(1)
{
SPK=0;
delay(1000); //蜂鳴器鳴叫
delay(1000);
SPK=1;
delay(1000); //蜂鳴器關(guān)閉
delay(1000);
if((P3&0xfc)!=0xfc)
break;
??????}
}
}
if(key3==0)??????//3按下
{
delay(5);
if(key3==0)
{
while(!key3)
{
while(1)
{
P1=0xff; //消除鬼影
delay(5);
P1=0xfe; //顯示1
P0=table[1];
delay(5);
P1=0xff;
delay(5);
P1=0xfd;
P0=table[3];
delay(5);
P1=0xff;
delay(5);
P1=0xfb;
P0=table[1];
delay(5);
P1=0xff;
delay(5);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8686??2019-06-19?16:25??測速\cesu
?????文件???????3778??2019-06-19?16:25??測速\cesu.c
?????文件?????????25??2019-06-19?16:25??測速\cesu.lnp
?????文件??????13982??2019-06-19?16:25??測速\cesu.LST
?????文件??????11737??2019-06-19?16:25??測速\cesu.M51
?????文件???????9943??2019-06-19?16:25??測速\cesu.OBJ
?????文件????????163??2019-06-20?16:14??測速\cesu.plg
????.......?????55214??2019-06-20?16:14??測速\cesu.uvopt
????.......?????13220??2019-06-19?14:53??測速\cesu.uvproj
????.......?????55214??2019-06-19?16:25??測速\cesu_uvopt.bak
????.......?????13227??2019-06-19?14:41??測速\cesu_uvproj.bak
?????目錄??????????0??2019-06-20?16:14??測速
-----------?---------??----------?-----??----
???????????????185189????????????????????12
- 上一篇:城市遍歷問題求解模擬退火算法
- 下一篇:UGUI循環(huán)滾動+滑動居中
評論
共有 條評論