• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 33KB
    文件大小
  • rar
    文件格式
  • 2
    收藏次数
  • 10 积分
    下载积分
  • 724
    下载次数
  • 2010-04-16 14:39
    上传日期
这是HT1621驱动液晶的程序,包括原理图,很详细
HT1621B.rar
  • 原理图+程序
  • lcd.SchPreview
    50.9KB
  • 1621.c
    3.9KB
  • lcd.Sch
    6.3KB
内容介绍
//ICC-AVR application builder : 2005-3-3 17:58:11 // Target : M8 // Crystal: 4.0000Mhz //作者:xky183 //完成日期:2005年3月6日 //1621引线:CS:PB4 WR:PB5 Data:PB3 #include <iom8v.h> #include <macros.h> #include <eeprom.h> #define WR 0B00100000//时钟线 #define DATA 0B00001000//数据线 #define CS 0b00010000//片选线 #define P 0x80 #define data_length 8 const char seg_tab[]={0x5f,0x06,0x6b,0x2f,0x36,0x3d,0x7d,0x07,0x7f,0x3f, 0x77,0x7c,0x59,0x6e,0x79,0x71,0x58,0x76,0x00}; unsigned char disbuff[6] ={0,0,0,0,0,0};//对应LCD的6位 unsigned char p1 =0; unsigned char p2 =0; unsigned long int time =0;//每一毫秒加1 //1621的显存是4位*32的,故用16*8位的寄存器就能满足要求奇数显存放高4位,偶数放低4位 /*****************************************************************/ //1621初始化命令 const char init_tab[]={ 0b00000001,//打开系统振荡器命令 0b00000011,//打开LCD偏压发生器命令 0b00000101,//WDT 溢出标志输出失效命令 0b00000110,//时基输出使能命令 0b00011000,//系统时钟源片内RC振荡器命令 0b00101001,//LCD1/3偏压选项4个公共口命令 //0b01000000,//声音频率4KHz命令 //0b00001001,//打开声音输出命令 0b10100000,//时基/WDT 时钟输出1Hz命令 0b10001000 //使/IRQ 输出有效命令 }; void send_data(unsigned char data_bus,unsigned char loop); void delayns(void); void display(void); void display_init(void); void votlageget(void); void delay(int temp); void port_init(void) { PORTB = 0xFF; DDRB = 0B11111000; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0xFF; DDRD = 0XFF; } void timer1_init(void) { TCCR1B = 0x00; //stop TCNT1H = 0xFE; //setup TCNT1L = 0x0C; OCR1AH = 0x01; OCR1AL = 0xF4; OCR1BH = 0x01; OCR1BL = 0xF4; ICR1H = 0x01; ICR1L = 0xF4; TCCR1A = 0x00; TCCR1B = 0x02; //start Timer } #pragma interrupt_handler timer1_ovf_isr:9 void timer1_ovf_isr(void) //每毫秒中断一次 { //TIMER1 has overflowed TCNT1H = 0xFE; //reload counter high value TCNT1L = 0x0C; //reload counter low value time ++; disbuff[5] =time&0x0f; disbuff[4] =(time>>4)&0x0f; disbuff[3] =(time>>8)&0x0f; disbuff[2] =(time>>12)&0x0f; disbuff[1] =(time>>16)&0x0f; disbuff[0] =(time>>20)&0x0f; display(); //刷新1621的缓存 } //***********************************************************************/ void display_init(void) { unsigned char t; PORTB &=~CS; send_data(0b10000000,3);//送3位命令模式代码100 for(t=0;t<=7;t++) { send_data(init_tab[t],9);//送9位命令代码 } PORTB |=CS; PORTB |=WR; } //***********************************************************************/ void display(void) { unsigned char t; unsigned char seg_temp; PORTB &=~CS; PORTB &=~WR; send_data(0b10100000,3);//送3位“写 ”模式命令代码101 send_data(0,6);//送6位首地址00h for(t=0;t<=5;t++) { seg_temp =seg_tab[disbuff[t]]; send_data(seg_temp,data_length);//向显存送数据 } PORTB |=CS; PORTB |=WR; } //***********************************************************************/ void send_data(unsigned char data_temp,unsigned char loop) { for(;loop!=0;loop--) { delayns(); PORTB &=~WR; delayns(); if((data_temp&0b10000000)==0) { PORTB &=~DATA; } else { PORTB |=DATA; } data_temp=(data_temp<<1); PORTB |=WR; } } //~~~~~~~~~~~~~~~~~~~~~` void delayns(void) { asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); asm("nop"); } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts port_init(); timer1_init(); TIMSK = 0x04; //timer interrupt sources SEI(); //re-enable interrupts } void main(void) { init_devices(); //单片机初始化 display_init(); //1621初始化 while(1) { ; } }
评论
  • gelunbiya2008 2018-06-14 01:27:24
    下载了,先看看,等焊板好了再试试
相关推荐
  • ht1621.rar
    本程序是液晶HT1621的驱动程序,用的是STC主芯片驱动,用C语言编程,完全可移植到其他51内核单片机主芯片上,将IO口修改即可,使用的编程软件为KEIL,已在试验板上调试过
  • ht1621.rar
    液晶驱动芯片HT1621驱动程序,keil c调试通过,可放心使用
  • ht9032demo.rar
    keil开发环境下实现的汇编程序,用51单片机控制ht9032芯片,读取FSK数据
  • HT1621.rar
    是STC主芯片驱动,用C语言编程,完全可移植到其他51内核单片机主芯片上,将IO口修改即可,使用的编程软件为KEIL
  • 5、HT-Hawk飞控源代码(KEIL MDK).rar
    DIY四旋翼很好的资料,算法清晰,简单易懂
  • HT1621-LCD.rar
    使用keil软件编写的.c文件,用于测试使用ht1621的液晶显示模组。
  • lcd-project---ht1621.rar
    keil project for application for write data to numeric lcd
  • ht1621appliation.rar
    Keil编译器编译AT20C51单片机适用的HT1621液晶屏驱动程序.
  • LCD控制器TM1621/HT1621官方程序
    *开发环境:Keil uVision4 *晶震频率:11.0592MHZ *完成日期:2013-08-07 *程序功能:1.LCD驱动:LCD屏显示0`F *免责声明:1.此程序为TM1621驱动LCD演示程序,仅作参考之用。 2.如有直接使用本例程程序...
  • Proteus7.12.rar
    Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路