基于S08AW60的数字电压表设计.docx
《基于S08AW60的数字电压表设计.docx》由会员分享,可在线阅读,更多相关《基于S08AW60的数字电压表设计.docx(16页珍藏版)》请在冰豆网上搜索。
基于S08AW60的数字电压表设计
微控制系统原理
课程设计
课程设计名称:
基于S08AW60的数字电压表设计
专业班级:
自动1302
学生姓名:
鹏涛
学号:
201323020219
指导教师:
维
课程设计时间:
2016-4-20~2016-5-6
指导教师意见:
成绩:
签名:
年月日
1引言
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
微控制器诞生于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。
例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。
微程序控制的基本思想,就是仿照通常的解题程序的方法,把所有的控制命令信号汇集在一起编码成所谓的微指令,再由微指令组成微程序,存放在一个EPROM里。
系统运行时,一条又一条地读出这些微指令,产生执行部件所需要的各种控制信号,从而驱动执行部件进行所规定的操作。
微控制器可从不同方面进行分类:
根据数据总线宽度可分为8位、16位和32位机。
Intel公司作为最早推出微处理器的公司,同样也是最早推出微控制器的公司。
MCU主要用于输入输出控制,通常嵌入某一具体的产品或装置之中,所以又称为嵌入式控制器,一般由MCU构成的嵌入式控制系统应具有实时、快速的外部响应,能迅速采集到所需的数据,并在确定的时间作出逻辑判断与推理后实现对被控制对象的参数调整与控制。
MCU以其功能强、体积小、可靠性高、面向控制及价格低廉等一系列优点,已渗入到人们工作和生活的各个角落,几乎是无所不在,无所不为,牢固树立了其在生产和生活中的霸主地位。
MCU的应用已从面向工业控制、通信、交通及智能仪表等迅速发展到面向家用消费产品、办公自动化、汽车电子、PC外设以及网络通信等广大领域。
本次设计采用飞思卡尔公司生产的8位高级MCUS08AW60设计一个微控制器实验装置,以S08AW/AC60为核心,建立最小化系统的中心系统,该实验装置能够有效地投入实验室使用,可以完成显示、输入、输出、PWM、电子闹钟等基本功能。
2总体设计方案
2.1硬件组成
按照数字电压表控制系统的技术要求,控制系统的硬件应包括以下几部分:
(1)将要检测的电压模拟量经过模数转换模块的到一个对应的二进制的值
(2)经过数据处理得到对应的转换精度的近似电压值
(3)经过数码管显示出来
硬件方框图如图2.1
图2.1硬件方框图
2.2总体方案
按照上述方案论证的结果,数字电压表系统的总体方案框图如图2.2所示。
S08AW系列是Freescale公司推出的新一代S08系列为控制器中的一款增强型8位微控制器,它不仅集成度高、片资源丰富,还有很宽的工作温度围(-40~+125℃),S08AW微控制器采用8位S08CPU,片总线时钟频率可高达20MHz,片资源包括2KBRAM,约62KBFlash、串行通信模块、定时器模块、并可选择宽围时钟频率,还提供一个8位/10位精度的模/数转换,并支持后台调试模式BDM。
在汽车电子、工业控制和中高档机电产品等领域具有广泛的用途。
时钟信号用来控制S08AW各种微操作的时间基准,通常有两种形式得到,即部震荡方式和外部震荡方式。
部震荡方式所得的信号比较稳定,故设计数字温度计的时钟信号选用部震荡方式,晶振选用12MHZ。
用ADC0804转化模拟电压信号,通过微控制器控制数码管显示出来当前的电压。
3硬件电路设计
3.1S08AW特性结构及原理图
S08AW系列有4种芯片:
S08AW60/48/32/16,他们之间的区别主要是片上程序存储器的容量不同而且具有各种引脚封装形式,S08AW特性如下:
★中央处理器位S08CPU。
★最高可达40MzCPU时钟频率和20MHz部总线频率。
★约62KB片上在线可编程Flash存储器,具有模块保护与安全选项功能。
★2KB片上RAM。
★时钟源选项为晶体振动器、瓷谐振器、外部时钟和部时钟。
★可选的看门狗(COP)复位。
★具有复位和中断的功能的低压检测。
★2个定时器TPM模块为共有(2+6)通道的16位定时器/脉宽调制器,每个通道都有可选的输入捕捉、输出比较及PWM功能。
★多达54个通用输入/输出(I/O)引脚。
★具有主复位和引脚和上电复位(POR)功能。
★单线后台调试模块BDM。
★可支持多达32个中断/复位源。
S08AW系统结构如图3.1所示,大致可分为MCU核心和MCU外设两部分。
S08AW核心部分包括:
具有运行监视功能的增强型中央处理器S08CPU、后台调试控制、系统控制等。
S08MCU有两种存储器Flash和RAM;电压调整器可对数字电路和模拟电路供电;程序存储器具有页面控制模式;具有部时钟发生器和低能耗晶体振荡器。
外设部分可分为6种外设:
数字输入;数字输出;10位/8位二进制精度的模拟量/数字量转换器ADC;定时器/PWM;串行接口;许多微控制器中所没有的键盘中断输入。
图3.1S08AW系统结构
S08AW60基本系统的连接电路如图3.2.1所示。
大多数S08基本应用系统电路与此电路图相近,因此它在S08系列中具有代表性。
该系统电路由电源电路、振荡器、复位电路、后台调试/模式选择电路、通用I/O和外围设备接口电路。
主电源供电VDD和VSS,VDD和VSS是S08MCU主要的电源引脚,工作电压围是2.7~5.5V,该电源为所有的I/O缓冲器电路和部稳压器供电,电源电路通常在电源引脚上加两个独立的电容器,其中一个为大容量的电解电容,另外一个为靠近MCU电源引脚的地方安装一个0.1μF的瓷路旁电容来抑制高频噪音,VDDAD和VSSAD是MCU的模拟电源引脚,该引脚为片的模/数转换电路一共电源;S08AW60中的振荡器为传统的皮尔斯振荡器,它支持晶体和瓷谐振器,并可通过寄存器选择两种频率围,低频围为32~100KHz,高频围为1~16MHz;在S08AW系列MCU中,复位引脚是一个专用的引脚,带有置的上拉器件,它具有输入电压迟滞和10mA电流输出驱动;后台调试模式/模式选择引脚包含一个部上拉器件,输入滞后且具有2mA的输出驱动能力;S08AW60最多可提供56个引脚,这些引脚是通用I/O和片上外围设备共享的,在复位的瞬间,所有这些引脚立即配置为高阻抗通用输入。
图3.2.1S08AW60系统原理图
3.2最小系统电路图
该系统最小系统电路图如下所示
图3.2最小系统电路图
3.3电压显示电路
八位共阴极数码管,能够显示带一位小数的正负电压。
零下时:
3显示负号,4显示十位,5显示十位和小数位。
6、7显示°C。
零上时:
3显示百位,4显示十位,5显示个位和小数位,6、7显示°C
电路上,数码管又可以分为共阴和共阳两种。
数码管的公共端就是位选段。
共阴极的数码管公共端接地,段选高电平有效。
共阴极公共端接+5伏电源,段选端低电平有效。
位选端地意思就是只有这一端选通的时候才能给段选端赋不同的值。
比如说对共阴极的数码管,只有先给位选一个低电平时,才能给段选端赋不同的码,才能在数码管上显示不同的数字。
用途:
用于各类仪表、仪器、家用电器等的数字显示。
特点:
颜色丰富、亮度高、功耗低、响应速度快、易于集成电路译码器,驱动器直接配合使用。
8段数码管属于LED发光器件的一种。
LED发光器件一般常用的有两类:
数码管和点阵。
8段数码管又称为8字数码管,分为8段:
A、B、C、D、E、F、G、P。
其中P位小数点。
数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚位一个数码管的公共端COM,两根之间互相连通
图3.3LED的管脚和电路原理
八段数码管也分为共阴型和共阳型,共阳型就是发光管的正极都连在一起,作为一条引线,负极分开。
八段数码发光管就是8个发光管组成的,在空间排列成为8字型带个小数点,只要将电压加在阳极和阴极之间相应的笔画就会发光。
8个发光二极管的阳极并联在一起,8个阴极分开,因此成为共阳八段数码管。
3.4时钟电路
S08AW的时钟信号使用部震荡方式产生,其电路图如图3.4所示。
电容器C、C1起稳定震荡频率、快速起振的作用,电容值一般为5-30pF,晶振通常选用6MHZ、12MHZ、24MHZ。
部震荡方式所得的时钟信号比较稳定。
图3.4部震荡电路
3.5复位电路
复位操作是为了完成S08AW部电路的初始化,使S08AW从一种确定的状态开始运行。
当S08AW的复位引脚RST出现2个机器周期以上,S08AW就完成了复位操作。
如果RST持续为高电平,S08AW就处于循环复位状态。
复位通常有2种基本形式:
上电复位和开关复位。
上电复位要求要求接通电源后,自动实现复位操作。
开关复位要求在电源接通的条件下,在S08AW运行期间,用按钮开关操作使S08AW复位。
本次采用的是常用的上电且开关复位电路,如图3.8所示。
图3.5复位电路
上电后,由于电容充电,使RST持续一段高电平时间。
当S08AW已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。
通常选择C=10~30μF,R=10~1000Ω。
复位操作使S08AW进入初始化过程,其中包括使程序计数器PC=0000H,其它寄存器处于零。
4程序设计
4.1程序流程图
本程序主要环节是通过AD芯片采样外界输入电压,然后程序处理这个电压信号,最终显示在数码管上。
主程序流程图如图4.1所示
图4.1主程序流程图
5总结
本次设计是基于S08AW60微控制器的学习装置的设计,以S08AW60CPU为核心,设计一块实验板,并能够投入实验室使用,可以完成显示、输入、输出、PWM、电子闹钟等基本功能,通过几天的努力奋战以及老师和同学的帮助下,终于完成了任务,达到了预期的目标。
微控制器在市场上占有率也越来越大,如今在各个行业里面都少不了微控制器,特别是在汽车消费电子领域有着广泛的用途以及很好的发展前景。
在这次设计当中使我们更深刻地了解了S08AW60微控制器的优越性,由于S08系列为控制器的广泛使用,在各大教育机构以及汽车消费电子都有很大的份额。
所以设计的实验板有着很好的用途。
在这个设计当中,我们更深入的了解和学习了对S08AW60输入、输出、显示等电路的研究和制作,这是我设计的实验板在实验室最基本的实验,使使用者能够很好地学会微控制器的输入输出以及显示等基本原理。
本次设计使我们进一步掌握和学习自动化本科4年所学的专业知识,比如在本设计当中用处比较多的电子技术,微控制器原理即应用等只是,另外对键盘和显示接口也有了深入的分析和了解,在、许多软件也有了很好的巩固,这个小型的自动化项目给予了我们很多的训练,很希望以后还有这种类似的项目来发挥我们的才能,使我们的综合知识水平得到更进一步的提高,让我们得到很好的锻炼,这为我们以后的工作有着重要的意义,对我们的学习和生活有着很好的帮助。
参考文献
[1]王威.嵌入式微控制器S08AW原理与实践[M].:
航空航天大学,2009
[2]严隽永.嵌入式控制器[M].:
机械工业,2005
[3]瑞和.明.Motorola68HC08原理及嵌入式应用[M].:
清华大学,2002
[4]邵贝贝.单片机认识与实践[M].:
航空航天大学,2006
附录A源程序
#include
#nclude"derivative"
#defineuintunsignedint
#defineucharunsignedchar
uintcodetable[]={0xa0,0xf5,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28};
#definecsPTBD_PTBD0
#definerdPTBD_PTBD1
#definewrPTBD_PTBD2
#defineP3PTAD
#defineP0PTBD
#defineduanPTED
floatval;
voiddelay(uintq)
{
uinta,b;
for(a=q;a>0;a--)
for(b=110;b>0;b--);
}
ucharAD()
{
uchara;
cs=0;
wr=1;
_nop_();
wr=0;
_nop_();
wr=1;
delay
(1);
P0=0xff;
rd=1;
_nop_();
rd=0;
_nop_();
_nop_();
_nop_();
a=P3;
returna;
}
voidxian(uintc1)
{
ucharshi,ge,bai;
ge=c1%10;
shi=c1/10%10;;
bai=c1/100%10;
duan1=0xfe;
P0=table[ge];
delay(5);
duan=0xfd;
P0=table[shi]|0x80;
delay(5);
duan=0xfb;
P0=table[bai];
delay(5);
}
voidmain()
{
ucharbb;
PTDDD=0XFF;
PTBDD=0XFF;
PTADD=0X00;
PTEDD=0XFF;
while
(1)
{
bb=AD();
ff=(bb*5)/256.0;
ff=(uint)ff*100;
xian(ff);
}
}
附录B系统原理图