• 领导讲话
  • 剖析整改
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 事迹推荐
  • 考察鉴定
  • 述职述廉
  • 会议主持
  • 主题演讲
  • 就职演说
  • 领导致辞
  • 周年庆典
  • 晚会游戏
  • 慰问贺电
  • 结婚典礼
  • 悼词殡葬
  • 竞职演说
  • 精彩演讲
  • 信息简报
  • 毕业典礼
  • 节日祝福
  • 开幕闭幕
  • 现实表现
  • 廉政谈话
  • 实习报告
  • 策划方案
  • 合同协议
  • 规章制度
  • 申报材料
  • 情书信件
  • 当前位置: 达达文档网 > 体裁范文 > 悼词殡葬 > 正文

    接口期末论文提交格式

    时间:2020-10-09 07:50:27 来源:达达文档网 本文已影响 达达文档网手机站

    接口期末论文提交格式

    接口期末论文提交格式

    论文题目

    学院:计算机科学技术与信息工程专业:计算机科学与技术

    学号:

    姓名:

    日期:2013.1.4

    N人抢答器设计

    一、设计要求及目的

    通过这次设计,掌握51单片机的原理,了解简单多功能抢答器组成原理,初步掌握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。初步掌握多功能抢答器的调整及测试方法。提高动手能力和排除故障的能力。

    二、实验环境

    抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显

    示、抢按前或抢按后的计时、选手得分显示等功能。

    本课题利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。用开关做键盘输出,扬声器发生提示。系统达到要求:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可是在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,时间完后系统自动复位;按键锁定,在有效状态下,按键无效非法。

    三、元器件列表

    器件名称规格型号数量

    微处理器AT89C51 1

    芯片74LS04 1

    74HC30 1

    电阻3WTT10K 8

    电容20PF 3

    晶振12MHZ 1

    按钮11

    7段数码管7SEG-MPX4-CA 4

    扬声器 1

    四、实验原理

    接口期末论文提交格式

    图中U1为单片机AT89C51,U2为芯片74HC30,U3为芯片74LS04。K1~K8分别为8路抢答按键,分别接到单片机的P1.0~P1.7中。开始按键与结束按键分别接到单片机的10、11脚,由于单片机的10、11脚既有串行接口RXD、TXD 功能,又有P3.0、P3.1的IO端口功能,此处按键用到单片机10、11脚的IO端口功能。抢答时间调整按键和回答时间调整按键分别接到单片机的13、14管脚,加一按键和减一按键分别接到单片机的15、16管脚。4位七段数码管段选P0口。4位七段数码管的位选接P2口低3位,蜂鸣器输出为P3.7口。

    五、程序源代码

    #include

    #define uchar unsigned char;

    #define uint unsigned int;

    sbit m1=P3^1; //主持人按键答对加分,按一下加一分

    sbit m2=P3^2; //答错减分

    sbit k1=P1^0;

    sbit k2=P1^1;

    sbit k3=P1^2;

    sbit k4=P1^3;

    sbit k5=P1^4;

    sbit k6=P1^5;

    sbit k7=P1^6;

    sbit k8=P1^7; //选手按键

    sbit k=P3^0; //主持人按键开始

    sbit beep=P3^7; //蜂鸣器

    uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77 }; //0-9代码

    uchar shiwei,gewei,xuanshou,count,i,second;

    uchar score1,score2,score3,score4,score5,score6,score7,score8;// uint t,m,n,a,a1,a2,a3,a4,a5,a6,a7,a8;

    void Timer()

    { TMOD|=0x01;

    TH0=0xd8; TL0=0xf0;

    IE=0x82; TR0=1; }

    void tim(void) interrupt 1 using 1 //为定时中断TR0

    { TH0=0xd8; //重新赋值

    TL0=0xf0;

    count++;

    if(count==100) //100*10ms=1秒

    { count=0;

    second--; //秒减1 }

    }

    void delay(uint z) //延时函数

    { uint x,y;

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

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

    void display (uchar shiwei,gewei,xuanshou) //显示函数

    { P2=0xfe; //打开显示时间十位的位选

    P0=shiwei; //显示十位

    delay(5);

    P2=0xfd; //个位位选

    P0=gewei;

    delay(5);

    P2=0xf7; //选手位选

    P0=xuanshou;

    delay(5);

    }

    void dis(void)

    { shiwei=tab[second/10];

    gewei=tab[second%10];

    xuanshou=tab[i];

    display (shiwei,gewei,xuanshou); }

    void init() //初始化函数

    { P2=0x04;

    P0=0x3f;

    t=0;

    beep=0;

    i=0;

    second=29;

    score1=60;

    score2=60;

    score3=60;

    score4=60;

    score5=60;

    score6=60;

    score7=60;

    score8=60;

    a1=1;

    a2=1;

    a3=1;

    a4=1;

    a5=1;

    a6=1;

    a7=1;

    a8=1;

    }

    void main()

    { init();

    if(k==0) //主持人按下开始键

    { Timer();

    delay(10);

    while(!k);

    while(1)

    { dis();

    m=0;

    n=0;

    if(second==10){beep=1;delay(500);beep=0;}

    if(second==0) {TR0=0;n=1;

    if(k==0)

    {beep=1;delay(500);beep=0;second=29;TR0=1;m=1;}

    }

    if(n==0)

    { if(k1==0) {delay(5);if(k1==0);while(!k1);t=1;}

    else if(k2==0) {delay(5);if(k2==0);while(!k2);t=2;}

    else if(k3==0) {delay(5);if(k3==0);while(!k2);t=3;}

    else if(k4==0) {delay(5);if(k4==0);while(!k2);t=4;}

    else if(k5==0) {delay(5);if(k5==0);while(!k2);t=5;} else if(k6==0) {delay(5);if(k6==0);while(!k2);t=6;}

    else if(k7==0) {delay(5);if(k7==0);while(!k2);t=7;}

    else if(k8==0) {delay(5);if(k8==0);while(!k2);t=8;}

    else if(k==0) {delay(5);if(k==0);while(!k);t=0;i=0;second=29;beep=1;delay(500);b eep=0;TR0=1;}

    }

    while(t)

    { if(m==0) //开关,保证程序只执行一次

    { switch(t)

    { case 1:

    { TR0=0;i=1;second=0;beep=1;delay(500);beep=0;

    a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

    }

    case 2:

    { TR0=0;i=2;second=0;beep=1;delay(500);beep=0;

    a2=0;a1=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

    }

    case 3:

    { TR0=0;i=3;second=0;beep=1;delay(500);beep=0;

    a3=0;a1=1;a2=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

    }

    case 4:

    { TR0=0;i=4;second=0;beep=1;delay(500);beep=0;

    a4=0;a1=1;a2=1;a3=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

    }

    case 5:

    { TR0=0;i=5;second=0;beep=1;delay(500);beep=0;

    a5=0;a1=1;a2=1;a3=1;a4=1;a6=1;a7=1;a8=1;m=1;break;

    }

    case 6:

    { TR0=0;i=6;second=0;beep=1;delay(500);beep=0;

    a6=0;a1=1;a2=1;a3=1;a4=1;a5=1;a7=1;a8=1;m=1;break;

    }

    case 7:

    { TR0=0;i=7;second=0;beep=1;delay(500);beep=0;

    a7=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a8=1;m=1;break;

    }

    case 8:

    { TR0=0;i=8;second=0;beep=1;delay(500);beep=0;

    a8=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;m=1;break;

    }

    }

    }

    if(a1==0) //选手1的分数

    { second=score1;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score1+ =1;if(score1==99)score1=60;}

    六、else if(m2==0)

    {delay(5);if(m2==0);while(!m2);beep=1;delay(100)

    ;beep=0;score1-=1;if(score1==0)score1=60;}

    dis();

    }

    else if(a2==0)

    { second=score2;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score2+=1;i f(score2==99)score2=60;}

    else if(m2==0) {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score2-=1;if (score2==0)score2=60;}

    dis();

    }

    else if(a3==0)

    { second=score3;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score3+=1;i f(score3==99)score3=60;}

    else if(m2==0) {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score3-=1;if (score3==0)score3=60;}

    second=score3;

    dis();

    }

    else if(a4==0)

    { second=score4;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score4+=1;i f(score4==99)score4=60;}

    else if(m2==0) {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score4-=1;if (score4==0)score4=60;}

    second=score4;

    dis();

    }

    else if(a5==0)

    { second=score5;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score5+=1;i f(score5==99)score5=60;}

    else if(m2==0) {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score5-=1;if (score5==0)score5=60;}

    second=score5;

    dis();

    }

    else if(a6==0)

    { second=score6;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score6+=1;i f(score6==99)score6=60;}

    else if(m2==0) {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score6-=1;if (score6==0)score6=60;}

    second=score6;

    dis();

    }

    else if(a7==0)

    { second=score7;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score7+=1;i f(score7==99)score7=60;}

    else if(m2==0)

    {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score7-=1;if (score7==0)score7=60;}

    second=score7;

    dis();

    }

    else if(a8==0)

    { second=score8;

    dis();

    if(m1==0)

    {delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score8+=1;if(scor e8==99)score8=60;}

    else if(m2==0) {delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score8-=1;if(scor e8==0)score8=60;}

    second=score8;

    dis();

    }

    if(k==0){i=0;t=0;second=29;beep=1;delay(500);beep=0;TR0=1;} while(!k);

    }

    }

    }

    七、实验结果

    接口期末论文提交格式

    八、总结

    本文研究设计的八路抢答器采用了通用的电子元器件,利用AT89C51单片机及外围接口实现强大系统,利用单片机的定时器、计数器定时和计数的原理,将软‘硬件有机的结合起来。理论联系时间,体现出大学生的动手能力。通过查资料和收集有关的文献,培养了自学能力和动手能力。并且有原先的被动接受只是转换为主动寻求只是,这可以收拾学习方法上的一个很大突破。在以往的传统学习模式下,我们可能会记住很多书本知识,但是通过毕业设计,我们学会了如何将学到的知识化为自己的东西,学会了怎么跟好的处理只是和实践相结合的问

    题,把握重点,攻克难关,学到用到活学活用。在设计过程中由于时间仓促有很多地方难免存在不足之处,硬件设计已经完成,在软件设计中有些功能还尚未能开发出来。但在以后的工作中,我们会严格要求自己最求完美。

    整个设计通过软件和硬件上的调试,仿真。我想这些对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到很多实际性的问题,在实际设计中才发现,书本上德尔理论性的东西与实际运用中的还是有一定的出入的,所以有些问题不但要深入的理解,而且要不断的更正以前的错误思维。对于单片机设计,器硬件电路时比较简单的,主要是解决程序设计中的问题。而程序设计师一个很灵活的东西,他反应了你解决问题的逻辑思维和创新能力。它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借签书本上的,但怎样衔接各个子程序才是关键的问题坐在,这需要对单片机的节后很熟悉。因此可以说单片机的设计师软件和硬件的结合,二者是密不可分的。

    但是,通过这次设计我也发现自己的很多不足之处。在设计过程中我发现自己考虑问题很不全面,自己的专业知识掌握的很不牢靠,所掌握的计算机软件还不够,我希望自己的这些不足之处能在今后的工作和靴子中得到改善。而且,通过这次设计,我懂得了学习的重要性,学会了坚持和努力,这将为以后的学习做出了最好的榜样!

    回头再看看该设计,还可以将设计的扩展功能增强:1可以设计声控装置,在主持说开始时,系统自动完成清零并开始时的功能。2 增加积分模块,可以设定初始积分,并记录每次抢答完成后的积分。3 将抢答按键使用无线实现,如红外线,是抢答者可以远距离进行抢答,并简化按键模块的线路布置。如果提供相应的器材及时间上的宽限,硬顶可以完成上述扩展功能,进一步完善作品。

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网