找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10213|回复: 4
收起左侧

单片机按键控制单个数码管显示变化数字源程序

[复制链接]
ID:189065 发表于 2017-4-13 08:52 | 显示全部楼层 |阅读模式
这是我单片机课程中按键控制单个数码管显示的程序
0.png
单片机源程序如下:
  1. /*-----------------------------------------------
  2.   名称:单个共阳数码管动态显示变化数字
  3.   内容:通过循环检测P1口按键输入值,然后用数码管输出,
  4.         没有按键按下时原值不变
  5. ------------------------------------------------*/
  6. #include<reg52.h> //包含头文件,一般情况不需要改动,
  7. //头文件包含特殊功能寄存器的定义

  8. unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,
  9.                                     0x92,0x82,0xf8,0x80,0x90,};
  10.                                     // 显示数值表0-9

  11. /*------------------------------------------------
  12.                     主函数
  13. ------------------------------------------------*/
  14. void main (void)
  15. {
  16.                   

  17. while (1)         //主循环
  18.   {

  19.   switch(P3)  //P3口作为独立按键输入端,检测端口电平并做如下判断                           
  20.        {
  21.         case 0xfe:P1=dofly_table[1];break;//0xfe = 1111 1110,
  22. //说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环
  23.         case 0xfd:P1=dofly_table[2];break;//调用表中的第三个
  24. //元素 0xa4 下标 0 才表示数组中的第一个元素
  25.         case 0xfb:P1=dofly_table[3];break;
  26.         case 0xf7:P1=dofly_table[4];break;
  27.         case 0xef:P1=dofly_table[5];break;
  28.         case 0xdf:P1=dofly_table[6];break;
  29.         case 0xbf:P1=dofly_table[7];break;
  30.         case 0x7f:P1=dofly_table[8];break;
  31.         default:break;    //如果都没按下,直接跳出
  32.        }
  33.                      //主循环中添加其他需要一直工作的程序
  34.   }
  35. }
复制代码


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:314087 发表于 2018-4-22 21:51 | 显示全部楼层
求楼主代码
回复

使用道具 举报

ID:314087 发表于 2018-4-22 21:55 | 显示全部楼层
求楼主代码
回复

使用道具 举报

ID:345911 发表于 2018-6-6 09:19 | 显示全部楼层
求代码
回复

使用道具 举报

ID:1042648 发表于 2022-9-16 13:43 | 显示全部楼层
谢谢分享,求代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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