- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式课程设计实验报告-计算器
华南师范大学嵌入式综设实验报告
选题:基于ARM和UCOS-II系统的小型计算器
指导老师: 王剑x
组员(学号):xx) xx)
一、实现功能
实现五位整数的加减乘除带括号的运算,由于实验箱的键盘数量有限,于是我们将键盘设置为虚拟的两层结构,其使用方法如下:
(1)第一层键盘使用指南
1 2 3 ( 4 5 6 ) 7 8 9 第二层 0 . 第一层 = (2)第二层键盘使用指南
+ % - * /
二、系统流程图
Y
Y
N
Y
N
Y
N
Y
N
Y
N
Y
N
、
Y
N
Y
N
Y
计算原理
计算原理
定义一个操作数栈,一个操作符栈
思想是:置操作数栈为空,操作符栈压入元素#(它具有最高优先级),依次读入表达式中的每个字
如果优先级大于当前栈顶元素,那么将其压栈,
如果其优先级小于当前栈顶元素,那么执行op=sym.pop();(取当前栈顶操作符),a=um.pop()(取当前栈顶操作数存入临时变量a);b=sym.pop()(取当前栈顶操作数存入临时变量b);c=计算(a op b); .push(c);
如果优先级相等,则当前操作符出栈。
重复上述操作直到表达式处理完毕。
最后操作数栈剩余的操作数就是计算的最终结果。
#include Includes.h /* uC/OS interface */
#include option.h
#include 2410lib.h
#include uhal.h
/* 任务栈 */
OS_STK StackLED[STACKSIZE]= {0, }; // 任务LED任务栈
OS_STK StackSEG[STACKSIZE]= {0, }; // 任务SEG任务栈
/* 任务ID */
char IdLED = 1; // 任务LED ID
char IdSEG = 2; // 任务SEG ID
/* 任务处理函数 */
void TaskLED(void *Id); // 任务LED任务处理函数
void TaskSEG(void *Id); // 任务SEG任务处理函数
void TmrFunc1(INT8U arg);
/* 定时器1*/
OS_TMR *Tmr1;
char ch,ch2;
char print_1[1];
char print_2 [6]; /*用于串口输出*/
int Page=0; /* 键盘的页面标志 */
/*栈定义*/
#ifndef STACK_SIZE
#define STACK_SIZE 64
#endif
int Num[STACK_SIZE];/*数字栈 */
int NumTop=0;
int Sym[STACK_SIZE];/*字符栈,用来储存操作符 */
int SymTop=0;
void Push_(int * stack,int * top,int val);
int Pop_(int * stack,int * top);
/*声明*/
#define DELAYTIME 1
extern unsigned char seg7table[16];
int Calculate(int right,int left,int symbol);
#define DELAYTIME 1
void product(void);
int a,b,c;
char number[255];
char sign;
int now=0;
int num=0;
int SymTmp;/*对操作符处理时的中间变量 */
int ResTmp;/*得数的中间变量 */
int Flag = 0;/*表示数字不为空的标识符 */
int count=0;
/*
* 跑马灯闪烁函数,调用一次,四个跑马灯由亮变灭或者由灭变亮
*/
void User_LED_Blink(void)
{
static int led_status = 0;
led_status += 1;
if(led_status % 2
您可能关注的文档
- 安防中的新RAID技术.docx
- 实习管理系统.doc
- 实验13CoolEdit数字音频处理.doc
- 实验2成题.doc
- 实验一他励直流电动机的起动与调速.doc
- 实验七固定资产管理系统.doc
- 实验九了解广播电视系统周边设备.doc
- 实验6高频功率放大器.docx
- 实验三微带天线仿真场分析.docx
- 实验十一网页设计强化.docx
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)