1、基于 S3C2410 的简单抢答器的实现摘 要随着信息技术的飞速发展,嵌入式技术得到了广泛的应用与发展。本文设计了基于 ARM 的简单抢答器,该系统能根据实际情况进行抢答器复位、抢答开始、数据显示处理、抢答结束等,实现了简单的抢答器设计,通过设计进一步了解并加深对 ARM 的认识,模拟抢答器的实现。 关键词ARM;抢答器;S3C2410 中图分类号:S3C2410 文献标识码:A 文章编号:1009-914X(2015)36-0207-01 0 引言 随着科学技术的发展和人们生活水平的提高,嵌入式技术的发展越来越迅猛。嵌入式系统以其可靠性高、实时性强、系统配置低等优势,广泛应用在工业控制、消费
2、电子、信息家电等领域,小型电子设备像抢答器就需要使用这样的系统来完成。本文将使用设计和控制 ARM 系统,模拟简单的抢答器。 1 系统设计方案 1.1 设计要求 本设计是在武汉创维特信息技术有限公司的 ARM9 教学实验箱上完成,模拟了简单的抢答器。用小键盘上的十六个键模拟有十六个人的抢答器。具体要求如下: (1)每次抢答前需要通过外部中断 2 复位,同时数码管上显示 10秒倒计时; (2)计时结束时,蜂鸣器响起,数码管清除显示。此时,表示可以开始抢答,数码管上会显示第一个抢答的号码; (3)在秒中断中,处理显示倒计时的数据,并使蜂鸣器响; (4)在运行过程中,随时可以通过外部中断 2 重新开
3、始抢答的倒计时。 1.2 系统流程 由于此系统较为简单,故采用自上而下的设计方法,进行程序设计;抢答开始和结束,采用中断的方法,由中断处理程序处理。程序流程如下图 1 所示, 2 嵌入式开发环境说明 硬件方面,我们使用 S3C2410 实验箱的串口与 PC 机串口连接,通过JTAG 口的 ARM 仿真器把实验箱和 PC 机连接。 软件方面,我们使用与实验箱配套的 ADT 软件进行开发。 3 典型功能实现 3.1 外部中断 2 的中断实现 在本设计中,外部中断 2 起着至关重要的作用。跳出显示抢答到的数据,或者在计时中,重新开始计时。 void irq_eint2(void) Irq_Clear
4、(IRQ_EINT2) ; ch=0; D1=1; D0=0; flag=0; rRTCCON=0x01; /以下设置秒中断使能 rTICNT=0xff; rRTCCON=0x0; 3.2 处理抢答结果 计时结束之后,开始等待键盘的输入,一旦接收到第一个输入值,即一直显示该值,直到有外部按键 2 按下,使 ch=0,重新开始下一轮抢答。计时过程中和等待抢答过程中也可以通过按键 2 重新开始。 void Main(void) while(1) while(flag=0)/ eint_flag 为 0 执行倒计时,否则判断是否有键按下 for(i=0;i0;t-) ; *(unsigned cha
5、r *)0x10000006)=0xff; /计时结束后,数码管不显示内容 ch = Key_Get() ; /读键盘直到有键按下或按键 2 使重新开始抢答 while(ch!=0) /有键按下,显示结果 3.3 秒中断处理 秒中断服务程序中,处理显示倒计时的数据,并使蜂鸣器响。具体实现如下: void rtc_tick_isr(void) int t; Irq_Clear(IRQ_TICK) ; if(D1=1) D1=0; D0=9; else D0-; if(D1=0 & D0=0) /倒计时结束 rRTCCON=0x01; rTICNT=0x0; /TICNT 的 bit7置 0,停止
6、秒中断 rRTCCON=0x0; flag=1; /设置计时停止标志 rTCON=0xa; /启动蜂鸣器 rTCON=0x9; for(t=50000;t0;t-) ; rTCON=0x0; /关闭蜂鸣器 4 结束语 本文设计实现了基于 ARM9 平台的简单抢答器,该系统实现了抢答器复位、抢答开始、数据显示处理、抢答结束等,基本实现了嵌入式抢答器的功能需求,很好地模拟了抢答器的功能,而且操作简单、方便。 参考文献 1周功明,周陈琛. 基于单片机 AT89C2051 的九路多功能智力竞赛抢答器的设计J.现代电子技术,2006,10(20):4-6. 2韩满林.用触摸屏和 PLC 实现四人抢答器的控制设计J.电子工程师,2007,33(12):77-80. 3李鹏辉.基于 PLC 技术的抢答器设计J.电气技术,2010,9(9):76-77. 4龚昌来.单片机控制的智能型抢答器设计J.广东自动化与信息工程,2003,3(3):28-30.