电信学院2009级信息工程专业《单片机原理及应用》
课程设计指导书
北方民族大学电气信息工程学院
二○一二年二月
《单片机原理及应用》课程设计指导书
《单片机原理及应用》课程设计指导书
一、课程设计的目的和作用
课程设计是培养和锻炼在校学生综合应用所学理论知识解决实际问题能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。
《单片机原理及应用》是一门应用性、实践性较强的课程,忽视了实践环节,学生不可能学好单片机。通过设计,使学生学会系统地综合运用所学单片机等课程的知识和技能解决单片机应用开发实际问题的本领,并对单片机原理、微机接口技术等课程的认识和理解提高到一个新的水平。单片机具有软件和硬件紧密结合兼顾,又贴近实际应用的特点,故当前理工科院校许多专业的教学计划都安排了单片机课程设计。许多专业的毕业设计中单片机课题占相当的比重。
通过设计实践,培养学生查阅专业资料、工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。
通过设计,不但要培养和提高学生解决工程具体问题、动脑动手的技术工作能力、而且应建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立事实求是和严肃认真的科学工作态度。 单片机课程设计是《单片机原理及应用》课程的最后一个教学环节。其具体目的是:
l. 培养和训练学生正确地应用单片机解决工业控制。工业检测领域具体问题的能力。
通过设计过程,熟悉单片机应用系统的软件、硬件设计的工作方法、工作内容和步骤。初步了解了通用单片机应用系统开发的一般设计方法、设计步骤,使学生受到电子工程师在开发和研制电子产品方面的初步训练。
2. 对学生进行电子工程师的基本技能训练。
如系统方案论证设计、编程、软件硬件调试、查阅资料、绘图、编写说明书等,使学生理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
3. 熟练掌握单片机接口电路的设计方法 4. 熟练掌握单片机汇编语言程序设计 5. 熟悉现有单片机开发工具的使用
二、设计题目与任务
设计题目见附件一。
设计题目的拟定原则:结合单片机课堂理论教学的内容,针对课程设计的目的,在规定的时间内,选择符合教学、符合学生水平、符合实验室条件的课题。除典型成熟题目外,还可选择对科研项目抽象和简化后的真实课题,以提高学生的学习兴趣和积极性。
以MCS-51单片机为控制器,常用8位机接口芯片及存储器为外围扩展器件,软、硬件结合,实现给定的设计任务。最终以实验调试、说明书和答辩三种形式,通过设计考核和成绩评定。设计题目(见附件一,共16个)每2-4人一组。通过2天的集中调试时间,在老师的指导下由学生独立完成规定的设计任务。
三、设计指导及要求
单片机课程设计是在教师指导下由学生独立完成。教师的主导作用主要在于指明设计思路,启发学生
第 1 页 共 20 页
《单片机原理及应用》课程设计指导书
独立思考,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师查资料、给数据、定答案。同组同学要发扬团队协作精神,创新精神,积极主动的提出问题、解决问题,使大家在设计中学习和友谊双丰收。
本次课程设计是学生第一次较全面的设计训练,它对以后的毕业设计、专业设计工作打下良好基础具有重要意义。学生在设计的全过程中必须认真,刻苦钻研,一丝不苟,精益求精,才能在设计思想、方法和技能各方面都获得较好的锻炼和提高。
设计中要正确处理参考己有资料与创新的关系。设计是一项复杂、细致的劳动,任何设计都不可能是由设计者脱离前人长期经验积累的资料而凭空想象出来。熟识和利用已有的资料,既可避免许多重复工作,加快设计进程,同时也是提高设计质量的重要保证。善于掌握和使用各种资料,如参考和分析现有的软、硬件结构方案并合理地消化引用,合理选用已有的经验设计数据,也是体现设计工作能力的重要方面。然而任何新的设计任务总是有其特定的设计需求和具体工作条件,因而又不能盲目地、机械地抄袭资料,而必须具体分析,创造性地进行设计,使设计质量和设计能力都获得提高。
指导教师由系(教研室)指定,指导教师应认真负责指导学生完成设计。
四、进度安排(共2周)
本次课程设计采用分散与集中的方式进行,学生利用业余时间完成设计工作。在第19周进行集中调试、编写设计报告和答辩工作,具体安排如下:
l. 设计题目在第2周(2012年2月27日-3月4日)下达,学生利用课余时间完成熟悉设计题目,查阅相关资料,总体方案,软、硬件功能划分,硬件接口原理图设计,软件框图及程序设计等工作,指导教师利用学生业余时间进行辅导。
2. 集中进行软硬件仿真调试 2天 3. 编写课程设计报告 2天 4. 设计答辩及成绩评定 1天
五、设计说明书内容及要求
单片机课程设计的主要环节有:方案确定,软、硬件设计,仿真调试,编写课程设计报告,答辩通过结束设计。
学生应在老师的指导下制定好自己各环节的详细设计进程计划,注意掌握进度,按预定计划保质保量循序完成设计任务。设计中可边设计,边绘图,边修改,软件设计与硬件设计可交替进行,调试和方案修改相结合,这与循序完成设计任务并不矛盾,学生应从第一次设计开始就逐步掌握正确设计方法。
整个设计过程中要注意随时纪录和整理阶段性设计结果,并在设计草稿本上记下重要的论据、结果、参考资料的来源出处以及需要进一步探讨的问题,使设计的各方面都做到有理、有据,这对设计的正常进行、阶段自我检查和编写课程设计报告都是必要的。
课程设计报告主要包括以下内容(不少于10页,必须手写完成): 1. 封面 2. 目录 3. 设计题目
4. 总体方案设计分析、讨论
第 2 页 共 20 页
《单片机原理及应用》课程设计指导书
5. 硬件原理图设计(用电子CAD软件设计最好)
6. 软件框图及程序设计(汇编语言源程序必须加注释说明) 7. 设计总结和心得体会
六、考核方法
设计成绩根据平时考勤、阶段性进度检查、质疑、课程设计报告验收和设计答辩多个环节综合评定。课程设计成绩以百分制计,按照课程设计报告成绩占70%,答辩成绩占20%,平时成绩占10%来核算。学生不得无故请假或缺勤,缺勤累计达三分之一者,指导教师可直接定为设计成绩不及格。
七、参考资料推荐
1. 《单片机课程设计指导书》 2. 各种《单片机原理与应用》教材 3. 《微机原理及接口》教材 4. 集成电路手册 5. 仿真器及实验指导书
八、附件
附件一:课程设计题目
附件二:课程设计使用芯片管脚图 附件三:单片机应用系统开发过程 附件四:指导教师名单及时间安排
第 3 页 共 20 页
《单片机原理及应用》课程设计指导书
附件一:
《单片机原理与应用》课程设计题目
[注:在以下扩展芯片中地址分配为,8255控制口:0FF2BH,A口:0FF28H,B口:0FF29H,C口:0FF2AH;8155控制口:0FF20H,A口(字位口):0FF21H,B口(字形口):0FF22H,C口:0FF23H(键扫口);其余扩展的芯片除存储器外,均使用由74LS138对8000H-0FFFFH之间的地址进行译码产生的译码信号。参与译码的地址线为A15、A14、A13和A12,此区间地址分为8段,每段地址长度1000H(最后一段地址可用范围为F000H-FEFFH) ]
1. 函数波形发生器
要求:利用D/A芯片产生峰峰值为5V的锯齿波和三角波。
控制功能:使用2个拨动开关(K1、K2)进行功能切换。当K1接高电平时,输出波形的频率为1Hz,否则为0.5Hz。当K2接高电平时,输出为三角波,否则输出为锯齿波。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、DAC0832、LM324、拨动开关K1、K2等。
输出波形的验证方法:使用示波器测量输出波形。
2. 255秒定时器
要求:利用A/D对电位器滑动端的输出电压采样,其转换后得到的数字量做为定时器的设定值(0-0FFH秒)。利用外部启动脉冲(实验系统上的单脉冲发生器)启动定时器开始做减法计数(每隔一秒钟,设定值减1),当设定值减到0时,单片机驱动喇叭发出1kHz的报警声。调整定时设定值和定时过程中的时间利用单片机串行口工作在方式0下,驱动两片74LS164在2位LED数码管上显示。
控制功能:通过旋动电位器W1来调整输入给A/D的采样电压值,8031通过对A/D采样得到数字量做为定时器的定时初值。通过拨动开关K1来设定定时器的工作状态,当K1接高电平时,定时器处于定时状态,若接收到一个触发脉冲,则定时器开始倒计时。计时到0,单片机通过P1.1驱动喇叭发出30秒钟的1kHz的报警声,然后将上一次的定时值重新装入,等待下一次启动定时;当K1接低电平时,定时器处于定时初值设定状态,这时旋动电位器W1可以调整定时初值,该值同步在2块LED数码管上显示。注意:A/D的时钟信号利用4MHz的晶振产生的脉冲信号经过74LS393八分频后得到。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、ADC0809、2764、4MHz晶振、74LS393、74LS164、74LS04、LED数码管LC5011-11、三极管9012、喇叭、电位器W1等。
结果的验证:设定需要定时的时间,启动定时器。看定时器运行是否符合题目要求,并分析误差产生原因。
3. 比例电压变换器
要求:利用A/D和D/A实现将A/D的输入电压反向变换的功能,即A/D的输入电压从0-5V变化时,D/A的输出电压相应的从+5V-0V变化。
第 4 页 共 20 页
《单片机原理及应用》课程设计指导书
控制功能:将仿真试验箱上的电位器W1产生0-5V电压输入到ADC0809的通道0。利用74LS393将4MHz晶振产生的脉冲信号八分频后做为ADC0809的时钟信号。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、4MHz晶振、74LS04、74LS393、ADC0809、DAC0832、LM324、电位器W1等。
结果验证:①用示波器检查ADC0809的时钟频率是否为500KHz。②旋动电位器W1产生0-5V的电压,用数字万用表测量D/A的输出是否从5→0V变化。③使W1的输出电压从0V开始,以0.5V为增量,测量D/A的输出电压并记录。试分析误差产生的原因。
4. 模拟电压显示器
要求:利用电位器W1产生的0-5V电压,依次点亮L1-L12共十二个LED。
控制功能:将仿真试验箱上的电位器W1产生0-5V电压输入到ADC0809的IN0。利用74LS393将4MHz晶振产生的脉冲信号八分频后做为ADC0809的时钟信号。利用A/D对W1输出的电压进行采样,根据采样值点亮相应的LED。要求A/D的输入电压每增加5/12 V(417mV),则点亮一个LED。当A/D的输入电压>4.58V时,12个LED全部点亮。当A/D的输入电压<0.417V时,12个LED全部熄灭。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、4MHz晶振、74LS04、74LS393、ADC0809、74LS240、发光二极管L1-L12等。
结果验证:①用示波器检查ADC0809的时钟频率是否为500KHz。②旋动电位器W1产生0-5V的电压,看12个发光二极管L1-L12是否依次点亮。③旋动W1,分别产生0.5V、1.0V、2.5V、3.5V、4.9V的输出电压,看点亮的LED个数是否符合要求,并分析该电路的显示误差。
5. 脉冲计数器
要求:利用8031对仿真实验系统的单脉冲发生器发出的脉冲个数进行加/减计数,计数结果利用2位LED数码管(使用74LS164进行驱动,该芯片接收单片机串行口工作在方式0发来的数据)进行显示。
控制功能:利用拨动开关K1来选择计数的方式。K1接高电平时,进行加法计数。K1接低电平时,进行减法计数。利用拨动开关K2控制计数器的计数。当K2接高电平时,计数器停止计数,同时保持当时的计数结果。当K2接低电平时,计数器处于连续计数工作状态。利用拨动开关K3来控制计数器的复位。当K3接高电平时,计数器处于复位状态,同时将计数结果清零。
使用的主要元器件:8031、6MHz的晶振、74LS373、2764、LED数码管LC5011-11、仿真试验系统的单脉冲发生器等。
结果的验证:按动单脉冲发生器的按钮AN,观察2位数码管的显示是否正确。搬动K1、K2和K3,查看其功能是否正确。分析该计数器的最高工作频率是多少?若要对不同幅值的非方波进行计数,电路应如何改进?
6. 水塔水位控制器
要求:通过对水位下限开关K1和水位上限开关K2的检测,控制抽水电机的运转,实现水塔水位控制在水位上下限之间的目的。
第 5 页 共 20 页
《单片机原理及应用》课程设计指导书
控制功能:利用拨动开关K1和K2模拟水位的上下限检测开关。利用继电器控制绿色LED的亮与灭代表抽水电机的启动与停止。系统首次运行时,由于水塔内没有水,因此K1和K2均发出低电平,电机运转(表示电机通电的绿色LED点亮)。当水位达到水位下限(K1=1)时,电机继续运转,直到水位上升到水位上限(K2=1,K1=1),电机停止运转(表示电机通电的绿色LED熄灭)。这时,单片机点亮黄色的LED,表示系统处于正常状态。随着水的使用,水位逐渐下降,当水位下降到水位下限(K1=0,K2=0)时,系统启动抽水电机向水塔内加水,直到水位达到水位上限(K2=1,K1=1)。在抽水电机向水塔内加水的过程中,若电机启动60秒水位还未达到水位上限,说明电机出现故障,系统应立即关闭抽水电机,同时使红色LED以0.5秒的间隔进行闪动,表示系统出现故障。当故障排除后,人工搬动拨动开关K3发出一正脉冲,启动系统继续运行。注意:K1和K2状态的采样,采用20mS定时中断来查询。
使用的主要元器件:8031、6MHz的晶振、74LS373、2764、7407、74LS240、发光二极管L1-L3、拨动开关K1-K3、继电器等。
结果的验证:按照功能要求搬动拨动开关K1-K3,模仿实际运行中的情况,查看系统是否按照要求动作。同时分析系统中不完善的地方,提出改进建议。
7. 占空比可调的方波发生器
要求:通过电位器W1产生的0-5V电压,控制P1.0和P1.1产生互为反相的占空比可调的方波(其中,P1.0为正向输出)。W1的输出电压为0V时,P1.0输出方波占空比为0(P1.1输出方波占空比为100%);W1的输出电压为5V时,P1.0输出方波的占空比为100%(P1.1输出方波占空比为0)。
控制功能:通过拨动开关K1控制输出信号的频率。K1=0时,输出信号频率为50Hz,否则为100Hz。W1产生的输出电压接入ADC0809的IN0进行采样,根据采样结果输出相应占空比的方波。注意:利用74LS393对4MHz晶振产生的脉冲信号进行八分频做为A/D的时钟信号。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、4MHz晶振、74LS04、74LS393、拨动开关K1、电位器W1等。
结果的验证:①用示波器观察ADC0809的时钟信号频率是否为500KHz。②用双踪示波器同时观察P1.0和P1.1的输出信号频率是否准确,同时旋动W1查看输出波形的占空比是否随之变化。③使W1的输出电压为1.0V,查看P1.0的输出方波占空比是否为20%。④搬动K1,重复②③步。对于输出波形的问题进行分析并提出改进意见。
8. 双机通过串行接口互传数据
要求:利用单片机的串行接口将拨动开关K1-K8产生的数据传送到另外一个单片机,接收方将接收的数据用发光二极管L1-L8显示出来。该实验要求使用2台仿真试验系统进行调试。
控制功能:通讯波特率设定为9600B、8个数据位、无奇偶校验位、1个停止位。发送方利用钮子开关K1-K8模拟产生1个字节的数据(钮子开关接高电平表示“1”)并通过串行接口TxD发送出去。接收方从RxD接收到数据后送给发光二极管L1-L8显示出来(LED亮表示“1”)。发送方每2秒发送一次数据,接收方收到数据后立即显示出来。接收采用中断方式进行,双方编写的程序中都必须包含接收和发送的功能,
第 6 页 共 20 页
《单片机原理及应用》课程设计指导书
以便双方数据的互传。
使用的主要元器件:8031、6MHz的晶振、74LS373、2764、74LS240、拨动开关K1-K8、发光二极管L1-L8等。
结果的验证:将一方的TxD信号与另一方的RxD连接、一方的RxD与另一方的TxD相连,双方的信号地线相连。一方拨动钮子开关K1-K8组合出一组数据,等待2秒后,查看对方显示接收的数据是否正确。双方互换,查看对方的接收和发送功能是否正常。将一方的通讯波特率改为4800B,看一看会发生什么情况,并分析产生的原因。
9. 花样流水灯
要求:在单片机控制下,当拨动开关K1发出低电平(K1=0)时,发光二极管L1-L12从两头向中间逐个点亮(时间间隔由电位器W来控制),当L1-L12全部点亮后延时2秒钟全部熄灭,如此往复循环。当拨动开关K1发出高电平(K1=1)时,L6、L7点亮,然后点亮的灯向两边扩展,直到L1-L12全部点亮后延时2秒钟全部熄灭,如此往复循环。
控制功能:利用8031的P1口和P3.0-P3.3及74LS240控制L1-L12,单片机内部定时器产生定时中断用来控制整个亮灯的时序。利用电位器W产生的0-5V电压经A/D采样后的数据大小来决定逐个点亮LED灯的时间间隔。A/D输入0V表示时间间隔为10mS,输入5V表示时间间隔为1280mS。利用74LS393对4MHz晶振产生的脉冲信号进行八分频供A/D做为其时钟信号。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、74LS240、ADC0809、4MHz晶振、74LS04、74LS393、拨动开关K1、发光二极管L1-L12、电位器W1等。
结果验证:运行程序后,搬动K1查看L1-L12的点亮是否符合要求,同时旋动电位器W1,查看发光二极管的点亮速度是否有变化并满足题目要求。思考是否可以利用查表的办法编写出各种花色的流水灯,这在实际工作中有何作用。
10. 模拟电压比较器
要求:利用A/D通道1设定需要比较的电压阈值,利用单片机串行口工作在方式0输出的数据驱动74LS164,进而驱动2块LED数码管以16进制数显示设定的电压值。A/D的通道0对输入电压进行采样。当输入电压值超过设定值时,8031的P1.0交替输出1kHz和500Hz的方波驱动喇叭发出“wu,wa”的警笛声。
控制功能:通过旋动电位器W1来实时调整比较电压的阈值;旋动电位器W2改变输入电压的值,当输入电压超过设定的阈值(A/D通道1的输入电压值)时,8031在P1.0上交替输出1kHz和500Hz的方波信号(即1kHz信号输出0.5秒,500Hz信号输出0.5秒),驱动喇叭发出警笛声。注意:利用74LS393对4MHz晶振产生的脉冲信号进行八分频做为A/D的时钟信号。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、ADC0809、4MHz晶振、74LS04、74LS393、74LS164、LED数码管LC5011-11、三极管9012、喇叭、电位器W1、W2等。
结果验证:运行程序后,分别旋动W1和W2,查看程序是否符合题意。
第 7 页 共 20 页
《单片机原理及应用》课程设计指导书
11. 利用PWM信号实现直流小电机的调速
要求:拨动开关K1-K8输入8位数字量(00-0FFH)来控制8031的P3.0输出方波的的占空比(数字量0对应占空比为0%,数字量0FFH对应占空比100%),用此方波来驱动直流小电机,通过改变数字量的大小来调整小电机的转速快与慢。
控制功能:8031对K1-K8的状态连续采样,根据读入的K1-K8的状态确定其代表的数字量,进而利用该数字量控制输出方波的占空比,利用该方波通过三极管驱动直流小电机,实现小电机的调速。注意:要求输出的方波频率为100Hz。
使用的主要元器件:8031、6MHz的晶振、74LS373、2764、拨动开关K1-K8、三极管8050、三极管8550等。
结果验证:运行程序后,拨动K1-K8,查看小电机的转速是否发生改变。
12. 调频信号发生器
要求:通过对电位器W1滑动端输出的电压进行A/D采样,利用采样值控制8031的P1.0输出方波信号的频率,并用该信号驱动喇叭发出频率可变的声音。
控制功能:当输入的模拟电压为5V时,输出方波的频率为39.0625Hz;当输入的模拟电压为0时,输出的方波频率为10kHz。输出方波周期与输入模拟电压的关系为T=(1+电压采样值)*100μS。A/D的时钟信号由4MHz的晶振经过74LS393八分频后供给。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、ADC0809、4MHz晶振、74LS04、74LS393、三极管9012、喇叭、电位器W1等。
结果验证:运行程序,旋动W1,看喇叭发出的声音是否符合题意要求。
13. 频率计
要求:利用8031的T0计数器实现对方波信号的频率测量,测量信号的频率<1MHz,幅度为0-5V,测量结果在6位LED数码管上显示出来。
控制功能:每隔5秒钟测量一次,测量闸门时间设定为0.5秒。闸门开启(这时允许T0计数)时发光二极管L1点亮,闸门关闭(测量结束,停止T0计数)时L1熄灭,同时在6位LED数码管上显示出测量结果(精确到Hz)。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、75452、8155、74LS240、74LS07、发光二极管L1、LED数码管LC5011-11等。
结果验证:运行测量程序,分别测量出仿真试验箱上T4-T7端子上信号的频率并记录。每个频率需要测量3次,分析测量误差的产生原因和闸门时间对于测量结果的影响,同时提出如何测量更高频率的方法。
14. 电子钟
要求:利用8031的计数器实现24小时制的数字式电子钟,利用6个LED数码管实时显示时间(格式为hh:mm:ss)。
控制功能:利用开关K1控制电子钟的工作方式(K1=1为正常工作方式,K1=0为时间调整方式),开
第 8 页 共 20 页
《单片机原理及应用》课程设计指导书
关K2用来选择调整小时/分钟(K2=1调整小时,K2=0调整分钟),通过对单脉冲发生器发出脉冲的计数实现小时和分钟的调整。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、75452、8155、74LS240、LED数码管LC5011-11、拨动开关K1和K2、单脉冲发生器等。
结果验证:运行程序,拨动K1、K2,并按动单脉冲发生器的微动开关,检查电子钟的显示时间是否可以调整,计时是否准确。
15. 数字电压表
要求:利用A/D通道0对输入的电压进行测量,测量结果在6个LED数码管显示(以毫伏为单位)。 控制功能:通过旋动电位器W1来输入待测得电压,在数码管上实时显示出被测电压的数值。要求利用74LS393对4MHz晶振产生的脉冲信号进行八分频做为A/D的时钟信号。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、ADC0809、8155、74LS240、75452、4MHz晶振、74LS04、74LS393、LED数码管LC5011-11、电位器W1等。
结果验证:运行程序后,旋动W1改变待测电压,利用数字万用表测量待测电压与LED数码管显示的电压值进行比较,分析误差产生原因。
16. 数字跑表
要求:利用8031的计数器实现数字跑表功能,利用6个LED数码管显示计时的时间,最大计时时间为59’59”99,计时分辨率0.01秒。
控制功能:利用开关K1控制电子钟的工作方式(K1=1为正常工作方式,K1=0为清零复位方式),通过利用单脉冲发生器发出脉冲的来启动或停止计时。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、2764、75452、8155、74LS240、LED数码管LC5011-11、拨动开关K1、单脉冲发生器等。
结果验证:运行程序,将拨动开关K1拨向下方(K1=0),看6个LED数码管是否显示全为0;将拨动开关K1拨向上方(K1=1),按动单脉冲发生的微动开关发出启动计时信号,看数码管上是否显示递加的计时时间;再按动单脉冲发生的微动开关发出停止计时信号,看数码管上显示的计时时间是否停止。通过与普通跑表的比较,验证计时是否准确。
17. 步进电机驱动器
要求:利用A/D对电位器滑动端的输出电压进行采样,其转换后得到的数字量做为步进电机行走的步数(0~255步)。利用外部启动脉冲(实验系统上的单脉冲发生器)启动步进电机开始运行(步进电机每走一步,设定值减1)。步进电机行走步数的设定和运行过程中的实时步数利用单片机串行口工作在方式0下,驱动两片74LS164在2位LED数码管上显示(16进制数)出来。步进电机运转时每隔50ms行走1步,采用四相四拍方式运行。
控制功能:通过拨动开关K1设定步进电机驱动器是处于参数设定状态,还是处于等待运行状态。当K1拨向上方(K1=1)时,表明步进电机驱动器处于等待运行状态,这时如果按动启动按钮(单脉冲发生
第 9 页 共 20 页
《单片机原理及应用》课程设计指导书
器),则步进电机按照设定的方式运转;当K1拨向下方(K1=0)时,通过旋动电位器W1来调整输入给A/D的采样电压值,8031通过对A/D采样得到数字量做为步进电机运行步数的设定值,设定值在两位数码管上显示(16进制数)出来;通过拨动开关K2来设定步进电机驱动器的工作状态。当K2拨向上方(K2=1)时,步进电机驱动器处于自动运行状态。这时若按动启动按钮(单脉冲发生器),则步进电机开始运转,每走一步数码管显示的设定步数减1。当设定步数减到0时,步进电机开始反方向运转,每走一步,数码管显示步数加1,直到显示步数与设定步数相等时步进电机停止运转;当K2拨向下方(K2=0)时,步进电机处于半自动运行状态。这时若按动启动按钮(单脉冲发生器),则步进电机开始运转,每走一步数码管显示的设定步数减1。当设定步数减到0时,步进电机停止运行。这时再按动启动按钮(单脉冲发生器),则步进电机反向运转,每走一步,数码管显示步数加1,直到显示步数与设定步数相等时步进电机停止运转。注意:ADC0809的时钟信号利用4MHz的晶振产生的脉冲信号经过74LS393八分频后得到。
使用的主要元器件:8031、6MHz的晶振、74LS373、74LS138、ADC0809、2764、4MHz晶振、74LS393、74LS164、74LS04、75452、LED数码管LC5011-11、电位器W1、拨动开关K1和K2、按钮开关、四相步进电机等。
结果的验证:设定步进电机需要运转步数,启动驱动器,检查驱动器运行是否符合题目要求。
第 10 页 共 20 页
《单片机原理及应用》课程设计指导书
附件二:
《单片机原理》课程设计使用芯片资料
第 11 页 共 20 页
《单片机原理及应用》课程设计指导书
第 12 页 共 20 页
《单片机原理及应用》课程设计指导书
第 13 页 共 20 页
《单片机原理及应用》课程设计指导书
第 14 页 共 20 页
《单片机原理及应用》课程设计指导书
+12VU1A12U1B576311-12VU1C1089LM324管脚功能图U1D1214134U4Data1A2B74LS164Q0Q1Q2Q3Q4Q5Q6Q774LS164Q0Q1Q2Q3Q4Q5Q6Q7345610111213764219105345610111213764219105CLKVCC8CLK9MRU31A2BU5LC5011-11abcdefgDPU6LC5011-11abcdefgDPGND38GNDGND388CLKVCCGND9MR74LS164驱动LED数码管电路第 15 页 共 20 页
《单片机原理及应用》课程设计指导书
8155控制数码管动态扫描和键盘扫描的参考电路
四相步进电机驱动参考电路
第 16 页 共 20 页
《单片机原理及应用》课程设计指导书
附件三:
单片机应用系统开发过程
单片机应用系统的研制过程从用户提出的任务开始,以芯片为基础进行设计,到最后完成一个实用系统,大致可分为以下几个阶段:
l. 确定任务
单片机应用系统的研制过程是以确定系统的功能和技术指标开始的。首先要细致分析、研究实际问题,明确各项任务和要求。从考虑系统的先进性、可靠性、可维护性以及成本、经济效益出发,拟定出合理可行的技术性能指标。
2. 总体设计
在对应用系统进行总体设计时,应根据应用系统提出的各项技术性能指标,拟定出性能/价格比最高的一套方案。首先,应依据任务的繁杂程度和技术指标要求选择机型。目前,常用单片机有MCS-51系列、PIC系列等。选定机型后,再选择系统中要用到的其它元器件,其中重要的是传感器的选择。传感器仍是目前检测系统中的一个难题,一个设计合理的检测系统往往可能因传感器件精度或使用条件等因素的限制而达不到应有的效果。
在总体方案设计过程中,必须对软件和硬件综合考虑。原则上,能够由软件来完成的任务,就尽可能用软件来实现,以降低硬件成本,简化硬件结构;同时,还要求大致规定各接口电路的地址、软件的结构和功能、上下位机的通信协议、程序的驻留区域及工作缓冲区等。总体设计方案一旦确定,系统的大致规模及软件的基本框架就确定了。
3. 硬件设计
硬件设计是指应用系统的电路设计,包括主机、控制电路、存储器、I/O接口、A/D和D/A转换电路等。硬件设计时,应考虑留有充分余量,电路设计力求正确无误,因为在系统调试中不易修改硬件结构。下面我们指出在设计MCS-51单片机应用系统硬件电路时注意的几个问题。 (1) 程序存储器
一般可选用容量较大的 EPROM芯片,如 2764(8KB)、27128(16KB)或27256(32KB)等。尽量避免用小容量的芯片组合扩充成大容量的存储器。程序存储器容量大些,则编制程序宽裕,而价格相差不会太多。选用带有FLASH的单片机芯片可以不用扩展程序存储器,降低系统成本。 (2)数据存储器和I/O接口
根据系统功能的要求,如果需要扩展外部RAM或I/O,那么RAM芯片可选用6116 (2KB)、6264(8KB)或62256(32KB),原则上也应尽量减少芯片数量,使译码电路简单。I/O接口芯片一般选用 8155(带有256KB静态RAM)或8255。这类芯片具有口线多、硬件逻辑简单等特点。若系统仅需要简单的输入或输出功能,则可用不可编程的TTL电路或CMOS电路。
A/D和 D/A电路芯片主要根据精度、速度和价格等来选用,同时还要考虑与系统的连接是否方便。
第 17 页 共 20 页
《单片机原理及应用》课程设计指导书
(3)地址译码电路
通常采用全译码、部分译码或线选法,应考虑充分利用存储空间和简化硬件逻辑等方面的问题。MCS-51系统有充分的存储空间,包括64KB程序存储器和64KB数据存储器所以在一般的控制应用系统中,主要是考虑简化硬件逻辑。当存储器和 I/O芯片较多时,可选用专用译码器74LS138或74LS139等。 (4)地址译码电路
MCS-51系列单片机的外部扩展功能很强,但 4个8位并行口的负载能力是有限的。P0口能驱动8个LSTTL电路,P1-P3口只能驱动4个LSTTL电路。在实际应用中,这些端口的负载不应超过总负载能力的70%,以保证留有一定的余量。如果满载,会降低系统的抗干扰能力。在外接负载较多的情况下,如果负载是MOS芯片,因负载消耗电流很小,影响不大。如果驱动较多的TTL电路,则应采用总线驱动电路,以提高端口的驱动能力和系统的抗干扰能力。
数据总线宜采用双向8路三态缓冲器74LS245作为总线驱动器;地址和控制总线可采用单向8路三态缓冲器74LS244作为单向总线驱动器。 (5)系统速度匹配
MCS-51系列单片机时钟频率可在2MHz-12MHz之间任选,在不影响系统技术性能的前提下,时钟频率选择低一些为好,这样可降低系统中对元器件工作速度的要求,从而提高系统的可靠性。 (6)抗干扰措施
单片机应用系统的工作环境往往都是具有多种干扰源的现场,为提高系统的可靠性,抗干扰措施在硬件电路设计中显得尤为重要。
根据干扰源引入的途径,抗干扰措施可以从下面两个方面考虑。
1)电源供电系统
为了克服电网以及来自本系统其他部件的干扰,可采用隔离变压器、交流稳压、线滤波器、稳压电路各级滤波等防干扰措施。
2)电路上的考虑
为了进一步提高系统的可靠性,在硬件电路设计时,应采取一系列防干扰措施:
a)大规模IC芯片电源供电端Vcc都应加高频滤波电容,根据负载电流的情况,在各级供电节点还应加足够容量的退耦合电容。
b)开关量I/O通道与外界的隔离可采用光电耦合电容。特别是与继电器、可控硅等连接的通道,一定要采取隔离措施;
c)可采用CMOS器件提高工作电压(如+15V),这样干扰门限也相应提高; d)传感器后级的变送器尽量采用电流型传输方式,因电流型比电压型抗干扰能力强; e)电路应有合理的布线及接地方法;
f)与环境干扰的隔离可采用屏蔽措施。
第 18 页 共 20 页
《单片机原理及应用》课程设计指导书
4. 软件设计
单片机应用系统的软件设计是研制过程中任务最繁重的一项工作,其难度也比较大。对于某些较复杂的应用系统,不仅要使用汇编语言来编程,有的还要使用高级语言。
单片机应用系统的软件主要包括两大部分:即用于管理单片微型机系统工作的监督管理程序和用于执行实际具体任务的功能程序。对于前者,尽可能利用现成微机系统的监控程序(为适应各种应用的需要,现代的单片机开发系统的监控软件功能相当强,并赋有丰富的实用子程序,可供用户直接调用),例如键盘管理程序、显示程序等,因此在设计系统硬件逻辑和确定应用系统的操作方法时,就应充分考虑这一点。这样可大大减轻软件设计的工作量,提高编程效率。后者要根据应用系统的功能要求来编写程序,例如,外部数据采集、控制算法的实现、外设驱动、故障处理及报警程序等等。
单片机应用系统的软件设计千差万别,不存在统一模式。开发一个软件的明智方法是尽可能采用模块化结构。根据系统软件的总体构思,按照先粗后细的办法,把整个系统软件划分成多个功能独立、大小适当的模块。划分模块时要明确规定各模块的功能,尽量使每个模块功能单一,各模块间的接口信息简单、完备,接口关系统一,尽可能使各模块之间的联系减少到最低限度。根据各模块的功能和接口关系,可以分别独立设计,某一模块的编程者可不必知道其他模块的内部结构和实现方法。在各个程序模块分别进行设计、编制和调试后,最后再将各个程序模块连成一个完整的程序进行总调试。
5. 系统调试
系统调试包括硬件和软件调试两项内容。硬件调试的任务是排除应用系统的硬件电路故障,包括设计性错误和工艺性故障。通常借助电气仪表进行故障检查。软件调试是利用开发工具进行在线仿真调试,在软件调试过程中也可以发现硬件故障。
几乎所有的在线仿真器和简易的开发工具都为用户调试程序提供了以下几个基本方法: l)单步。一次只执行一条指令,在每步后,又返回监控调试程序。 2)运行。可以从程序任何一地址处启动,然后全速运行。
3)断点运行。用户可以在程序任何处设置断点,当程序执行到断点时,控制返回到监控调试程序。 4)检查和修改存储器单元的内容。 5)检查和修改寄存器的内容。
6)符号化调试。能按汇编语言程序中的符号进行调试。
程序调试可以一个模块一个模块地进行,一个程序一个子程序地调试,最后联起来总调。利用开发工具提供的单步运行和设置断点运行方式,通过检查应用系统的CPU现场、RAM的内容和I/O的状态,检查程序执行的结果是否正确,观察应用系统I/O设备的状态变化是否正常,从中可以发现程序中的死循环错误及转移地址的错误,也可以发现待测系统中软件算法错误及硬件设计错误。在调试过程中,不断地调整修改应用系统的硬件和软件,直到其正确为止。最后,试运行正常,将软件固化到EPROM中,系统研制完成。
第 19 页 共 20 页
《单片机原理及应用》课程设计指导书
附件四:
指导教师名单
刘炜 蔡静之
课程设计进度安排
本次进行《单片机原理及应用》课程设计的班级是2009级信息工程091班(36人)和092班(36人),每班按2周时间计算,采用分散与集中相结合的办法进行。设计任务在第1周(2012年2月27日~3月4日)由任课教师下达,学生利用课余时间完成相关设计工作,指导教师利用学生业余时间进行课外辅导。第19周(2012年6月25日~2012年7月1日)安排集中调试、撰写课程设计报告和答辩工作。具体安排如下:
信息工程091班课程设计进度安排
周数 第1-18周 学生利用课余时间熟悉设计题目,查阅相关资料,设计总体方案,完成软、硬件功能划分,硬件接口原理图设计,软件框图及程序设计等工作,指导教师进行数次集中辅导。 6月25日 6月26日 6月27日 6月28日 6月29日 任务 硬件连线,撰写课程撰写课程软件调试 软件调试 设计报告 设计报告 答辩 信息工程092班课程设计进度安排 周数 第1-18周 学生利用课余时间熟悉设计题目,查阅相关资料,设计总体方案,完成软、硬件功能划分,硬件接口原理图设计,软件框图及程序设计等工作,指导教师进行数次集中辅导。 6月25日 6月26日 6月27日 6月28日 6月29日 任务 撰写课程设计报告 软件调试 撰写课程硬件连线完善课程设计报告 软件调试 设计报告 答辩
北方民族大学电气信息工程学院 二○一二年二月二十四日
第 20 页 共 20 页
因篇幅问题不能全部显示,请点此查看更多更全内容