77范文网 - 专业文章范例文档资料分享平台

新科电子时钟设计(2)

来源:网络收集 时间:2018-11-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2.2.1系统框图:如图一所示。

晶振

图一:系统框图

寄存器 单片机数码管显示 按键扫描

2

2.2.3控制电路框图:如图二所示。

K1按一下

K2按一下 停止计时 K3按一下 K4按一下 调秒 调分 调时

K1再按一下

开始计时 图二:控制电路框图

控制电路中的按键K1用来启动/暂停计时,K2用来调秒,K3用来调分,K4用来调时。

3

3 设计原理分析

3.1震荡电路的设计

震荡电路它是由1个12MHZ的晶振并联2个30pf的电容构成。(晶振效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路)单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。其电路图如图三所示。

图三:震荡电路图

3.2复位电路的设计

单片机的复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。复位电路图如图四所示。

4

图四:复位电路图

3.3控制电路的设计

如图五所示,K1、K2、K3、K4接在单片机P1^0~P1^3上。

图五:控制电路

3.4显示电路的设计

显示电路如图六所示,数码管的段选和位选分别接2个74HC573锁存器。

5

控制位选的锁存器接单片机的P3^6口,控制段选的锁存器接单片机的P3^7口。同时在P0口接1K的上拉电阻,供5V电源,增大电流,以便能点亮数码管看到数字。

图六:显示电路图

3.5整体电路的设计

由附录一可看到整体点电路设计,附录二是其对应生成的PCB图。 3.6系统软件程序设计

在本设计中采用的C语言编程,主要包含有对时分秒的进位设计,对独立按键的扫描设计,对数码管动态扫描的设计。

程序如下:

#include

#define uchar unsigned char #define uint unsigned int

6

sbit dula=P3^7;//定义段选 sbit wela=P3^6;//定义位选

sbit k1=P1^0; sbit k2=P1^1; sbit k3=P1^2; sbit k4=P1^3;

unsigned char j,k,a1,a0,b1,b0,c1,c0,s,f,m;//定义字符 uchar ok=1; uint pp;

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴数码管编码表

void delay(uchar i)//这个延时是用来间隔数码管 {

for(j=i;j>0;j--)

for(k=125;k>0;k--); }

void display(uchar a0,uchar a1,uchar b0,uchar b1,uchar c0,uchar c1)//显示函数 {

dula=0;

P0=table[a1]; dula=1; dula=0;

wela=0; P2=0xfe; wela=1; wela=0; delay(5);

P0=table[a0]|0x80;//0x80点亮小数点 dula=1; dula=0;

7

P2=0xfd; wela=1; wela=0; delay(5);

P0=table[b1]; dula=1; dula=0;

P2=0xfb; wela=1; wela=0; delay(5);

P0=table[b0]|0x80; dula=1; dula=0;

P2=0xf7; wela=1; wela=0; delay(5);

P0=table[c1]; dula=1; dula=0;

P2=0xef; wela=1; wela=0; delay(5);

P0=table[c0]; dula=1; dula=0;

P2=0xdf;

8

wela=1; wela=0; delay(5); }

void keyscan()//键盘子程序 { if(k1==0) { delay(10);//键盘消抖 if(k1==0) { while(!k1); ok=~ok; } } if(k2==0) { delay(10); if(k2==0) { m++; if(m==60) m=0; while(!k2); } } if(k3==0) { delay(10); if(k3==0) { f++; if(f==60)

9

f=0; while(!k3); } } if(k4==0) { delay(10); if(k4==0) { s++; if(s==60) s=0; while(!k4); } } }

void main()//主函数 { TMOD=0x01;//装入初值,这里用的是50ms TH0=0x3c; TL0=0xb0; EA=1;//打开全局中断 ET0=1; while(1) { keyscan();//扫描键盘 if(ok==1) { TR0=1;//打开定时器 if(pp==20) { pp=0; m++; if(m==60)

10

{ m=0; f++; if(f==60) { f=0; s++; if(s==24) //24h一个循环 { s=0; } } } } a0=s; a1=s/10; b0=f; b1=f/10; c0=m; c1=m/10; display(a1,a0,b1,b0,c1,c0); } else { TR0=0;//暂停计时 keyscan(); } }

a0=s; a1=s/10; b0=f; b1=f/10; c0=m; c1=m/10;

display(a1,a0,b1,b0,c1,c0);

11

}

void time0() interrupt 1//中断函数 { TH0=0x3c; TL0=0xb0; pp++; }

4 结束语

在本次设计的过程中,我感触最深的是查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。在这次课程设计中,我们也运用到了以前所学的专业课知识。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

参考文献

[1] 吴国经. 单片机应用技术[M].北京:高等教育出版社,2003. [2] 于海生.微型计算机控制技术[M] .清华大学出版社.1999.6 [4] 黄正谨.综合电子设计与实践[M] .东南大学出版社.2002.3 [5] 杨欣等.电子设计从零开始[M] .清华大学出版社.2005.10 [6] 丁元杰. 单片微机原理及应用[M]. 北京:机械工业出版社,2009.

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库新科电子时钟设计(2)在线全文阅读。

新科电子时钟设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/250129.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: