




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中 原 工 学 院课 程 设 计 任 务 书姓 名.学 号.班 级.学 院电 子 信 息 学 院课 程单片机课程设计题 目 数据采集系统设计内容设计内容从键盘中任意选出6个键作为系统的功能键和LED数码显示一起组成一个单片机键盘显示系统(小的监控程序),并通过实验箱上的接口芯片实现相应的功能(注:这些硬件电路全在实验箱上,但自己要能设计)。要求设计相应的硬件电路,并画出实现题目要求功能的流程图,编写、调试相应的程序。编程要求:设定加一开机后显示班级号(4位),学号(2位)(复位状态),然后通过功能键设置参数,而后运行主程序。6个功能键为:确定运行减一换位设置参数步骤:复位状态下,按下“设定”键后6位显示的状态为:显示设定值显示参数行号888801四位设定值中的某一位小数点亮(或者整个值闪烁),表示对该位进行设置。用“加一”、“减一”键改变该位的值,用“换位”键改变设置位(由左到右),用“确定”键保存设定的值。本次设计要求能设置四行参数即可,每行参数在09999之间,当连续按“确定”键时,对应的行号(上图)从0104循环变化。按下“运行”键,执行不同的程序,共有三种要求,每位同学只需完成其中一种要求即可或自愿全做:1、 执行数据采集程序(参考实验箱相应的硬件电路,但要求不同),采集模拟量05V,显示对应的物理量在0000最大值之间变化。5V对应的显示值(最大值)是多少可以在设定时通过某行(四行参数中的一行)参数设置的数值选择确定。2、 执行数据采集程序,采集模拟量05V,显示对应的物理量在000500变化,当采集值大于设定值的10%时,声光报警(自定方式),设定值在200400之间任意确定,运行前通过键盘给定,采集值恢复正常时,报警自动解除。3、 执行温度采集程序,显示温度值,当温度大于设定值(2535之间)时,让直流电机转动,温度越高,转速越快,转速不做具体要求,只要能用肉眼看出变化即可。温度设定值通过键盘给定。时 间 进 度课程设计要求在1.5周内做完主要参考资料1 杨学昭.单片机原理、接口技术及应用.西安:现电子科技大学出版,20092 侯玉宝.基于Protues的51系列单片机设计与仿真,北京:电子工业出版社,20083 聂典,丁伟.基于Multisim10的51单片机仿真实战教程.北京:电子工业出版社.20104 郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略.北京:电子工业出版社,200923目录目录3一、51单片机简介4二、A/D转换器芯片ADC0809简介7三、硬件电路设计10四、软件设计11五、软硬件的调试12六、硬件实际调试及操作说明14七、课设心得体会15附录一16附录二17一、51单片机简介51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。当前常用的51系列单片机主要产品有:*Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;*ATMEL的:89C51、89C52、89C2051等;*Philips、华邦、Dallas、Siemens(Infineon)等公司的许多产品国产宏晶STC单片机以其低功耗、廉价、稳定性能,占据着国内51单片机较大市场。 8位CPU4kbytes程序存储器(ROM) (52为8K)128bytes的数据存储器(RAM) (52有256bytes的RAM)32条I/O口线111条指令,大部分为单字节指令21个专用寄存器2个可编程定时/计数器5个中断源,2个优先级(52有6个)一个全双工串行通信口外部数据存储器寻址空间为64kB外部程序存储器寻址空间为64kB逻辑操作位寻址功能双列直插40PinDIP封装单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。二、A/D转换器芯片ADC0809简介8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100us左右ADC0809的内部结构ADC0809的内部逻辑结构如下图所示。 图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可直接与系统数据总线相连,下表为通道选择表。CBA被选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7接口电路电路图三、硬件电路设计本次的课程设计的所需的设备是:伟福系列单片机仿真的试箱,PC机。在搭建硬件电路时是以试验箱为设计平台,将相应的芯片端口以、信号采集端口以及必要的端口用导线正确连接即可。根据课题要求当连续按“确定”键时,对应的行号从0104循环变化。按下“运行”键,执行不同的程序,共有三种要求,我选择要求1:执行数据采集程序(参考实验箱相应的硬件电路,但要求不同),采集模拟量05V,显示对应的物理量在0000最大值之间变化。5V对应的显示值(最大值)是多少可以在设定时通过某行(四行参数中的一行)参数设置的数值选择确定。具体如下:(1)CS0809芯片的片选端口接在CS0上,数码管显示口接在CS1上面,电位器的输出口接在CS0809 的IN0通道上。所选用的按键为试验箱上面4*6按键中最下面的六个按键。其功能从左至右一次是:“设定”键、“加一”键、“减一”键、“换位”键、“确定”键、“运行”键。(2)此次程序的编写是用Kiel uVision4软件进行编写的,利用的是C语言,然后通过伟福的仿真器下载到伟福试验箱上进行仿真调试的。硬件电路图见附录一四、软件设计软件流程图软件代码见附录二五、软硬件的调试1、硬件连接要求:根据硬件设计要求,以及相应的硬件电路图(见附录电路原理图),连接好硬件电路(即相应的实验箱上的导线连接)。同时检查实验箱所需各电路模块都是正常工作。2、软件程序调试编译: 根据所画的流程图,进行编写系统的程序(此次用c语言)。利用KeiluVision4软件进行编写程序,在进行编写结束后,对其进行编译来查找所编写程序中的语法的错误,并将其一一改正,直到最后出现 0 Error(s),0 Warning(s).方可说明程序在语法上是正确的。3、仿真电路的绘制: 根据伟福公司给出的实验箱硬件电路原理图,利用Protues软件绘制仿真电路图。因为Protues的仿真元件库的CS0809的元件无法仿真,所以在绘制仿真电路图时用的是ADC0808来代替的,经过查找资料显示是完全可以代替的,而且实际已经证明代替之后实验结果正常无误。4、电脑仿真: 利用keil和Protues关联,将keil生成的HEX文件导入Protues中对所编写的程序进行功能验证。其运行结果如下:(1)开机显示:(2)按多次确定键:(3)按下设置键和加一键:(4)按下运行键执行AD转换进行数据采集六、硬件实际调试及操作说明1、程序下载调试: (1)首先按照硬件设计要求的说明将伟福实验箱上所需要的相应的导线进行连接。确保连接无误(2)将在电脑上仿真过的程序用伟福集成调试软件(WAVE6000集成调试软件)进行编译调试。(如出现问题及时在上面进行改正,直到编译无错误出现为止) (3)在(2)完成后,点击运行(软件自动将编译好的程序下载到实验箱上面)数码管会出现相应的相应。2、操作说明:编写程序时所选用的按键为试验箱上面4*6按键中最下面的六个按键。其功能从左至右一次是:“设定”键、“加一”键、“减一”键、“换位”键、“确定”键、“运行”键。(1)、在程序下载到实验箱上后,六个八段会显示(2) 、在按下设定键时:前四位数码管是显示8888,后两位显示01,同时第一位数码管会进行闪烁。(3)、此时按下加一或者减一键闪烁的数码管数值将发生相应的增减。按下换位键右边的数码管将进行闪烁,此时可以对其进行操作(加减运算)。(4)、按下确定键时,数码管停止闪烁,同时会将调整好的数值进行保存。此数值就是在下面执行运行键后。AD转换能显示的最大值。(5)、按下运行键,调节滑动变阻器,数码管上面的数字会及时发生相应的变化。从而达到数据采集的要求。七、课设心得体会通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我熟悉了伟福实验箱,了解了编程方法,以及如何提高自己的编程速度,掌握了单片机编程的方法和技术,通过查询资料,也了解了ADC0809的原理等等。我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 附录一附录二#include#define uchar unsigned char#define uint unsigned int/*端口定义*/xdata uchar OUT_SEG _at_ 0x8004;xdata uchar OUT_BIT _at_ 0x8002;xdata uchar ADC0809 _at_ 0x9000;#define k_seting 0xfe#define k_inc 0xfd#define k_dec 0xfb#define k_shift 0xf7#define k_ok 0xef#define k_run 0xdf#define f_row1 1#define f_row2 2#define f_row3 3#define f_row4 4/*全局变量定义*/uchar led_buf6 = 16,17,0,3,0,2;/显示值缓存uchar seg_buf6 = 0,0,0,0,0,0;/段码值缓存uchar v_bit6 = 0x20,0x10,0x08,0x04,0x02,0x01;/位码缓存/*段码(共阴极)*/uchar v_seg19 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, /0-7 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, /8-150x52,0x64,0x00 ;/自定义1,自定义2,灭uchar row1_buf6 = 8,8,8,8,0,1;/第1行显示值缓存uchar row2_buf6 = 0,0,0,0,0,2;/第2行显示值缓存uchar row3_buf6 = 0,0,0,0,0,3;/第3行显示值缓存uchar row4_buf6 = 0,0,0,0,0,4;/第4行显示值缓存uchar flag_key=0, flag_row=f_row4, flag_shift=0 ;uchar k_AD;/AD值放大倍数uint v_AD=0 ;/读取的AD值uint max_AD ;/AD的设定最大值/*延时*/void delay(uchar ms) uchar i,j; for(i=0;ims;i+) for(j=0;j段码值缓存 */void value2seg(uchar v_buf6) uchar i; for(i=0;i6;i+) seg_bufi=v_seg v_bufi ;/*数码管显示*/void display_led()uchar i;for(i=0;i6;i+)OUT_BIT=0x00;OUT_SEG=seg_bufi;OUT_BIT=v_biti;delay(1);/*设置*/void keyscan() if( P1 != 0XFF ) /有键按下 delay(5); if( P1 != 0XFF ) flag_key=0; switch(P1) case k_seting :/*设定键*/ if( +flag_row = 5 ) flag_row = f_row1; if( flag_row = f_row1 ) value2seg(row1_buf); else if( flag_row = f_row2 ) value2seg(row2_buf); else if( flag_row = f_row3 ) value2seg(row3_buf); else value2seg(row4_buf); seg_bufflag_shift|=0x80; /点亮设定位的小数点 break; case k_inc :/*加号键*/ if( flag_row = f_row1 ) row1_bufflag_shift=(row1_bufflag_shift+1)%10 ; value2seg(row1_buf); else if( flag_row = f_row2 ) row2_bufflag_shift=(row2_bufflag_shift+1)%10 ; value2seg(row2_buf); else if( flag_row = f_row3 ) row3_bufflag_shift=(row3_bufflag_shift+1)%10 ; value2seg(row3_buf); else row4_bufflag_shift=(row4_bufflag_shift+1)%10 ; value2seg(row4_buf); seg_bufflag_shift|=0x80; /点亮设定位的小数点 break; case k_dec :/*减号键*/ if( flag_row = f_row1 ) if( -row1_bufflag_shift = 255 ) row1_bufflag_shift = 9; value2seg(row1_buf); else if( flag_row = f_row2 ) if( -row2_bufflag_shift = 255 ) row2_bufflag_shift = 9; value2seg(row2_buf); else if( flag_row = f_row3 ) if( -row3_bufflag_shift = 255 ) row3_bufflag_shift = 9; value2seg(row3_buf); else if( -row4_bufflag_shift = 255 ) row4_bufflag_shift = 9; value2seg(row4_buf); seg_bufflag_shift|=0x80; /点亮设定位的小数点 break; case k_shif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化遗产数字化保护与文化遗产数字化保护技术发展趋势预测报告
- 2025年工业互联网平台联邦学习隐私保护技术优化方案深度解析报告
- 中班科学教案《颜色变变变》反思
- 校长在近视防控宣传教育月活动上讲话:科学防控近视共建光明校园
- 幽门螺杆菌课件教学
- 2025年江苏省安全员A证考试试题题库
- 2025年腰部达人商业化发展研究分析报告:流量中场商业新秀
- 输电线路运维课件
- 尾气环境采样员培训课件
- 输液泵的应用课件
- 人教版四年级数学上册《课堂作业设计》全套
- TTT系列课程-结构化思考力
- Cpk 计算标准模板
- 封起DE日子博文 2006
- 锂离子电池生产安全讲座
- 画魂空手套无删减全文下载
- 主题教育苏轼生平介绍人物经历等PPT模板(内容完整)
- 眼科学-眼科检查(课件)
- 产品碳足迹课件
- 部编人教版六年级道德与法治上册全册教学课件
- 美国地图高清中文版
评论
0/150
提交评论