【毕业设计】8路抢答器系统的设计(3)

2018-11-19 20:22

四川师范大学成都学院电子工程系课程设计报告

在所有的指令中,只有RETI指令能够清除中断激活标志。出错处理程序ERR主要完成这一功能,其他的善后工作交由复位后的系统去完成。

程序一般先关中断,以便后续处理能顺利进行,然后用两个RETI指令代替两个LJMP指令,从而清除了两级中断激活标志。有相应软件陷阱捕捉来的程序可能没有全部激活两个标志,这也无妨。

有复位时系统的历史状况,可将复位分为“冷启动”和“热启动”。 “冷启动”时,系统的状态全部无效,进行彻底的初始化操作;而“热启动”时,对系统的当前状态进行修复和有选择的初始化。系统初次上电投入运行时,必须是“冷启动”,以后由抗干扰措施引起的复位操作一般均为“热启动”初次上电投入运行时,必须是“冷启动”,以后由抗干扰措施引起的复位操作一般均为“热启动”。为了使系统能正确决定采用何种启动方式,常用上电标志来区分,如图9所示:

复位 关中断,设定堆栈 上电标志 冷启自检 全面初始热启动恢复被破坏的信息部分初始化 建立上电标志 开始运转

图9系统复位策略图

2.2 系统整体硬件电路

2.2.1 整体硬件电路

PROTEL是PORTEL公司推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国

9

四川师范大学成都学院电子工程系课程设计报告

内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server (客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。 1、运用PROTEL工具画出原理电路:

图11整体电路图

图12 PCB电路图

2、三维PCB图

10

四川师范大学成都学院电子工程系课程设计报告

图13三维PCB图

2.2.1 本章小结

本章是抢答器的系统仿真部分,并对抢答器的各个流程做出了具体仿真结果。从仿真图上可以进一步得出结论:利用单片机设计的抢答器工作性能稳定,延迟时间小,电路结构简单,是一个实用、创新性的电路设计。

3.软件设计

3.1系统主程序设计

为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人发布抢答命令按下P1.7按键,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答题键,马上关闭T0、

11

四川师范大学成都学院电子工程系课程设计报告

调用显示程序、封锁键盘。 主程序流程图:

加载程序 运 行 正常流程 违规流程 开始 开始前有选手抢按 开始数码管显 显示违例选手号示FFF开始抢 码并伴有语音报按时间倒计时 警 倒计时结 有选手 束,超时 抢按 显示FFF 显示选手号码,倒计 时时间,语音报警,答 题,答题时间倒计时 若超过答题 答题完毕 时间,则数 码管显示FFF 根据选手表现,规 则由主持人减分 图14

3.2主程序清单

#include

#define uint unsigned int #define uchar unsigned char sbit suo=P2^4; sbit beep=P2^7; sbit wei1=P2^0;

12

四川师范大学成都学院电子工程系课程设计报告

sbit wei2=P2^1; sbit wei3=P2^2; sbit led=P0; sbit kai=P3^2; sbit tin=P3^3; sbit jiaf=P3^0; sbit jianf=P3^1; sbit jias=P3^5; sbit jians=P3^6; sbit que=P3^7; sbit xuanshou=P2^5; sbit xx=P2^6; #include\

uchar code tale[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71}; uchar fen1=20,fen2=20,fen3=20,fen4=20,fen5=20,fen6=20,fen7=20,fen8=20; uchar score_one=1,score_two=2,score_three=3,score_four=4; uchar score; uchar temp,t; uchar f; uchar que1=0;

uchar time1=10,time2=10; uchar temp_int0;

void delay1(uint z) //延时函数 {

uint x,y;

for(x=z;x>0;x--) }

void init()//中断 定时器 初始化函数 { }

13

for(y=110;y>0;y--);


【毕业设计】8路抢答器系统的设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:铺贴砖--劳务施工合同1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: