数码管电子时钟
姓 名: XX
学 号: XXXXXXXX 指导教师: XXXX 学 院: 光电工程学院 专 业: 电子信息工程
完成日期: 2012年12月27
会读书的猴子--电子信息工程专业实训论文
概述
本系统采用Proteus软件进行硬件仿真设计,PCB设计以及自动布线与手动布线相结合来实现一个完整的电子设计系统;以ATC51单片机为核心,与数码管接口电路组成控制系统。该系统硬件主要包括以下几个模块:ATC51主控模块、数码管显示模块等利用Keil uVision4软件进行程序的设计;实现了数码管电子时钟系统的设计。 关键词: Keil uVision4 ; 仿真,Proteus; 数码管;
1
会读书的猴子--电子信息工程专业实训论文
目录
概述 ................................................. 1 目录 ................................................. 2 一、前言 ............................................. 3 二、硬件以及软件的设计与实现 ......................... 4 2.1 硬件设计思想 ................................. 4 2.2 电路设计 ....................................... 4 2.3 程序设计 ....................................... 5 2.4 pcb图设计 ..................................... 7 三、程序源代码 ...................................... 13 四、启示与感想 ...................................... 15 五、参考文献 ........................................ 16
2
会读书的猴子--电子信息工程专业实训论文
一、前言
1.1 开发背景简介
Proteus软件是英国Lab center electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: 1.原理布图;
2.PCB自动或人工布线; 3.SPICE电路仿真; 性的特点 1.互动的电路仿真
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 2.仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
3
会读书的猴子--电子信息工程专业实训论文
1.2系统特性
本系统功能由硬件和软件两大部分组成,硬件部分主要完成信息的显示;软件主要完成信号的处理剂控制功能等。
本系统的硬件采用模块化设计,以ATC51单片机为核心,与数码管接口电路组成控制系统。该系统硬件主要包括以下几个模块:ATC51主控模块、数码管显示模块等。其中ATC51主要完成外围硬件的控制以及一些运算功能,数码管显示模块完成字符、数字的显示功能。
应用软件采用模块化设计。该系统软件主要由主程序、延时子程序等模块组成。
二、硬件以及软件的设计与实现
2.1 硬件设计思想
使用Proteus仿真软件,在atmel-80c51芯片中进行仿真设计。利用八个八段数码管与芯片进行连接,利用P0口实现数码管得位选 ,利用74ls245和P2口实现数码管的段选,并置三个按键完成对电子钟的时间,并且置喇叭设置每半小时报时一次,报时时间十秒。
2.2 电路设计
利用Proteus按照将电路的原理图进行电路绘制。
根据原理图从原件库中选择有封装的元件,对没有封装的原件(如:按键,八个数码管),对其进行手动画封装。按顺序排好,并对其连线。
4
会读书的猴子--电子信息工程专业实训论文
接线前,元件摆放图,如图表1所示:
图表 1
连接完成后,如下图表2所以:
图表 2
2.3 程序设计
利用Uv4软件进行程序设计, 建立项目与文件, 并进行编译与连接,如图
5
会读书的猴子--电子信息工程专业实训论文
表3所示:
图表 3
用c语言程序实现电子时钟,将编译好的hex文件利用proteus软件加载到原理图中,运行程序,如图表4所示:
图表 4
运行结果如图表5所示:
6
会读书的猴子--电子信息工程专业实训论文
图表 5
2.4 pcb图设计
在画原理图时发现有元件没有封装 需要创建封装; 共阴极八段数码管封装如图表6所示:
图表 6
7
会读书的猴子--电子信息工程专业实训论文
将封装图添加入库,给画的元件起一个名字如:shuma。如图表7所示:
图表 7
开关封装,如图表8所示:
图表 8
8
会读书的猴子--电子信息工程专业实训论文
将封装添加入库,如图表9所示:
图表 9
在原理图中添加封装,在搜索框中输入元件封装的名字(shuma和kg)进行搜索,找到合理的元件封装后点ok按钮,如图表10所示:
图表 10
9
会读书的猴子--电子信息工程专业实训论文
添加封装,如图表11所示:
图表 11
自动布线,如图表12所示:
图表 12
10
会读书的猴子--电子信息工程专业实训论文
铺铜,底层铺设,如图表13所示:
图表 13
铺铜之后,如图表14所示:
图表 14
11
会读书的猴子--电子信息工程专业实训论文
3d图,俯视图如图表15所示:
图表 15
底部视图,如图表16所示:
图表 16
12
会读书的猴子--电子信息工程专业实训论文
三、程序源代码
/**********实训电子表工程****************/ /********** 姓名 ** **班 ****************/ #include #define uchar unsigned char #define uint unsigned int
uchar code table[]= { 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar t0=0,miao=0,fen=0,shi=0; sbit lb=P1^0;
sbit ti=P1^1;//调表开始 sbit jia=P1^3;//使分钟加 sbit jian=P1^6;//使分钟减 void delay(uint z) //延时z毫秒 { uint i,j; for(i=0; ivoid chushi() { EA=1;ET0=1; //开定时器0 TH0=(65535-50000)/256; //设置定时器初值 每加一需要1us 50ms需要加 TL0=(65535-50000)%256; //50000次,故这么算 TMOD=0x01; //方式一 十六位定时器 TR0=1; //运行控制位 }void xianshi() { P0=0x80;P2=table[miao%10]; delay(1); P0=0x40; P2=table [miao/10]; delay(1); P0=0x20; P2=0xbf; delay(1); P0=0x10;P2=table[fen%10];delay(1); P0=0x08;P2=table[fen/10];delay(1); P0=0x04;P2=0xbf;delay(1);
P0=0x02;P2=table[shi%10];delay(1); P0=0x01;P2=table[shi/10];delay(1); }
void main() { chushi();
13
会读书的猴子--电子信息工程专业实训论文
while(1) {
xianshi(); if(ti==0) { delay(5); if(ti==0) { ET0=0; if(jia==0) { delay(5); if(jia==0) fen++;delay(5); if(fen==60) fen=0; } if(jian==0) { delay(5); if(jian==0) { shi++; delay(5); } if(shi==24) fen=0; } } } if(ti==1) { delay(5); if(ti==1) ET0=1; } if(fen%30==0&&miao>=0) //设置报时时间为一分钟 { //保时十秒钟 if(fen%30==0&&miao<=10) { lb=0; lb=1; //设置喇叭 }
14
会读书的猴子--电子信息工程专业实训论文
} } }
void timer0() interrupt 1 { TH0=(65535-50000)/256; //设置定时器初值 12MHZ的 TL0=(65535-50000)%256; t0++; if(t0==20) { t0=0; miao++; if(miao==60) { fen++; miao=0; if(fen==60) { shi++;fen=0; if(shi==24) shi=0; } } } }
四、启示与感想
通过本次课程设计我获益良多。既巩固了单片机的一些相关基本知识,又熟悉了PROTEUS的相关操作。对一个整体的电子设计项目,有了一定的认识,初步学会了一定的设计方法,明白了如何用这种方法去实现一个系统的设计。同时也让我找到了自己在某些知识上的欠缺,在理论与实践的转化当中确实有很大困难。在本次实训当中,通过这次机会得到弥补,取得进步!并且让我意识到,要做好一件事情,必须认真认真再认真,细心细心再细心,努力才会成功。
15
会读书的猴子--电子信息工程专业实训论文
五、参考文献
1、《MCS-51单片机系统及应用》蔡美琴著 ,高等教育出版社出版。 2、《模拟电子技术基础》第四版 童诗白、华成英著,高等教育出版社出版。
3、《数字电子技术基础》第五版 阎石著 16
高等教育出版社出版。