找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5472|回复: 8
打印 上一主题 下一主题
收起左侧

C51单片机关于用独立按键切换两个程序

[复制链接]
跳转到指定楼层
楼主
ID:708554 发表于 2020-3-26 14:01 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Teaposion 于 2020-3-26 18:57 编辑

各位大佬我写了两个程序,用一个独立按键进行切换(想法是按下一次切换A程序,再按下切换B程序),现在结果是只能显示一种程序,求各位大佬帮忙看下。只列出了主函数,全部单片机程序代码仿真打包在最下面。
  1. #include "public.h"
  2. #include "lcd.h"
  3. #include "temp.h"
  4. #include "temperature.h"
  5. #include "reg52.h"
  6. #include "calculator.h"

  7. sbit k4=P3^2;
  8. bit flag_a=0;
  9. void keypros()
  10. {
  11.         if(k4==0)
  12.         {
  13.                 flag_a=1;
  14.         }
  15.         else
  16.         {
  17.                 flag_a=0;
  18.         }
  19.         if(flag_a==0)   //执行温度计程序
  20.         {
  21.                 LCD_Init();
  22.                 kai_display();
  23.                 while(1)
  24.                 {
  25.                 if(mode==0)
  26.                         Temp_DataPros();
  27.                         KEY_Pros();        
  28.                         TempData_Compare();        
  29.           }
  30.         }
  31.         else         //执行计算器程序
  32.         {
  33.                 lcdinit();  
  34.                 while(1)
  35.                 {
  36.                 keyscan();        
  37.                 }
  38.         }
  39. }

  40. void main()
  41. {        
  42.         while(1)
  43.         {        
  44.                 keypros();  //按键函数        
  45.         }               
  46. }
复制代码

新建文件夹.zip (190.78 KB, 下载次数: 26)



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:708554 发表于 2020-3-26 15:31 | 显示全部楼层
黎明初至 发表于 2020-3-26 15:09
if(k4==0)
        {
                flag_a=1;

那该怎么改啊
回复

使用道具 举报

板凳
ID:708554 发表于 2020-3-26 18:59 | 显示全部楼层
wulin 发表于 2020-3-26 16:51
按一次改变一次
void keypros()
{

还是不行啊大佬  上电默认为温度计,按下独立按键没反应。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表