找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机可调闹钟代码

[复制链接]
跳转到指定楼层
楼主
自己写的,可以调试。

下载:
骆放—可调闹钟程序.rar (60.08 KB, 下载次数: 11)


  1. #include "main.h"
  2. unsigned char keyscan()
  3. {
  4.     unsigned char keyvalue;
  5.                 KEYPORT=0xf0;
  6.                  
  7.                 if(0xf0!=KEYPORT)
  8.                 {
  9.                     KEYPORT=0xfe;
  10.                                 if(KEYPORT!=0xfe)
  11.                                 {
  12.                                     if(0xf0!=KEYPORT)
  13.                         delay_ms(10);
  14.                                     keyvalue=KEYPORT;
  15.                                                 keyvalue&=0xf0;
  16.                                                 keyvalue+=0x0e;
  17.                                                 while(KEYPORT!=0xfe);
  18.                                                 delay_ms(10);
  19.                                                 while(KEYPORT!=0xfe);
  20.                                                 return keyvalue;
  21.                                 }
  22.                                
  23.                 }
  24.                
  25.                 if(0xf0!=KEYPORT)
  26.                 {
  27.                     
  28.                     KEYPORT=0xfd;
  29.                                 if(KEYPORT!=0xfd)
  30.                                 {
  31.                                                 if(0xf0!=KEYPORT)
  32.                                                 delay_ms(10);
  33.                                     keyvalue=KEYPORT;
  34.                                                 keyvalue&=0xf0;
  35.                                                 keyvalue+=0x0d;
  36.                                                 while(KEYPORT!=0xfd);
  37.                                                 delay_ms(10);
  38.                                                 while(KEYPORT!=0xfd);
  39.                                                 return keyvalue;
  40.                                 }
  41.                                
  42.                 }
  43.                
  44.                 if(0xf0!=KEYPORT)
  45.                 {
  46.                     
  47.                     KEYPORT=0xfb;
  48.                                 if(KEYPORT!=0xfb)
  49.                                 {
  50.                                     if(0xf0!=KEYPORT)
  51.                         delay_ms(10);
  52.                                     keyvalue=KEYPORT;
  53.                                                 keyvalue&=0xf0;
  54.                                                 keyvalue+=0x0b;
  55.                                                 while(KEYPORT!=0xfb);
  56.                                                 delay_ms(10);
  57.                                                 while(KEYPORT!=0xfb);
  58.                                                 return keyvalue;
  59.                                 }
  60.                                
  61.                 }
  62.                
  63.                 if(0xf0!=KEYPORT)
  64.                 {
  65.                   
  66.                     KEYPORT=0xf7;
  67.                                 if(KEYPORT!=0xf7)
  68.                                 {
  69.                                                 if(0xf0!=KEYPORT)
  70.                                                 delay_ms(10);
  71.                                     keyvalue=KEYPORT;
  72.                                                 keyvalue&=0xf0;
  73.                                                 keyvalue+=0x07;
  74.                                                 while(KEYPORT!=0xf7);
  75.                                                 delay_ms(10);
  76.                                                 while(KEYPORT!=0xf7);
  77.                                                 return keyvalue;
  78.                                 }
  79.                                
  80.                 }
  81.                 return 0xff;
  82. }

  83. unsigned char keypro()
  84. {

  85.     unsigned char num;
  86.                 num=keyscan();
  87.                 switch(num)
  88.                 {
  89.                     case 0x7e:return 0;break;
  90.                                 case 0xbe:return 1;break;
  91.                                 case 0xde:return 2;break;
  92.                                 case 0xee:return 3;break;
  93.                                 case 0x7d:return 4;break;
  94.                                 case 0xbd:return 5;break;
  95.                                 case 0xdd:return 6;break;
  96.                                 case 0xed:return 7;break;
  97.                                 case 0x7b:return 8;break;
  98.                                 case 0xbb:return 9;break;
  99.                                 case 0xdb:return 10;break;
  100.                                 case 0xeb:return 11;break;
  101.                                 case 0x77:return 12;break;
  102.                                 case 0xb7:return 13;break;
  103.                                 case 0xd7:return 14;break;
  104.                                 case 0xe7:return 15;break;
  105.                                 default:return 0xff;break;
  106.                 }
  107. }
复制代码


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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