ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:524.09KB ,
资源ID:6836764      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6836764.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计报告完整版word.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计报告完整版word.docx

1、单片机课程设计报告完整版word目录第一章 系统概要 11.1系统背景 11.2 系统功能框图 1第二章 系统硬件设计 22.1 系统原理图 22.2 单片机(MCU)模块 22.2.1 MC908GP32单片机性能概述 22.2.2 内部结构简图与引脚功能 32.2.3 GP32最小系统 42.3 传感器模块 42.4 信号放大模块 52.5 A/D转换模块 52.5.1 进行A/D转换的基本问题 52.5.2 A/D转换模块的基本编程方法 52.5.3 A/D芯片TCL2543概述 62.6 串行通信模块 82.6.1 串行通信常用概念 82.6.2 RS-232C总线标准 92.6.3

2、串口通信的主要功能 10第三章 系统软件设计 103.1 MCU方(C)程序 103.1.1 系统主函数模块 113.1.2 GP32系统初始化程序 113.1.3 AD转换模块 123.1.4 串行口初始化子程序 153.1.5 串口通行程序段 153.2 PC方(VB)程序 173.3 PC方(VB)程序 193.4 PC方界面 24第四章 系统测试 25第五章 总结展望 255.1 总结 255.2 展望 25参考文献 25第一章 系统概要1.1系统背景随着电子技术和微型计算机的迅速发展,单片机应用与控制技术得到了迅速的发展和广泛的应用。温度则是系统常需要测量、控制和保持的一个量。本设计

3、的目的是以MC908GP32单片机为核心设计出一个温度测量采样传感系统。具体设计是将温度传感器采样得到的模拟信号转换成数字信号,通过串口在PC的界面显示出来。用温度传感器将被测温度转换为电量,经过放大滤波电路处理后,由模数转换器将模拟量转换为数字量,再与单片机相连,通过可编程键盘显示接口芯片实现温度限值的设定。.被测量经过温度传感器转换为电量,再放大后送给A/D转换器。电量经过A/D转换为二进制数值,单片机根据设计目的完成相应的软件处理。处理完毕后,送键盘显示处理芯片,然后再由数码管显示。一个完整的A/D转换过程中,必须包括取样、保持、量化与编码等几部分电路。在两次取样之间,应将取样的模拟信号

4、暂时储存到下个取样脉冲到来,这个动作称之为保持。量化与编码电路是A/D转换器的核心组成的部分,一般对取样值的量化方式有只舍去不进位和有舍去有进位两种。基于温度传感器的采样系统就是利用集成电路温度传感器和A/D 转换器两个主要模块完成。这是一种低成本的利用单片机I/O口实现的温度检测电路, 该电路非常简单, 易于实现, 并且适用于几乎所有类型的单片机。 因此它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等; 1.2 系统功能框图MCU工作支撑电路保障MCU能正常运行,如电源电路、晶振电路及必要的滤波电路等。实际模拟信号一般来自相应的传感器。

5、例如,要测量室内的温度,就需要温度传感器。但是,一般传感器将实际的模拟信号转成的电信号都比较弱,MCU无法直接获得该信号,需要将其放大,然后经过模/数(A/D)转换变为数字信号,进行处理。目前许多MCU内部包含A/D转换模块,实际应用时也可根据需要外接A/D转换芯片。对MCU来说,模拟信号通过A/D转换变成相应的数字序列进行处理。常用的通信方式有:异步串行(SCI)通信方式、串行外设接口(SPI)通信方式、并行通信方式、USB通信方式、网络通信(uIP)方式等。最后设计将温度传感器采样得到的模拟信号转换成数字信号,通过串口在PC的界面显示出来。第二章 系统硬件设计2.1 系统原理图2.2 单片

6、机(MCU)模块2.2.1 MC908GP32单片机性能概述MC908GP32是MC908GP 系列中的一个型号,MC68HC908GP32有40脚、42脚、44脚三种封装形式; MC68HC908GP32的主要特点概述如下:(1)512B片内RAM;32K片内Flash程序存储器,具有在线编程能力和保密功能。 (2)时钟发生器模块,具有32KHz晶振PLL电路,可产生各种工作频率;8MHz内部总线频率。 (3)增强的HC05 CPU结构;16种寻址方式(比HC05多8种);16位变址寄存器和堆栈指针;存储器至存储器数据传送;快速88乘法指令;快速16/8除法指令;扩展的循环控制功能;BCD功

7、能。 (4)33根通用I/O脚,包括26根多功能I/O脚和5或7根专用I/O脚;PTA、PTC和PTD的输入口有可选择的上拉电阻;PTC0PTC4有15mA吸流和放流能力,其他口有10mA吸流和放流能力 (总体驱动电流应小于150mA);所有口有最高5mA输入电流保护功能。 (5)增强型串行通讯口SCI;串行外围接口SPI;两个16位双通道定时器接口模块(TIM1和TIM2),每个通道可选择为输入捕捉、输出比较和PWM,其时钟可分别选为内部时钟的1、2、4、8、6、32和64的分频值;带时钟预分频的定时基模块有8种周期性实时中断(1、4、16、256、512、1024、2048和4096Hz)

8、,可在STOP方式时使用外部32KHz晶振周期性唤醒CPU;8位键盘唤醒口。(6)系统保护特性:计算机工作正常(COP)复位;低电压检测复位,可选为3V或5V操作;非法指令码检测复位;非法地址检测复位。 (7)具有PDIP40、SDIP42和QFP44封装形式。 (8)优化用于控制应用;优化支持C语言。2.2.2 内部结构简图与引脚功能1. 内部结构简图(44引脚)单片机(以下简称GP32单片机)的三种封装形式只是引脚数量和形式有所区别,其它方面是一致的。图中I/O口是按 44引脚的GP32给出的。从内部结构简图可以看出,GP32内部有以下主要部分:CPU08、存储器、定时器接口模块、定时基模

9、块、看门狗模块、通用I/O接口、串行通信接口 SCI、串行外设接口SPI、断点模块、A/D转换模块、键盘中断模块、时钟发生模块及锁相环电路、低电压禁止模块、复位与中断模块、监控模块MON和系统设置模块。2. GP32单片机的引脚功能(1)电源类引脚:VDD 、VSS(20引脚、19引脚):电源供给端。VDDAD/VREFH、VSSAD/VREFL(31引脚、32引脚):内部A/D转换模块的电源供给及参考电压输入端。VDDA、VSSA(1引脚、2引脚):时钟发生器模块(CGM)的电源供给端。(2)控制类引脚:(6引脚):外部低有效复位输入或输出引脚,有内部上拉电阻。(14引脚):外部中断输入引脚

10、,有内部上拉电阻。(4)I/O类引脚: PTA7/KBD7-PTA0/KBD0(42-35引脚):8位通用双向I/O接口,每个可编程为键盘输入引脚。PTB7/AD7-PTBO/AD0(32-25引脚):8位通用双向I/O接口,也可作为8位A/D转换输入引脚。PTC4-PTC0(11-7引脚):5位通用双向I/O接口。PTD7/T2CH1-PTD0/SS(24-21引脚、18-15引脚):8种特殊功能、双向I/O接口,其中PTD4-PTD7用于定时器模块(TIM1和TIM2)。SPSCK、MOSI、MISO、SS用语串行外围接口(SPI)。PTE1/TxD、PTE0/RxD(12引脚、13引脚)

11、:2位双向I/O接口或串行通信。(4)其他:CGMXFC(3引脚):CGM的外部滤波电容连接引脚。OSC1、OSC2(5引脚、4引脚):芯片内振荡器引脚。2.2.3 GP32最小系统文字叙述(最小系统介绍,自己输入)硬件结构,但仅有一个MCU是无法工作的,它必须与上节讲述了以MC908GP32单片机为原型的HC08系列MCU的其他相应的外围电路一起,才能构成一个最小系统。MC908GP32芯片(以40脚封装为例)最小系统的外围支撑电路包括电源与滤波电路、晶振电路和复位电路,其中各个部分的功能如下:1.电源供给与滤波GP32芯片的20、19脚(VDD、VSS)为芯片的电源输入端,1、2脚(VDD

12、A、VSSA)为内部PLL模块的电源供给。接在电源与地之间的0.1µF电容为滤波电容。PLL电路目的在于由频率小的外部晶振产生较大频率的内部总线时钟,提高芯片的抗干扰性。由于这部分内容涉及的编程内容很少,但原理较难理解,所以放入第14章介绍。这里只要知道GP32内有PLL电路就可以了,而且GP32内的PLL电路模块需要外接电源。在MCU的第3脚,接有内部PLL模块的外部滤波电路。滤波电路的作用主要是增强电路工作稳定性。2.晶振电路接MCU第4、5脚(OSC2、OSC1)之间的电路为晶振电路,这里选用的晶振频率为f=32.768KHz。通过内部PLL电路模块,可获得小于等于8MHz的

13、内部总线频率。电路及其元件参数是由GP32参考手册确定的。实际开发中,嵌入式应用工程师往往根据参考手册提供的电路及参数,通过自己的实践,构筑MCU的外围支撑电路,而不深究其工作原理。3.复位电路接在MCU第6脚( )的电路为芯片硬件复位电路。正常工作时该脚通过10K电阻接到电源正极(这里设为5V电源供电),所以应为高电平。若按下复位按钮RST,则第6脚通过51Ω接地,为低电平,芯片复位。2.3 传感器模块温度传感器采用的是NS公司生产的LM35。LM35是NS公司生产的集成电路温度传感器系列产品之一。它具有很高的工作精度和较宽的线性工作范围,该器件输出电压与摄氏温度线性成比例。因而

14、,从使用角度来说, LM35与用开尔文标准的线性温度传感器相比更有优越之处,LM35无需外部校准或微调,可以提供1/4的常用的室温精度。 其部分参数如下:工作电压:直流430V; 工作电流:小于133A 输出电压:+6V-1.0V 输出阻抗:1mA负载时0.1; 精度:0.5精度(在+25时); 漏泄电流:小于60A; 比例因数:线性+10.0mV/; 非线性值:1/4; 校准方式:直接用摄氏温度校准; 封装:密封TO-46晶体管封装或塑料TO-92晶体管封装; 图1使用温度范围:-55+150额定范围。 引脚介绍: 正电源Vcc;输出;输出地/电源地。LM35外部电路图如图2所示图22.4

15、信号放大模块由于温度传感器LM35输出的电压范围为00.99 V,虽然该电压范围在AD转换器的输入允许电压范围内,但该电压信号较弱,如果不进行放大直接进行AD转换则会导致转换成的数字量太小、精度低。系统中选用通用型放大器A741对LM35输出的电压信号进行幅度放大,还可对其进行阻抗匹配、波形变换、噪声抑制等处理。系统采取同相输入,电压放大倍数为5倍,电路图如图3所示。2.5 A/D转换模块A/D转换模块(Analog To Digital Convert Module),即模/数转换模块,是将电压信号转换为对应的数字信号。这个电压量是由压力传感器把压力转换过来,传到MCU处理。2.5.1 进行

16、A/D转换的基本问题(1)采样精度:是指数字量变化一个最小量时模拟信号的变化量,即通常所说的采样位数。 (2)采样速率:是指完成一次A/D采样所要花费的时间。 (3)滤波:为了使采样的数据更准确,对采样的数据进行筛选去掉误差较大的毛刺。通常采用中值滤波和均值滤波来提高采样精度。中值滤波是取3次采样的中间值,均值滤波是取多次采样的算术平均值。 (4)物理量回归:把A/D采样值与实际物理量对应起来。2.5.2 A/D转换模块的基本编程方法(1)A/D转换初始化:对ADCLK写入控制字节,决定时钟输入源是内部总线还是外部晶振,决定分频系数等。 (2)启动A/D转换:对ADSCR写入控制字节,选取要转

17、换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换等。 (3)获A/D转换结果:若是中断方式,在A/D中断程序中取得,若是查询方式,通过ADSCR的第7位(COCO位)取得,当COCO=1时可从ADR中取数。(A/D芯片TCL2543概述,上网找一些资料)A/D芯片TCL2543概述 A/D、D/A转换器是过程及仪器仪表、设备等检测与控制装置中应用比较广泛的器件。随着大规模集成电路技术的发展,各种高精度、低功耗、可编程、低成本的A/D转换器不断推出,使得微机控制系统的电路更加简洁,可靠性更高。TLC2543与外围电路的连线简单,三个控制输入端为CS(片选)、输入/输出时钟(I/O

18、 CLOCK)以及串行数据输入端(DATA INPUT)。片内的14通道多路器可以选择11个输入中的任何一个或3个内部自测试电压中的一个,采样保持是自动的,转换结束,EOC输出变高。TLC2543的主要特性如下:11个模拟输入通道;66ksps的采样速率;最大转换时间为10s;SPI串行接口;线性度误差最大为1LSB;低供电电流(1mA典型值);掉电模式电流为4A。 2.5.3 A/D芯片TCL2543概述1.TLC2543的引脚排列如图4所示。引脚功能说明如下:AIN0AIN10:模拟输入端,由内部多路器选择。对4.1MHz的I/O CLOCK,驱动源阻抗必须小于或等于50;CS:片选端,C

19、S由高到低变化将复位内部计数器,并控制和使能DATA OUT、DATA INPUT和I/O CLOCK。CS由低到高的变化将在一个设置时间内禁止DATA INPUT和I/O CLOCK; 图4DATA INPUT:串行数据输入端,串行数据以MSB 为前导并在I/O CLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压,之后I/O CLOCK将余下的几位依次输入;DATA OUT:A/D转换结果三态输出端,在CS为高时,该引脚处于高阻状态;当CS为低时,该引脚由前一次转换结果的MSB值置成相应的逻辑电平;EOC:转换结束端。在最后的I/O CLOCK下降沿之后,EO

20、C由高电平变为低电平并保持到转换完成及数据准备传输; VCC、GND:电源正端、地;REF、REF:正、负基准电压端。通常REF接VCC,REF接GND。最大输入电压范围取决于两端电压差;I/O CLOCK:时钟输入/输出端。2.TLC2543的工作时序TLC2543每次转换和数据传送使用16个时钟周期,且在每次传送周期之间插入CS的时序。时序如图2所示。从时序图可以看出,在TLC2543的CS变低时开始转换和传送过程,I/O CLOCK的前8个上升沿将8个输入数据位键入输入数据寄存器,同时它将前一次转换的数据的其余11位移出DATA OUT端,在I/O CLOCK下降沿时数据变化。当CS为高

21、时, I/O CLOCK和DATA INPUT被禁止,DATA OUT为高阻态。3. TLC2543与AT89S51的连接 由于MCU51系列单片机不具有SPI或相同能力的接口,为了便于与TLC2543接口,采用软件合成SPI操作,为减少数据传送受微处理器的时钟频率的影响,尽可能选用较高时钟频率。接口电路如图6所示。图64.接口程序设通道/方式控制字存放在R4中,程序在读出前一次转换结果的同时,将该通道/方式控制字发送到TLC2543中去,转换结果存放在相邻地址的存储器中。存储器地址从30H45H,且高字节在前,低字节在后。 ORG 100H START:MOV SP,50H;堆栈指针初始化

22、MOV P1,04H;P1口引脚初始化 CLR P1.0 SETB P1.3 ACALL TLC2543 ACALL STORE JMP STARTTLC2543:MOV A,R4 CLR P1.3 JB ACC.1,LSB;如果A的位1为1,先做低字节 MSB:MOV R5,08LOOP1:MOV C,P1.2;数据位读入进位位RLC A MOV P1.1,C;输出方式/通道位 SETB P1.0;产生I/O时钟 CLR P1.0 DJNZ R5,LOOP1;输入/输出另一位 MOV R2,A;高字节送入R2 MOV A,R4 JB ACC.1,RETURN LSB:MOV R5,08LOO

23、P2:MOV C, P1.2 RLC A MOV P1.1,C SETB P1.0 CLR P1.0 DJNZ R5,LOOP2 MOV R3,A MOV A,R4 JB ACC.1,MSBRETURN:RETSTORE:MOV A,R4 ANL A,0F0H SWAP A MOV B,02 MUL AB ADD A,030H MOV R1,A MOV A,R2 MOV R1,A INC R1 MOV A,R3 MOV R1,A RET END以上程序用累加器和带进位的左循环移位的指令来合成SPI功能,读入转换结果的第一个字节的第一位到进位(C)位。累加器内容通过进位位左移,通道选择和方式数据

24、的第一位通过P1.1输出。然后由P1.0先高后低的翻转来提供串行时钟。这个时序再重复7次,完成转换数据的第一个字节的传送。第二个字节由重复8次时钟脉冲和数据传送的整个序列来传送。2.6 串行通信模块2.6.1 串行通信常用概念()异步串行通信的格式SCI通常采用NRZ数据格式,即:standard non-return-zero mark/space data format,译为:“标准不归零传号/空号数据格式”。“不归零”的最初含义是:用正、负电平表示二进制值,不使用零电平。“mark/space”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。下图给出了 8位数据、无

25、校验情况的传送格式。(2)串行通信的波特率波特率(baud rate):每秒内传送的位数。波特率单位是位/秒,记为bps。通常情况下,波特率的单位可以省略。通常使用的波特率有300、600、900、1200、1800、2400、4800、9600、19200、38400。 (3)奇偶校验字符奇偶校验检查(character parity checking)称为垂直冗余检查( vertical redundancy checking,VRC),它是每个字符增加一个额外位使字符中“1”的个数为奇数或偶数。奇校验:如果字符数据位中“1”的数目是偶数,校验位应为“1”,如果“1”的数目是奇数,校验位应

26、为“0”。偶校验:如果字符数据位中“1”的数目是偶数,则校验位应为“0”,如果是奇数则为“1”。 (4)串行通信的传输方式单工(Simplex):数据传送是单向的,一端为发送端,另一端为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以了。有线广播就是单工的。全双工(Full-duplex):数据传送是双向的,且可以同时接收与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,MCU的异步串行通信接口均是全双工的。半双工(Half-duplex):数据传送也是双向的,但是在这种传输方式中,除了地线之外,一般只有一根数据

27、线。任何一个时刻,只能由一方发送数据,另一方接收数据,不能同时收发。 2.6.2 RS-232C总线标准MCU引脚一般输入/输出使用TTL电平,而TTL电平的“1”和“0”的特征电压分别为2.4V和0.4V,适用于板内数据传输。为了使信号传输得更远,美国电子工业协会EIA(Electronic Industry Association) 制订了串行物理接口标准RS-232C。RS-232C采用负逻辑,-3V-15V为逻辑“1”,+3V+15V为逻辑“0”。RS-232C最大的传输距离是30m,通信速率一般低于20Kbps。RS-232接口,简称“串口”,它主要用于连接具有同样接口的室内设备。目

28、前几乎所有计算机上的串行口都是9芯接口。图7给出了9芯串行接口的排列位置,相应引脚含义见表。引脚号功能1接收线信号检测(载波检测DCD)2接收数据线(RxD)3发送数据线(TxD)4数据终端准备就绪(DTR)5信号地(SG)6数据通信设备准备就绪(DSR)7请求发送(RTS)8清除发送9振铃指示表1 芯串行接口引脚含义表 图7 芯串行接口排列图 MAX232芯片引脚图在MCU中,若用RS-232C总线进行串行通信,则需要外接电路实现电平转换。在发送端需要用驱动电路将TTL电平转换成RS-232C电平,在接收端需要用接收电路将RS-232C电平转换成TTL电平。电平转换器不仅可以由晶体管分立元件

29、构成,也可以直接使用集成电路。该系统使用MAX232芯片,该芯片使用单一+5V电源供电实现电平转换。图给出了MAX232的引脚。MAX232芯片引脚含义说明如下: VCC(16脚):正电源端,一般接+5V GND(15脚):地 VS+(2脚):VS+=2VCC-1.5V VS-(6脚):VS-=-2VCC-1.5V C2+、C2-(4、5脚):一般接1F的电解电容 C1+、C1-(1、3脚):一般接1F的电解电容输入输出引脚分两组,基本含义见表2。在实际使用时,若只需要一路SCI,可以使用起中的任何一组。组别TTL电平引脚方向典型接口RS-232电平引脚方向典型接口11112输入输出接MCU的

30、TxD接MCU的RxD1314输入输出连接到接口与其他设备通过RS-232相接2109输入输出接MCU的TxD接MCU的RxD87输入输出连接到接口与其他设备通过RS-232相接表2 MAX232芯片I/O引脚分类与基本接法2.6.3 串口通信的主要功能接收时,把外部单线输入的数据变成一个字节的并行数据送入MCU内部;发送时,把需要发送的一个字节的并行数据转为单线输出。图8给出了普遍意义上的SCI的编程模型。在比特寄存器中可设置比特率,在控制寄存器中设置通信格式、是否效验、是否中断等。SCI数据寄存器既做接收数据寄存器,也可做发送数据寄存器,这并不冲突,因为发送与接收的实际工作是通过“发送移位寄存器”和“接收移位寄存器”完成。 图9为串口通信模块,该模块包括:单字节接收、多字节接收、单字节发送、多字节发送等子程序。 图9串口通信第三章 系统软

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1