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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2712|回復: 3
收起左側

關于51單片機的密碼鎖程序問題

[復制鏈接]
ID:1091578 發表于 2023-8-19 14:57 | 顯示全部樓層 |閱讀模式
代碼及問題:
// main.c //
#include <regx52.h>
#include "LCD1602.h"
#include "MatrixKey.h"
#include "delay.h"
#include "key.h"
#define LED P2

unsigned char input[16]= {
        'q', 'q', 'q', 'q', 'q', 'q', 'q', 'q',
        'q', 'q', 'q', 'q', 'q', 'q', 'q', 'q'}; // 輸入初始化
unsigned char password[16] = {
        '0', '1', '2', '3', '4', '5', '6', '7',
        '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; // 儲存的正確密碼
unsigned char i, j, key;

void main()
{
        L1:
        // 正常來說應該把這句話加上,但是我加上以后編譯就錯了,不知道為什么
        // input[16]= {
        // 'q', 'q', 'q', 'q', 'q', 'q', 'q', 'q',
        // 'q', 'q', 'q', 'q', 'q', 'q', 'q', 'q'};
        i=0; j=0; key=0;
        LCD_Init();
        LCD_ShowString(1, 1, "Password:");
        LCD_ShowString(2, 1, "                ");
        while(1)
        {
                key = KeyScan(0); // 獨立按鍵,確認鍵控制輸入是否結束
               
                if(MatrixKeyScan(0)) // 4*4矩陣鍵盤輸入密碼
                {
                        input[ i] = MatrixKeyScan(0);
                        i++;
                        for(j=0; j<i; j++)
                        {
                                LCD_ShowChar(2, 1+j, input[j]); // 輸入一位就顯示一位數字
                        }
                }
               
                if(key==1 || i>16)
                {
                        key = 0;
                        for(j=0; j<16; j++)
                        {
                                if(password[j]!=input[j])
                                {
                                        LCD_ShowString(2, 1, "Wrong!          ");
                                        while(key==1)
                                        {
                                                i = 0;
                                                goto L1; // 如果密碼錯了再按一次確認鍵然后就可以重新輸入
                                        }
                                }
                        }
                        LCD_ShowString(2, 1, "Access!         "); // 如果密碼正確就會一直顯示這個
                }
        }
}
// 問題應該全在main.c里,其他的鍵盤和屏幕我都測試過了,那些模塊都沒問題,F象和全部代碼在附件里,主要的問題就是顯示亂碼,非常感謝。

project1.zip

58.26 KB, 下載次數: 3

全代碼

回復

使用道具 舉報

ID:332444 發表于 2023-8-19 17:23 | 顯示全部樓層
不用看就知道輸入轉換錯誤了,看我帖子里面有荔枝,這是寫秒鐘更新,存到數組需要轉換。
無標題.png

回復

使用道具 舉報

ID:332444 發表于 2023-8-19 17:25 | 顯示全部樓層
另外可以這樣寫:unsigned char password[16] = {”0123456789abcdef“};
回復

使用道具 舉報

ID:1091578 發表于 2023-8-20 10:47 | 顯示全部樓層
xianfajushi 發表于 2023-8-19 17:23
不用看就知道輸入轉換錯誤了,看我帖子里面有荔枝,這是寫秒鐘更新,存到數組需要轉換。

好像就是數據類型的問題,我沒有用字符用數字顯示沒有亂碼,非常感謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜在线视频 | 天天干.com | 成人午夜免费视频 | 亚洲精品欧洲 | 亚洲精品久久区二区三区蜜桃臀 | 国产日韩欧美电影 | 亚洲一区二区三区免费在线观看 | 久久精品视频播放 | 国产精品视频免费观看 | www.av在线| 午夜久久久久久久久久一区二区 | 亚洲综合在线网 | 亚洲欧美成人影院 | 中文字幕加勒比 | 久久免费大片 | 高清国产午夜精品久久久久久 | 久久亚洲精品视频 | 久久精品免费观看 | 欧美在线一区二区三区 | 日韩国产在线观看 | 亚洲国产精品99久久久久久久久 | 日本视频在线播放 | 免费成人高清在线视频 | 91深夜福利视频 | 日韩三区 | 国产aa| 欧美一级在线 | 欧美亚洲综合久久 | 午夜精品91 | 成年人精品视频在线观看 | 国产日韩欧美一区 | a在线免费观看 | 久草精品视频 | 美国av片在线观看 | 成人午夜影院 | 黄网站涩免费蜜桃网站 | 欧美久久一级特黄毛片 | 国产精品日韩一区二区 | 久久国产精品久久久久久 | 狠狠撸在线视频 | 欧美多人在线 |