資源簡介
包含源程序文件以及課設的文檔,程序相對簡單,適合期末應付老師考核
設計并實現的單片機課設是籃球比賽計分器:要求實現以下功能
(1)兩隊各兩位顯示,共計四位數碼顯示;
(2)設A、B隊加、減分按鍵,復位鍵;
(3)加減分實現1分、2分、3分加減。

代碼片段和文件信息
#include???//??
#define?uchar?unsigned?char
#define?uint??unsigned?int
#define?T2N???50000??//50ms
uchar?code?SegCode[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x710x730x800x00};// P?.??
uchar?code?BitCode[]={0x010x020x040x08};
uchar?DispBuf[4];
uint??scoreA=0scoreB=0;//A隊得分,B隊得分
sbit?AN1=P1^0;//定義六個按鍵
sbit?AN2=P1^1;
sbit?AN3=P1^2;
sbit?AN4=P1^3;
sbit?AN5=P1^4;
sbit?AN6=P1^5;
uchar?Numqz?=?0;
?void?DelayMs(uint?n)
?{
?uchar?j;
?while(n--)
?for(j=0;j<123;j++);??//12MHz
?}
?void?NumToBuf(void)
?{?DispBuf[3]=scoreA/10%10;
?DispBuf[2]=scoreA%10;
?DispBuf[1]=scoreB/10%10;
?DispBuf[0]=scoreB%10;
?}
?void?BufTOSeg()
???{
?uchar?i;
?for(i=0;i<4;i++)
?{
??P0=SegCode[DispBuf[i]];
?P2=BitCode[i];
?DelayMs(10);
??P2=0x00;
?}?
?}
?
?
uchar?GetKeyA(void)//定義多功能按鍵1,短按,長按
{
uint?dNum?=?0;
uint?uNum?=?0;
if(AN1?==?0)
{
DelayMs(10);
if(AN1?==?0)
{
do
{
dNum++;
DelayMs(10);
}while(AN1?==?0);
if(dNum<50)
{
Numqz?=?1;
}
else?Numqz?=?2;
}
}
return?Numqz;
}
uchar?GetKeyB(void)//定義多功能按鍵4,短按,長按
{
uint?dNum?=?0;
if(AN4?==?0)
{
DelayMs(10);
if(AN4?==?0)
{
do
{
dNum++;
DelayMs(10);
}while(AN4?==?0);
if(dNum<50)
{
Numqz?=?1;
}
else?Numqz?=?2;
}
}
return?Numqz;
}
?
?
?
?
?void?main()
?{
???while(1)
???{if(!AN1){????????//按鍵1,短按A隊加1分,長按減1分
?GetKeyA();
???if(Numqz?==?1)
?{
?scoreA=scoreA+1; ?
?Numqz?=?0;
?}
?if(Numqz?==?2)
?{
scoreA=scoreA-1;
?Numqz?=?0;
?}}
???if(!AN2)???????//按鍵2,A隊加2分
?{
?DelayMs(10);
???if(!AN2)??scoreA=scoreA+2;
???? ?while(!AN2); ?
?}
???
???if(!AN3)???????//按鍵3,A隊加3分
?{
?DelayMs(10);
???if(!AN3)??
?scoreA=scoreA+3; ?
???? ?while(!AN3); ?
?}
?if(!AN4){??????//按鍵4,短按B隊加1分,長按減1分
?GetKeyB();
???if(Numqz?==?1)
?{
?scoreB=scoreB+1; ?
?Numqz?=?0;
?}
?if(Numqz?==?2)
?{
scoreB=scoreB-1;
?Numqz?=?0;
?}}
?
???if(!AN5)????????//按鍵5,B隊加2分
?{
?DelayMs(10);
???if(!AN5)??scoreB=scoreB+2;
???? ?while(!AN5); ?
?}
???
???if(!AN6)
?{
?DelayMs(10);
???if(!AN6)??
?scoreB=scoreB+3; ?
???? ?while(!AN6); ?//按鍵6,B隊加3分
?}
NumToBuf();?????//送位碼
??BufTOSeg();?????//送段碼
? ?
?}
?}
?
?
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1228836??2019-03-10?19:45??單片機課設--籃球比賽計分器\單片機課設--籃球比賽計分器.docx
?????文件?????129499??2018-12-24?18:44??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\123.DSN
?????文件????????768??2019-01-14?08:46??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\123.PWI
?????文件??????????0??2018-12-21?14:23??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\hty
?????文件???????2610??2018-12-24?18:42??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\hty.c
?????文件??????70663??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\hty.uvgui.Administrator
?????文件??????70575??2018-12-24?18:41??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\hty.uvgui.wangshuailei
?????文件???????5387??2018-12-21?15:48??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\hty.uvopt
?????文件??????14024??2018-12-21?15:48??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\hty.uvproj
?????文件?????124540??2018-12-24?15:24??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\Last?Loaded?123.DBK
?????文件???????6222??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\Listings\hty.lst
?????文件??????11846??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\Listings\hty.m51
?????文件??????14146??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\Listings\STARTUP.lst
?????文件???????6761??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????文件????????970??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????文件???????1995??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????文件?????????96??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????文件???????7051??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????文件????????828??2018-12-27?14:03??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????文件???????6376??2015-05-29?12:09??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\STARTUP.A51
?????目錄??????????0??2019-03-03?21:25??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\Listings
?????目錄??????????0??2019-03-03?21:25??單片機課設--籃球比賽計分器\籃球計分器\lanqiu\ob
?????目錄??????????0??2019-03-03?21:25??單片機課設--籃球比賽計分器\籃球計分器\lanqiu
?????目錄??????????0??2018-12-27?13:46??單片機課設--籃球比賽計分器\籃球計分器
?????目錄??????????0??2019-03-10?19:46??單片機課設--籃球比賽計分器
-----------?---------??----------?-----??----
??????????????1703193????????????????????25
評論
共有 條評論