资源简介
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_();
}
}
}
/********
评论
共有 条评论