1、基于S08AW60的数字电压表设计 微控制系统原理大作业题目 基于S08AW60的数字电压表设计 院系名称: 电气工程学院 专业班级: 学生姓名: 学 号: 评语:成 绩:任课教师:时 间:设计题目基于S08AW60的数字电压表设计设计内容和要求1设计内容:硬件电路的设计、软件电路的设计2设计要求:显示部分用三位数码管显示,最高位显示正负。3总体方案的选择、讨论确定。软件流程图的设计,硬件电路各部分的设计, 程序的软调试、整机的调试4撰写设计报告报告主要章节一、引言二、系统总体方案 2.1 S08AW微控制器介绍 2.2 系统硬件框图三、 硬件设计 3.1 时钟电路 3.2复位电路 3.3电压
2、显示电路 四、 软件流程设计 五、 总结 参考文献 附录A源程序 附录B 系统原理图 一 引言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。 数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。MCU主要用于输入输出控制,通常嵌入某一具体的产品或装置之中,
3、所以又称为嵌入式控制器,一般由MCU构成的嵌入式控制系统应具有实时、快速的外部响应,能迅速采集到所需的数据,并在确定的时间内作出逻辑判断与推理后实现对被控制对象的参数调整与控制。MCU以其功能强、体积小、可靠性高、面向控制及价格低廉等一系列优点,已渗入到人们工作和生活的各个角落,几乎是无所不在,无所不为,牢固树立了其在生产和生活中的霸主地位。MCU的应用已从面向工业控制、通信、交通及智能仪表等迅速发展到面向家用消费产品、办公自动化、汽车电子、PC外设以及网络通信等广大领域。本次设计采用飞思卡尔公司生产的8位高级MCU S08AW60设计一个微控制器实验装置,以S08AW/AC60为核心,建立最
4、小化系统的中心系统,该实验装置能够有效地投入实验室使用,可以完成显示、输入、输出、PWM、电子闹钟等基本功能。二 系统总体方案2.1 S08AW微控制器介绍S08AW系列有4种芯片:S08AW60/48/32/16,他们之间的区别主要是片上程序存储器的容量不同而且具有各种引脚封装形式,S08AW特性如下: 中央处理器位S08CPU。 约62KB片上在线可编程Flash存储器,具有模块保护与安全选项功能。 2KB片上RAM。 时钟源选项为晶体振动器、陶瓷谐振器、外部时钟和内部时钟。 可选的看门狗(COP)复位。 具有复位和中断的功能的低压检测。 2个定时器TPM模块为共有(2+6)通道的16位定
5、时器/脉宽调制器,每个通道都有可选的输入捕捉、输出比较及PWM功能。 多达54个通用输入/输出(I/O)引脚。 具有主复位和引脚和上电复位(POR)功能。 单线后台调试模块BDM。 可支持多达32个中断/复位源。2.2 系统硬件框图 利用单片机设计一个简单的数字电压表,其核心内容就是模数转换,只要将要检测的电压模拟量经过模数转换模块的到一个对应的二进制的值,在经过数据处理得到对应的转换精度内的近似电压值,经过数码管显示出来即可。按照数字电压表控制系统的技术要求,控制系统的硬件应包括以下几部分:(1)将要检测的电压模拟量经过模数转换模块的到一个对应的二进制的值(2)经过数据处理得到对应的转换精度
6、内的近似电压值(3)经过数码管显示出来 硬件方框图如图2.1所示。图2.1 硬件方框图三 硬件设计3.1 时钟电路S08AW的时钟信号外部震荡接外部晶振,其电路图如图3.4所示。电容器C、C1起稳定震荡频率、快速起振的作用,电容值一般为5-30pF,晶振通常选用6MHZ、12MHZ、24MHZ。内部震荡方式所得的时钟信号比较稳定。 图3.1外部时钟电路3.2复位电路复位操作是为了完成S08AW内部电路的初始化,使S08AW从一种确定的状态开始运行。当S08AW的复位引脚RST出现2个机器周期以上,S08AW就完成了复位操作。如果RST持续为高电平,S08AW就处于循环复位状态。复位通常有2种基
7、本形式:上电复位和开关复位。上电复位要求要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在S08AW运行期间,用按钮开关操作使S08AW复位。本次采用的是常用的上电且开关复位电路,如图3.8所示。图3.2 复位电路上电后,由于电容充电,使RST持续一段高电平时间。当S08AW已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=1030F,R=101000。复位操作使S08AW进入初始化过程,其中包括使程序计数器PC=0000H,其它寄存器处于零。3.3电压显示电路 八位共阴极数码管,能够显示带一位小数的正负电压。零下时:3显示
8、负号,4显示十位,5显示十位和小数位。6、7显示C。零上时:3显示百位,4显示十位,5显示个位和小数位,6、7显示C 电路上,数码管又可以分为共阴和共阳两种。数码管的公共端就是位选段。共阴极的数码管公共端接地,段选高电平有效。共阴极公共端接+5伏电源,段选端低电平有效。位选端地意思就是只有这一端选通的时候才能给段选端赋不同的值。比如说对共阴极的数码管,只有先给位选一个低电平时,才能给段选端赋不同的码,才能在数码管上显示不同的数字。用途:用于各类仪表、仪器、家用电器等的数字显示。特点:颜色丰富、亮度高、功耗低、响应速度快、易于集成电路译码器,驱动器直接配合使用。8段数码管属于LED发光器件的一种
9、。LED发光器件一般常用的有两类:数码管和点阵。8段数码管又称为8字数码管,分为8段:A、B、C、D、E、F、G、P。其中P位小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚位一个数码管的公共端COM,两根之间互相连通图3.3 LED的管脚和电路原理八段数码管也分为共阴型和共阳型,共阳型就是发光管的正极都连在一起,作为一条引线,负极分开。八段数码发光管就是8个发光管组成的,在空间排列成为8字型带个小数点,只要将电压加在阳极和阴极之间相应的笔画就会发光。8个发光二极管的阳极并联在一起,8个阴极分开,因此成为共阳八段数码管。四 软件流程设计本程序主要环节是通过AD芯片采样外界输入电
10、压,然后程序处理这个电压信号,最终显示在数码管上。主程序流程图如图4所示。图4 主程序流程图五 总结通过这次设计,我学到了许多课外的东西,加深了对S08AW等知识的了解,提高了应用思考和设计能力。在分析设计课题,查阅资料,了解设计原理并进行仿真的过程中尽管遇到了些许问题,但在老师的指导下,最终独立地完成了任务,不仅锻炼了分析解决问题的能力,更重要的是加强了我对电子应用学习的兴趣。在设计的过程中老师给予一定的启发和指导 ,并叮嘱我们独立认真完成本次课程设计,在此表示衷心的感谢。在这个设计当中,我们更深入的了解和学习了对S08AW60输入、输出、显示等电路的研究和制作,这是我设计的实验板在实验室最
11、基本的实验,使使用者能够很好地学会微控制器的输入输出以及显示等基本原理。本次设计使我们进一步掌握和学习自动化本科4年所学的专业知识,比如在本设计当中用处比较多的电子技术,微控制器原理即应用等只是,另外对键盘和显示接口也有了深入的分析和了解,在、许多软件也有了很好的巩固,这个小型的自动化项目给予了我们很多的训练,很希望以后还有这种类似的项目来发挥我们的才能,使我们的综合知识水平得到更进一步的提高,让我们得到很好的锻炼,这为我们以后的工作有着重要的意义,对我们的学习和生活有着很好的帮助。参考文献1 王威, 嵌入式微控制器S08AW原理与实践 【M】. 北京:北京航空航天大学出版社,20092 谭浩
12、强,C程序设计,【M】.北京:清华大学出版社,19913 朱清慧,Proteus教程电子线路设计.制版与仿真,【M】.北京:清华大学出版社,20114 公茂法 马宝甫 孙晨,单片机人机接口实例集,【M】.北京:北京航空航天出版社20025 张迎新 雷道振等,单片微型计算机原理应用集接口技术,【M】.北京:国防工业出版社 2008 6 娄冉苗 李光飞 单片机设计实例,【M】.北京:北京航空航天出版社,20067 阎石 数字电子技术,【M】.北京:高等教育出版社,19848 邱关源 罗先觉 电路,【M】. 北京:高等教育出版社 1989附录A系统原理图附录B源程序#include#nclude d
13、erivative#define uint unsigned int#define uchar unsigned charuint code table=0xa0,0xf5,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28;#define cs PTBD_PTBD0/ADC0804片选#define rd PTBD_PTBD1/ ADC0804读#define wr PTBD_PTBD2 /ADC0804写#define P3 PTAD /ADC0804数据 #define P0 PTBD/数码管数据#define duan PTED /数码管段选float va
14、l;void delay(uint q) uint a,b; for(a=q;a0;a-) for(b=110;b0;b-); uchar AD() uchar a; cs=0; wr=1; _nop_(); wr=0; _nop_(); wr=1; delay(1); P0=0xff; rd=1; _nop_(); rd=0; _nop_(); _nop_(); _nop_(); a=P3; return a; void xian(uint c1)/显示函数 uchar shi,ge,bai; ge=c1%10; shi=c1/10%10; bai=c1/100%10; duan1=0xfe; P0=tablege; delay(5); duan=0xfd; P0=tableshi|0x80; delay(5); duan=0xfb; P0=tablebai; delay(5); void main() uchar bb; PTDDD=0XFF; PTBDD=0XFF; PTADD=0X00; PTEDD=0XFF; while(1) bb=AD(); ff=(bb*5)/256.0; ff=(uint)ff*100; xian(ff);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2