当前位置:文档之家› 单片机数字钟设计报告.docx

单片机数字钟设计报告.docx

单片机数字钟设计报告.docx
单片机数字钟设计报告.docx

XXXX学院

课程设计(实训)报告

学院 XXXXXXXXX 专业 XXXXXXXXXX

班级 XXXXXXXXX 学号 XXXXXXXXX 姓名 XXXXXXXXX 课题数字钟

指导教师 XXXXXXXXX 报告成绩______________ 日期:2013 年 3 月22 日

摘要

近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本次设计中以单片机的发展过程和发展方向为背景,应用了定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯,数码管的使用,蜂鸣器的使用。

本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件:共阴极LED数码显示器,再配以相应的软件,是它具有万年历,闹钟,秒表的功能,并且相互之间还可以调整。此次设计电子数字钟是为了进一步复习及,从而学会运用单片机知识,以此制作电子数字钟。而且通过电子数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。通过它可以进一步学习与掌握单片机原理与使用方法。

关键字:单片机,数字时钟

目录

一、课程设计目的 (44)

二、课程设计任务与要求 (44)

2.1 课程设计题目 ..................... 错误!未定义书签。错误!未定义书签。

2.2 课程设计要求 ..................... 错误!未定义书签。错误!未定义书签。

三、设计题目原理分析 (44)

3.1 多功能数字钟实现的功能 (44)

3.2 按键控制 (44)

四、硬件设计内容 ........................... 错误!未定义书签。错误!未定义书签。

4.1最小系统设计 ...................... 错误!未定义书签。错误!未定义书签。

4.2硬件连接图 .......................... 错误!未定义书签。错误!未定义书签。

五、软件设计内容 ........................... 错误!未定义书签。错误!未定义书签。

5.1软件流程图 (6)

六、结果及分析 ............................... 错误!未定义书签。错误!未定义书签。

6.1 调试及结果 ......................... 错误!未定义书签。错误!未定义书签。

6.2 调试问题和误差 ................. 错误!未定义书签。错误!未定义书签。

七、实习心得 ................................... 错误!未定义书签。错误!未定义书签。

八、评阅意见 ................................... 错误!未定义书签。错误!未定义书签。

一、课程设计目的

1、增进对单片机的感性认识,加深对单片机理论方面的理解。

2、掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯,数码管的使用,蜂鸣器的使用

3.编程能力的提高,锻炼知识的运用能力和知识的结合能力

二、课程设计任务与要求

2.1 课程设计任务

基于单片机的数码管显示时钟

2.1 课程设计要求

功能1.日历功能:显示年月日,星期,时分秒,通过K3

2.闹钟功能:通过K2设定闹钟,时间到后,蜂鸣器就响,声音从小到大,且指示灯亮,通过拨动开光可以使声音停止。

3.秒表功能:通过K1切换到秒表,再按一下K1,秒表开始计时,若要停止,再按一下K1,再按一下K1,清零,再按一下K1,到时分秒显示界面

4.用LED数码管显示

三、设计题目原理分析

3.1 多功能数字钟实现的功能

1.万年历功能

2.秒表功能

3.闹钟功能。

3.2按键控制

K1键控制秒表开关

K2键控制调节

K3键控制界面切换

K4键功能为‘+1’

K5键功能为‘-1’

四、硬件设计内容

需要用到器件有:THDPJ-1/2型单片机开发综合实验箱、仿真器,多功能数字钟通过数码管显示。

4.1最小系统设计

此次设计中用到:P1口、P2口、P3,查询键盘,拨动开关、共阴极LED数码显示器,定时/计数器T1、T0,74LS240、74LS393

1.P1口用作断码,P2口用作位码

2.P3口的P

3.5接74LS393的任一根信号线,提供待计数的脉冲。

3.定时/计数器T1、T0:对外部输入的脉冲进行计数。

4.74LS393:分频器,提供不同频率的脉冲信号。

5.74LS240与LED显示器组合,用来显示计数值。

4.2硬件连接图

五、软件设计内容

5.1软件流程图

时间显示

定时器中断流程图

时间调整流程图

日期调整流程图

闹钟流程图

秒表流程图

六、结果及分析

6.1 调试及结果

1.录入程序,并保存为.ASM文件;

2.按硬件接线图接线;

3.联机并编译;

4.修改语法错误,并存盘;

5.编译并传送文件,并运行;

将仿真器连接到电脑进行调试。

通过控制单片机实验箱上的查询式键盘模块(G4区)的单键KEY1、KEY2、KEY3、KEY4、KEY5,实现功能。

KEY1 切换秒表,KEY2进入调时,KEY3切换万年历,KEY4按下实现‘+1’,KEY5按下则实

现‘-1

6.2 调试问题和误差

1.在调试过程中,我们的闹钟开关出现了问题,若连接到拨动开关,则仿真器与上位机无法运行,需连接到查询式键盘,待连接成功时,再把闹钟的KEY接到拨动开关,再进行程序的调试。

2.误差:主要是秒表的毫秒与秒之间的进位,和秒的时间控制

七、实习心得

在此次课程设计中,我收获颇深。在这次中我们用理论指导实践可以达到事倍功半的效果,有坚实的理论做基础将会使设计变得得心应手。虽然我们在调试中遇到了很多问题,但是我们正确对待设计过程中遇到的错误,遇到错误与问题要敢于面对并设法找到解决的办法。我认为这就是一种很好的提高自身能力的方法。这个设计的大部分内容都是在网上找的内容,自己做了一点点小小的改动,在上网找资料的同时也学到了许多东西,找到了很多学习单片机的网站,里面的内容都比较适合我们去学,有些网站还专门介绍这种单片机的类型、用法、功能等等。其实我平时不懂就应该自己去学习去弄明白,只是平时我都太懒。通过这个课程设计,使我发现,原来小小的一片单片机有这么强大的功能,能应用于各种领域。我们在老师的严格要求下,将我们的数字钟不断的调整,不断的进行完善,从而使我们的能力得到更充分的锻炼。在此过程中,不仅要有刻苦努力,要有钻研精神,还要有创新,虽然自己尽了很大的努力,但是还有很多不尽人意的地方,但是我们一起努力,我们解决了几乎所有的问题,收获了许多,提高了我们的能力,知道了团队协作的重要性。

八、评阅意见

教师签名:

年月日

附录1 程序清单

#include

char

i=100,m0=0,m1=0,f0=0,f1=0,s0=0,s1=0,m=0,f=0,s=0,mf=0,mm=0,hm=0,mf1=0,mf0=0,mm1=0,m m0=0,hm1=0,hm0=0;

//m0,m1,f0,f1,s0,s1分别为秒,分,时的个位和十位

char n=13,y=3,r=21,n0=3,n1=1,y0=3,y1=0,r0=1,r1=2;ns=3,nf=2; ns0=0;ns1=3;nf0=5;nf1=1;week=4;

char x=0;

sbit k0=P0^0;

sbit bhh=P3^0;

sbit k1=P3^1;

sbit k2=P3^2;

sbit k3=P3^3;

sbit k4=P3^4;

sbit k5=P3^5;

sbit led0=P3^6;

//k1闹钟开关,k2进入调时、时间日期切换,k4 功能+1,k5 功能-1

unsigned char code du[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,0x7d, 0x07, 0x7f, 0x6f};

//unsigned char code wei[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF};

unsigned char code wei[]={0x01,0x02,0x04,0x08,0x10,0x20};

void yshi(int i) //延时

{

unsigned int j;

for(;i>0;i--)

{

for(j=0;j<50;j++);

}

}

void T0_int(void) interrupt 1 //定时器T0中断

{

// TH0=0X15;

// TL0=0Xa0;

TH0=0Xd8;

TL0=0Xf0;

i--;

if(i<=0)

{

m++;

i=78;

}

if(m==60)

{

f++;

m=0;

}

if(f==60)

{

s++;

f=0;

}

if(s==24)

{

s=0;

r++;

week++;

}

if((r==32&&(y==1||y==3||y==5||y==7||y==8||y==10||y==10||y==12))||(r==31&&(y==4|| y==6||y==9||y==11))||(r==29&&n%4!=0)||(r==30&&y==2&&n%4==0))

{

r=1;

y++;

}

if(y==13)

{

n++;

y=1;

}

if(week>7)

{

week=1;

}

}

void xians()

{

s1=s/10;

s0=s%10;

f1=f/10;

f0=f%10;

m1=m/10;

m0=m%10;

P2=wei[5];

P1=du[s1];

yshi(1);

P2=wei[4];

P1=du[s0];

yshi(1);

P2=wei[3];

P1=du[f1];

yshi(1);

P2=wei[2];

P1=du[f0];

yshi(1);

P2=wei[1];

P1=du[m1];

yshi(1);

P2=wei[0];

P1=du[m0];

yshi(1);

/* P2=wei[5];

P1=du[1];

yshi(1);

P2=wei[4];

P1=du[0];

yshi(1);

P2=wei[3];

P1=du[3];

yshi(1);

P2=wei[2];

P1=du[2];

yshi(1);

P2=wei[1];

P1=du[1];

yshi(1);

P2=wei[0];

P1=du[0];

yshi(1); */

}

void yshi1(int i) //延时{

unsigned int j;

for(;i>0;i--)

{

for(j=0;j<10;j++);xians();

}

}

void T1_int(void) interrupt 3 //定时器T1中断{

TH1=0XF0;

TL1=0X0C;

i--;

if(i<=0)

{

hm++;

i=10;

}

if(hm==99)

{

mm++;

hm=0;

}

if(mm==60)

{

mf++;

mm=0;

}

}

void xians3()

{

mf1=mf/10;

mf0=mf%10;

mm1=mm/10;

mm0=mm%10;

hm1=hm/10;

hm0=hm%10;

P2=wei[5];

P1=du[mf1];

yshi(1);

P2=wei[4];

P1=du[mf0];

yshi(1);

P2=wei[3];

P1=du[mm1];

yshi(1);

P2=wei[2];

P1=du[mm0];

yshi(1);

P2=wei[1];

P1=du[hm1];

yshi(1);

P2=wei[0];

P1=du[hm0];

yshi(1);

}

void xians1()

{

n1=n/10;

n0=n%10;

y1=y/10;

y0=y%10;

r1=r/10;

r0=r%10;

P2=wei[5];

P1=du[n1];

yshi(1);

P2=wei[4];

P1=du[n0];

yshi(1);

P2=wei[3];

P1=du[y1];

yshi(1);

P2=wei[2];

P1=du[y0];

yshi(1);

P2=wei[1];

P1=du[r1];

yshi(1);

P2=wei[0];

P1=du[r0];

yshi(1);

}

void nxians() //闹钟时间显示{

ns1=ns/10;

ns0=ns%10;

nf1=nf/10;

nf0=nf%10;

P2=wei[5];

P1=du[ns1];

yshi(1);

P2=wei[4];

P1=du[ns0];

yshi(1);

P2=wei[3];

P1=du[nf1];

yshi(1);

P2=wei[2];

P1=du[nf0];

yshi(1);

}

void xiansxq() //

{ P2=wei[0];

P1=du[week];

yshi(1);

}

void naoz() //闹钟

{

if((k1==0)&&(ns==s)&&(nf==f)&&(m<=10))

{ led0=0;

bhh=0;

yshi1(50);

bhh=1;

yshi1(50);

}

if((k1==0)&&(ns==s)&&(nf==f)&&(m>10))

{ led0=0;

bhh=0;

yshi1(1);

bhh=1;

yshi1(1);

}

if((k1==1)||(nf!=f))

{

bhh=1;led0=1;

}

}

void tiaos() //调时{

if(k4==0)

{

yshi(1);

if(k4==0)

while(k4==0);

s++;

if(s>=24)s=0;

}

if(k5==0)

{

yshi(1);

if(k5==0)

while(k5==0);

s--;

if(s<0)s=23;

}

xians();

}

void tiaof() //调分{

if(k4==0)

{

yshi(1);

if(k4==0);

while(k4==0);

f++;

if(f>=60)f=0;

}

if(k5==0)

{

yshi(1);

if(k5==0)

while(k5==0);

f--;

if(f<0)f=59;

}

xians();

}

单片机课程设计-电子钟

中北大学 单片机课程设计说明书 数字钟设计 1 设计任务与要求 (1)

1.1设计任务 (1) 1.2设计要求 (1) 2单片机简介 (2) 2.1单片机的发展历程 (2) 3系统设计思路和方案 (3) 3.1系统总体方案 (3) 3.2硬件简介 (3) 3.2.1硬件选择 (3) 3.2.2 51单片机的构成 (4) 3.2.3 STC89C52RC引脚功能说明 (5) 3.2.4 LED简介 (6) 3.3 Keil调试 (7) 4、系统实物图 (9) 5、课程设计体会 (9) 参考文献 (10) 附录A (11) 附录B (13) 附录C (14)

1 设计任务与要求 1.1设计任务 本课题应完成以下设计内容: 1)硬件设计 设计数字钟的电路原理图,用PROTEL绘制硬件电路。制作实物。 2)软件设计 (1)时、分、秒的设置及显示; (2)画出程序框图; (3)调试与分析。用PROTEUS仿真。 3)课程设计说明书 1.2设计要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介 2.1单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。 2.2实用价值与理论意义 在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此研究数字时钟及扩大其应用有着非常现实的意义。

单片机课程设计报告书----电子秤

一、设计任务及要求: 设计任务: 完成一个简单的使用数字电子秤的硬件与软件部分的设计。 设计要求: 1.利用单片机实现对所设计的电子秤的各项功能的控制。 2.电子秤能够LCD液晶显示出商品的名称、价格,重量、总价等信息。 3.电子秤具有储存几种简单商品价格的功能。 4.电子秤的测量范围要求达到5KG,测量精度要求达到0.001。 5.电子秤能够自动完成商品的价格计算。 指导教师签名: 2010 年6月16 日二、指导教师评语: 指导教师签名: 2010 年7月3日三、成绩 验收盖章 2010 年7 月日

基于单片机的实用电子秤的设计 1 设计目的 单片机以其功能强,体积小,功耗低,易开发等很多优势被广泛应用。本 次数字电子秤的设计就是需要通过选择合适的单片机来进行主控,再结合A/D 转换、键盘、液晶显示、复位电路和蜂鸣器报警驱动电路的知识,同时在软件 的设计过程中用到键盘扫描、液晶显示驱动、模数转换程序及汉字库的的设计, 做到对我们所学数电、模电、单片机等知识的综合应用,最终实现所设计数字 电子秤的各项功能,达到“巩固知识,培养技能,学而用之”的实践目的。通过这次课程设计,不但要提高我们在工作中的学习能力、探究能力、应用能力和动 手能力,还要历练我们不畏艰难、不懂便学、有漏必补的认真严谨的工作态度,强化我们的社会适应力和社会竞争力,为走向社会提前试水,完善自我。 2 设计的主要内容及要求 本设计主要完成一个简单实用数字电子秤的硬件电路部分和软件部分的设计。硬件部分包括数据采集、最小系统板、人机交互界面三大部分。其中,数 据采集部分由压力传感器和A/D 转换部分组成;人机界面部分为键盘输入、 液晶显示。软件部分应用单片机 C 语言实现了本设计的全部控制功能。本设 计的数字电子秤要求能够显示商品的名称、价格、总量、总价等;能够自动完 成商品的价格计算;能够储存几种简单商品的价格;能够具有超重提醒功能, 一旦重量超出了自身重量的测量的范围,发出警报;同时对数字电子秤的测量 范围要达到5KG,测量精度要求达到0.001。 3 整体设计方案 整个数字电子秤电路由压力传感电路(ADC0832采样)、模数转换系统、单 片机主控制电路、LM4229显示电路、蜂鸣器报警电路和4*4键盘电路6 个部

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

单片机电子秤设计报告

基于单片机的电子秤 单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片 机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为 0-10Kg,测量精度达到 5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程 0-10kg ,测量精度可 达 5g 。 2、采用电子秤专用模拟 / 数字( A/D)转换器芯片 hx711 对传感器信号进行调理转换, HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片

3、采用 STC89C52单片机作为主控芯片,实现称重、计算价格等主控功 4、采用 128*64 汉字液晶屏显示称重重量、单价、总价等信息。 5、采用 4*4 矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和 LED灯报警。 7、系统通过 USB电源供电,单片机程序也可通过 USB线串行下载。 二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图 1 所示: 图 1 单片机电子秤硬件方案称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟 /数字(A/D)转换器芯片hx711 对传感器信号进行调理转换。 HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片,内置增益控制,精度高,性能稳定。 HX711芯片通过 2 线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

单片机课程设计--数字钟

单片机课程设计--数字钟 一、设计目的及意义 (1)巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力; (3)对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、内容及步骤 二、原理图设计中简要说明设计目的 (1)功能:24小时制时间显示,可随时进行时间校对调整,整点报时及闹钟功能。 (2)原理图中所使用的元器件功能在图中的作用 1.主要元件AT89C51 P3.2 /INT0(外部中断0) 定时器/计数器0溢出中断 2.LED及按键开关 用于时间的显示和设定 (3)各器件的工作过程及顺序 计时状态,AT89C51通过P1口持续向LED发送信号,使LED扫描显示刚前时分秒,当出现定时器/计数器0溢出中断时,时间加多1秒,AT89C51从P1口向LED输出新的时间;只按住SET UP键时,进入外部中断0,时间计数停止,通过点击按键H,M,S对时分秒进行调整,新的时间值送给了计时程序,松开SET UP键退出中断,回到计时状态; 按住SET UP键和ALARM键时,进入外部中断0,时间计数停止,通过点击按键H,M对时分进行闹钟定时,AT89C51记忆时分值,退出时先松开SET UP键再松开ALARM; 闹铃:当时间值和设定闹铃值一样时,进行闹铃一分钟。

(3)流程图 Y Y 按下设定键 N (4)程序清单 #include #define uint unsigned int #define uchar unsigned char sbit wela1=P2^0; sbit wela2=P2^1; sbit wela3=P2^2; sbit wela4=P2^3; sbit wela5=P2^4; sbit wela6=P2^5; sbit dp= P1^7; sbit c0= P0^0; sbit c1= P0^1; sbit c2= P0^2; sbit c3= P0^3; sbit c4= P0^4; sbit c5= P0^5; 定时器溢出中断0 LED 扫描显示 初始设定 时间加1秒 外部中断0 按下闹钟? 时间调整 闹钟定时 时间相同? 闹铃

单片机电子秤设计报告共28页文档

单片机电子秤设计报告 秤是一种在实际工作和生活中经常用到的测量器具。随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。 和传统秤相比较,电子秤利用新型传感器、高精度AD转换器件、单片机设计实现,具有精度高、功能强等特点。本课题设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。该电子秤的测量范围为0-40Kg,测量精度达到5g,有高精度,低成本,易携带的特点。电子秤采用液晶显示汉字和测量记过,比传统秤具有更高的准确性和直观性。另外,该电子秤电路简单,使用寿命长,应用范围广,可以应用于商场、超市、家庭等场所,成为人们日常生活中不可少的必需品。 一、功能描述 1、采用高精度电阻应变式压力传感器,测量量程0-40kg,测量精度可达5g。 2、采用电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换,HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片。 3、采用STC89C52单片机作为主控芯片,实现称重、计算价格等主控功能。 4、采用128*64汉字液晶屏显示称重重量、单价、总价等信息。 5、采用4*4矩阵键盘进行人机交互,键盘容量大,操作便捷。 6、具有超量程报警功能,可以通过蜂鸣器和LED灯报警。 7、系统通过USB电源供电,单片机程序也可通过USB线串行下载。

二、硬件设计 1、硬件方案 单片机电子秤硬件方案如图1所示: 图1 单片机电子秤硬件方案 称重传感器感应被测重力,输出微弱的毫伏级电压信号。该电压信号经过电子秤专用模拟/数字(A/D)转换器芯片hx711对传感器信号进行调理转换。HX711 采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24 位A/D 转换器芯片,内置增益控制,精度高,性能稳定。HX711芯片通过2线串行方式与单片机通信。单片机读取被测数据,进行计算转换,再液晶屏上显示出来。 矩阵键盘主要用于计算金额。当被测物体重量得到后,用户可以通过矩阵键盘输入单价,电子秤自动计算总金额并在液晶屏显示。电源系统给单片机、HX711电路及传感器供电。 2、称重传感器 传感器是测量机构最重要的部件。称重传感器本身具有单调性,其主要参数指标是灵敏度、总误差和温度漂移。 (1) 灵敏度 称重传感器的电灵敏度为满负荷输出电压与激励电压的比值,典型值是2mV/V。当使用2 mV/V灵敏度和5 V激励电压的传感器时,其满度输出电压为10 mV。通常,为了使用称重传感器线性度最好的一段称重范围,应当仅使用满度范围的三分之二。因此满度输出电压应当大约为6mV。当电子秤应用于工业环境时,在6mV满度范围内测量微小的信号变化并非易事。 (2) 总误差 总误差是指输出误差和额定误差的比值。典型电子秤的总误差指标大约是0.02%,这一技术指标相当重要,它限制了使用理想信号调节电路所能达到的精确度,决定了ADC分辨率的选择以及放大电路和滤波器的设计。

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

单片机课程设计数字电子钟[修改好的]

单片机技术课程设计说明书数字电子钟 院、部:电气与信息工程学院 学生姓名:郭红满 指导教师:王韧职称副教授 专业:通信工程 班级:1102 完成时间:2013-12-20

摘要 电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键K1、K2、K3和K4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。 关键词电子钟;AT89S52;硬件设计;软件设计

ABSTRACT Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons K1, K2, K3 and K4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value. Key words Electronic clock;AT89S52;Hardware Design;Software Design

基于单片机的电子秤的设计样本

四川信息职业技术学院 毕业设计阐明书(论文) 设计(论文)题目: 基于单片机电子秤设计 专业:应用电子技术 班级:应电12-3 学号: 1111111 姓名:某某某 指引教师:某某某

二〇一四年十一月二十五日

四川信息职业技术学院毕业设计(论文)任务书

目录 摘要................................................................................................... 错误!未定义书签。绪论................................................................................................... 错误!未定义书签。第一章方案设计与论证................................................................... 错误!未定义书签。 1.1方案选取 ............................................................................ 错误!未定义书签。 1.2方案论证 ............................................................................ 错误!未定义书签。第二章硬件设计与分析................................................................... 错误!未定义书签。 2.1单片机最小系统 ................................................................ 错误!未定义书签。 2.1.1 芯片简介.............................................................. 错误!未定义书签。 2.1.2 时钟电路设计...................................................... 错误!未定义书签。 2.1.3 复位电路设计...................................................... 错误!未定义书签。 2.2信号采集模块 .................................................................... 错误!未定义书签。 2.2.1 传感器选取.......................................................... 错误!未定义书签。 2.2.2 传感器选取.......................................................... 错误!未定义书签。 2.3数据转换电路 .................................................................... 错误!未定义书签。 2.3.1 A/D转换器选取................................................... 错误!未定义书签。 2.3.2 ADC0832简介 ..................................................... 错误!未定义书签。 2.3.3单片机对ADC0832控制原理 ............................ 错误!未定义书签。 2.4声光报警电路 .................................................................... 错误!未定义书签。 2.5显示电路 ............................................................................ 错误!未定义书签。 2.6整机电路 ............................................................................ 错误!未定义书签。

基于单片机的数字钟设计毕业设计

基于单片机的数字钟设计毕业设计 目录 1. 引言 (1) 2. 关于单片机 (3) 2.1单片机的发展 (3) 2.2 单片机的开发背景 (5) 2.2 单片机的开发背景 (6) 2.3 AT89S52单片机 (7) 2.3.1 AT89S52单片机引脚功能 (8) 2.3.2 AT89S52单片机硬件结构的特点 (9) 2.3.3 AT89S52单片机的硬件原理 (11) 3. 方案设计与论证 (13) 4. 系统总体结构框图 (14) 5. 系统的硬件设计 (14) 5.1 显示部分电路的设计 (14) 5.1.1 LED数码显示管的基本原理 (14) 5.1.2 数码管显示模块分析 (15) 5.1.3 LED显示电路 (16) 5.2 控制部分电路的设计 (16) 5.2.1 时钟模块 (16) 5.2.2 温度模块 (16) 5.2.3 音乐模块 (17) 5.2.4 复位模块 (17) 5.2.5 光识模块 (18) 6. 系统的软件设计 (19) .参考资料.

6.1 各模块的程序设计 (19) 6.1.1 计时程序 (19) 6.1.2 定时闹钟程序 (19) 6.1.3 温度程序 (19) 6.2 系统程序设计的总体框图 (20) 7. 系统电路的制作与调试 (21) 7.1 电路硬件焊接制作 (21) 7.2 调试的主要方法 (21) 7.3 系统调试 (21) 7.3.1 硬件调试 (21) 7.3.2 软件调试 (21) 7.3.3 联机调试 (22) 7.3.4调试中遇到的问题及解决方法 (22) 结论 (24) 参考文献 (25) 附录1 数字钟电路图 (27) 附录2 程序清单 (27) 附录3 英文资料 (65) 附录4 英文资料翻译 (76) 致谢 (84) .参考资料.

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

单片机课程设计电子钟汇编语言

ORG 0000H MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H MOV 43H,#00H MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#00H MOV R0,#00H MOV R1,#00H CLR P3.0 CLR P3.1 UU: MOV TMOD ,#00H MOV TH0,#00H MOV TL0,#00H CLR TR0 MM: MOV A,40H MOV 50H,#11111110B MOV P2,50H MOV DPTR ,#TAB MOVC A,@A+DPTR MOV P0,A LCALL YY MOV A,50H RL A MOV 50H,A MM1: MOV P2,50H MOV DPTR,#TAB MOV A,41H ADD A,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM2: MOV P2,50H MOV DPTR,#TAB MOV A,42H

MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM3: MOV P2,50H MOV DPTR,#TAB MOV A,43H ADD A,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM4: MOV P2,50H MOV DPTR,#TAB MOV A,44H MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM5:MOV P2,50H MOV DPTR,#TAB MOV A,45H ADD A ,#0AH MOVC A,@A+DPTR MOV P0 ,A LCALL YY MOV A,50H RL A MOV 50H,A MM6: MOV P2,50H MOV DPTR,#TAB MOV A,46H

电子称课程设计

1.前言 电子称重技术是现代称重计量和控制系统工程的重要基础之一,电子衡器经过40年的不断改进和完善,从60年代的机电结合型发展到现在的全电子型和数字化智能型。由于它具有称量准确、快速,读取方便,环境适应性强,便于与电子计算机结合而实现称重计量与过程控制自动化等特点,在工商贸易、能源交通、轻工食品、医药卫生、航空航天等部门得到了广泛的应用。本课题本着电子秤向高精度、高可靠方向研究,讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。本文中第一章讲述了电子秤的发展情况及其工作原理,第二章讲述了电子秤的硬件电路组成部分,第三章介绍了电子秤各部分功能实现的软件设计。 1.1研究本文的意义 物料计量是工业生产和贸易流通中的重要环节。称重装置或衡器是不可缺少的计量工具。随着工农业生产的发展和商品流通的扩大,衡器的需求也日益增多,过去沿用的机械杠杆秤己不能适应生产自动化和管理现代化的要求。自六十年代以来,由于传感器技术和电子技术的迅速发展,电子称重技术日趋成熟,并逐步取代机械秤。尤其是七十年代初期,微处理机的出现使电子称重技术得到了进一步的发展。快速、准确、操作方便、消除人为误差、功能多样化等方面已成为现代称重技术的主要特点。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。同时对称重仪表的要求也越来越高,要求仪表有更高抗干扰能力、更高的精度。 基于电子秤的现状,本文拟研究一种用单片机控制的高精度数字电子秤设计方案。这种高精度数字电子秤计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。 1.2 电子秤的发展 1.电子技术渗入衡器制造业 随着第二次世界大战后的经济繁荣,为了把称重技术引入生产工艺过程中去,对称重技术提出了新的要求,希望称重过程自动化,为此电子技术不断渗入衡器制造业。在1954年使用了带新式打印机的倾斜杠杆式秤,其输出信号能控制商用结算器,并且用电磁铁机构与代替人工操作的按键与办公机器联用。在1960年开发出了与衡器相联的专

基于单片机的数字钟设计

基于单片机的数字钟设计及时间校准研究﹡ 陈姚节戴泽军 (武汉科技大学计算机学院 430081 ) 摘要用单片机来设计数字钟,软件实现各种功能比较方便。但因软件的执行需要一定的时间,所以就会出现误差。对比实际的时钟,查找出误差的来源,并作出调整误差的方法,使得误差近可能的小,使得系统可以达到实际数字钟的允许误差范围内。 1 , 串 使用。采用一个频率为 11.0592 MHz 的晶振构成时钟电路。系统原理图如图 1 : 图1 系统原理图 2.软件实现与流程 2.1 主程序

由于系统的主要功能都是有程序中断来完成的,主程序基本上没什么事可做,但因键盘扫描是通过程序查询的方式实现的,所以主程序只循环扫描键盘。主程序流程图如图2所示: 2.2 定时和串口程序 2.3 数据的显示与刷新 更新显示器涉及到两个操作:发数据和改片选信号。但实践发现,代码中无论是先改片选信号还是先发数据信号,都会出现重影(即相邻两位显示差不多)这也是动态扫描引起的。实践先该片选,则前一位的数据会在下一位显示一段时间;先发数据,则后一位的数据会在前一位显示一段时间。因而出现重影。解决这个问题的办法是先进行一个消影操作,然后再发片选,最后发数据。这样就很好地解决了重影问题。这样做的关键在于,在极短

的一段时间内让显示器都不亮,等一切准备工作都做好了以后再发数据,只要显示频率足够快,是看不出显示器有闪烁的(程序用定时中断频率作为显示更新频率,在表 1 中,只当更新率??00 赫兹时,才发现显示器有闪烁)。这段显示程序代码如下: P1=0 x00; // 消影 作为一次还是多次处理,必须有一个标准。程序中我用到了一个标志位,相当于中断系统的中断标志。当用户按下键时,标志清零,松开键时,标志恢复;键按下超过一定时间(靠一扫描计数器判定)后,恢复标志,则经过一定的时间延迟(也靠一扫描计数器判定)可以响应一次按键(即一次按键的多次响应)。而事实上,键盘响应程序就是一个事件触发器,键盘的每一个状态(按下,松开, 点击)都可能引发一段响应程序(如:重新设定键按下 =>

相关主题
文本预览
相关文档 最新文档