//====================================================//
// //
// 本程序为定制液晶的使用方式,仅供参考 //
// //
// //
//====================================================//
#include "HT67F489.h"
#include "init_ht67f489.h"
#include "Clock_Run.h"
#include "Mode_Show.h"
#include "KeyScan.h"
#include "EEPROM.h"
#include "define.h"
#include "UART.h"
#include "LCD.h"
uchar adress;
uchar data;
//uchar DisplayTable[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uchar Num_Table[12] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7D,0x07,0x7f,0x6F,0x71,0x37};
const ushort SegTable[10][7]=
{
{LCD_SEG1A ,LCD_SEG1B ,LCD_SEG1C ,LCD_SEG1D ,LCD_SEG1E ,LCD_SEG1F ,LCD_SEG1G },
{LCD_SEG2A ,LCD_SEG2B ,LCD_SEG2C ,LCD_SEG2D ,LCD_SEG2E ,LCD_SEG2F ,LCD_SEG2G },
{LCD_SEG3A ,LCD_SEG3B ,LCD_SEG3C ,LCD_SEG3D ,LCD_SEG3E ,LCD_SEG3F ,LCD_SEG3G },
{LCD_SEG4A ,LCD_SEG4B ,LCD_SEG4C ,LCD_SEG4D ,LCD_SEG4E ,LCD_SEG4F ,LCD_SEG4G },
{LCD_SEG5A ,LCD_SEG5B ,LCD_SEG5C ,LCD_SEG5D ,LCD_SEG5E ,LCD_SEG5F ,LCD_SEG5G },
{LCD_SEG6A ,LCD_SEG6B ,LCD_SEG6C ,LCD_SEG6D ,LCD_SEG6E ,LCD_SEG6F ,LCD_SEG6G },
{LCD_SEG7A ,LCD_SEG7B ,LCD_SEG7C ,LCD_SEG7D ,LCD_SEG7E ,LCD_SEG7F ,LCD_SEG7G },
{LCD_SEG8A ,LCD_SEG8B ,LCD_SEG8C ,LCD_SEG8D ,LCD_SEG8E ,LCD_SEG8F ,LCD_SEG8G },
{LCD_SEG9A ,LCD_SEG9B ,LCD_SEG9C ,LCD_SEG9D ,LCD_SEG9E ,LCD_SEG9F ,LCD_SEG9G },
{LCD_SEG10A,LCD_SEG10B,LCD_SEG10C,LCD_SEG10D,LCD_SEG10E,LCD_SEG10F,LCD_SEG10G },
};
/******************************************/
void lcd_data_wri()
{
_emi=0;
_mp1h=1;
_mp1l=0x80;
_iar1=DisplayTable[0];
_mp1l=0x81;
_iar1=DisplayTable[1];
_mp1l=0x82;
_iar1=DisplayTable[2];
_mp1l=0x83;
_iar1=DisplayTable[3];
_mp1l=0x84;
_iar1=DisplayTable[4];
_mp1l=0x85;
_iar1=DisplayTable[5];
_mp1l=0x86;
_iar1=DisplayTable[6];
_mp1l=0x87;
_iar1=DisplayTable[7];
_mp1l=0x88;
_iar1=DisplayTable[8];
_mp1l=0x89;
_iar1=DisplayTable[9];
_mp1l=0x8a;
_iar1=DisplayTable[10];
_mp1l=0x8b;
_iar1=DisplayTable[11];
_mp1l=0x8c;
_iar1=DisplayTable[12];
_mp1l=0x8d;
_iar1=DisplayTable[13];
_mp1l=0x8e;
_iar1=DisplayTable[14];
_mp1l=0x8f;
_iar1=DisplayTable[15];
_mp1h=0;
_emi=1;
}
/******************************************/
void lcd_clr_write() //
{
uchar i;
for(i=0;i<16;i++){
DisplayTable[i]=0x00;
}
}
/******************************************/
void lcd_write(unsigned short lcd_data) //
{
//ushort data1;
uchar a;
//data1=lcd_data;
a=(lcd_data>>8)& 0xff;
DisplayTable[a]=(lcd_data &0xff)|DisplayTable[a];
}
/******************************************/
void LCD_SEG_Code(uchar code,uchar num)
{
uchar n=0;
GCC_CLRWDT1();
GCC_CLRWDT2();
for(n=0;n<7;n++){
if((Num_Table[num]&(1<<n))==(1<<n)){
lcd_write(SegTable[code-1][n]);
}
}
}
/******************************************/
void LCD_123SEG_Code(uchar num)
{
LCD_SEG_Code(1,num/100);
LCD_SEG_Code(2,num%100/10);
LCD_SEG_Code(3,num%10);
}
/*****************************************
void LCD_123SEG_TempCode(uchar num)
{
if(num<100)
{
LCD_SEG_Code(1,num%100/10);
LCD_SEG_Code(2,num%10);
LCD_SEG_Code(3,0);
lcd_write(LCD_F32);
}
else
{
lcd_write(LCD_SEG1G);
LCD_SEG_Code(2,num%100/10);
LCD_SEG_Code(3,num%10);
lcd_write(LCD_F32);
}
}*/
/******************************************/
void LCD_23SEG_Code(uchar num)
{
LCD_SEG_Code(2,num%100/10);
LCD_SEG_Code(3,num%10);
}
/******************************************/
void LCD_45SEG_Code(uchar num)
{
LCD_SEG_Code(4,num/10);
LCD_SEG_Code(5,num%10);
}
/******************************************/
void LCD_67SEG_Code(uchar num)
{
LCD_SEG_Code(6,num/10);
LCD_SEG_Code(7,num%10);
}
/******************************************/
void LCD_4567SEG_Code(uchar num)
{
LCD_SEG_Code(4,0);
LCD_SEG_Code(5,num/100);
LCD_SEG_Code(6,num%100/10);
LCD_SEG_Code(7,num%10);
}
/******************************************/
void LCD_89SEG_Code(uchar num)
{
LCD_SEG_Code(8,num/10);
LCD_SEG_Code(9,num%10);
}
/******************************************/
void LCD_10SEG_Code(uchar num)
{
LCD_SEG_Code(10,num);
}
/******************************************/
void LCD_fillscreen()
{
uchar j;
for(j=0;j<16;j++){
DisplayTable[j]=0xff;
}
}
/******************************************/
void LCD_clrscreen()
{
uchar l;
for(l=0;l<16;l++){
DisplayTable[l]=0x00;
}
}
/******************************************/
void LCD_CLOCK()
{
LCD_SEG_Code(4,hour/10);
LCD_SEG_Code(5,hour%10);
LCD_SEG_Code(6,minute/10);
LCD_SEG_Code(7,minute%10);
LCD_SEG_Code(10,day);
lcd_write(LCD_S20);
if(Count_5ms<100)
{
lcd_write(LCD_SEGP3);
}
}
/******************************************/
void LCD_OFF()
{
LCD_SEG_Code(1,0);
LCD_SEG_Code(2,10);
LCD_SEG_Code(3,10);
LCD_45SEG_Code(hour);
LCD_67SEG_Code(minute);
LCD_10SEG_Code(day);
lcd_write(LCD_S20);
LCD_CLOCK();
//lcd_write(LCD_SEGP3);
}
/******************************************/
void LCD_ON()
{
LCD_123SEG_Code(temper);
LCD_45SEG_Code(hour);
LCD_67SEG_Code(minute);
lcd_write(LCD_SEGP3);
LCD_10SEG_Code(day);
lcd_write(LCD_S20);
}
/******************************************/
void LCD_LOCK()
{
lcd_write(LCD_SEG7D);
lcd_write(LCD_SEG7E);
lcd_write(LCD_SEG7F);
lcd_write(LCD_SEG8C);
lcd_write(LCD_SEG8D);
lcd_write(LCD_SEG8E);
lcd_write(LCD_SEG8G);
lcd_write(LCD_SEG9D);
lcd_write(LCD_SEG9E);
lcd_write(LCD_SEG9G);
}
/******************************************/
void LCD_unLOCK()
{
lcd_write(LCD_SEG6D);
lcd_write(LCD_SEG6E);
lcd_write(LCD_SEG6C);
lcd_write(LCD_SEG7C);
lcd_write(LCD_SEG7E);
lcd_write(LCD_SEG7G);
lcd_write(LCD_SEG8D);
lcd_write(LCD_SEG8E);
lcd_write(LCD_SEG8F);
lcd_write(LCD_SEG9C);
lcd_write(LCD_SEG9D);
lcd_write(LCD_SEG9E);
lcd_write(LCD_SEG9G);
}
/******************************************/
void LCD_PASS()
{
lcd_write(LCD_SEG6A);
lcd_write(LCD_SEG6B);
lcd_write(LCD_SEG6E);
lcd_write(LCD_SEG6F);
lcd_write(LCD_SEG6G);
lcd_write(LCD_SEG7A);
lcd_write(LCD_SEG7B);
lcd_write(LCD_SEG7C);
lcd_write(LCD_SEG7E);
lcd_write(LCD_SEG7F);
lcd_write(LCD_SEG7G);
LCD_SEG_Code(8,5);
LCD_SEG_Code(9,5);
}
/******************************************/
void LCD_PRO()
{
lcd_write(LCD_SEG1A);
lcd_write(LCD_SEG1B);
lcd_write(LCD_SEG1E);
lcd_write(LCD_SEG1F);
lcd_write(LCD_SEG1G);
lcd_write(LCD_SEG2E);
lcd_write(LCD_SEG2G);
lcd_write(LCD_SEG3C);
lcd_write(LCD_SEG3D);
lcd_write(LCD_SEG3E);
lcd_write(LCD_SEG3G);
}
void LCD_FAIL()
{
lcd_write(LCD_SEG6A);
lcd_write(LCD_SEG6E);
lcd_write(LCD_SEG6F);
lcd_write(LCD_SEG6G);
lcd_write(LCD_SEG7A);
lcd_write(LCD_SEG7B);
lcd_write(LCD_SEG7C);
lcd_write(LCD_SEG7E);
lcd_write(LCD_SEG7F);
lcd_write(LCD_SEG7G);
lcd_write(LCD_SEG8E);
lcd_write(LCD_SEG8F);
lcd_write(LCD_SEG9E);
lcd_write(LCD_SEG9F);
lcd_write(LCD_SEG9D);
}
//================================
没有合适的资源?快使用搜索试试~ 我知道了~
HT67F489应用例程
共59个文件
asm:13个
obj:13个
c:9个
5星 · 超过95%的资源 需积分: 2 111 下载量 117 浏览量
2017-04-15
09:24:47
上传
评论 5
收藏 82KB RAR 举报
温馨提示
本人写的程序改编的例程,用的是 C编写。对比了一下网上已有例程貌似我的更为齐全,仅需一分,对于没调过HT系列(特别是67F489)的码农们这是一个不错的例子
资源推荐
资源详情
资源评论
收起资源包目录
HT67F489例程.rar (59个子文件)
HT67F489例程
define.ASM 10KB
UART.c 1KB
Mode_Show.OBJ 6KB
init_ht67f489.c 3KB
HT67F489.c 3KB
Mode_Show.c 4KB
RUN.ASM 2KB
Clock_Run.OBJ 2KB
HT67F489.TSK 16KB
UART.ASM 6KB
HT67F489.MAP 21KB
Mode_Show.h 703B
LCD.OBJ 11KB
.pjw 757B
init_ht67f489.h 310B
HT67F489.opt 235B
startup1_l.asm.bak 1KB
HT67F489.OBJ 3KB
init_ht67f489.ASM 37KB
startup1_l.OBJ 1KB
EEPROM.OBJ 2KB
EEPROM.h 237B
HT67F489.SPC 187B
KeyScan.h 260B
KeyScan.ASM 16KB
define.c 1KB
init_ht67f489.OBJ 8KB
define.h 1KB
EEPROM.ASM 7KB
RUN.OBJ 1KB
KeyScan.OBJ 4KB
KeyScan.c 3KB
LCD_CTL.ASM 6KB
USER_KEY.ASM 10KB
LCD.c 7KB
HT67F489.MEM 66B
Clock_Run.ASM 5KB
HT67F489.CV 16KB
EEPROM.c 828B
UART.OBJ 2KB
LCD.ASM 40KB
HT67F489.LST 18KB
HT67F489.MTP 16KB
HT67F489.pjw 6KB
LCD_CTL.OBJ 2KB
LCD.h 4KB
Clock_Run.c 633B
HT67F489.pjt 3KB
Mode_Show.ASM 1KB
HT67F489.list 18KB
HT67F489.DBG 17KB
startup1_l.asm 2KB
HT67F489.pjtx 10KB
HT67F489.ASM 11KB
Clock_Run.h 236B
UART.h 139B
define.OBJ 7KB
HT67F489.bin 16KB
USER_KEY.OBJ 3KB
共 59 条
- 1
ohyearLi
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页