版本协议

Public Domain

标签
标准版
#第九届立创电赛#简单的计算器

创建时间:7个月前

161 0

视频

描述

<div class="document"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">注:* 为必填项</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><strong><span style="color: #0093e6;">请在报名阶段填写 ↓</span></strong></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">* 1、项目功能介绍</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6;"><span style="font-size: 14px;">可以计算一些简单的加减乘除</span></span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">注:主题不限,可以是解决生活/工作中的某个问题、为某个人群/场景设计的方案、毕业设计/课程设计/DIY项目/纯属炫酷项目等。主要讲一下自己通过什么手段解决了什么问题。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*2、项目属性</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">非首次公开,未参加过答辩</p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">注:请说明项目是否首次公开;项目是否为原创;项目是否曾经在其他比赛中获奖,若有获奖则叙述获奖详情;项目是否在学校参加过答辩。</span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">* 3、开源协议</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <ol> <li> <p><strong>开源声明</strong>:本项目作者尊重开源精神,同意将此DIY项目以开源的方式分享给公众。</p> </li> <li> <p><strong>使用自由</strong>:任何人可以出于任何目的使用此项目的硬件设计、软件代码、文档和其他相关资料。</p> </li> <li> <p><strong>修改自由</strong>:任何人可以修改此项目的任何部分,并可以自由地发布修改后的作品。</p> </li> <li> <p><strong>再分发自由</strong>:任何人可以将此项目的未修改或修改版本以任何形式分发,包括但不限于出售、出租、租赁等。</p> </li> <li> <p><strong>专利豁免</strong>:作者同意不对任何个人或实体就其使用、修改或分发此项目提起专利侵权诉讼。</p> </li> <li> <p><strong>免责声明</strong>:本项目的所有文件和资料均按“原样”提供,不提供任何形式的保证。作者不承担任何由于使用此项目而引起的直接、间接、偶然、特殊及后续的损害赔偿责任。</p> </li> <li> <p><strong>引用要求</strong>:如果此项目中包含了其他开源项目的内容,使用者在使用时应遵循原项目的开源协议,并明确标注引用来源。</p> </li> </ol> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">注:利他即利己,请认真阅读下述内容。</span></p> <ol style="line-height: 1.8;"> <li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;</span></li> <li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">2、若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能; </span></li> <li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">项目应选择适合自己的<span style="text-decoration: underline;"><a href="/posts/98fdb2accd754af7b51990790db3b47a" target="_blank">开源协议</a></span>,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;</span></li> <li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。</span></li> </ol> <p style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><strong><span style="color: #0093e6;">请在竞赛阶段填写 ↓</span></strong></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*4、硬件部分</h3> <hr class="horizontal-splitline normal-bold-2"> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><img src="//image.lceda.cn/pullimage/Z7n5MPourS9vly9wT8mduHo91YFmS4LUPPyQmmMD.png" alt="" width="1261" height="852"></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"> </p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"> 注:请前往<span style="text-decoration: underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件,文件完成后,相关文稿将自动生成至项目详情;这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。 </span></p> <p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8;"> </p> <h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height: 1.8;">*5、软件部分</h3> <p>#include //调用单片机头文件</p> <p>#include //调用单片机头文件</p> <p>#include //调用单片机头文件</p> <p>#include //调用单片机头文件</p> <p>#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255</p> <p>#define uint unsigned int //无符号整型 宏定义 变量范围0~65535</p> <p>float num1; // 保存第一个数</p> <p>float num2; // 保存第二个数</p> <p>uchar jjcc; // 加减乘除标志变量</p> <p>uchar Lcd_Str[17]; // 显示区缓存</p> <p>uchar Num_str[17];</p> <p>uchar Lcd_num2_add = 0; // 第二个数据开始位的增量</p> <p>uchar Lcd_dis1_i = 0; // 记录显示第一行字符</p> <p>uchar Lcd_num1_i = 0; // 记录num1 是几位数</p> <p>uchar Lcd_num2_i = 0; // 记录num2 是几位数</p> <p>uchar Dian_i = 0; // 小数点位数</p> <p>sbit rs=P1^0; //寄存器选择信号 H:数据寄存器 L:指令寄存器</p> <p>sbit rw=P1^1; //寄存器选择信号 H:数据寄存器 L:指令寄存器</p> <p>sbit e =P1^2; //片选信号 下降沿触发</p> <p>/********************************************************************</p> <p>* 名称 : delay_uint()</p> <p>* 功能 : 小延时。</p> <p>* 输入 : 无</p> <p>* 输出 : 无</p> <p>***********************************************************************/</p> <p>void delay_uint(uint q)</p> <p>{</p> <p>while(q--);</p> <p>}</p> <p>/********************************************************************</p> <p>* 名称 : write_com(uchar com)</p> <p>* 功能 : 1602指令函数</p> <p>* 输入 : 输入的指令值</p> <p>* 输出 : 无</p> <p>***********************************************************************/</p> <p>void write_com(uchar com)</p> <p>{</p> <p>rs=0; //写指令</p> <p>rw=0; //对1602写操作</p> <p>P0=com; //P0口对1602写指令数据</p> <p>delay_uint(25);</p> <p>e=1; //e=1使能信号</p> <p>delay_uint(100); //延时一下等1602完成操作</p> <p>e=0;</p> <p>}</p> <p>/********************************************************************</p> <p>* 名称 : write_data(uchar dat)</p> <p>* 功能 : 1602写数据函数</p> <p>* 输入 : 需要写入1602的数据</p> <p>* 输出 : 无</p> <p>***********************************************************************/</p> <p>void write_data(uchar dat)</p> <p>{</p> <p>rs=1; //写数据</p> <p>rw=0; //对1602写操作</p> <p>P0=dat; //P0口对1602写数据</p> <p>delay_uint(25);</p> <p>e=1; //e=1使能信号</p> <p>delay_uint(100); //延时一下等1602完成操作</p> <p>e=0;</p> <p>}</p> <p>/***********************lcd1602上显示这字符函数************************/</p> <p>void Dis_str(uchar add, uchar *p)</p> <p>{</p> <p>write_com(add); //写1602的地址</p> <p>while(*p>0)</p> <p>{</p> <p>write_data(*p); //写数据</p> <p>p++; //指针地址加1</p> <p>}</p> <p>}</p> <p>void init_1602()</p> <p>{</p> <p>write_com(0x38); //显示模式设置:16×2显示,5×7点阵,8位数据接口 不检测忙信号</p> <p>write_com(0x0c); //开显示 不显示光标</p> <p>write_com(0x06); //当写一个字符是,地址指针加 1</p> <p>write_com(0x01); //清除显示</p> <p>}</p> <p>/***************************************************************</p> <p>* 名称 : delay_1ms()</p> <p>* 功能 : 延时1ms函数</p> <p>* 输入 : q</p> <p>* 输出 : 无</p> <p>****************************************************************/</p> <p>void delay_1ms(uint q)</p> <p>{</p> <p>uint i,j;</p> <p>for(i=0;i</p></div>

文档

BOM

暂无

附件

暂无

成员

评论(1)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
立创电赛 回复
&lt;p&gt;未看到大赛logo&lt;/p&gt;
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow