久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 我的單片機(jī)電子密碼鎖程序 [打印本頁(yè)]

作者: gctg    時(shí)間: 2019-5-11 20:44
標(biāo)題: 我的單片機(jī)電子密碼鎖程序


單片機(jī)源程序如下:
  1. #include "Absacc.h"
  2. #define C8255_A XBYTE[0x7F00]  //8255 端口地址定義
  3. #define C8255_B XBYTE[0x7F01]
  4. #define C8255_C XBYTE[0x7F02]
  5. #define C8255_CON  XBYTE[0x7F03]

  6. unsigned char a[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
  7.                                         0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
  8. unsigned char b[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; // 顯示緩沖

  9. unsigned char key_down;
  10. unsigned char key_value;
  11. unsigned char key_count;
  12. void delay(unsigned int time)
  13. {
  14.         unsigned int i;
  15.         for(i=0; i<time; i++);
  16. }
  17. void keyscan() // 按鍵掃描函數(shù)
  18. {
  19.         unsigned char cc;
  20.         C8255_A = 0x00; //X1 ~ X4 置 0
  21.         cc = C8255_C;  // 得到 Y1 ~ Y4 的值
  22.         key_down = (~cc) & 0x0f;
  23. }
  24. void display() // 顯示函數(shù)
  25. {
  26.         unsigned char i, j = 0xDF;
  27.         for(i=0; i<6; i++)
  28.         {
  29.                 C8255_A = 0xFF;
  30.                 C8255_B = a[b[i]]; // 查表輸出顯示
  31.                 C8255_A = j;
  32.                 delay(0x100);
  33.                 j = (j>>1)|(j<<7);
  34.         }
  35. }
  36. void clear()  // 清屏
  37. {
  38.         C8255_B = 0x00;
  39. }
  40. void writebuffer()
  41. {
  42.         b[key_count] = key_value;
  43.         key_count--;
  44.         if(key_count == -1)
  45.         key_count = 5;
  46.         display();
  47.         clear();
  48.         keyscan();
  49.         while(key_down) // 鍵盤消抖
  50.         {
  51.                 display();
  52.                 clear();
  53.                 keyscan();
  54.         }
  55. }
  56. void getkey()  // 得到按鍵值
  57. {
  58.         unsigned char value;
  59.         unsigned char i, j = 0xFE;
  60.         for(i=0; i<4; i++)
  61.         {
  62.                 C8255_A = j;
  63.                 value = C8255_C;
  64.                 if(!(value & 0x01)) // 行 1
  65.                 {
  66.                         key_value = i + 0;
  67.                         writebuffer();
  68.                         return;
  69.                 }
  70.                 if(!(value & 0x02)) // 行 2
  71.                 {
  72.                         key_value = i + 4;
  73.                         writebuffer();
  74.                         return;
  75.                 }
  76.                 if(!(value & 0x04)) // 行 3
  77.                 {
  78.                         key_value = i + 8;
  79.                         writebuffer();
  80.                         return;
  81.                 }
  82.                 if(!(value & 0x08)) // 行 4
  83.                 {
  84.                         key_value = i + 12;
  85.                         writebuffer();
  86.                         return;
  87.                 }
  88.                 j <<= 1;
  89.         }
  90. }
  91. void main()
  92. {
  93.         C8255_CON = 0x81;  //8255 初始化
  94.         key_count = 5;
  95.         while(1)
  96.         {
  97.                 display(); // 顯示
  98.                 clear();  // 清屏
  99.                 keyscan(); // 按鍵掃描
  100.                 if(key_down)  // 判是否有鍵按下
  101.                 {
  102.                         display();
  103.                         delay(0x80);
  104.                         clear();
  105.                         keyscan();
  106.                         if(key_down)
  107.                         {
  108.                                 getkey();  // 得到按鍵值
  109.                         }
  110.                 }
  111.         }
  112. }
復(fù)制代碼

所有資料51hei提供下載:
課程設(shè)計(jì).zip (293.17 KB, 下載次數(shù): 4)
keshetu.doc (256.5 KB, 下載次數(shù): 3)



作者: xingmou2000    時(shí)間: 2019-6-8 13:54
這里面哪來(lái)的8255~~




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产成人在线播放 | 超碰97人人人人人蜜桃 | 在线免费看毛片 | 中文字幕av色 | 亚洲一区二区三区在线视频 | 久久人体视频 | 欧美日韩亚洲一区 | 色偷偷人人澡人人爽人人模 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 伊人欧美视频 | 久久久999国产精品 中文字幕在线精品 | 亚洲成av| 狠狠色综合网站久久久久久久 | 中文字幕在线观看视频一区 | 久久99久久 | 亚洲欧美一区二区三区1000 | 一级毛片视频在线 | 在线日韩不卡 | 国产精品中文字幕一区二区三区 | 日本一道本视频 | 国产日韩欧美在线 | 亚洲欧洲综合av | 毛片一区二区三区 | 伊人狠狠操 | 美女精品一区 | 亚洲精品视频在线看 | 超碰97人人人人人蜜桃 | 99在线精品视频 | 日韩美女爱爱 | 最新国产在线 | 国产91亚洲精品一区二区三区 | 久久成人一区二区三区 | 最新毛片网站 | 日韩欧美国产精品一区二区三区 | 9色网站| 精品久久久999 | 中文字幕乱码一区二区三区 | 狠狠干影院 | 精品国产一区二区三区成人影院 | 日本特黄特色aaa大片免费 | 免费观看一级特黄欧美大片 |