设计分享|单片机抢答器(汇编)

目录

具体实现功能:

设计介绍

单片机介绍

设计思路

资料内容

仿真实现

汇编程序


具体实现功能:

主持人按下抢答按键后,进入抢答模式,8位选手开始抢答,数码管显示抢答成功的选手号码,主持人按键再次按下后复位。

设计介绍

单片机介绍

51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。

设计思路

文献研究法:搜集整理相关单片机智能手环系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机智能手环系统的现状、存在问题和解决办法;

比较分析法:比较不同单片机智能手环系统的具体原理,以及同一类传感器性能的区别,分析单片机智能手环系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

资料内容

仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。

汇编程序

本设计由汇编语言编写,主代码具体如下:

    ORG  000              JMP   BEGIN                  TABLE:                                 ; 共阴极数码管显示代码表DB    3FH,06H,5BH,4FH,66H     ; 01234DB    6DH,7DH,07H,7FH         ; 46789DELAY:    MOV  R5,  #20                ; 延时20×20ms子程序 LOOP4:      MOV  R6,  #50            LOOP5:    MOV  R7,  #100  DJNZ  R7,  $  DJNZ  6,   LOOP5  DJNZ  R5,   LOOP4  RETBEGIN:     MOV  P2,   #0FFH         ;P2口置高电平,准备接收信号         MOV   R4,  #0             ; "R4"的位标志值清零。    MOV  A,   R4             ; "R4"位标志值送A寄存AGAIN:      MOV   DPTR,  #TABLE        ;共阴极数码管代码表首址送                                                                                                  MOVC  A,   @A+DPTR      ;取出显示"0"的代码送P口显示         MOV   P1,   A        LOOP1:    MOV  A,  P3            ;接收P3口的抢答信号。         CPL    A               ;抢答信号求反  JZ      LOOP1                   ;如果没有抢答信号再返回LOOP1LOOP2:     RRC   A            ;有抢答信号则逐次移动判断是那一位抢答  INC    R4                ;每移一次位,R4位标志值加1  JNC   LOOP2            ;如果没有遇到抢答信号返回LOOP1继续移位  MOV   A,  R4              ;遇到抢答信号把R4位标志的只送A          MOVC  A,  @A+DPTR               ;找到相应位的显示代码  MOV  P1,  A          ;送P1口显示LOOP3:     JNB     P2.2, BEGIN            ;若主持人按了复位信号健则转向程序复位CPL   P2.0                     ;若没按复位信号键,则通过P2.2给出高低信号驱动蜂鸣器  LCALL  DELAY              ;调用延时程序  SJMP   LOOP3               ;P2.2口反复间隔0.4秒变化,驱动蜂鸣器                 END  
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值