viva00 2021-07-02 23:19 采纳率: 0%
浏览 29

:以单片机为核心器件,设计一个比赛记分牌的设计。

具体要求如下:
(1)记分牌应可以同时记录两组分数;
(2)记分牌应可以同时显示比赛进行的时间;
(3)当得分时用按键加上相应的分数,失分时用按键减去相应的分数,计分的范围设为0~100。
采用汇编语言,救救孩子吧

  • 写回答

1条回答 默认 最新

  • 泡沫o0 C/C++ 领域优质创作者 2023-06-14 13:07
    关注

    设计一个比赛记分牌系统是一项比较复杂的工程任务,它涉及到硬件设计、编程、调试等多个环节。在这里,我将尝试为你提供一种可能的设计思路和汇编语言代码的大致框架。这只是一个基本的参考,具体的实现可能需要根据你的具体需求和硬件环境进行调整。

    在硬件方面,我们可以使用两个独立的7段数码管来显示两组的分数,还需要一个LCD1602显示器来显示比赛时间。记分和时间控制可以通过四个按钮实现,分别是两个记分按钮(加分和减分)和两个时间控制按钮(开始/停止和复位)。

    在代码方面,我们需要使用定时器实现时间的计数,使用外部中断或者轮询方式检测按钮的按下并更新分数。以下是一个简单的汇编语言代码的大致框架:

    ORG 0H
    SJMP START
    
    ORG 0BH  ; Timer 0 interrupt
    SJMP TIMER_ISR
    
    ORG 13H  ; External interrupt 0
    SJMP SCORE_ISR
    
    TIMER_ISR:
    ; 更新时间,并显示在LCD1602上
    ; 更新完成后,返回中断
    RET
    
    SCORE_ISR:
    ; 检查是哪个按钮被按下,然后更新分数
    ; 更新分数完成后,返回中断
    RET
    
    START:
    ; 初始化单片机,配置定时器和中断
    ; 初始化LCD1602和7段数码管
    
    MAIN_LOOP:
    ; 主循环,检查按钮的状态,更新分数和时间
    SJMP MAIN_LOOP
    

    这只是一个大致的框架,具体的实现需要你根据硬件的实际情况,添加具体的代码实现。例如,在TIMER_ISR中,你需要添加代码来更新LCD1602上显示的时间,在SCORE_ISR中,你需要添加代码来检查哪个按钮被按下,并更新7段数码管上显示的分数。

    请注意,编写汇编语言代码需要具备一定的电子技术知识和编程技术,如果你对这些不熟悉,可能需要找一位有经验的朋友或者导师来帮助你。

    评论

    报告相同问题?

    悬赏问题

    • ¥15 (SOS)安卓集成一个插件
    • ¥15 最小生成树问题 Prim算法和Kruskal算法
    • ¥25 医院住院病人呼叫器设计
    • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
    • ¥30 c++类和数组实验代码
    • ¥20 C语言字符串不区分大小写字典排序相关问题
    • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
    • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
    • ¥30 请问,这个嵌入式Linux系统怎么分析,crc检验区域在哪
    • ¥15 二分类改为多分类问题