欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2062|回復: 1
打印 上一主題 下一主題
收起左側

MSP430F149單片機按鍵控制+1602lcd顯示程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:756753 發表于 2022-4-27 17:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. /********************************************************************
  2. //DM430-L型最小系統板4位獨立按鍵測試程序,采用查詢模式,鍵值顯示到1602液晶
  3. //按四個按鍵S1到S4,分別對應1,2,3,4
  4. //調試環境:EW430 V5.30
  5. ********************************************************************/
  6. #include <msp430x14x.h>
  7. #include "Config.h"
  8. #include "1602.c"

  9. uchar key;

  10. //*************************************************************************
  11. //        初始化按鍵IO口子程序
  12. //*************************************************************************
  13. void KeyPort_init()
  14. {

  15.   P1SEL = 0x00;                   //P1普通IO功能
  16.   P1DIR = 0xF0;                   //P10~P13輸入模式,外部電路已接上拉電阻
  17.   P6SEL = 0x00;                   //P6口普通IO功能
  18.   P6DIR = 0xFF;                   //P6口輸出模式
  19. }

  20. //**********************************************************************
  21. //        鍵盤掃描子程序,采用逐鍵掃描的方式
  22. //**********************************************************************

  23. uchar Key_Scan(void)
  24. {
  25.   uchar key_check;
  26.   uchar key_checkin;
  27.   key_checkin=KeyPort;                  //讀取IO口狀態,判斷是否有鍵按下
  28.   key_checkin&= 0x0F;                          //讀取IO口狀態,判斷是否有鍵按下
  29.   if(key_checkin!=0x0F)                    //IO口值發生變化則表示有鍵按下
  30.     {
  31.       delay_ms(20);                          //鍵盤消抖,延時20MS
  32.       key_checkin=KeyPort;
  33.       if(key_checkin!=0x1F)
  34.         {  
  35.           key_check=KeyPort;
  36.           switch (key_check & 0x0F)
  37.             {
  38.               case 0x0E:key=1;break;
  39.               case 0x0D:key=2;break;
  40.               case 0x0B:key=3;break;
  41.               case 0x07:key=4;break;
  42.             }
  43.          
  44.         }
  45.       
  46.    }
  47.   else
  48.    {
  49.      key=0xFF;        
  50.    }
  51.   return key;
  52. }

  53. //***********************************************************************
  54. //     鍵值顯示程序
  55. //***********************************************************************
  56. void LCD_DisplayKey(uchar keynum)
  57. {   
  58.   LCD_write_char(0x0e,1,0x30+keynum);
  59. }

  60. //*************************************************************************
  61. //                主程序
  62. //*************************************************************************

  63. void main(void)
  64. {     
  65.   WDT_Init();                         //看門狗設置
  66.   Clock_Init();                       //系統時鐘設置
  67.   Port_init();                        //系統初始化,設置IO口屬性
  68.   delay_ms(100);                      //延時100ms
  69.   LCD_init();                         //液晶參數初始化設置
  70.   LCD_clear();                        //清屏
  71.   LCD_Desk();
  72.   KeyPort_init();                     //按鍵IO口初始化,設置IO口屬性
  73.   delay_ms(100);                      //延時100ms
  74.   while(1)
  75.     {
  76.       Key_Scan();                     //鍵盤掃描,看是否有按鍵按下
  77.       if(key!=0xff)                   //如果有按鍵按下,則顯示該按鍵鍵值1~4
  78.         {
  79.           {
  80.             switch(key)
  81.               {
  82.                 case 1: LED8 = 0xFC;LCD_DisplayKey(1);break;     //給不同的鍵賦鍵值,鍵值1,亮2個LED燈
  83.                 case 2: LED8 = 0xF3;LCD_DisplayKey(2);break;     //給不同的鍵賦鍵值,鍵值2,亮2個LED燈
  84.                 case 3: LED8 = 0xCF;LCD_DisplayKey(3);break;         //給不同的鍵賦鍵值,鍵值3,亮2個LED燈
  85.                 case 4: LED8 = 0x3F;LCD_DisplayKey(4);break;         //給不同的鍵賦鍵值,鍵值4,亮2個LED燈
  86.               }

  87.           }
  88.         
  89.        }
  90.      else
  91.       {
  92.         //LED=key;                      //沒有按鍵的時候顯示上次的鍵值
  93.       }
  94.     }

  95. }
復制代碼
代碼下載: 4KEY_1602.7z (21.75 KB, 下載次數: 16)

評分

參與人數 1黑幣 +10 收起 理由
admin + 10 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1034811 發表于 2022-6-15 09:16 | 只看該作者
對我很有幫助
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表