电信生产实习报告 数码管动态显.docx

上传人:b****3 文档编号:4795691 上传时间:2023-05-07 格式:DOCX 页数:13 大小:101.88KB
下载 相关 举报
电信生产实习报告 数码管动态显.docx_第1页
第1页 / 共13页
电信生产实习报告 数码管动态显.docx_第2页
第2页 / 共13页
电信生产实习报告 数码管动态显.docx_第3页
第3页 / 共13页
电信生产实习报告 数码管动态显.docx_第4页
第4页 / 共13页
电信生产实习报告 数码管动态显.docx_第5页
第5页 / 共13页
电信生产实习报告 数码管动态显.docx_第6页
第6页 / 共13页
电信生产实习报告 数码管动态显.docx_第7页
第7页 / 共13页
电信生产实习报告 数码管动态显.docx_第8页
第8页 / 共13页
电信生产实习报告 数码管动态显.docx_第9页
第9页 / 共13页
电信生产实习报告 数码管动态显.docx_第10页
第10页 / 共13页
电信生产实习报告 数码管动态显.docx_第11页
第11页 / 共13页
电信生产实习报告 数码管动态显.docx_第12页
第12页 / 共13页
电信生产实习报告 数码管动态显.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电信生产实习报告 数码管动态显.docx

《电信生产实习报告 数码管动态显.docx》由会员分享,可在线阅读,更多相关《电信生产实习报告 数码管动态显.docx(13页珍藏版)》请在冰点文库上搜索。

电信生产实习报告 数码管动态显.docx

电信生产实习报告数码管动态显

 

中国电子科技大学

实习总结报告

 

实习类型生产实习

实习单位电子科学学院实习基地

实习起止时间201X年7月X日至202X年6月X日

指导教师

所在院(系)电子科学学院

班级电信X班

学生姓名

学号

202X年6月20日

数码管动态显示设计

一、课题目的

由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。

事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。

  

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

单片机作为应用最广泛的控制系统之一,具有体积小,易于控制,价格便宜,安全可靠等等优良的性能而被广泛的关注。

无论是小到儿童玩具,到工业控制系统,大到航天航空系统的设计与操作之中,随处可见单片机的踪影。

大学电子专业,电气专业,通信等专业开设单片机课程,对人才的培养无疑是有着重大的意义的。

本次课程设计的题目是数码管动态显示,通过课程设计使学生更进一步掌握单片机原理与应用课程的有关知识,提高用C语言编程的能力,并将所学的内容加以综合;通过查阅资料,了解所学知识的应用情况;通过课程设计全面系统的了解单片机的设计方法及设计步骤,了解微机系统的基本组成及开发设计过程中需要注意的问题。

1、设计目的及意义

(1)设计目的

1)掌握52系列单片机的基本硬件结构及工作原理;

2)掌握52系列单片机的汇编语言及基本程序设计方法;

3)学习并掌握使用52系列单片机开发控制系统的基本步骤及方法。

(2)设计意义

随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,式设施现代化的基础,也是人类通往科技巅峰的直通路。

电子行业的发展从长远来看很重要,但最主要的还是科技问题。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

学习单片机最重要的方法就是实现理论与实践相结合的学习方法。

有些工程师说过,能利用单片机设计并实现电子时钟,技能基本上掌握单片机的使用。

所以设计电子时钟的真正目的不在于设计出成品而投入使用,而是在于熟悉单片机的基本功能与编程来实现单片机的控制。

作为大学生,以后出去就业或是继续学业,都要有一定的动手能力和实践能力,而这,便是电子计时器设计的另一个目的。

(3)设计要求

数码管在生活中应用较多,常用在低端的家用电器中,用来做人机界面。

数码管有两种显示控制方法:

动态显示和静态显示。

这里采用动态显示。

设计要求如下:

1)采用10个数码管显示0~9这10个数字;

2)这个10个数字采用滚动显示;

3)采用一个按键控制显示的启停,按下一次,启动显示,再次按下,暂停显示;

4)采用一个按键进行复位控制。

2、总体设计方案

(1)、模块电路分析

1)STC89C52单片机:

该课程设计中我们选用的芯片是STC89C52。

STC89C52单片机:

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C5为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

它是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC8952可为许多嵌入式控制应用系统提供高性价比的解方案。

STC89C52具有如下特点:

40个引脚,8kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信,片内时钟振荡器。

其单片机的外围引脚有40个,分别是:

第20脚和40脚分别是电源,即GND和VCC;第9脚是复位脚RST;第18脚是时钟XTAL2脚,片内振荡电路的输出端;第19脚是时钟XTAL1脚,片内振荡电路的输入端;第29脚:

PSEN脚,当访问外部程序存储器时,此引脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上;第30脚ALE/PROG,当访问外部数据存储器时,ALE(地址锁存)的输出用于锁存地址的低字节;第31脚:

EA/VPP为程序存储器内外部选通信号;P0^0-P0^7.P1^0-P1^7.P2^0-P2^7.P3^0-P3^7这32个引脚为数据的输出及输入引脚,即I/0口。

表1-1STC89C52主要功能

兼容MCS51指令系统

8K可反复擦写FlashROM

32个双向I/O口

256*8bit内部RAM

3个16位可编程定时、计数器中断

时钟频率0-24MHZ

2个串行中断

可编程UART串行通道

2个外部中断源

共6个中断源

2个读写中断口线

3级加密位

低功耗和掉电模式

软件设置睡眠和唤醒功能

(2)显示模块:

该模块由8位8段共阳极数码管组成,由8个PNP型三极管分别驱动其发光,从左至右位控分别接于单片机的P1.7-P1.0中上,段控w接于单片机的P0.0-P0.7口上,使用动态显示从右向左循环点亮每一位数码管。

如电路原理图中的数码管电路如图1-1所示

图1-1显示模块

八段数码显示器是微机系统常用的输出设备。

数码管是一种半导体发光器件,其基本单元是发光二极管。

引线已在内部连接完成,只需引出它们的各个笔划,公共电极。

数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。

这些段分别由字母a,b,c,d,e,f,g,d,p来表示。

多个发光二极管封装在一起的八段数。

数码管也称LED数码管,晶美、光电、不同行业人士对数码管的称呼不一样,其实都是同样的产品。

数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、3位、4位、5位、6位、7位等数码管码显示器按其连接形式可分为共阳显示器和共阴显示器共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

根据发光字段的不同组合可显示出各种数字或字符。

此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

 

共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。

此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

(3)按键及引脚图

图1-2独立按键

独立式按键是指用I/0口线构成的单个按键电路,每个独立式按键单独占有一根I/0口线,每根I/0口线上按键的工作状态不会影响其他I/O口线的工作状态,即一个按键对应着-个端口输入,每一个按键都有一个按键电路来判断其是否按下。

上拉电阻确保按键松开时,I/O口线有确定的高电平。

当I/O口线内部有上接电阻时,外电路可以不配置上拉电阻,可以采用查询方式或中断方式读取按键本次用的单片机开发实验板上具有4*4键盘和4个独立按键,本设计采用的是四个独立按键,当按键按下时为低电平,通过判断语句判断调用哪一个程序。

(4)电源和复位电路:

STC89C52需5V电压,所以可以采用USB接口的5V电源对其供电,复位电路可采用上电复位、按键电平复位、按键脉冲复位3种,本次采用按键电平复位,如图1-3所示

图1-3按键电平复位

电容在上接高电平,电阻在下接地,中间为RST。

这种复位电路的工作原理是:

通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。

首先RST保持两个机器周期以上的高电平时自动复位。

电复位:

上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。

手动复位:

首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。

按键后:

电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。

松手后:

电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。

二、软件编程

(1)执行流程判断是否有键按下;识别被按下的键;执行相应的程序。

(2)软件流程图

 

三、调试分析

仿真结果:

将此程序在汇编器中生成的“.hex”文件,导入STC89C52芯片中,用鼠标右键点击STC89C52,然后点鼠标左键,弹出编辑元件的框图,在programfile里添加.hex文件,再点OK。

每个键位具有一个固定的键码,用十六进制表示为0H~FH;按下一按键显示对应的值。

显示过程是:

通过P1口控制数码管的亮灭,再通过给P0口赋值显示对应的值。

本设计时通过定义一个显示数组和一个按键数组实现的。

经过几次的实验后已经达到设计要求。

四、总结及体会

经过两个星期的课程设计,的确收获了很多,因为把平时所学的知识应用于实践真的会遇到很多问题,当然也会发现很多乐趣在其中。

这个就要不断的多次调试才能发现到问题究竟出在哪里。

解决了这个问题之后对于如何暂停计时器也想了好多办法,也调试了很多次。

最终通过将原中断向量入口地址进行修改,使其不再进入计时中断服务子程序就达到了要求。

进位条件的判断,编程中仔细思考也就没有问题。

另外对于中断服务子程序的类型设置问题,由于以前对这个概念的理解记得不清楚,于是找出课本再次进行研究。

  通过本次单片机课程设计,我不仅加深了对单片机理论知识的理解,学会了学以致用的重要性;而且还学会了如何去加强锻炼创新精神,同时也提高了自身的动手能力,让我深刻的意识到理论与实际结合的重要性。

 

通过这次的课程设计使我认识到要专业课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践,将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己的实践能力。

而且在实践过程中通过查找资料、分析资料以及请教老师和同学,使一些不清楚的问题得以解决,这一点也是非常重要的。

当然最关键的还是要靠自己亲自去领会思考如何解决问题,掌握独自面对问题分析问题的方法。

不少人抱怨在大学学不到东西,我并不这样认为。

我想无论是在学习还是在生活上只有自己真正用心去学习和参与才可能有收获,这也算是课设给我知识之外的一点小小的感悟。

总之本次课程设计的收获确实良多,很珍惜这样的的机会,因为可以锻炼自己提升自己!

 

五、程序附录

#include

sbitcontrol1=P3^2;

sbitcontrol2=P3^3;

sbitcontrol3=P3^4;

unsignedcharshift;

unsignedcharcodedisp[]=

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};

voiddelay(unsignedintk)

{

unsignedchari,j;

for(i=0;i

for(j=0;j

;

}

voidstop()

{

delay

(1);

}

voidclear()

{

P1=0xff;

P0=0xff;

}

voiddispk()

{

P1=0xfe;

P0=0xff;

shift=0xfe;

{

inti;

unsignedchark,j;

for(i=0;;i++)

{

if(i<10)

{

if(control3==0)

{

stop();break;

}

else

{

if(control2==0)

{

clear();

break;

}

else

{

P0=disp[i];

delay(150);

k=~shift;

shift=shift<<1;

j=(shift|k);

P1=j;

if(k==0x7f)

{

shift=0xff;

}

}

}

if(i==9)

i=-1;

}

}

}

}

voidmain()

{

chari;

P1=0xfe;

P0=0xff;

while

(1)

{

if(control1==0)

dispk();

if(control3==0)

stop();

if(control2==0)

clear();

}}

指导教师评语及成绩评定:

 

成绩:

指导教师签字:

年月日

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2