• 基于单片机的纸牌24点游戏模拟器设计


    目录
    一、任务要求 1

    1. 测试多组数据 1
    2. 在单片机实验板按键中设计 4 个数学运算键+-×÷ 1
      二、功能特点与使用说明 1
    3. 使用后缀表达式计算字符串算式,代码简洁易懂 1
      三、方案设计 2
    4. 资源分配: 2
    5. 设计思路: 3
    6. 中缀表达式转换为后缀表达式: 3
    7. 通过逆波兰表达式计算结果: 3
      四、流程图 3
    8. 主程序 int main() 4
    9. 按键检测子程序 void KeyboardDriver() 5
    10. 随机数生成子程序 void set_24() 9
      五、程序测试方法与结果 10
      七、心得与体会 13

    一、任务要求
    设计一个模拟纸牌 24 点玩法的单片机模拟器,由单片机随机发出四个牌点,测试者在实验板按键上输入计算过程,单片机判断计算结果是否正确,并评定测试者的成绩。
    【基本要求】:
    1.测试多组数据
    2.单片机在数码管上随机给出 4 张牌点,牌点范围为 1-13,10 到 13 由字符 a,b,c,d 表示
    3.在单片机实验板按键中设计 4 个数学运算键+-×÷
    4.4 个数字中每使用完一个后该字符应有明显标识
    5.只允许测试者使用四则运算(可加括号)
    6.无论测试结果是否正确,均有声光效果提示;
    7.测试完毕,由单片机给出测试者的最终成绩

    二、功能特点与使用说明
    功能特点:
    1.使用最低的系统时钟频率, 降低功耗
    2.键盘扫描使用了软件消抖,防止按键被重复判别为弹起或按下
    3.键值判断使用的是键值跳变判断,即使你一直将键盘按下,也不会重复执行命令
    4.使用后缀表达式计算字符串算式,代码简洁易懂
    2.设计思路:
    键盘设计思路:首先通过 T2 扫描键盘,判断键盘是否被按下,这里运用了软件消抖的方法, 连续检测到四次键盘被按下(或松开)才会把键值数组里相应的地方置为 1(0)。然后通过
    T4 扫描键值数组,如果检测到跳变(防止一直按着某个键,其键值一直为 1,导致其功能一直被反复执行),且跳变后键值为 1,则执行此键位的命令。
    LCD 屏设计思路:通过字模软件生成数字字母及运算符号的 32 位字模数组,通过选择左右屏以及生成的 X,Y 坐标可以将数字显示在自己想要的地方
    主程序设计思路:随机生成四个数并将其存在一个数组之中,然后显示在屏幕的上方。按键选择数或符号,本文转载自http://www.biyezuopin.vip/onews.asp?id=14870每选择了一个数,就会将其原数所在的区域清除,表示此数以及被选择了,然后将此数或此符号用字符的形式存在一个字符数组里面,最后按下等于键,就会运行计算此字符数组对应的表达式的值的程序,最后结果算出来如果等于 24,则会亮起黄灯,如果错误则会亮绿灯。
    计算字符串表达式的设计思路:
    1.中缀表达式转换为后缀表达式:
    a).数字直接入队列
    b).运算符要与栈顶元素比较
    ①栈为空直接入栈
    ②运算符优先级大于栈顶元素优先级则直接入栈
    ③小于或等于则出栈入列,再与栈顶元素进行比较,直到运算符优先级小于栈顶元
    素优先级后,操作符再入栈
    c).操作符是 ( 则无条件入栈
    d).操作符为 ),则依次出栈入列,直到匹配到第一个(为止,此操作符直接舍弃,(直接出栈舍弃

    2.通过逆波兰表达式计算结果:
    获取字符串表达式的每一项,判断这一项是数据还是操作符,如果是数据,则让它入栈,如果是操作符,让数据出栈,和操作符进行运算 。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    C语言基础
    leetcode经典面试150题---1.合并两个有序数组
    痛苦皆来自于认知的局限
    QT--对象模型(对象树)
    Go语言现代web开发15 泛型和错误
    Python类练习
    振弦采集模块的通讯协议
    壳聚糖-聚乙二醇-吲哚菁绿,Indocyaninegreen-PEG-Chitosan
    成功转行软件测试感受,一个从业3年的过来人告诉你
    递归 - java实现
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/127066216