合泰单片机的段码液晶显示程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合泰单片机的段码液晶显示程序
//======================================================// // 煜日升电子(深圳)有限公司//
// 产品名称: 全自动胶带机//
// 产品型号: RS7001 Ver2.00 //
// 微控制器: HT49R30A-1 //
// 软件版本: 1.00 f or RC (2.8MHz) //
// [ 2006-07-29 16:34:50 | Author: zmli ] //
//======================================================//
#include <ht49r30a-1.h>
#include "RS7001RC.h"
void main()
{
initial();
DispLCD(Length);
while (1)
{
_clrwdt();
ScanKey();
ScanStart();
LengthSetup();
Start_End();
}
}
/* ============================ Delay ========================== */
void delay(unsigned char cnt)
{
unsigned char i,j;
for (i=0;i<=cnt;i++)
{
for (j=0;j<=100;j++){ _clrwdt(); }
_clrwdt();
}
}
/* ========================== Initial ========================== */
void initial(void)
C_MT1 = 0; C_MT2Z = 0; C_MT2F = 0;
delay(20);
SwitchStart=0; KeyDown=0; KeySetup=0; KeyUp=0; StartFlag=1; StopFlag=0;
CutFlag=0; SetupFlag=0; ResendFlag=0;
BusyFlag=0; InitFlag=0; ResetFlag=0;
LCD_count=0; Cut_count=0; LC_Str=1;
if(!_to) { Length = 45; }
_tmrc = 0xb0; _tmr = 0x38;
_tmrc = 0xa0; _tmrc = 0xb0;
_eti = 1; // Timer0 interrupt
_eei0 = 1; // INT0 interrupt
_emi = 1; // Total interrupt
if(End) { CutFlag=1; Cut_count=5100; }
}
/* ========================= ScanKey =========================== */ void ScanKey(void)
{
if(Start){ StartFlag=1; }
if( Down==0 | Setup==0 | Up==0 )
{
delay(5);
if( Down==0 | Setup==0 | Up==0 )
{
if(Down==0)
{
if(SetupFlag)
{
while(!Down) { _clrwdt(); }
KeyDown = 1;
}
else
{
if(Up==0)
{
while(!Up) { _clrwdt(); }
InitFlag = 1;
}
}
if(Setup==0)
{
while(!Setup) { _clrwdt(); }
KeySetup = 1;
}
if(Up==0)
{
if(SetupFlag)
{
while(!Up) { _clrwdt(); }
KeyUp = 1;
}
}
}
else
{
KeyDown=0; KeySetup=0; KeyUp=0; InitFlag=0; }
}
}
void LengthSetup(void)
{
if(KeySetup)
{
KeySetup = 0;
SetupFlag = !SetupFlag;
}
if(KeyDown)
{
KeyDown = 0;
if(Length==45) Length = 255;
else Length--;
}
if(KeyUp)
{
KeyUp = 0;
if(Length>245) Length = 45;
else Length += 10;
}