資源簡介
51單片機例程(1602顯示秒表),動態循環顯示,可以用,更改后可以用
代碼片段和文件信息
/**********************HJ-3G實驗開發板例程************************
*??平臺:HJ-3G?V6.0?+?Keil?U3?+?STC89C52
*??名稱:
*??公司:慧凈電子科技有限公司
*??淘寶:http://shop37031453.taobao.com???????
*??網站:www.hlmcu.com
*??編寫:
*??日期:2008-8-08
*???QQ?:?121350852??398115088
*??晶振:11.0592MHZ
*??說明:免費開源,不提供源代碼分析,有問題直接到慧凈論壇交流
*??論壇:http://hjdz.5d6d.com
******************************************************************
//注意事項:10天教程中的LCD1602第5腳由于當時設計錯誤,直接接到GND上了,接了低電平。
//本實驗需要把LCD1602第5腳,讀/寫腳接到GND上,有兩種方法,第一種,用杜邦線把P3.6腳接到GND上。
//另一種方法,定義一個?P3.6?IO口,在主函數中?把P3.6?寫一個低電平就可以了。
//sbit?WR?=?P3^6;?在后面主函數中加入?WR=0;就可以不用接杜邦線,?P3.6到GND的杜邦線不要。
//WR=0;
*????????????????????????????????????????????????????????????????? *
*?描述:?????????????????????????????????????????????????????????? *
*????????????????????????????????????????????????????????????????? *
*???上電后液晶屏先顯示網站等信息,接著按下S4,定時開始,再次按下 *
*????????????????????????????????????????????????????????????????? *
*???S4暫停,第3次按下顯示累積計時,第4次按下暫停計時,任何時候按下S5*
*????????????????????????????????????????????????????????????????? *
*???計數清零。????????????????????????????????????????????? ????*
* ????????????????????????????????*
*????????????????????????????????????????????????????????????????? *
************************************************************************/
#include?
#include?
#define?uchar?unsigned?char
#define?uint??unsigned?int
uchar?KeyCount=0;
sbit??K3?=?P3^6;
sbit??K4?=?P3^7;
sbit?BEEP?=?P2^3;??????????//蜂鳴器
uchar?code??cdis1[?]?=?{“??STOPWATCH??0??“};
uchar?code??cdis2[?]?=?{“???WWW.HJMCU.COM“};
uchar?code??cdis3[?]?=?{“TIME????????????“};
uchar?code??cdis4[?]?=?{“?BEGIN?COUNT??1?“};
uchar?code??cdis5[?]?=?{“?PAUSE?COUNT??2?“};
uchar?code??cdis6[?]?=?{“?BEGIN?COUNT??3?“};
uchar?code??cdis7[?]?=?{“?PAUSE?COUNT??4?“};
uchar?code??cdis8[?]?=?{“????????????????“};
sbit?LCD_RS?=?P1^0;?????????????
sbit?LCD_RW?=?P1^1;
sbit?LCD_EN?=?P2^5;
#define?delayNOP();?{_nop_();_nop_();_nop_();_nop_();};
uchar?display[]?=??{0x000x000x000x000x000x000x00};
uchar?display2[]?=?{0x000x000x000x000x000x000x000x00};
/*********************************************************
?延時函數
*********************************************************/
void?Delay(uint?num)//延時函數
{
??while(?--num?);
}
/*********************************************************
?蜂鳴器響一聲???????????????????????????????????????????
**********************************************************/
void?beep()
{
????unsigned?char?y;
????for?(y=0;y<180;y++)
????{
??????BEEP=!BEEP;????????????????//BEEP取反
??Delay(70);
????}?
????BEEP=1;??????????????????????//關閉蜂鳴器
}
/*********************************************************
?延時函數1
*********************************************************/
void?delay1(int?ms)
{
???unsigned?char?n;
???while(ms--)
???{
?????for(n?=?0;?n<250;?n++)
????{
??????_nop_();
??????_nop_();
??????_nop_();
??????_nop_();
????}
???}
}
/********
評論
共有 條評論