文档库 最新最全的文档下载
当前位置:文档库 › 12864液晶电子钟_具有按键可调、闹钟、温度显示

12864液晶电子钟_具有按键可调、闹钟、温度显示

12864液晶电子钟_具有按键可调、闹钟、温度显示
12864液晶电子钟_具有按键可调、闹钟、温度显示

//程序已全部通过硬件测试,请放心使用。(没有使用到DS1302)/************12864时钟显示函数*************/

/******实现时间走动、按键控制、蜂鸣器闹铃、温度显示******/

#include

#include

#define uchar unsigned char

#define uint unsigned int

/******************** 功能:定义液晶12864控制端接口

*********************/

sbit rs=P2^6;

// 注意:rw 控制端始终为低电平,直接在硬件上接低电平

sbit en=P2^7;

sbit wd=P2^0; //温度传感器信号线

/******************** 功能:定义蜂鸣器、按键接口

*********************/

sbit beet=P2^2; //蜂鸣器定义

sbit key1=P1^0; //功能选择

sbit key2=P1^1; //至加

sbit key3=P1^2; //至减

sbit key4=P1^3; //北京时间与闹钟时间画面切换

/******************** 功能:定义数据初始值

******************************/

char hour=23,minute=59,second=58,count=0;

char shi=0,fen=0,miao=0,hm;

int years=2012;

char month=12,day=30,mm=0,cc=7;

uint temp;

float f_temp;

/******************** 功能:定义数组字符串*********************/

uchar code table1[]={" 幸福牌电子钟"};

uchar code table2[]={"温馨提示:00.0℃"};

/******************** 功能:延时函数***************************/

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/******************* 功能:蜂鸣器响应***********************/

void fengmingqi()

{

beet=0;delay(1);beet=1;delay(1);

}

/******************** 功能:液晶12864读写数据******************/

void xieling_shu(uchar aa,uchar bb)

{

if(aa==1){rs=0;}

if(aa==0){rs=1;}

P0=bb;delay(1);

en=1; delay(1);

en=0; delay(1);

}

/******************** 功能:液晶12864写入地址******************/

void xieludizhi(uchar x, uchar y)

{

switch(x)

{

case 1: xieling_shu(1,0x80 + y ); return;//return 返回的意思

case 2: xieling_shu(1,0x90 + y ); return;

case 3: xieling_shu(1,0x88 + y ); return;

case 4: xieling_shu(1,0x98 + y ); return;

}

}

/******************** 功能:液晶12864写入字符串*****************/

void xiezifuchuan(uchar *dd)

{

while(*dd != '\0')

{

xieling_shu(0,*dd++ );

}

}

/******************** 功能:液晶12864清屏函数*********************/

void qingping()

{

xieling_shu(1,0x01); //清屏

xieling_shu(1,0x01); //清屏

xieling_shu(1,0x01); //清屏

delay(20);

}

/******************** 功能:液晶12864初始化指令操作

******************/

void init_12864()

{

xieling_shu(1,0x30); //基本指令操作

xieling_shu(1,0x30); //基本指令操作

xieling_shu(1,0x0C); //0x0c: 无光标,OXOF: 光标反白显示

xieling_shu(1,0x01); //清屏

xieling_shu(1,0x06);

}

/******************** 功能:液晶12864初始化字串显示

******************/

void init_zifu()

{

xieludizhi(1,0);xiezifuchuan(" 欢迎使用"); delay(1);

xieludizhi(2,0);xiezifuchuan(" 幸福牌电子钟"); delay(1);

xieludizhi(3,0);xiezifuchuan(" 订购热线"); delay(1);

xieludizhi(4,0);xiezifuchuan("Phone:0777-66914"); delay(9534);

qingping();

xieludizhi(1,0);xiezifuchuan(table1); delay(1);

xieludizhi(4,0);xiezifuchuan(table2); delay(1);

xieludizhi(3,5);xiezifuchuan("星期");

xieludizhi(2,2);xiezifuchuan("年月日");

}

/******************* 功能:时间、年月日显示函数********************/

void display()

{

xieludizhi(3,0); // 显示时分秒

xieling_shu(0,0x30+hour/10);

xieling_shu(0,0x30+hour%10);

xieling_shu(0,':');

xieling_shu(0,0x30+minute/10);

xieling_shu(0,0x30+minute%10);

xieling_shu(0,':');

xieling_shu(0,0x30+second/10);

xieling_shu(0,0x30+second%10);

xieludizhi(2,0); // 显示年

xieling_shu(0,0x30+years/1000);

xieling_shu(0,0x30+years%1000/100);

xieling_shu(0,0x30+years%100/10);

xieling_shu(0,0x30+years%10);

xieludizhi(2,3); // 显示月

xieling_shu(0,0x30+month/10);

xieling_shu(0,0x30+month%10);

xieludizhi(2,5); // 显示日

xieling_shu(0,0x30+day/10);

xieling_shu(0,0x30+day%10);

}

/******************* 功能:闹钟(时间、年月日)显示函数

********************/

void display1()

{

xieludizhi(3,0); // 显示时分秒

xieling_shu(0,0x30+shi/10);

xieling_shu(0,0x30+shi%10);

xieling_shu(0,':');

xieling_shu(0,0x30+fen/10);

xieling_shu(0,0x30+fen%10);

xieling_shu(0,':');

xieling_shu(0,0x30+miao/10);

xieling_shu(0,0x30+miao%10);

xieludizhi(2,0); // 显示年

xieling_shu(0,0x30+years/1000);

xieling_shu(0,0x30+years%1000/100);

xieling_shu(0,0x30+years%100/10);

xieling_shu(0,0x30+years%10);

xieludizhi(2,3); // 显示月

xieling_shu(0,0x30+month/10);

xieling_shu(0,0x30+month%10);

xieludizhi(2,5); // 显示日

xieling_shu(0,0x30+day/10);

xieling_shu(0,0x30+day%10);

}

/******************* 功能:星期函数*********************************/

void xingqi()

{

switch(cc)

{

case 1: xieludizhi(3,7); xiezifuchuan("一"); return;

case 2: xieludizhi(3,7); xiezifuchuan("二"); return;

case 3: xieludizhi(3,7); xiezifuchuan("叁"); return;

case 4: xieludizhi(3,7); xiezifuchuan("四"); return;

case 5: xieludizhi(3,7); xiezifuchuan("五"); return;

case 6: xieludizhi(3,7); xiezifuchuan("六"); return;

case 7: xieludizhi(3,7); xiezifuchuan("日"); return;

}

}

/******************* 功能:按键程序*******************/

void anjian()

{

if(key4==0){delay(1);hm=~hm;while(key4==0);} /******************* 功能:key1按键选择功能*******************/

if(key1==0)

{

delay(1);

mm++;if(hm!=0){if(mm>=4)mm=0;}

if(mm==1){xieludizhi(3,3);xieling_shu(0,0x5f);}

if(mm==2){TR0=1;xieludizhi(3,2);xieling_shu(0,0x5f);}

if(mm==3){xieludizhi(3,0);xieling_shu(0,0x5f);}

if(mm==4){xieludizhi(2,5);xieling_shu(0,0x5f);}

if(mm==5){xieludizhi(2,3);xieling_shu(0,0x5f);}

if(mm==6){xieludizhi(2,1);xieling_shu(0,0x5f);}

if(mm==7){xieludizhi(3,7);xieling_shu(0,0x5f);}

if(mm==8){xieludizhi(2,7);xieling_shu(0,0x02);} if(mm>=9){xieludizhi(2,7);xieling_shu(0,0x20);mm=0;} // mm=0;跳出调整

时间

while(key1==0);

}

/******************* 功能:key2按键加减功能*******************/

if(mm==1&&key2==0) //秒加1

{

if(hm==0){TR0=0;delay(1);if(key2==0){second++;if(second>=60){second=0;}}} if(hm!=0){delay(1);if(key2==0){miao++;if(miao>=60){miao=0;}}}

while(key2==0);

}

if(mm==1&&key3==0) //秒减1

{

if(hm==0){TR0=0;delay(1);if(key3==0){second--;if(second<=-1){second=59;}}} if(hm!=0){delay(1);if(key3==0){miao--;if(miao<=-1){miao=59;}}}

while(key3==0);

}

if(mm==2&&key2==0) //分加1

{

if(hm==0){delay(1);if(key2==0){minute++;if(minute>=60){minute=0;}}} if(hm!=0){delay(1);if(key2==0){fen++;if(fen>=60){fen=0;}}}

while(key2==0);

}

if(mm==2&&key3==0) //分减1

{

if(hm==0){delay(1);if(key3==0){minute--;if(minute<=-1){minute=59;}}} if(hm!=0){delay(1);if(key3==0){fen--;if(fen<=-1){fen=59;}}}

while(key3==0);

}

if(mm==3&&key2==0) //时加1

{

if(hm==0){delay(1);if(key2==0){hour++;if(hour>=24){hour=0;}}} if(hm!=0){delay(1);if(key2==0){shi++;if(shi>=24){shi=0;}}}

while(key2==0);

}

if(mm==3&&key3==0) //时减1

{

if(hm==0){delay(1);if(key3==0){hour--;if(hour<=-1){hour=23;}}} if(hm!=0){delay(1);if(key3==0){shi--;if(shi<=-1){shi=23;}}}

while(key3==0);

}

if(mm==4&&key2==0) //日加1

{

delay(1);

if(key2==0)

{

day++;

if(day>=31){day=1;}

}

while(key2==0);

}

if(mm==4&&key3==0) //日减1

{

delay(1);

if(key3==0)

{

day--;

if(day<=0){day=31;}

}

while(key3==0);

}

if(mm==5&&key2==0) //月加1

{

delay(1);

if(key2==0)

{

month++;

if(month>=13){month=1;}

}

while(key2==0);

}

if(mm==5&&key3==0) //月减1

{

delay(1);

if(key3==0)

{

month--;

if(month<=0){month=12;}

}

while(key3==0);

}

if(mm==6&&key2==0) //年加1

{

delay(1);

if(key2==0){years++;}// 不设置年限

while(key2==0);

}

if(mm==6&&key3==0) //年减1

{

delay(1);

if(key3==0){years--;}

while(key3==0);

}

if(mm==7&&key2==0) //星期加1

{

delay(1);

if(key2==0)

{

cc++;

if(cc>=8){cc=1;}

}

while(key2==0);

}

if(mm==7&&key3==0) //星期减1

{

delay(1);

if(key3==0)

{

cc--;

if(cc==0){cc=7;}

}

while(key3==0);

}

}

/********************************************************************

*******************

******************************* 功能:18B20 所有函数

************************************/

/******************* 18B20复位,初始化函数

**************************/

void dsreset(void)

{

uint i;

wd=0;

i=103;

while(i>0)i--;

wd=1;

i=4;

while(i>0)i--;

}

/******************* 18B20 读1位函数**************************/

bit tempreadbit(void)

{

uint i;

bit dat;

wd=0;i++; //i++ 起延时作用

wd=1;i++;i++;

dat=wd;

i=8;while(i>0)i--;

return (dat);

}

/******************* 18B20 读1个字节函数

**************************/

uchar tempread(void)

{

uchar i,j,dat;

dat=0;

for(i=1;i<=8;i++)

{

j=tempreadbit();

dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在

DAT里

}

return(dat);

}

/******************* 18B20 写一个字节数据函数

**************************/

void tempwritebyte(uchar dat)

{

uint i;

uchar j;

bit testb;

for(j=1;j<=8;j++)

{

testb=dat&0x01;

dat=dat>>1;

if(testb) //写1

{

wd=0;

i++;i++;

wd=1;

i=8;while(i>0)i--;

}

else

{

wd=0; //写0

i=8;while(i>0)i--;

wd=1;

i++;i++;

}

}

}

/******************* 18B20 开始获取温度并转换函数

**************************/

void tempchange(void)

{

dsreset();

delay(1);

tempwritebyte(0xcc); // 写跳过读ROM指令

tempwritebyte(0x44); // 写温度转换指令

}

/******************* 18B20 读取寄存器中存储的温度数据函数

**************************/

uint get_temp()

{

uchar a,b;

dsreset();

delay(1);

tempwritebyte(0xcc);

tempwritebyte(0xbe);

a=tempread(); //读低8位

b=tempread(); //读高8位

temp=b;

temp<<=8; //两个字节组合为1个字

temp=temp|a;

f_temp=temp*0.0625; //温度在寄存器中为12位分辨率位0.0625°temp=f_temp*10+0.5; //乘以10表示小数点后面只取1位,加0.5是四舍

五入

f_temp=f_temp+0.05;

return temp; //temp是整型

}

/******************* 18B20 发送数据函数**************************/

void comm(char *parr)

{

do

{

SBUF = *parr++; //发送数据

while(!TI); //等待发送完成标志为1

TI =0; //标志清零

}while(*parr); //保持循环直到字符为'\0'

}

/************************ 功能:主函数****************************/

void main()

{ uchar buff[4];

TMOD=0x01; // 设置T0为工作方式1

EA=1;

ET0=1;

TR0=1; //开启T0中断

TH0=-50000/256;

TL0=-50000%256;

init_12864();

init_zifu();

hm=0;

while(1)

{ if(count>5&&count<18)

{

tempchange(); //开始获取温度

get_temp(); //读取寄存温度

sprintf(buff,"%f",f_temp);

comm(buff);

xieludizhi(4,5);xieling_shu(0,0x30+ temp/100);xieling_shu(0,0x30+

temp%100/10);

xieling_shu(0,0x2e);xieling_shu(0,0x30+temp%100%10);

}

if(hm==0)display(); // 如果hm=0 显示北京时间,否则显示闹钟时间

else display1();

anjian(); // 按键判断

xingqi(); // 显示星期

if(minute==59&&second==59){fengmingqi();} // 整点报时

if(shi==hour&&fen==minute&&miao>=second&&miao<=second+3){fengmingq

i();}// 闹钟

}

}

/************************ 功能:中断函数**************************/

void time() interrupt 1

{

TH0=-50000/256;

TL0=-50000%256;

count++;

if(count==20)

{

count=0;

second++;

if(second==60)

{

second=0;

minute++;

if(minute==60)

{

minute=0;

hour++;

if(hour==24)

{

hour=0;

day++;

cc++;

if(cc==8) cc=1;

if(day==31)

{

day=1;

month++;

if(month==13)

{

month=1;

years++;

}

}

}

}

}

}

}

12864液晶显示图片原理(完整版)

51单片机综合学习 12864液晶原理分析1 辛勤学习了好几天,终于对12864液晶有了些初步了解~没有视频教程学起来真有些累,基本上内部程序写入顺序都是根据程序自我变动,然后逆向反推出原理…… 芯片:YM12864R P-1 控制芯片:ST7920A带中文字库 初步小结: 1、控制芯片不同,寄存器定义会不同 2、显示方式有并行和串行,程序不同 3、含字库芯片显示字符时不必对字符取模了 4、对芯片的结构地址一定要理解清楚

5、显示汉字时液晶芯片写入数据的顺序(即显示的顺序)要清楚 6、显示图片时液晶芯片写入数据的顺序(即显示的顺序)要清楚 7、显示汉字时的二级单元(一级为八位数据写入单元)要清楚 8、显示图片时的二级单元(一级为八位数据写入单元)要清楚 12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。每个显示点对应一位二进制数,1表示亮,0表示灭。存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入

到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。显示点在64*64液晶屏上的位置由行号(line,0~63)与列号(column,0~63)确定。512*8 bits RAM中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)确定。每个存储单元存储8个液晶点的显示信息。

12864液晶电子时钟+温度显示

12864液晶电子时钟+温度显示 上午花了一上午时间,用12864 液晶写了一个电子时钟加温度传感器程序, 先说一下程序的功能,可以实现显示年月日时间和温度, 年月日和时间是可通过按键调节的,调节相应的选项时,该选项会闪烁,并 停止走时,当调节完毕后时钟恢复走时。现在将程序和思路写下来,以便日后 查看和与大家探讨改进,欢迎高手提出宝贵意见。 我使用的是HJ12864M-1 带字库液晶,所以在显示上稍微方便一点。下面先 来说一下我的编程思路。时间更新用的是单片机自带的定时器,液晶要显示数 字必需将它转换成ASCii 码的形式,数字0-9 的ASCii 码与数字之间有一个定 量的关系,当数字加上0x30 之后便得到该数字的ASCii 码,这样以来液晶更 新数据就变得简单了。调节时间时对应选项闪烁,是通过不断的交替写入数据 和空格实现的。温度显示用的是DS18B20,,将测得的当前温度不断更新显示在 液晶上。调节时间用的是三个独立按键。由于这个程序我使用模块化来写的, 就只能将每个模块分别给出来,大家只要组装一下便可以使用。如果需要完整 程序的可以给我留言我发给你们。 下面是12864 液晶的初始化,读写命令,及读忙操作 #include “lcd12864.h”#include reg52.hsbit RS=P2 ; //控制端口位定义sbit RW=P2;sb it EN=P2;vo id init_12864(){delay(40);write_com(0x30);//8 位数据格式,基本指令显示delay(10); //延时时间write_com(0x30);//8 位数据格式,基本 指令显示delay(37);write_com(0x0C);//开显示、关闭光标delay(10); write_com(0x01);//清屏指令delay(10); //延时write_com(0x06);//设置显示点:指针自加1}tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

电子钟程序及原理图

. ..页脚.

基于51单片机电子钟设计 利用如图所示电路,设计一个电子钟,要求如下: 1)显示容:时-分-秒 2)具有闹铃设定功能、时间调整功能 3)具有按键设置功能 一、显示容 显示时间:用六位7段数码管 闹铃提示:用8个发光二极管 设置提示:用8个发光二极管 二、按键功能 P3.2——功能设置键; P3.3——显示区切换键; P3.4——“+”键; P3.5——“-”键。 设置提示显示要求: 1)正常显示状态,8个发光二极管全灭; 2)时间调整状态,P1.7亮; 3)闹铃设定状态,P1.7和P1.6亮。 显示时间要求: 1)显示时-分-秒,分三个显示区。 功能设置键K1是一个多功能键: 按第一次,进入时间调整状态 按第二次,进入闹铃设定状态 按第三次,退出设置状态,时钟正常显示。 备注:其他键在K1退出设置状态时无效。 显示区切换键K2: 在设置状态,用于切换不同的显示区,每按一次,将切换一次。 “+”键K3:在设置状态,用于对相应的显示区数字进行累加,每按一次,数字加1。“-”键K4:在设置状态,用于对相应的显示区数字进行自减,每按一次,数字减1。程序: K1 BIT P3.2 K2 BIT P3.3 K3 BIT P3.4 K4 BIT P3.5 L1 BIT P1.7 L2 BIT P1.6 KEZT EQU 30H HOUR EQU 31H MINU EQU 32H SECO EQU 33H NHOU EQU 34H NMIN EQU 35H K2ZT EQU 36H

TIME EQU 37H TIM EQU 40H NTIM EQU 50H LED EQU P1 ORG 0000H AJMP START ORG 000BH AJMP DINGSHI ORG 100H START: ACALL RESET LOOP: ACALL KEYSET ACALL DISPLAY ACALL ZHISHI AJMP LOOP ;************************************** DINGSHI: MOV TH0,#3CH MOV TL0,#0B0H INC TIME MOV A,TIME CJNE A,#20,DINGEND MOV TIME,#0 INC SECO MOV A,SECO CJNE A,#60,DINGEND INC MINU MOV SECO,#0 MOV A,MINU CJNE A,#60,DINGEND INC HOUR MOV MINU,#0 MOV A,HOUR CJNE A,#24,DINGEND MOV HOUR,#0 DINGEND: RETI ;**************************************** RESET: MOV TMOD,#01H ;T0工作在方式1,12MHZ MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 MOV HOUR,#23 MOV MINU,#59 MOV SECO,#58 MOV NHOU,#12

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

12864点阵型液晶显示屏的基本原理与使用方法(很详细) 点阵LCD的显示原理 在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。 那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示: 图1“A”字模图 而中文的“你”在字模中的记载却如图2所示:

图2“你”字模图 12864点阵型LCD简介 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。 管脚号管脚名称LEVER管脚功能描述 1VSS0电源地 2VDD+5.0V电源电压 3V0-液晶显示器驱动电压 4D/I(RS)H/L D/I=“H”,表示DB7∽DB0为显示数据 D/I=“L”,表示DB7∽DB0为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR或DR 6E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0 R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7DB0H/L数据线 8DB1H/L数据线 9DB2H/L数据线 10DB3H/L数据线 11DB4H/L数据线 12DB5H/L数据线 13DB6H/L数据线 14DB7H/L数据线 15CS1H/L H:选择芯片(右半屏)信号 16CS2H/L H:选择芯片(左半屏)信号 17RET H/L复位信号,低电平复位

基于51单片机设计的带有测温功能的电子时钟汇总

、 职业技能训练之 电子技术课程设计报告 学院电子与信息学院 设计题目基于51单片机设计的带有测温功能的电子时钟班级XXX 姓名XXX 学号XXX 指导教师XXX 时间2012年06月25日

目录 一、设计要求 二、课程设计的方案、目的及意义 三、硬件设计方案 四、软件设计方案 五、总结 六、参考资料

一、设计要求 用51单片机设计带温度显示的电子时钟,具体要求如下: 1、利用DS1302时钟芯片实现时钟功能模块。 2、时钟要求可以调节时间:年、月、日、时、分、秒。 3、利用LCD1602显示。 4、利用DS18B20芯片实现温度功能模块。 5、利用按键完成各项功能。 二、课程设计方案、目的及意义 1、总体方案: 用STC89C51单片机作为CPU主控制器,DS1302时钟芯片提供准确时钟信号,DS18B20温度传感器采集温度信息,三个按键进行加减调整、功能切换作用,通过LCD1602对外多功能显示。 2、具体方案: CPU控制所有模块,通过循环反复从DS1302中读取时钟信息,传送至LCD1602显示,得到基本时钟功能。当分为59,秒为56时开始,每隔一秒LED 灯点亮240毫秒,0分0秒时LED灯点亮700毫秒。从而实现整点光报时。 定时循环从DS18B20中读取温度信息,传送至LCD1602显示,得到基本温度计功能。当温度高于30度(包括30度)时,点亮红色LED灯,提醒当天为高温天气。低于0度时,点亮蓝色LED灯,提醒当天为冰冻天气。 键盘使用扫面方式,MENU键控制功能切换,完成时钟和温度间的转换。OK键控制时间调整与确定,UP、DOWN键调节时间,R、L 键选择调整对象。进入调整时,暂停DS1302数据读取,并将改变的时间数据写入DS1302,并送LCD1602显示,同时,启动LCD1602光标闪烁,确定调整对象,完成人机对话。退出调整时,停止写入数据,重新读取DS1302时钟信息。从而完善时钟功能。 3、目的及意义 可作为产品生产,作为居家的时钟显示与温度计。

玩转12864液晶(1)--显示字符

在我们常用的人机交互显示界面中,除了数码管,LED,以及我们之前已经提到的LCD1602之外,还有一种液晶屏用的比较多。相信接触过单片机的朋友都知道了,那就是12864液晶。顾名思义,12864表示其横向可以显示128个点,纵向可以显示64个点。我们常用的12864液晶模块中有带字库的,也有不带字库的,其控制芯片也有很多种,如KS0108 T6963,ST7920等等。在这里我们以ST7920为主控芯片的12864液晶屏来学习如何去驱动它。(液晶屏采用金鹏的OCMJ4X8C) 关于这个液晶屏的更多信息,请参考它的DATASHEET,附件中有下载。 我们先来了解一下它的并行连接情况。 下面是电路连接图

从上面的图可以看出,液晶模块和单片机的连接除了P0口的8位并行数据线之外,还有RS,RW,E等几根线。其中R/S是指令和数据寄存器的选择控制线(串行模式下为片选),R/W 是读写控制线(串行模式下是数据线),E是使能线(串行模式下为时钟线)。 通过这几根控制线和数据线,再结合它的时序图,我们就可以编写出相应的驱动程序啦。 看看并行模式下的写时序图:

根据这个时序图,我们就可以写出写数据或者写命令到LCD12864液晶的子程序。 读时序图如下: 根据这个时序图我们就可以从LCD12864液晶模块内部RAM中读出相应的数据,我们的忙检测函数就是根据这个时序图写出来的。以及后面章节中讲的画点函数等都要用到读时序。有了这两个时序图,然后我们再看看OCMJ4X8C的相关指令集,就可以编写出驱动程序了。这里要注意的是指令集分为基本指令集和扩充指令集,其中扩充指令集主要是与绘图相关,在此后的章节中会有相应的介绍。 下面让我们根据这些编写出它的驱动程序吧。 我的硬件测试条件为:STC89C516(11.0592MHz) + OCMJ4X8C 实际显示效果图片如下: 程序部分如下,请结合液晶模块的DATASHEET看程序,这样能够更加快速的弄懂程序的流程。大致有如下几个函数:写数据,写指令,忙检测,初始化,指定地址显示字符串等等。[p][/p] #include "reg52.h" #include "intrins.h" sbit io_LCD12864_RS = P1^0 ;

基于单片机的时钟温度显示器制作报告1

基于单片机的时钟温度显示器制作报告班级:电子信息工程1003班姓名:刘洋 一:方案 1:采用STC89C52单片机便于硬件扩展。 2:采用LCD1602液晶显示。 3:采用DS12C887时钟芯片。 4:采用DS18B20温度传感器。 5:采用直流电源供电。因知识水平有限,所以直接采用5.5V直流电源供电。6:安装有电池仓,可用两节CR2302电池供电。 二:主要元件简介 1:1602LCD:标准字符型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16个字符X2行西文字符,字符尺寸为,内置HD44780及兼容芯片接口型液晶显示控制器,可与单片机直接连接,广泛应用于各类仪器仪表及电子设备。 2:DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,

称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并对其内部的三路中断通过软件进行屏蔽。3:TS-18B20数字温度传感器,采用DALLAS公司生产的DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 3.1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 3.2 测温范围-55℃~+125℃,固有测温分辨率0.5℃。 3.3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温 3.4 工作电源: 3~5V/DC 3.5 在使用中不需要任何外围元件 3.6 测量结果以9~12位数字量方式串行传送 3.7 适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温 3.8 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。三:设计 1:电子线路:用导线与锡条手工焊制,略显粗陋。 2:程序设计: #include #include #define uchar unsigned char #define uint unsigned int sbit lcdrs=P2^4;//液晶控制

12864LCD液晶显示原理及使用方法

12864LCD液晶显示原理及使用方法 液晶简介 液晶是一种在一定温度范围内呈现既不同于固态液态又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件(英文的简写为LCD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。 点阵式图形液晶显示屏是 LCD 的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下(这些特点也就是LCD 的特点):工作电压低、微功耗、体积小、可视面积大、无电磁辐射、数字接口、寿命长等特点。 12864LCD是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶显示器组成。可完成图形显示,也可以显示8×4 个(16×16 点阵)汉字或者显示16×4个(8×16 点阵)ASCII码。分为两种,带字库的和不带字库的。不带字库的LCD需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活。带字库的LCD提供字库字模,但是只能显示GB2312的宋体。各有优缺点,根据不同应用场景灵活选择。其液晶模块原理图如下所示。 12864LCD点阵图形液晶模块原理框图 下面给出了其应用连接电路,分别介绍其各引脚的功能和作用。 如下表所示:12864LCD 的引脚说明 管脚号管脚名称LEVER 管脚功能描述 1GND 0 电源地 2VCC+5.0V 电源电压 3VLCD - 液晶显示器驱动电压 4RS (D/I) H/LD/I=“H”,表示DB7∽DB0 为显示数据 D/I=“L”,表示DB7∽DB0 为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0 R/W=“L”,E=“H→L”数据被写到IR 或DR 6EN H/L R/W=“L”,E 信号下降沿锁存DB7∽DB0

带温度显示的数字时钟设计

目录 1 前言....................................................................................................................................1 2功能描述与总体方案. (2) 2.1功能描述 (2) 2.2系统组成 (2) 3硬件设计 (3) 3.1时钟电路 (3) 3.2复位电路 (3) 3.3 DS1302时钟电路 (4) 3.4 DS18B20温度计电路 (4) 3.5 按键电路 (5) 3.6 显示电路 (6) 3.7 闹铃模块电路 (7) 4软件设计 (8) 4.1 主函数流程图 (8) 4.2 18B20温度计流程图 (9) 4.3 按键电路流程图 (10) 5结语 (11) 6参考文献 (12) 7附录 (13)

前言 单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。本文主要介绍由单片机控制的带有温度显示的电子钟的设计。随着人们生活水平的日益提高,人们对生活的要求越来越高,原有的事物已经不能满足人们的生活需求了,一些带有新功能的事物已经在慢慢的取代旧事物。就像电子钟一样,人们用电子钟不仅仅只是看时间了,人们还需要看温度了。越来越多的新功能更贴近人们的生活了,所以也越来越受人们所喜欢。带有温度的的电子钟可以使人们随时都可以了解温度的变化。本文介绍了设计的框架结构和组成模块以及各模块的原理,介绍了各部分硬件设计和各部分软件设计以及软件流程图。该设计是以AT89C51单片机为控制核心的集多种功能于一体的数字钟。该数字钟实现了具有时间显示功能;具有温度显示功能。硬件设计分为单片机控制模块、按键模块、温度模块、时钟模块、显示模块等几个部分。 功能描述与总体方案 2.1功能描述 根据主要功能要求,该设计利用51单片机实现了电子时钟、温度的显示以及设置闹铃等功能。具体可分为一下几种: (1)显示当前的时间,24时制的时、分、秒; (2)可调节时间;

LCD12864图形液晶并口显示

LCD12864图形液晶并口显示 【教学引入】 液晶屏,在生活中很常见,我们常见的液晶显示器,如电脑的显示器,电视机,手机等等。 液晶屏在生活中已得到了普遍应用,它显示个各种各样的画面。 【教学目标】 1、掌握LCD12864液晶屏的用法; 2、编写LCD12864液晶屏的指令代码; 【知识目标】 1、掌握LCD12864液晶屏的用法; 2、掌握LCD12864液晶屏指令代码; 【教学准备】 电脑、Proteus、Keil 【教学方法】 教法:讲授法、讨论法 学法:练习法、探究法 【教学课时】 四课时 【教学过程】 一、12864液晶介绍 (1)12864是128*64点阵液晶模块的点阵数简称,业界约定俗成的简称。12864点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。12864M汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。

12864引脚说明 查阅“12864M.PDF”12864M液晶显示模块技术手册——四、用户指令集 1、指令表1:(RE=0:基本指令表),如下图,讲解了12864的基本指令集和扩充指令集。

当模块在接受指令前,微处理器必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0。“RE”为基本指令集与扩充指令集的选择控制位元,往后的指令集将维持在最后的状态。 当选择G=0 :绘图显示OFF,汉字显示的时,12864屏只能显示8X4=32个汉字,下面是汉字显示的坐标

二、12864液晶屏驱动电路 AT89C52的P0口连接12864的并行数据口,RP1为P0口的上拉排阻。 三、52代码编写 (1)打开keil uVision4,建立一个新的工程,工程名为"12864 graphic LCD parallel display",保存类型*.uvproj,单片机型号AT89C52。在工程中添加12864 graphic LCD parallel display.c文件,如下图

电子钟四位数码管电路原理图

程序: #include #define uchar unsigned char #define uint unsigned int uchar num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar t,s=0,m=11,h=0,qian=0,bai=0,shi=0,ge=0,s0=0,m0=0,h0=0,qian0=0,bai0=0,shi0=0,ge0=0,n1=0; sbit key1=P1^0; //功能 sbit key2=P1^1; //加一 sbit key3=P1^2; //减一 sbit key4=P1^3; //查看秒数 bit mm=0; sbit beep=P2^3; uint a; void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

void delay(uint i) { uint j; for(;i>0;i--) for(j>19;j>0;j--); } /*void clock() { for(a=0;a<=50;a++) { beep=1; delay_1ms(200); beep=0; delay_1ms(200); } }*/ void timer () interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; if(t==20) { s++;t=0; if(s==60) { m++;s=0; if(m==60) { h++;m=0; if(h==24) h=0; } } } } void display(uchar h,uchar m,uchar s) { qian=h/10; bai=h%10; shi=m/10; ge=m%10; P0=num[qian];

带温度显示的电子闹钟设计说明

题目:带温度显示的电子闹钟设计 摘要

本文设计了一款利用单片机技术实现带温度显示的电子闹钟。以应用AT89C51芯片作为核心,利用8位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能,同时利用DS18B20温度传感器测量环境温度。这种实现方法的优点是电路简单,性能可靠,实时性好,时间和温度精度高,操作简单,编程容易。 关键词:电子闹钟,温度,AT89C51,DS18B20,DS1302 Abstract The design determines to use the MCU technology to realize the multi-functional electron clock. This design use AT89C51 as a core chips, 8 LED digital displaying. using DS1302 real-time clock chip to complete the basic function of the clock/calendar.At the same time the design use of DS18B20 temperature sensors is for collecting the environmental temperature. The method has the advantage of being simple circuit, reliable performance, good real-time, high precision of the time and temperature, simply operation, easy programming. Key words: Electronic clock,Temperature,AT89C51,DS18B20,DS1302

数字电子时钟逻辑电路设计

《数字逻辑》 课程设计报告 设计题目:数字电子钟 组员:黄土标黄维超蔡荣达孙清玉 指导老师:麦山 日期:2013/12/27 摘要数字电子钟是一种用数字显示秒、分、时的计时装置,本次数字时钟电路设计采用GAL系列芯片来分别实现时、分、秒的24进制和60进制的循环电路,并支持手动清零和校正的功能。 关键词数字电子钟;计数器;GAL;4040芯片;M74LS125AP三态门 1设计任务及其工作原理 1.1设计任务 设计一台能显示时,分,秒的数字电子钟。 技术要求: (1)秒、分为00~59六十进制计数器。

(2)时为00~23二十四进制计数器。 (3)可手动校正:能分别进行秒、分、时的校正。只要将开关置于手动位置,可分别对秒、分、时进行手动脉冲输入调整或连续脉冲输入校正。并且可以手动按下脉冲进行清零。 1.2工作原理 本数字电子钟的设计是根据时、分、秒各个部分的的功能的不同,分别用 GAL16V8D设计成六十进制计数器和用GAL22V10。秒的个位,设计成十进制计数器,十位设计成六进制进制计数器(计数从00到59时清零并向前进位)。分部分的设计与秒部分的设计完全相同;时的个位,设计成二进制计数器,十位设计为四进制计数器,当时钟计数到23时59分59秒时,使计数器的小时部分清零,进而实现整体循环计时的功能。 2电路的组成 2.1 计数器部分:利用GAL16V8D和GAL22V10芯片分别组成二十四进制计数器和六十进制计数器,它们采用同步连接,利用外接标准脉冲信号进行计数。 2.2 显示部分:将三片GAL芯片对应的引脚分别接到实验箱上的七段共阴数码显示管上,根据脉冲的个数显示时间。 3.3 分频器:由于实验箱上提供的时钟脉冲的时间间隔太小,所以使用GAL16V8D和GAL16V8D、4040芯片和M74LS125AP三态门芯片设计一个分频器,使连续输出脉冲信号时间间隔为0.5s

LCD12864液晶显示模块(中文资料)

FYD12864液晶中文显示模块

(一) (一)概述 (3) (二)(二)外形尺寸 1 方框图 (3) 2 外型尺寸图 (4) (三)(三)模块的接口 (4) (四)(四)硬件说明 (5) (五) 指令说明 (7) (五)(五)读写操作时序 (8) (六)(六)交流参数 (11) (七)(七)软件初始化过程 (12) (八)(八)应用举例 (13) (九)(九)附录 1半宽字符表 (20) 2 汉字字符表 (21) 一、概述 FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 基本特性: ●●低电源电压(VDD:+3.0--+5.5V)

●●显示分辨率:128×64点 ●●内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) ●●内置 128个16×8点阵字符 ●●2MHZ时钟频率 ●●显示方式:STN、半透、正显 ●●驱动方式:1/32DUTY,1/5BIAS ●●视角方向:6点 ●●背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 ●●通讯方式:串行、并口可选 ●●内置DC-DC转换电路,无需外加负压 ●●无需片选信号,简化软件设计 ●●工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 二、方框图 3、外形尺寸图

12864显示图形

看到工具箱旁边那个LCD12864很久没用了(当初买回来用的时候只是简单地测试了一下),于是萌生了重新写一次接口程序的想法(而且这次要给它加个图片显示的功能),好,说做就做,就用Atmega16和ICCAVR来做吧,最近这MCU和平台用得比较熟练。 马上从书堆里把当初打印出来的中文datasheet给翻了出来,依葫芦画瓢地写了个初始化程序。好,OK。编译通过。于是又写了一个可以自定义从XY坐标值开始输出显示的函数,再次编译,也通过,OK。于是呼马上写了四行简单的字符烧到单片机上试了一下,嘿嘿,一次通过。如下图: 后来在进一步测试的时候也出了点小问题。就是我是使用USBISP烧写器把程序烧写进AVR的(此时实验板由USBISP烧写器供电),想要实现从第一行的第一个字符开始连续显示"0123456789"。刚烧写完程序后能看到LCD12864上正常显示"0123456789",但是把烧写器从实验板上断开连接,单独用USB给实验板供电的时候,LCD的第一行只是显示"123456789",第一个字符消失了……,左思右想地弄了一个多小时后,终于把问题给解决了,就是把初始化程序的延时适当增加了些,真是奇怪。刚开始一直想不通为什么在烧写器供电的情况下就正常显示,而换到USB供电后就出了问题。后来再想想,估计是跟供电有关。在使用USBISP烧写器供电的时候,LCD的背光灯明显比用USB供电的时候来得亮,而且对比度也高很多,看来是因为换到USB供电后,供电不怎么充足,以至于LCD在上电初始化的时候花上了更多的时间去初始化(因为供电低了,功率小了,跑起来有点力不从心,用的时间就久了嘛……我是觉得可以这样去理解的 接下来呢,就到了有点难度的画图了。当初刚买到12864的时候只是简单测试了字符显示功能,除了因为画图还不需要用到,另外一个原因就是那datasheet上关于画图那部分的内容不怎么看得懂…。现在重新拿起来看,依然一头雾水……。马上上网百度了一下“12864 7920 显示图片”,看到了不少的例子程序,可是……就是没看到有关于这部分功能实现的详细思路和讲解……下载下来的那些程序,基本上没注释,不是说晦涩难懂,但是至少看起来一团糟,让人家不想继续看下去……于是还是硬着头皮去啃那datasheet。上面对于画图这部分的内容是这样讲解的:

数字电子钟电路的设计

江西航空职业技术学院毕业设计说明书(论文) 课题名称数字电子钟电路的设计 航空电子设备维修专业101332班 学生姓名学号15号 指导老师技术职称副教授 2013年3月10日

江西航空职业技术学院 毕业设计(论文)任务书 学生姓名:刘红亮班级:101332 1.毕业设计(论文)题目:数字电子钟电路的设计 2.毕业设计(论文)使用的原始资料数据及设计技术要求 1:基本概念清楚,基本原理正确; 2:电路图设计符合国家有关规范和标准; 3:按时参加指导教师辅导,按进度要求完成课程设计任务; 4:设计说明书不少于5000字; 2.毕业设计(论文)工作内容及完成时间:

1:数字电子时钟电路的背景和意义 2:数字电子钟电路的系统设计 3:数字钟原理图所需原件的作用 日期:自2012年12月30日至2013年4月6日 指导老师评语: ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ _____________________ 指导老师:姚卫华系主任:周延

摘要 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用32768MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。 关键字:数字钟晶振计数

12864液晶电子钟_具有按键可调、闹钟、温度显示

//程序已全部通过硬件测试,请放心使用。(没有使用到DS1302)/************12864时钟显示函数*************/ /******实现时间走动、按键控制、蜂鸣器闹铃、温度显示******/ #include #include #define uchar unsigned char #define uint unsigned int /******************** 功能:定义液晶12864控制端接口 *********************/ sbit rs=P2^6; // 注意:rw 控制端始终为低电平,直接在硬件上接低电平 sbit en=P2^7; sbit wd=P2^0; //温度传感器信号线 /******************** 功能:定义蜂鸣器、按键接口 *********************/ sbit beet=P2^2; //蜂鸣器定义 sbit key1=P1^0; //功能选择 sbit key2=P1^1; //至加 sbit key3=P1^2; //至减 sbit key4=P1^3; //北京时间与闹钟时间画面切换 /******************** 功能:定义数据初始值 ******************************/ char hour=23,minute=59,second=58,count=0; char shi=0,fen=0,miao=0,hm; int years=2012; char month=12,day=30,mm=0,cc=7; uint temp; float f_temp; /******************** 功能:定义数组字符串*********************/ uchar code table1[]={" 幸福牌电子钟"}; uchar code table2[]={"温馨提示:00.0℃"}; /******************** 功能:延时函数***************************/ void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /******************* 功能:蜂鸣器响应***********************/ void fengmingqi() { beet=0;delay(1);beet=1;delay(1); }

在12864显示任意图片及参考程序

用12864显示单色图片 首先介绍本12864液晶显示器: 型号:QC12864B 因为单片机读取的是数据,而不是直接的图片。得将图片进行取模,图片应该是单色图片,像素128*64。 下面我为大家介绍个实例。 ①、在电脑附件画图,首先设置属性

开始画图 保存文件,注意格式: ②、然后进行取模。

③、编程: #include #define uchar unsigned char #define uint unsigned int //宏定义 #define lcd P2 //数据端口 sbit rs=P1^2; //指令/数据选择信号 sbit rw=P1^1; //读写选择信号 sbit e=P1^0; //使能端 sbit psb=P1^3; //串并选择端,高电平为并行,低电平为串行 uchar code ai[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xCE,0x00,0x00,0x00,0x00,0x00,0x01,0xC1,0xE0,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xC7,0x00,0x00,0x00,0x00,0x00,0x03,0x31,0xC0,0x00,0x00,0x00, 0x00,0x00,0x00,0x0E,0xC0,0x00,0x00,0x00,0x00,0x00,0x03,0x9B,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0x82,0x08,0x00,0x00,0x00, 0x00,0x00,0x00,0x78,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0x00,0x00,0x00, 0x00,0x00,0x00,0xF8,0xEF,0x00,0x00,0x00,0x00,0x00,0x1B,0xFC,0x1E,0x00,0x00,0x00, 0x00,0x00,0x00,0x18,0xFE,0x00,0x00,0x00,0x00,0x00,0x1E,0x60,0x38,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x38,0x70,0x20,0x00,0x00,0x00,

电子时钟显示电路

电子技术(上)课程设计 题目名称:电子时钟显示电路 院系名称: 班级: 学号: 学生姓名: 指导教师:

摘要 电子时钟是一种通过电子元器件控制、执行、显示的电子产品。实现了对“时”、“分”、“秒”数字显示的计时装置。具有时间显示、闹钟设置、报时功能、校正功能。走时准确、显示直观、精确、稳定等优点。电路装置十分小巧,安装使用也方便。同时在日期中,它以其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱。 本电路由555振荡器、74HC74分频器、74HC4518计数器、74HC4511译码器和显示器连接而成。实现了电子时钟的基本功能。 关键词:晶体振荡器、分频器、计数器,显示器

Abstract Electronic clock is controlled by electronic components, perform, display of electronic products. Realize the "when", "sub", "second" digital display of the timing device. With a time display, alarm clock settings, timer function, correction. Accurate time display and intuitive, precise, stable and so on. Circuit device is very compact, easy to install and use also. At the same time in the date, with its compact, low cost, travel time and high precision, easy to use, multi-function, ease of integration and loved by the majority of consumers. The circuit consists of 555 oscillator, 74hc74 divider, 74hc4518 counter, 74hc4511 decoder and display connection is made. To achieve the basic functions of the electronic clock. Key words:;crystal oscillators, frequency divider, counters, display

相关文档
相关文档 最新文档