数码管显示电路设计.docx
- 文档编号:5495866
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:12
- 大小:216KB
数码管显示电路设计.docx
《数码管显示电路设计.docx》由会员分享,可在线阅读,更多相关《数码管显示电路设计.docx(12页珍藏版)》请在冰豆网上搜索。
数码管显示电路设计
东北石油大学
实习总结报告
实习类型生产实习
实习单位电子科学学院实习基地
实习起止时间2011年7月4日至2010年7月23日
指导教师张勇
所在院(系)电子科学学院
班级电信08-4班
学生姓名白雪
学号080901140402
2011年7月23日
第1章单片机系统硬件电路
实习目的
1、了解单片机最小系统;
2、了解keilc软件操作,程序下载及调试方法;
3、掌握单片机外部电路使用;
4、掌握键盘和数码管显示编程方法;
5、应用单片机开发板进行实验开发;
单片机型号及特性
1、AT89S51单片机功能及特点
AT89S51是一个低功耗,带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
性能特点:
(1)一般为控制应用的8位单芯片
(2)工作电压范围:
Vcc可为2.7V到6V,全静态工作:
可从0Hz至16MHz
(3)芯片内部具有时钟振荡器(传统最高工作频率可至12MHZ)
(4)内部程序存储器ROM为4KB,内部数据存储器RAM为128B
(5)外部程序存储器可扩充为64KB外部数据存储器可扩充至64KB
(6)32条外部双向输入输出线
(7)5个中断优先级,2层中断嵌套中断,5个中断源
(8)2组独立的16位定时器
(9)1个全双工串行通信端口
(10)8751及8752芯片具有数据保密的功能
(11)单芯片提供位逻辑运算指令
(12)低功耗的闲置和掉电模式
(13)三级程序存储器保密锁定
2、STC89C52单片机功能及特点
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。
它几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
性能特点:
(1)STC89C52单片机支持USB口或者是串口两种下载程序方式,不用买烧写器,编程器等产品,可以方便地烧写程序到单片机里
(2)USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源
(3)本实验板采用40PIN锁紧座安放单片机芯片,非常方便单片机芯片的取放
(4)8位数码管和8位LED发光二极管
(5)AT24C08外部EEPROM存储芯片(IIC总线元件实验)
(6)片内晶振及时钟电路
(7)三个16位定时器/计数器
(8)全双工串行口
单片机开发板
1、复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
复位电路分为片内、片外两部分,RST引脚为复位引脚,复位信号通过引脚RST加到单片机的内部复位电路上。
内部复位电路在每个机器周期S2P2对片外复位信号采样一次,当RST引脚上出现连续两个机器周期的高电平时,单片机就能完成一次复位。
单片机复位电路主要有四种类型:
(1)微分型复位电路
(2)积分型复位电路(3)比较器型复位电路(4)看门狗型复位电路
单片机复位电路通常采用上电自动复位和按钮复位两种方式。
自动复位电路:
是利用电容充电来实现的,即上电瞬间RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。
按钮复位电路:
当按下复位按键时,RST端产生高电平,使单片机复位。
复位后,其片内各寄存器状态改变,片内RAM内容不变。
图1-1
2、晶振电路
晶振全称为晶体振荡器,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。
单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
但是运行速度快对存储器的要求就高,对印制电路板的工艺要求也高,所以,要选择适当的晶振,晶体振荡器频率的范围通常是1.2-12MHz。
时钟周期是单片机时钟控制信号的基本时间单位,它是振荡器输出的时钟脉冲频率的倒数。
如f=6MHz,T=166.7ns
电路中晶振为石英晶振振荡器。
由于石英晶振有很好的频率稳定性和抗外界干扰能力,所以石英晶体振荡器用来产生基准频率,通过基准频率来控制电路中的频率的准确性
图1-2
3、键盘和中断
键盘扫描要分两步:
第一步,识别有无键按下。
首先把所有列线均置为0电平,然后检查各行线电平是否都为高电平,如果不全为高电平,说明有按键按下,否则说明无键被按下。
第二步,识别出哪个按键被按下。
采用扫描法,在某一时刻只让1条列线处于低电平,其余所有列线处于高电平。
检查各行线电平的变化,如果某行线为低电平,则可确定此行此列交叉点处的按键被按下。
键盘矩阵:
在单片机系统中键盘中按钮数量较多时,为了减少I/O口的占用,常常将按钮排列成矩阵形式。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按钮加以连接。
键盘矩阵中无按键按下时,行线处于高电平状态;当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。
列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平也为高,这一点是识别矩阵式键盘按键是否按下的关键所在。
图1-3
中断原理:
程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去,完成中断服务程序后,CPU继续原来被打断的程序,此过程称为中断响应。
中断处理过程:
中断请求——中断响应——中断服务——中断返回
中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。
通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。
CPU总是先响应优先级别最高的中断请求。
4、其它电路
液晶显示器,或称LCD(LiquidCrystalDisplay),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。
液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。
它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。
特性:
显示特性单5V电源电压,低功耗、长寿命、高可靠性;具有64个字节的自定义字符RAM,可自定义8个5×8点阵字符或四个5×11点阵字符
第2章单片机应用系统软件
STC下载软件
1、连接硬件:
将串口下载线一头与计算机串口相连,另一头与学习板串口相连,注意此时不要给学习板上电。
2、运行STC下载软件:
第一步:
选择单片机型号,与学习板单片机一致
第二步:
打开要下载的HEX文件
第三步:
选择串口和波特率。
波特率请选用默认值
第四步:
请选用默认值,特别是下次冷启动选择“与下载无关”
第五步:
点击下载按钮
最后给目标板上电,程序下载即可完成。
Keil软件
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
使用独立的Keil仿真器时,注意事项:
(1)仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
(2)仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
(3)仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
外部电路驱动
1、串口
8051单片机串行接口是一个可编程的全双工串行通信接口。
它可用作异步通信方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工的8051多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。
发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。
串行发送与接收的速率与移位时钟同步。
8051单片机用定时器T1作为串行通信的波特率发生器,T1溢出率经2分频后再经16分频后,作为串行发送或接收的移位脉冲。
移位脉冲的速率即为波特率。
串行通讯的特点是:
数据位传送,传按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。
2、定时器
定时器是通信协议正常运行的基本要素之一,主要用于各种定时和帧重传的任务。
通信协议在单片机系统上实现所使用的定时器,定时精度要求不高,但数量要求比较大。
由于硬件资源有限,不可能为每一个单独任务分配一个硬件定时器,只能通过单个硬件定时器模拟多个软件定时器的方法,来满足协议中的定时应用需要。
8051单片机内部有2个16位定时/计数器T0和T1,它们都具有定时和事件计数的功能,可应用于定时控制、对外部事件的计数和脉宽测量等场合。
定时/计数器T0和T1都是以加“1”的方式完成计数,特殊功能寄存器TMOD用于控制定时器/计数器的工作方式。
TCON用于控制定时/计数器的启动运行并记录T0和T1的溢出标志等。
通过对TH0、TL0和TH1、TL1的初始化编程,可以预置T0和T1的计数初值。
通过对TMOD和TCON的初始化编程,可以分别置入方式字和控制字,以指定其工作方式并控制T0和T1按规定的工作方式计数。
3、中断
中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。
中断系统包括中断请求、中断响应、中断服务、中断返回四部分。
中断方式完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。
中断方式的另一个应用领域是实时控制。
第3章数码管显示电路设计
设计原理
从TH和TL里的值开始向上计数直到溢出触发中断,在晶振12M单片机的情况下,时钟周期为1MHz,执行一次加计数用1us,这样,从0记到两个寄存器的最大值65535就要用去65.536ms,这就是51单片机最大计数范围。
比如为了计出10ms的时间,那么就要更改TH和TL的值,使定时器不从0开始计,这个值,就是65536-10000=55536,即从55536开始向上计数到溢出刚好用去10ms。
另外由于单片机寄存器是8位的,所以要把TH和TL组合起来用,TH放高8位,TL放低8位,于是有了TH0=(65536-10000)/256;TL0=(65536-10000)%256,再通过数码管进行数字显示。
图3-1
共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。
通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。
通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。
当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
实现方法
本设计基于数码管显示,采用STC89C52RC芯片作为核心,CPS3641BR数码管显示作为显示设备,完成利用液晶显示器显示的基本功能。
利用模块化的方法设计了单片机主控制模块和显示模块。
软件部分采用C语言编程,最终实现了功能。
在编程过程中需要充分考虑到数码管显示原理和计数原理。
数码管显示的原理是当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。
根据发光字段的不同组合可显示出各种数字或字符,计数的原理是从TH和TL里的值开始向上计数直到溢出触发中断。
利用keil软件对编好的程序进行运行验证,再通过STC将程序下载到单片机内,验证程序。
最终程序的功能将会在数码管上显示出来。
第4章实习总结
实习体会
为期20天的实习结束了,通过实习我们不仅重温了课本知识,也将所学与实践有效的结合起来。
首先我们利用一周的实践焊接单片机板,曾经焊接过收音机的板,所以为今日焊接打下了良好的基础,虽然在焊接过程中也遇到过一些问题,但是在老师和同学的帮助下均很好的解决,充分体现了团队精神。
在焊接中我也明白做事一定要认真、细致,细节决定成败,也许就因为一点点失误导致电路板不能正常工作,甚至有危险。
焊接好电路板后下载keil软件,STC下载软件进行下一步的应用。
进行测试程序,试验自己单片机焊接的是否正确、完整、运行正常,若正常则可继续学习编程,使单片机的功能运用到实际中去。
最初我们学习的是用汇编编写程序,而现在我们要做的是学习用C语言来编写程序,因为现在的C语言编写应用最为广泛。
通过编写程序让我明白课堂中的学习是远远不够的,我们还需要自己再学习、实践,不断的探索和研究,不断创新。
不能只局限于自己所学的知识中,要各个方面都有涉猎,提高自己的综合能力,这样才能取得长远发展。
设计硬件体会
学习一种汇编语言并把它运用到实际中,并不是一件简单的事,我们学习了就要能很好的运用,理论与实践相结合。
在设计程序过程中,遇到了很多困难,比如利用protel绘制电路图,如何布局,选择哪些器件等,焊接的电路板稍有不慎就会无法正常工作,同时,也发现有些基础概念掌握的不牢固,比如管脚置0置1。
系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,通过实践明白,不是仅仅学习课本上的知识就可以,还要灵活运用,并且学会用理论指导实践。
实习的时间虽然不长,但是学会了很多,为以后的学习与运用打下了良好的基础。
参考文献
[1]房小翠,王金凤.单片机使用系统设计技术[M].北京:
国防工业出版社,1999.
[2]刘绍斌.利用单片机实现智能控制[J].石油化工自动化.2000.
[3]张毅刚,彭喜元,彭宇.单片机原理及应用.北京:
高等教育出版社,2003.12
[4]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.
[5]郭天祥.新概念51单片机C语言教程——入门、提高、开发、拓展全攻略.电
子工业出版社.2009.01
[6]李平等.单片机入门与开发[M].机械工业出版社,2008
[7]李鸿.单片机原理及应用[M].湖南:
湖南大学出版社,2004
[8]何立民.单片机高级教程[M].第1版.北京:
北京航空航天大学出版社,2001
[9]徐惠民、安德宁.单片微型计算机原理接口与应用[M].第1版.北京:
北京邮电大学出版社,1996
附录1实物图
附录2系统主要程序
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
uchartt,aa,a,b,c;
uintx,y,a1,a2,a3;
voiddisplay(uint);
voiddelay(uint);
voidmain()
{
TMOD=0x11;
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET1=1;
TR1=1;
ET0=1;
TR0=1;
P1=0x00;
P0=table[0];
a=0xfe;
while
(1)
{
P1=0x7f;
P0=table[c];
delay(5);
P1=0xbf;
P0=table[b];
delay(5);
P1=0xdf;
P0=table[a];
delay(5);
//P1=0xff;
}
}
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=5;y>0;y--);
}
voidexiee()interrupt3
{
TH1=(65536-10000)/256;
TL1=(65536-10000)%256;
tt++;
if(tt==100)
{
tt=0;
x++;
a=x%10;
b=x/10%10;
c=x/100;
}
}
指导教师评语及成绩评定:
成绩:
指导教师签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 显示 电路设计