081250138陈姣.docx

上传人:b****8 文档编号:11033786 上传时间:2023-02-24 格式:DOCX 页数:17 大小:225.76KB
下载 相关 举报
081250138陈姣.docx_第1页
第1页 / 共17页
081250138陈姣.docx_第2页
第2页 / 共17页
081250138陈姣.docx_第3页
第3页 / 共17页
081250138陈姣.docx_第4页
第4页 / 共17页
081250138陈姣.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

081250138陈姣.docx

《081250138陈姣.docx》由会员分享,可在线阅读,更多相关《081250138陈姣.docx(17页珍藏版)》请在冰豆网上搜索。

081250138陈姣.docx

081250138陈姣

单片机课程设计报告书

 

课题名称

数码管显示系统设计

姓名

陈姣

学号

081250138

院系

物理与电信工程系

专业

电子科学与技术

指导教师

肖卫初副教授

 

2011年6月10日

一、设计任务及要求:

设计一个基于单片机MCS-51的显示系统,要求实现以下功能:

1.在单片机系统与硬件开发过程中,有数码管与液晶显示器等等显示仪器,本课程设计采用的显示仪器为数码管。

2.用Keil软件编写一个时间跑动程序,且用两位数码管显示时间。

3.用单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间。

当按下开始键时,开始指示灯亮,时间从0开始计时,当时间一秒产生时,秒计数自动加1,当秒计数到60时,自动从0开始计数;这个过程中当按下复位键时,时间又从0开始计时;当按下暂停键时,时间停止计数;当按下加时键时,按一次时间自动加1;当按下减时键时,按一次时间自动减1;不工作时,开始指示灯不亮。

 

指导教师签名:

2011年6月10日

二、指导教师评语:

 

指导教师签名:

2011年6月10日

三、成绩:

 

验收盖章

2011年6月10日

数码管显示系统的设计

陈姣

(湖南城市学院物理与电信工程系电子信息工程专业,益阳,413002)

1设计目的

(1)用AT89C51单片机实现时间的显示。

(2)用仿真软件Proteus设计实验仿真,仿真基于AT89C51单片机的显示系统。

2设计的主要内容和要求

(1)基于单片机实现对数码管的控制。

(2)在开始,数码管是关闭的,什么也不显示,当把所编写的源程序下载到单片机中时,两位数码管会显示相应的时间。

(3)通过按键控制时间的开始、暂停、复位、加时、减时、关闭与开始指示灯的亮灭。

3整体设计方案

数码管显示系统设计模块是由时钟电路、复位电路、按键电路、时间显示电路以及开始指示灯组成。

AT89C51单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。

只要通过设置特殊功能寄存器TMOD,即可完成方式的选择。

同时,AT89C51有四个并行端口,分别命名为P0、P1、P2和P3。

用P1口控制各类按键,用P2口控制时间十位的输出,用P3口控制时间个位的输出。

通过各类按键来控制时间的显示,即当按下开始键时,开始指示灯亮,时间从0开始计时,当时间一秒产生时,秒计数自动加1,当秒计数到60时,自动从0开始计数;按下复位键时,时间又从0开始计时;当按下暂停键时,时间停止计数;当按下加时键时,按一次时间自动加1;当按下减时键时,按一次时间自动减1;不工作时,开始指示灯不亮。

图3.1整体设计方框图

4硬件电路设计

此设计采用AT89C51单片机作为微机处理器,外围电路由晶振、电阻、电容、电源、数码管,按键等器件组成。

(a)把“单片机系统”区域中的P3.0-P3.7端口用杜邦线连接到“八路静态数码显示模块”区域中的任一个a-h端口上。

要求:

P3.0对应着a,P3.1对应着b,……,P3.7对应着h。

(b)把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:

P2.0/A8对应着a,P2.1/A9对应着b,……,P2.7/A15对应着h。

(c)把“单片机系统”区域中的P1.0—P1.7端口分别连接到不同的按键与指示灯上,要求:

P1.0对应开始按键,P1.1对应复位按键,P1.2对应暂停按键,P1.3对应加时按键,P1.4对应减时按键,P1.7对应开始指示灯。

其硬件连接原理图如下图4.1所示。

图4.1数码管显示系统硬件连接原理图

5软件设计

定时/计数器何时工作是通过软件来设定TCON特殊功能寄存器来完成的。

现在我们选择16位定时工作方式,使用的晶振频率为12MHZ。

对于T0来说,最大定时也只有65536us,即65.536ms,无法达到我们所需要的1秒的定时,因此,我们必须通过软件来处理这个问题。

假设我们取T0的最大定时为50ms,即要定时1秒需要经过20次的50ms的定时,对于这20次我们就可以采用软件的方法来统计了。

因此,作初始化设计时我们设定TMOD=00000001B,即TMOD=01H。

下面我们要给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算出:

T=(216-计数初值)×晶振周期×12,即50×10-3=(216-X)×(1/12)×10-6×12

所以X=15536=3CB0H,即可得TH0=3CH,TL0=B0H。

当T0在工作的时候,我们如何得知50ms的定时时间已到?

这回我们通过检测TCON特殊功能寄存器中的TF0标志位,如果TF0=1表示定时时间已到,通过中断响应,使得时间每一秒自动加一,同时用软件将TF0清0,又重新开始1秒的计时。

在计时的过程中,按下复位键时,将显示置0,否则按原来方式计数;按下复位键时,将显示置0,否则按原来方式计数;按下暂停键时,显示保持不变,否则按原来方式计数;按下加时键时,将显示的秒数加1,否则按原来方式计数;按下减时键时,将显示的秒数减1,否则按原来方式计数;最终,当计时达到60秒时,又回到初始值,数码管显示为00。

数码管显示系统设计的程序流程图如图5.1所示

图5.1数码管显示系统设计的程序流程图

6系统仿真

在Proteus的ISIS7Professional软件环境下画出电路原理图,接下来就是将设计的程序在KeilC51uVision2开发集成环境上编译成机器语言,进入Proteus的ISIS,鼠标点击菜单“debug”,选中“useromotrdebuggermonitor”,便可实现Keilc与Proteus连接调试。

首先在Proteus中双击单片机AT89C51,将KeilC下编程生成的smgmb.hex文件导入到AT89C51中。

可在Proteus中单击全速仿真运行按钮

,等待现象的查看,同时能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平;如果现象不正确,则在KeilC中单步调试程序,并在Proteus观察现象,哪一步不正确则对该程序语句进行修改,调试。

直到仿真完全成功为止,总过程仿真图如图6.1、6.2、6.3、6.4所示。

如下图6.1、6.2、6.3、6.4、6.5、6.6、6.7所示,该设计仿真验证的过程为,首先按下开始按钮

,启动仿真。

(1)按下仿真开始按钮,启动仿真后的仿真图如下图6.1所示。

图6.1按下仿真开始按钮的电路仿真图

 

(2)按下开始按键后,启动时间显示,仿真图如下图6.2所示。

图6.2按下开始键后的时间电路仿真图

(3)按下复位按键后,启动时间清0,仿真图如下图6.3所示。

图6.3按下复位键后的时间电路仿真图

(4)按下暂停按键后,使时间显示在原来数值,仿真图如下图6.4所示。

图6.4按下暂停键后的时间电路仿真图

(5)按下加时按键时,使原来时间自动加1,仿真图如下图6.5所示

图6.5按下加时键后的时间电路仿真图

(6)按下减时按键时,使原来时间自动减1,同时将减1后的数值显示出来,仿真图如下图6.6所示。

图6.6按下减时键后的时间电路仿真图

(7)未按下任何仿真按钮时的电路图,如下图6.7所示。

图6.7未按下任何仿真按钮时的电路图

7使用说明

当按下开始键时,开始指示灯亮,时间从0开始计时,当时间一秒产生时,秒计数自动加1,当秒计数到60时,自动从0开始计数。

这个过程中当按下复位键时,时间又从0开始计时;当按下暂停键时,时间停止计数;当按下加时键时,按一次时间自动加1;当按下减时键时,按一次时间自动减1;不工作时,开始指示灯不亮。

8设计总结

在本次课程设计中,我选的设计题目是:

数码管显示系统的设计,在设计初期首先查找相关资料,同时学会Proteus软件的使用,从Proteus库中选取元器件,放置电源和地,连线,元器件属性设置,电器检测,所有操作都在ISIS平台中进行,感觉此软件功能强大,非常好用。

在设计的过程中,也遇到了很多问题,在同学和指导老师的帮助下,都一一得到了解决。

从选题到定稿,从了解到熟悉,用了大概一个星期的时间,在这段时间内,苦恼、思考、喜悦、收获,感受颇多。

当然此次设计也体现出我平时学习中有许多不足和欠缺之处,此后需通过学习来查漏补缺。

最后,在此向给我帮助的同学和老师表示感谢,并以衷心的祝福。

参考文献

[1]杨恢先,黄辉先.单片机原理及应用[M].北京:

人民邮电大学,2006:

112-119.

[2]陈双全,宋谦.智能小区可视对讲系统设计[J].武汉船舶职业技术学院学报,2003,20(3):

36-39

[3]赵建东,陈小乐.基于Internet的智能家庭网络控制器的实现[J].电子技术应用,2002,34(12):

23-25.

[3]李强华,张根宝,段力.基于单片机控制的楼宇对讲系统的设计[J].电气应用,2007,12(01):

04-06.

[5]李炳宇,萧蕴诗,李永东.AT89C51单片机在多层楼宇对讲系统中的应用[J].自动化与仪表,2001,38(04):

23-25.

 

附录

由于采用中断方式来完成,因此,对于中断源必须先确定它的中断入口地址,对于定时/计数器T0来说,中断入口标志为0,因此在进行中断时,开启总中断和定时器中断,来执行相应的中断服务程序。

书写C语言中断服务程序格式如下所示:

voidT0_time()interrupt1//定时器0中断服务函数

{

TH0=(65535-45872)/256;//给定时器赋初始值

TL0=(65535-45872)%256;

i++;//中间变量

if(i==20)

{

i=0;

a++;

if(a==59)

a=0;

}

shi=a/10;

ge=a%10;

}

课程总程序设计:

#include//51系列单片机头文件

#defineucharunsignedchar//宏定义

#defineuintunsignedint

sbitkaishi=P1^0;//申明各个按键接口

sbitfuwei=P1^1;

sbitzanting=P1^2;

sbitjiashi=P1^3;

sbitjianshi=P1^4;

sbitld=P1^7;

uchari,shi,ge;

uinta;

uchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极数码管编码

voiddelay(uintz)//延时子函数,延时1ms

{

uintx,y;

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

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

}

voiddisplay(ucharone,uchartwo)//显示时间函数

{

P3=table[one];//送段数据

delay

(1);//延时1ms

P2=table[two];//送段数据

delay

(1);

}//延时1ms

voidmain()//主函数

{

a=0;//变量赋初始值

ge=0;

shi=0;

TMOD=0x01;//设置定时器0为工作方式0

TH0=(65535-45872)/256;//给定时器赋初始值

TL0=(65535-45872)%256;

EA=1;//开启总中断

TR0=0;//启动定时器0

ET0=1;//开启定时器0中断

while

(1)

{

if(kaishi==0)//开始功能

delay(5);

if(kaishi==0)

{ld=0;//开始指示灯

TR0=1;//开启定时器

}

if(zanting==0)//暂停功能

delay(5);

if(zanting==0)

TR0=0;

if(fuwei==0)//复位功能

delay(5);

if(fuwei==0)

{a=0;

shi=a/10;

ge=a%10;

display(ge,shi);

TR0=0;

}

if(jiashi==0)//快加键功能

delay(5);

if(jiashi==0)

{

TR0=0;

a++;

delay(300);

if(a==59)

a=0;

shi=a/10;

ge=a%10;

display(ge,shi);

}

if(jianshi==0)//快减键功能

delay(5);

if(jianshi==0)

{

TR0=0;

a--;

delay(300);

if(a==0)

a=59;

shi=a/10;

ge=a%10;

display(ge,shi);

}

display(ge,shi);

}

}

voidT0_time()interrupt1//定时器0中断服务函数

{

TH0=(65535-45872)/256;//给定时器赋初始值

TL0=(65535-45872)%256;

i++;//中间变了

if(i==20)

{

i=0;

a++;

if(a==59)

a=0;

}

shi=a/10;

ge=a%10;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1