单片机原理与应用课程设计论文.docx
- 文档编号:11346754
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:29
- 大小:476.62KB
单片机原理与应用课程设计论文.docx
《单片机原理与应用课程设计论文.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用课程设计论文.docx(29页珍藏版)》请在冰豆网上搜索。
单片机原理与应用课程设计论文
《单片机原理与应用》课程设计
题目:
学院(系):
年级专业:
学号:
学生姓名:
指导教师:
基于51单片机的数字电子表的设计
摘要
数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。
在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。
近几年,单片机在各个领域得到广泛的应用。
从工业到人们的日常生活,大部分的科技产品都是通过单片机来控制。
在它问世之前,自动控制设备不能被广泛的应用,这是因为控制设备的体积庞大,耗电量大,价格昂贵。
在第一台微处理器成功研制不久,第一个单片机就问世了。
因为单片机具有体积小、功耗低、功能强可靠性高、价格低廉等一系列优点,而受到大家的欢迎。
它不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
第一章单片机知识介绍
1.1什么是单片机
在一片集成电路芯片上集成微处理器CPU(CentralProcessUnit),随机存储器RAM(RandomAccessMemtory),只读存储器ROM(ReadOnlyMemtory),中断系统,定时器/计数器以及I/O接口电路,从而构成了单芯片微型计算机,即单片机单片机具有体积小,价格低,可靠性高和易于嵌入式应用等特点,适合用作智能仪器仪表和工业测控系统的前端装置。
单片机本身没有开发能力,必须借助开发机完成应用系统的硬件故障和软件故障错误的排除,调试完程序必须固化到单片机的内部或外部程序存储器芯片中。
新的单片机应用系统开发技术在近几年有了快速的发展。
1.2单片机应用的特点
●控制功能和可靠性高
单片机是为了满足工业控制而设计的,所以实时控制功能特别强,其CPU可以对I/O接口直接进行操作,位操作能力更是其它计算机无法比拟的,另外,由于CPU,存储器,以及I/O接口集成在同一芯片内,各部件之间的连接紧凑,数据在传送时受到干扰小,且不易受环境条件的影响,所以单片机的可靠性非常高。
●体积小,价格低,易于产品化
每一片单片机既是一台完整的微型计算机,对于批量的专用场合,一方面可以在众多的单片机品种间进行匹配选择,同时还可以专门进行芯片设计,使芯片功能与应用具有良好和对应关系。
对单片机产品的引脚封装方面,有的单片机引脚已减少到8个或更少,从而使应用系统的印刷板减小,按插件减少,安装简单。
在现代的各种电子器件中,单片机具有良好的性能价格比,这正是单片机得以广泛应用的重要原因。
1.3单片机的应用领域
(1)能仪器仪表
单片机用于各种仪表,一方面提高了仪表仪器的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表的升级代换。
如各种智能化电气测量仪表,智能传感器等。
(2)机电一体化
机电一体化产品是集机械技术,微电子技术,自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。
单片机在机电一体化产品的开发中可以发挥巨大的作用。
典型的产品如:
机器人,数控机床,自动包装机,点钞机,医疗设备,打印机,传真机,复印机等。
(3)实时工业控制
单片机还可以用于各种物理量的采集与控制。
电流,电压,温度,液位,流量等物理参数的采集和控制均可以利用单片机方便地实现。
在这类系统中,利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算法,实现期望的控制指标,从而提高生产效率和产品质量。
典型应用如电动机转速控制,温度控制,自动生产线等。
(4)分布系统的前端模式
在较复杂的工业系统中,经常要采用分布式控制系统完成大量的分布参数的采集。
在这类系统中,采用单片机作为分布式系统的前端采集模块。
系统具有运行可靠,数据采集方便灵活,成本低廉等一系列有点。
(5)家用电器
家用电器是单片机的又一重要应用领域,前景十分广泛如空调,电冰箱,洗衣机、电饭煲,高档洗浴设备,高档玩具。
另外,交通领域中,汽车,火车,飞机,航天等均有单片机的广泛应用。
1.4单片机的中断与定时系统
1.4.1MCS-51单片机中断系统
中断是一项重要的计算机技术,这一技术在单片机中得到了充分的继承。
Cpu在面对多项任务,但是由于资源有限,有可能出现资源竞争的局面,即多个任务来争夺一个CPU。
而中断技术就是解决资源竞争的有效方法。
采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。
在单片机中,中断技术主要用于实时控制。
所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析,计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。
由于这些控制参量的请求都是随机发出的,而且要求单片机必须作出快速响应并及时处理,因此,只有靠中断技术才能实现。
1.4.2MCS-51单片机的定时器/计数器
的控制应用中,定时是必不可少的,可供选择的定时方法有:
(1)软件定时
软件定时是靠执行一个循环程序以进行的时间延迟.软件定时的特点是时间精确,且不需外加硬件电路。
但软件定时要占用CPU,增加CPU开销,因此软件定时的时间不易太长。
此外,软件定时方法在某些情况下无法使用。
(2)硬件定时
对于时间较长的定时,常使用硬件电路完成。
硬件定时方法的特点是定时功能全部由硬件电路完成,不占CPU时间。
但需通过改变电路中的元件参数来调节定时时间,在使用上不过灵活,方便。
(3)可编程定时器定时
这种定时的方法是对通过系统时钟脉冲的计数来实现。
计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来即方便,又灵活。
此外,由于采用计数方法实现,因此,可编程定时器都兼有计数的功能,可以对外来脉冲进行计数。
单片机应用中,定时与计数的需求较多,为了使用方便并增加单片机的功能,就干脆把定时电路集成在芯片中,成为定时器/计数器。
MCS-51内部就有两个定时器/计数器。
定时器/计数器的定时和计数功能
作为基本组成内容,MCS-51单片机共有2个可编程的定时器/计数器,分别称定时器/计数器和定时器/计数器1。
它们都是16位加法计数结构,分别由TH0(地址是8CH)和TL0(地址是8AH)及TH1(地址是8DH)和TL1(地址是8BH)l两个8位计数器组成。
这4个计数器均属专用寄存器之列。
计数功能
所谓计数是指对外部时间进行计数。
外部时间的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。
MCS-51芯片有T0和T1两个信号的引脚,分别是两个计数器的计数输入端。
外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。
定时功能
定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。
也就是每个机器周期计数器加1,由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。
如果单片机采用12MHZ晶体,则计数器频率为1Mhz,即每微妙计数器加1。
这样不但可以根据计数器计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。
1.5芯片简介
AT89C51单片机引脚图如下:
图1.1AT89C51引脚图
MCS-51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能如下:
VCC:
+5V电源。
VSS:
接地。
RST:
复位信号。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。
XTAL1和XTAL2:
外接晶体引线端。
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
P0口:
P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。
P2口:
P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。
P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。
P3口:
P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。
当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路的畅通。
当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1所示。
第二章总体方案设计
2.1设计方案
数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和一些显示日期、随时查看年月日等附加功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”,“日期”计数器、校时电路、和振荡器组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
每累计24小时,发出一个“日脉冲”信号,该信号将被送到“日期计数器”,“日期计数器”采用30进制计时器,可实现对一月30天的累计同时进位月份和年份。
译码显示电路将“时”、“分”、“秒”、“日期”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。
校时电路时用来对“时”、“分”、“秒”、“日期”、“月份”显示数字进行校对调整的。
数字电子钟主体电路应由以下几部分组成:
通过分频器产生标准秒信号;60进制分秒计数器以及24小时计数器;分、时的译码显示部分;校时电路。
2.1程序结构框图
图2.1软件的模块实现原理图
2.1.1主程序流程图如图2.2所示:
图7系统总体流程图
图2.2主程序流程图(日期显示的年月日与时分秒同理)
2.1.2中断处理流程图如图2.3所示
N
Y
N
Y
N
Y
N
Y
N
Y
图2.3中断处理流程图
第三章系统的硬件组成
3.1硬件模块的实现
单片机系统中的时钟是一切与时间有关过程的运行基础,在实时控制系统中尤其如此。
钟有绝对时钟和相对时钟两种。
绝对时钟是与当地的时钟同步的,有月、日,时、秒等功。
相对时钟则与当地时间无关,一般只有时、分、自动控制定时时间长短的功能。
MOS-51系列单片机只有T0,T1两个16位定时器,若都用作系统时钟的绝对时钟和相对时钟定时,则当系统再用于通信等需要定时器资源的情况下,会出现定时器不够用的情况.为此,统一设计单片机的时钟系统,用一个定时器完成绝对和相对时钟等多项定时任务是有实际意义的。
3.1.1显示模块概述概述
1.功能概述
本时钟使用四个LED显示模块,显示的基本格式为:
时××(秒点跳动)分××秒××。
随时可以调整时钟的时间。
当按下时钟调整模式键时,进入调整时间状态。
通过不同的按钮次数,调整不同的位置的数字。
单片机时钟的基本框图如图3.1所示:
图3.1单片机时钟的基本框图
晶振复位电路:
产生计数信号,完成时钟的运行。
输入模式键:
选择调整的位:
分,时,日,月。
输入调整键:
调整相应位的时间或日期,每按一次,加一。
2.技术方案
一个完整的数字钟电路相当于一个简单的系统,每个部分都要设计。
MCS-51单片机的片内结构由八部分组成。
微型处理机(CPU),数据存储器(RAM)。
程序存贮器(ROM,EPROM),I/O口,定时器,计数器。
中断系统及特殊的功能寄存器(SFR)。
数据存储器和程序存储器的可寻址的范围是:
64K地址范围是:
0000H-----FFFFH扩展的I/O均占用存储器的地址。
(1)LED显示原理
可供选择的方法LED显示有四种方法
⏹使用单片机芯片本身的并行口。
⏹使用单片机芯片本身的穿行口
⏹使用通用芯片接口(例如。
8255,8155等)
⏹使用专用接口芯片8279
(2)LED的分类
LED发光器一般有两类,数码管和点阵。
常用的数码管一般为8字节数码管,分别为:
a,b,c,d,e,f,g,dp。
其中dp为小数点。
数码管常用的有10根管脚。
段中间两根管脚为一个数码管的公用端。
两根之间的相互连通。
如图3.所示:
八段显示:
图3.2LED数码管图3.3八段数码管
从尺寸上分,LED数码管的种类很多,常用的有0.3,0.5,0.8,1.01.2,1.5,1.8,2.3,3.0,4.0,5.0等。
一般小1.0的单管芯。
1.2---1.5为双芯管。
1.8以上为3个以上芯管。
因而它们的要求不同,一般每个管芯压降为2.1v左右。
通常,0.8以下采用5V供电。
1.0—2.3采用12v供电,3.0以上的选择更高电压供电。
从电路上分为共阴极和共阳极两种。
图3.3为共阳极八段显示器。
(3)可供选择的LED显示的基本原理:
用单片机驱动LED的方法有很多种,按显示方式分,有静态显示和动态显示两种。
按译码方式分为硬件译码和和软件译码。
1.静态显示:
所谓静态显示就是指显示器显示某一字符时,相应段的发光二极管导通或截止。
静态显示有并行和串行输出出两种方式。
对于静态显示方式。
Led显示器由接口芯片直接驱动。
采用较小的驱动电流就可以得到较高的显示亮度。
但是,并行输出显示的十进制位数多时,需要并行的I/O接口芯片的数量较多。
采用串行输出可以大大节省单片机的内部资源。
静态显示具有锁存的能力,单片机将要显示的数据送出后不再控制LED,直到下次显示是才传送数据。
静态显示的数据稳定,占用的CPU时间少。
每一位都有锁存器和译码器。
电路如图3.4。
图3.4数码管静态显示原理图
2.动态显示:
所谓动态显示,就是一位一位的显示轮流点亮显示器的各个位(扫描)。
对于每一位而言,每隔一段时间点亮一次。
虽然在同一时刻只有一位显示器在工作(点亮)。
但是由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到却是多个字符“同时”显示。
显示器亮度即与点亮时的导通电流有关,也与点亮时间长短和时间间隔有关。
调整电流和时间参数,即可以得到较稳定的显示。
动态显示接口是单片机中应用最广泛的一种显示方式。
其接口把所的LEDA—G—dp连在一起。
而公共的COM端是各自独立受I/O控制。
尽管实际上各位显示器并非同时点亮。
但是是要扫描的速度足够快,给人一种稳定的感觉,不会有闪烁感。
静态显示虽然数据显示稳定,占用cpu时间少,但是使用硬件较多。
动态显示占
用CPU时间多,但是使用硬件少。
节省电路板空间。
从上述分析,动态显示方案有
一定的实用性,也是目前单片机数码管显示较为常用的一种显示方式。
所以,在本设
计中,使用动态显示方式。
3、显示驱动电路方案
在一般情况下,单片机使用并行驱动方式进行LED显示。
并行驱动的结构较为简单,并且非常适用于说明地址和数据总线复用的情况。
LED并行驱动的电路原理图如下:
图3.5LED并行驱动的电路原理图
图中C51与8位LED显示器的接口。
74HC573的P00—P07作为段选码口,经过74LS138驱动与LED相连。
74HC573的P00—P07作为位选码口,经过74LS138驱动与LED的位相连。
将各个位选线直接连接在单片机的其中一个输出口,进行位扫描,完成动态的显示。
总结上述提到的各种方式都有各自的可行性。
3.2晶振电路
单片机由其内部固化程序在12MHZ晶振的准确支持运行,将时钟芯片中的时、分读取到缓冲区内,并将时、分送到显示电路,
图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
图3.6晶振电路
3.3按键模块
按建模块用来切换显示时间或日期,以及对时间和日期进行校正修改和相关设置功能,该系统只使用S1和S2两个按键,如下图所示:
图3.7按键模块原理图
图4.2STC-ISP下载软件界面
第四章程序设计
4.1相关工具软件
本次设计中与用到的相关软件如图4.1和图4.2所示:
图4.1KeiluVision2使用界面
4.2部分时钟程序(程序清单见附录):
/******************************************************************/
/*定时器1中断*/
/******************************************************************/
voidtime1_isr(void)interrupt3using0//定时器1用来动态扫描
{staticunsignedcharnum;
TH1=0xF8;//重入初值
TL1=0xf0;
switch(num){
case0:
P2=0;P0=StrTab[num];break;//分别调用缓冲区的值进行扫描
case1:
P2=1;P0=StrTab[num];break;
case2:
P2=2;P0=StrTab[num];break;
case3:
P2=3;P0=StrTab[num];break;
case4:
P2=4;P0=StrTab[num];break;
case5:
P2=5;P0=StrTab[num];break;
case6:
P2=6;P0=StrTab[num];break;
case7:
P2=7;P0=StrTab[num];break;
default:
break;}
num++;//扫描8次,使用8个数码管
if(num==8)
num=0;}
第五章系统功能调试与指标参数
本系统以89C51单片机作为控制核心,使用LED显示模块和按键模块,实现时间的显示,年月日显示及相应校正和设置功能.除具有括时钟显示、日期显示外,还有校正时间和日期.实际运行效果良好,并可进行进一步的扩展.数字电子钟能以秒为最小时间单位计时,同时应能用数字直观显示当前的时与分,秒,以及切换到日期显示界面,还可以手动校时和调整日期。
5.1基本功能和参数
1.时制式为24小时制。
2.采用LED数码管显示时、分,秒采用数字显示。
3.具有方便的时间调校功能。
4.计时稳定,可精确校正计时精度。
6.其它附加功能(显示日期,随时切换查看时间和日期)。
5.2测试的相关参数
(1)小计时时间单位为1s。
(2)秒和分的范围是00~59,小时的计时范围是00~23,日的计时范围是01~30,月的计时范围是01~12,年的计时范围是2000~2099。
(3)可手动将时间显示和日期显示互相切换,并可分别对分钟、小时、日期和月份进行校正。
第六章设计总结
单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。
但当拿到题目时,确实不知道怎么着手,有些迷茫,上网查资料,问老师,在老师的帮助下,历时两个星期,解决一个又一个的困难,终于完成任务。
在这次课程设计中,运用到了很多以前的专业知识,虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的一大收获。
另外,要做好一个课程设计,就必须做到:
在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,不能灵活运用。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
另外,要非常感谢我的指导老师,是她指引我克服一个由一个的困难,让我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。
我学会对困难无所畏惧,以及对问题的一些很重要的思考方法。
附录
时钟程序清单:
#include
sbitkey_change=P3^0;//定义端口参数
sbitkey=P3^1;
sbitLED=P1^2;//定义指示灯参数
codeunsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//共阴数码管0-9
unsignedcharStrTab[8];//定义缓冲区
unsignedcharminute=55,hour=20,second,date=24,change,month=12,year=10,number;//定义并且初始化值20:
55:
0020101224
/******************************************************************/
/*延时函数*/
/******************************************************************/
voiddelay(unsignedintcnt)
{
while(--cnt);
}
/******************************************************************/
/*显示处理函数*/
/******************************************************************/
voiddisplay_time()
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 应用 课程设计 论文