单片机原理与应用数字电压表课程设计.doc

上传人:laozhun 文档编号:4147225 上传时间:2023-04-07 格式:DOC 页数:29 大小:7.21MB
返回 下载 相关 举报
单片机原理与应用数字电压表课程设计.doc_第1页
第1页 / 共29页
单片机原理与应用数字电压表课程设计.doc_第2页
第2页 / 共29页
单片机原理与应用数字电压表课程设计.doc_第3页
第3页 / 共29页
单片机原理与应用数字电压表课程设计.doc_第4页
第4页 / 共29页
单片机原理与应用数字电压表课程设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《单片机原理与应用数字电压表课程设计.doc》由会员分享,可在线阅读,更多相关《单片机原理与应用数字电压表课程设计.doc(29页珍藏版)》请在三一办公上搜索。

1、等级:湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 数字电压表 专 业 自动化 班 级 1191 学 号 姓 名 指导教师 李晓秀 王迎旭 2013年 12月 13日 湖南工程学院课 程 设 计 任 务 书 课程名称 单片机原理与应用 课 题 数字电压表设计 专业班级 学生姓名 学 号 指导老师 李晓秀 王迎旭 审 批 任务书下达日期 2013年 12月 1日任务完成日期 2013年 12月 13日设计内容与设计要求 设计内容:本课题要求以MCS-51系列单片机为核心,设计一个简易数字电压表对模拟信号进行检测,能将所测量的电压在LED显示器上显示,并具有方便的键盘操作功能。设

2、计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要的参数计算与元器件选择; 4)完成应用程序设计; 5)应用程序的调试。主 要 设 计 条 件1.PC机、单片机编辑及调试软件;2.单片机开发板;3.串行A/D芯片。说 明 书 格 式1. 课程设计任务书2. 目录3. 总体方案确定4. 各单元硬件电路设计说明5. 软件设计与说明(包括流程图)6. 调试结果与必要的调试说明7. 使用说明8、总结9、参考文献附录附录A 系统原理图附录B 程序清单进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、总体方案星期三、

3、系统设计及调试星期四、系统设计及调试星期五、软件设计及调试第二周星期一、软件设计及调试星期二、软件设计及调试星期三、软件设计及调试星期四、写说明书星期五、上午:写说明书,整理资料 下午:交设计资料,答辩参 考 文 献1 王迎旭等.单片机原理及及应用M. 2版.机械工业出版社,2012. 2 高峰.单片微型计算机原理与接口技术M.电子工业出版社,2003. 3 王守中.51单片机开发入门与典型实例M.人民邮电出版社,20074 戴灿金.51单片机及其C语言程序设计开发实例M.清华大学出版社,2010.5 胡汉才.单片机原理及其接口技术M.3版.清华大学出版社,2010.目 录第1章 系统总体方案

4、选择与设计11.1 系统设计要求11.2 系统设计思路11.3 系统设计方案1第2章 硬件电路设计32.1 I/O接口分配表32.2 时钟电路与复位电路32.3 按键控制电路42.4 LED显示电路42.5 AD电压采样电路5第3章 软件设计73.1 主函数设计73.2 定时中断模块设计83.3 按键处理模块设计9第4章 系统调试结果与操作说明10第5章 系统设计总结12致谢13参考文献14附录A 系统硬件电路设计原理图15附录B 程序清单16第1章 系统总体方案选择与设计1.1 系统设计要求 该系统要求简易数字电压表利用串行A/D转换器对05v范围内的信号进行检测,并能将所测量的电压在LED

5、显示器上显示(0.005.00),键盘操作有:启动、保持和复位功能。1.2 系统设计思路 根据系统设计要求,采用STC公司生产的STC89C52RC为核心控制芯片,该芯片使用经典的MCS-51内核,拥有灵巧的8 位CPU 和在系统可编程Flash,是一种低功耗、高性能CMOS8位微控制器,而且具有与AT89C51类似的控制方法,简单方便,易于控制。AD转换采用美国TI公司生产的多通道、低价格的CMOS 10位开关电容逐次A/D逼近模数转换器TLC1543CN实现,控制引脚与单片机的P2接口相连接。TLC1543CN是串行AD,具有输入通道多、性价比高、易于和单片机接口的特点,节省I/O口,而且

6、精度还比ADC0809高,可广泛应用于各种数据采集系统。由于只须显示采集的电压大小,所以电压显示采用4位一体的共阳极LED数码管,更加便于控制。共阳极LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P3端口产生。而外部键盘控制,由于该系统只涉及到开启,保持,复位三个功能,所用到的按键并不多,所以采用三个独立按键,与P1端口相连接,分别实现开启,保持,复位三个功能。1.3 系统设计方案 硬件电路设计由6个部分组成;A/D转换电路,STC89C52RC单片机系统,LED显示电路、时钟电路、复位电路以及AD采样电路。硬件电路设计框图如图1-1所示。STC89C52单片机时钟电路复位电路

7、LED显示电路独立按键控制电路AD采样电路 图1-1 硬件电路设计框图第2章 硬件电路设计2.1 I/O接口分配表该系统外围电路主要由STC89C52RC进行控制,由单片机的P0口并行输出,控制数码管段码的显示,由P3口其中4个引脚并行输出,控制数码管位显示;外部按键控制信号分别传送到P1.0,P1.2,P1.2;而串行AD模数转换器TLC1543CN的五个控制端口,分别由单片机P2端口控制。具体I/O接口分配如下表2-1。表2-1 I/O接口分配P0.0LED(A)P1.0按键OPENP0.1LED(B)P1.1按键HOLDP0.2LED(C)P1.2按键CLOSEP0.3LED(D)P2.

8、0TLC1543(SDO)P0.4LED(E)P2.1TLC1543(ADDR)P0.5LED(F)P2.2TLC1543(CS)P0.6LED(G)P2.3TLC1543(CLK)P0.7LED(DP)P2.4TLC1543(EOC)P3.0LED(W4)P3.1LED(W3)P3.5LED(W2)P3.6LED(W1)2.2 时钟电路与复位电路单片机各功能部件的运行是以时钟控制信号为基准的。所以,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机的稳定性,常用的时钟电路设计有内部时钟方式和外部时钟方式,本设计采用内部时钟方式。震荡频率是采用12MHZ的石英晶体,30pF的电容。具

9、体电路如图2-2。单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机恢复到初始化状态,该系统是采用的按键上电复位电路,采用22uF的电解电容其电路图如图2-3所示: 图2-2 时钟电路 图2-3 复位电路 2.3 按键控制电路该系统由于只需要实现开启、保持和复位三个功能,所以外部只需要三个按键,由于P1端口属于准双向数据端口,所以加上上拉电阻,而按键信号的接受,主要用到STC89C52RC的P1.0,P1.1和P1.2引脚,分别实现开启采样,保持采样和关闭采样。其电路如图2-4所示。图2-4 按键控制电路2.4 LED显示电路本系统采用4位一体化共阳

10、极LED数码管显示,共阳极LED数码的段码输入,由并行端口P0产生,由于P0端口为准双向端口,所以加上上拉电阻;位码输入,用并行端口P3端口产生,并由9015PNP三极管驱动。LED引脚排列如下图2-5所示。 图2-5 LED显示电路2.5 AD电压采样电路TLC1543为20脚DIP封装的CMOS 10位开关电容逐次A/D逼近模数转换器,引脚排列如图2-6所示。其中A0A10(19、11、12脚)为11个模拟输入端,REF+(14脚,通常为VCC)和REF-(13脚,通常为地)为基准电压正负端,CS(15脚)为片选端,在CS端的一个下降沿变化将复位内部计数器并控制和使能ADDRESS、I/O

11、 CLOCK(18脚)和DATA OUT(16脚)。ADDRESS(17脚)为串行数据输入端,是一个4位的串行地址用来选择下一个即将被转换的模拟输入或测试电压。DATA OUT 为A/D转换结束3态串行输出端,它与微处理器或外围的串行口通信,可对数据长度和格式灵活编程。I/O CLOCK为数据输入/输出提供同步时钟,系统时钟由片内产生。芯片内部有一个14通道多路选择器,可选择11个模拟输入通道或3个内部自测电压中的任意一个进行测试。片内设有采样-保持电路,在转换结束时,EOC(19脚)输出端变高表明转换完成。内部转换器具有高速(10S转换时间),高精度(10位分辨率,最大1LSB不可调整误差)

12、和低噪声的特点。 图2-6 TLC1543CN引脚图 该系统通过STC89C52RC单片机的P2端口的低五位,分别与TLC1543CN的五个控制引脚相连,并将基准电压设置为05V,所以REF+接5V电压,REF-接地,电路连接如图2-7所示。图2-7 AD采样电路第3章 软件设计 3.1 主函数设计 本系统选择C语言编程,利用Keil3软件编译程序,根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序、显示子程序和按键处理子程序,这四个程序模块构成了整个系统软件的主程序,而初始化子程序的主要工作是设置定时器的工作模式,初值预置,关中断和等待定时器打开等,当没有按键按下时,程序一直处于等

13、待状态,直到有按键按下,进入按键处理子程序,进行相应的处理,如图3-1所示。初始化参数初始化显示有键按下?调用显示函数按键扫描按键处理NY 开始 图3-1 主函数流程图 3.2 定时中断模块设计 根据系统设计要求,误差精度为精确到小数点后三位,可以设定AD采样电压的周期为1s,当按键OPEN按下时,定时器启动,定时时间到响应中断,重装初值,开始采样通道五的模拟电压,并进行AD转换,最终对一个周期内的采样电压进行处理,最终输出到LED显示,定时中断程序执行过程如图3-2所示。重装初值,启动AD给定模拟通道 开始AD转换转换完成?输出结果处理NY 返回 图3-2 定时中断模块流程图3.3 按键处理

14、模块设计 设定几个标志位,当按键1按下后,令TR1=1,启动定时器,开始进入定时中断子程序进行电压采样;当按键2按下后,令TR1=0,关闭定时器,LED一直显示关定时前的采样电压值;当按键3按下后,程序跳回到初始化显示,等待下一次启动采样电压,执行过程如图3-3所示。 开始按键1按键2按键3关闭定时器显示初始化启动定时器 返回 图3-3 按键处理模块流程图第4章 系统调试结果与操作说明按照系统设计要求,要求简易数字电压表用串行A/D转换器对05v范围内的信号进行检测,并能将所测量的电压在LED显示器上显示(0.005.00),键盘操作有:复位、停止、功能。第一步: 打开电源,系统初始化,如图4

15、-1。图4-1 系统初始化第二步: 按下键1,开启采样电压(2.622V),如图4-2。图4-2 采样电压第三步: 按下键2,保持采样电压(2.616V),如图4-3。图4-3 保持采样电压第四步: 按下键3,显示初始化,如图4-4。图4-4 显示初始化第五步: 逆时针调节电位器,电压增大(3.286V),如图4-5。图4-5 逆时针调节电位器,电压增大 第5章 系统设计总结本设计以STC89C52RC单片机为核心,体积小,编程相对简单,在电压采集方面,采用多路串行ADTLC1543CN,可以方便改造各种多路电压采集;应用LED数码管作为显示屏,亮度高,穿透性强,能耗低。整个系统操作简单明了,

16、测量结果精确到小数点后三位,测量精度达到99%以上,并且适合运用在测量低压场合。但因为水平有限,系统仍不够完善,具有一定局限性,在复杂环境,采集电压范围大的情况下不适合使用该系统。因为各方面的原因,本系统的硬件电路还存在某些缺陷,如键盘的接触不良,LED显示亮度不高,后两位消影不明显等。致 谢经过一段时间的努力,单片机课程设计简易数字电压表基本完成。但设计中的不足之处仍然存在。这次设计是我第一次从设计电路,再到用Proteus实现了仿真,再到用开发板进行调试,最后写项目报告,整个过程基本是独立思考,查询资料解决问题。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计更加深了对

17、Proteus和Keil3软件的使用,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了STC89C52RC单片机芯片,与以往的单片机相比增加了许多新的功能,使其功能更为完善,应用领域也更为广泛。设计中还用到了模/数转换芯片TLC1543CN,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,C语言的理论知识学得不够扎实,对电路的仿真方面也不够熟练,不过值得自豪的是,我通

18、过自己的努力解决了很多问题,例如,采不到电压,是因为在焊接电路时,不小心将AD转换芯片的两个控制引脚焊在一起了,导致信号混乱,结果白绞尽脑汁了三天,还耽误了几个创新实验室的几位好友,是他们的帮助,让我最终发现了这个很严重的问题;其次就是第一个数码管总是不受控制,结果不断分析,从数码管,到三极管,再到杜邦线,最后到单片机的端口,结果发现,问题出现在P3.7管脚已经损坏。总之这次电路的设计,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路,以及软件设计方面能有所提升。最后,感谢两位老师的辛勤指导,感谢身边好友的帮助,感谢学校给予这次课程

19、设计的机会。参考文献1 王迎旭等.单片机原理及及应用M. 2版.机械工业出版社,2012. 2 高峰.单片微型计算机原理与接口技术M.电子工业出版社,2003. 3 王守中.51单片机开发入门与典型实例M.人民邮电出版社,20074 戴灿金.51单片机及其C语言程序设计开发实例M.清华大学出版社,2010.5 胡汉才.单片机原理及其接口技术M.3版.清华大学出版社,2010.6谢维成、杨加国.单片机原理与应用及C51程序设计实例.电子工业出版社,2006年3月附录A 系统硬件电路设计原理图 附录B 程序清单#include#include#define uchar unsigned char#

20、define uint unsigned intunsigned long ADzhi=0; unsigned long temp;uint count;uchar k=3,a=0,c=0; /定义按键标志变量uchar b4; /定义AD采样值存储数组uchar code led1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/定义带小数点显示代码uchar code led2=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0x82,0x80,0x90;/定义不带小数点显示代码sbit AD_eoc=P24;sb

21、it AD_clk=P23;sbit AD_add=P21;sbit AD_dat=P20;sbit AD_cs=P22;sbit OPEN=P10; /启动采样电压sbit HOLD=P11; /保持采样电压sbit CLOSE=P12; /终止采样电压/* 延时函数*/void delay(uint us)uint i;for(i=0;ius;i+) ;/* 采样电压值显示函数*/void Led_Disp(uint a)b0=a/1000;b1=a%1000/100;b2=a%100/10;b3=a%10;P3=0XDF;P0=led1b0; /显示个位delay(150);P3=0XE

22、F;P0=led2b1; /显示十分位delay(150);P3=0XFD;P0=led2b2; /显示百分位delay(150);P3=0XFE;P0=led2b3; /显示千分位delay(150);/* AD采样函数*/uint Read_ADvalue(uchar chn1)uchar i;uchar addr8; uint ADresult=0; addr8=chn1;addr8=4; /给定通道号AD_cs=0;for(i=0;i10;i+) /取模拟通道地址以及上次转换结果AD_clk=0;_nop_();addr8=1;AD_add=CY;AD_clk=1;_nop_();Le

23、d_Disp(ADzhi);_nop_();AD_clk=0;_nop_();while(!AD_eoc); /等待转化完成 _nop_();AD_cs=1;_nop_();_nop_();AD_cs=0;AD_eoc=1; for(i=0;i10;i+) /读转换结果,并启动下次转换AD_clk=0;_nop_();AD_clk=1;ADresult*=2;CY=AD_dat;ADresult|=(uint)CY;Led_Disp(ADzhi);while(!AD_eoc); _nop_();return(ADresult); /返回AD转换值/* 初始化显示函数*/void Init_Di

24、sp(void)P3=0xFE;P0=led10;/* 按键处理函数*/void Key_Prd(void)if(!OPEN) /开启电压采样delay(10);if(!OPEN)k=1;c=0;a=0;if(!CLOSE) /终止采样电压delay(10);if(!CLOSE)k=0;c=0;a=0;if(k=1&!c)/按下OPEN键,启动定时器1EA=1;ET1=1;TR1=1;if(!k&!c)P3=0XFE;P0=led10;if(!HOLD) /保持电压采样值delay(10);if(!HOLD)if(k=1)a=1;k=0;c=1;if(a) EA=0; /按下HOLD键后,关闭

25、定时器1ET1=0;TR1=0;Led_Disp(ADzhi);void Time1(void) interrupt 3TH1=(65536-50000)/256; /重装初值TL1=(65536-50000)%256;count+;if(count=20) /设定周期为1scount=0; AD_eoc=1;AD_cs=1; /启动一个I/O周期 temp=Read_ADvalue(5);ADzhi=temp*5*(0.9765625); /转换为工程实际值Led_Disp(ADzhi);/* 主函数*/void main(void) TMOD=0X01; /定时器1初始化TH1=(6553

26、6-50000)/256;TL1=(65536-50000)%256;EA=1;ET1=1;TR1=0;P2=0x00;P0=0Xff; /消影AD_eoc=1; AD_cs=1; /使CS为高,准备启动一个I/O周期Init_Disp(); /初始化显示 while(1)Key_Prd(); /判断按键并处理电气与信息学院课程设计评分表项 目评 价优良中及格差设计方案的合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)设计图纸质量(10%)答辩汇报的条理性和独特见解(10%)答辩中对所提问题的回答情况(10%)完成任务情况(10%)独立工作能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容; 此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号