教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

单片机课程设计报告(五人表决器)

来源:网络收集 时间:2026-08-30
导读: 单片机实训的常用课题。给给大家做个参考 目录 一、方案设计 ................................................ 2 二、硬件电路设计 ........................................ 2 三、软件设计说明 ........................................ 6 四、 程序清

单片机实训的常用课题。给给大家做个参考

目录

一、方案设计 ................................................ 2

二、硬件电路设计 ........................................ 2

三、软件设计说明 ........................................ 6

四、 程序清单 .............................................. 7

五、制作调试说明 ...................................... 12

六、操作使用说明 ...................................... 13

七、总结 ...................................................... 13

单片机实训的常用课题。给给大家做个参考

单片机课程设计

一、方案设计

1、设计题目:5人表决器 2、设计要求:

1)、可供5—7个人进行表决,每个人有一个“同意”和一个“反对”按键,故一个人需要两个按键,表决时两个键先按下的一个有效,同时按下则表示无效,每次表决每个按键只能是第一次按下的有效,多按无效,用单片机设计表决器是硬件电路与软件设计相结合的一种设计,因此在硬件电路只能实现按键的按下与释放,不能智能的实现检测按键被按下几次,则可用软件设计来实现其功能。 2)会议主持人可利用按键控制表决的开始与结束,点亮黄灯用于显示表决开始,熄灭黄灯表示结束,并将表决结果用红灯与绿灯显示。当不相等时,“同意”多于“反对”点亮绿灯,“同意”少于“反对”点亮红灯。

3)在实现上述功能的基础上增加“同意”数和“反对”数的显示。

二、硬件电路设计

1、硬件设计思路:

此次设计的题目是5人表决器,分析得设计的硬件电路选用P1口与P2口作为同意与反对按键的输入端。又表决的开始与结束是由主持人来控制的,因此需要两个按键来表示表决的开始与结束,因此可采用外部中断0与外部中断1来控制表决的开始于结束。故设计总共需要按键12个。设计要求中需要四盏灯,分变为

单片机实训的常用课题。给给大家做个参考

一个黄灯,一个绿灯和二个红灯,三盏灯用于输出显示,因此也可以征用单片机的I/O口,由于P1口与P2口作为同意与反对按键的输入端且P0口当做输出端口时可以不用接上拉电阻,因此可将三个显示灯接在P0口用于显示表决的结果。还有一盏红灯用来做电源指示灯。

2、元器件参数确定:

设计要求中需要三盏灯(黄灯,绿灯和红灯)用于输出显示,选用P0口的3个端口与显示灯相连接用于输出,由于输出端口输出的高电平一般为5V,而发光二极管允许的最大电流为5mA,因此需要用到限流电阻,发光二极管可降2V的电压,则限流电阻上的压降为3V,那么限流电阻的最小阻值为R=3V/5mA=600欧姆,由于输出的高电平不是5V,故用510欧姆的限流电阻。然后将单片机的最小系统(最小系统中各元器件的参数可参考单片机课本中给出的值)加入电路中就是此次设计的硬件电路。

3、元件清单:

单片机实训的常用课题。给给大家做个参考

各元器件的作用:

开关:有十个开关用于分别用做5人的同意与反对按键;一个开关用于复位电路,另外两个按键用于主持人的开始与结束按键;电容:用于单片机的最小系统;发光二极管:黄灯用于显示表决的开始与结束,红灯与绿灯用于显示表决的结果;电阻:用于限制电流;8051芯片:软件编程;电源接头:用于接外接电源。

4、电路工作原理简述:

该电路是基于硬件电路,应用汇编语言来设计出其工作流程,硬件电路是用软件程序来检测表决器的开始按键是否被按下,如果开始键已按下,则利用软件程序来检测用于表决的按键是否被按下以及按下的按键是否有效,然后检测结束键是否被按下,如果按下则表决结束,并且显示最终的表决结果。硬件电路只能够用于表征表决是否开始以及每个人按下的是同意按键还是反对按键。

工作流程:当主持人按下开始表决的开始按键(在电路中用接在外部中断0上的按键来表示开始按键)后,5个人才开始表决,5个人分别按下同意按键或是反对按键,剩余的事情由软件来处理分析最终统计得到“同意”的人数和“反对”的人数,当主持按下结束按键后(在电路中用外部中断1上所接的按键来表示结束按键),软件中用外部中断1来表示结束(采用中断的方式),在中断程序中比较“同意”的人数与“反对”的人数的大小。当“同意”的人数大于“反对”的人数时,应用软件程序点亮绿灯;当“同意”的人数小于“反对”的人数时,应用软件程序点亮红灯;当“同意”的人数等于“反对”的人数时,则应用软件程序将红灯与绿灯同时点亮。

单片机实训的常用课题。给给大家做个参考

图1 单片机系统的时钟电路

图2 实物电路板

单片机实训的常用课题。给给大家做个参考

三、软件设计说明

1、模块设计:

初始化模块 :对系统进行初始化,由于程序中有中断源,因此打开相应的中断也放在程序的初始化模块中;

检测开始按键:检测开始按键是否被按下,按下则开始执行循环检测同意与反对按键,为消除按键抖动,此处需调用延时程序;

循环检测同意/反对按键:循环检测同意与反对按键是否被按下,同时统计同意总数与反对总数,然后等待中断到来;

延时程序:用于消除按键的机械抖动,调用0.5s的延时程序;

中断处理:当中断源到来,首先熄灭黄灯,然后将同意总数与反对总数进行比较,并点亮对应的显示灯;

2、软件设计流程图

单片机实训的常用课题。给给大家做个参考

3、软件总体功能:

软件的总体功能

1.用于检测开始按键是否被按下,按下则表决按键按下才有效,即开始表决; 2.开始表决后循环检测对应的同意与反对按键是否被按下,并统计同意总数与反对总数;

3.等待中断,即等待结束按键被按下,在中断处理中将同意与反对数进行比较,并点亮相应的显示灯,程序结束。

四、程序清单

ORG 0000H AJMP MAIN ;//转主程序// ORG 0013H ;//外部中断1的入口地址// AJMP INT_1 ;//跳转到中断// ORG 0100H

MAIN: MOV SP,#60H ;//给地址指针赋初值// MOV A,#0FFH MOV P1,A ;//给P1口赋初始值// MOV P2,A ;//给P2口赋初始值// MOV P0,A ;//给P0口赋初始值// SETB EA ;//开中断// SETB EX1 ;//打开外部中断1// SETB IT1 ;//设置外部中断1为边沿触发方式// JB P3.2,$ ;//等待外部中断0上的按键按下// LCALL DEL05S ;//调用延时程序// JNB P3.2,$ ;//等待按键弹起// CLR P0.5 ;//点亮黄灯// L10: JB P1.4,L11 ;//判断按键P1.4口上的按键是否被按下// JNB P1.4,$ ;//等待按键弹起// JNB P2.0,L11 ;//检测对应的反对按键是否被按下// LCALL DEL05S ;//调用延时程序// MOV 21H,#00H ;//将21H初始化// MOV A,21H ;//21H中存储第一个同意按键的按下数// INC A ; //对21H地址单元中的值加1// MOV B,A

单片机实训的常用课题。给给大家做个参考

MOV A,#01H CJNE A,B,L11 ;//将寄存器A中的值与1比较,保证只有第一次按下才有效// MOV 21H,A ;//26H中存储第一个反对按键的按下数// MOV 31H,#00H MOV A,31H INC A MOV 31H,A ;//对31H中的同意数加1// L11: JB P1.3,L12 ;//检测按键是否被按下// JNB P1.3,$ ;//等待按键弹起// JNB P2.1,L …… 此处隐藏:3780字,全部文档内容请下载后查看。喜欢就下载吧 ……

单片机课程设计报告(五人表决器).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/120939.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)