OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5583|回复: 4

想用51单片机和as608指纹模块控制舵机怎么下手啊

[复制链接]

2

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-12-18
在线时间
2 小时
发表于 2019-12-18 16:58:03 | 显示全部楼层 |阅读模式
1金钱

最佳答案

查看完整内容[请看2#楼]

先把指纹模块与舵机的代码的单独写好,再结合起来,想要什么功能就加上
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3603
金钱
3603
注册时间
2019-8-14
在线时间
1052 小时
发表于 2019-12-18 16:58:04 | 显示全部楼层
先把指纹模块与舵机的代码的单独写好,再结合起来,想要什么功能就加上
回复

使用道具 举报

6

主题

1127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1656
金钱
1656
注册时间
2019-8-15
在线时间
102 小时
发表于 2019-12-18 19:19:28 | 显示全部楼层
帮顶                                       
成功没有捷径
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-12-18
在线时间
2 小时
 楼主| 发表于 2019-12-19 19:37:35 | 显示全部楼层
hou18 发表于 2019-12-18 16:58
先把指纹模块与舵机的代码的单独写好,再结合起来,想要什么功能就加上

我程序已经完成了,也可以用,但是现在有个问题 直接使用按键就可以在lcd1602上添加指纹,这样作为门锁就没有安全性了,我想在添加指纹的时候需要输入密码,距阵按键程序已经写好 怎么添加进原来的主程序呀
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-12-18
在线时间
2 小时
 楼主| 发表于 2019-12-19 19:40:27 | 显示全部楼层
#include<reg52.h>
#include<intrins.h>
#include"buzz.h"
#include"key.h"
#include"uart.h"
#include"delay.h"
#include"FPM10A.h"
#include"lcd_1602.h"
unsigned char time = 0;
sbit PWM_MOTO = P2^0;

void Sevro_MOTO()
{
        extern unsigned char timebuff;
        if(time <= timebuff)
                PWM_MOTO=1;
        else
                PWM_MOTO=0;
        if(time >= 100)
                time=0;
}


void main()
{       
        extern unsigned char timebuff;
        LCD1602_Init();                        //&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;&Ograve;&ordm;&frac34;§
        LCD1602_Display(0x80,"Fingerprint Test",0,16);         //&Ograve;&ordm;&frac34;§&iquest;&ordf;&raquo;ú&Iuml;&Ocirc;&Ecirc;&frac34;&frac12;&ccedil;&Atilde;&aelig;
          Uart_Init();                        //&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;&acute;&reg;&iquest;&Uacute;
        Key_Init();                                //&sup3;&otilde;&Ecirc;&frac14;&raquo;&macr;°&acute;&frac14;ü
        Delay_Ms(200);          //&Ntilde;&Oacute;&Ecirc;±500MS&pound;&not;&micro;&Egrave;&acute;&yacute;&Ouml;&cedil;&Icirc;&AElig;&Auml;&pound;&iquest;é&cedil;&acute;&Icirc;&raquo;
        Device_Check();                           //&ETH;&pound;&para;&Ocirc;&Ouml;&cedil;&Icirc;&AElig;&Auml;&pound;&iquest;é&Ecirc;&Ccedil;·&ntilde;&frac12;&Oacute;&Egrave;&euml;&Otilde;&yacute;&Egrave;·&pound;&not;&Ograve;&ordm;&frac34;§×&ouml;&sup3;&ouml;&Iuml;à&Oacute;&brvbar;&micro;&Auml;&Igrave;á&Ecirc;&frac34;
        Delay_Ms(1000);                        //&para;&Ocirc;&frac12;&Oacute;&sup3;&Eacute;&sup1;&brvbar;&frac12;&ccedil;&Atilde;&aelig;&Iacute;&pound;&Aacute;&ocirc;&Ograve;&raquo;&para;¨&Ecirc;±&frac14;&auml;
        while(1)
        {
            /**************&frac12;&oslash;&Egrave;&euml;&Ouml;÷&sup1;&brvbar;&Auml;&Uuml;&frac12;&ccedil;&Atilde;&aelig;****************/
                LCD1602_Display(0x80,"  search finger ",0,16);         //&micro;&Uacute;&Ograve;&raquo;&Aring;&Aring;&Iuml;&Ocirc;&Ecirc;&frac34;&Euml;&Ntilde;&Euml;÷&Ouml;&cedil;&Icirc;&AElig;
                LCD1602_Display(0xc0,"  Add     delete",0,16);         //&Igrave;í&frac14;&Oacute;&ordm;&Iacute;&Eacute;&frac34;&sup3;&yacute;&Ouml;&cedil;&Icirc;&AElig;
                LCD1602_Display(0x80,"  shuru     mima",0,16);         //&Igrave;í&frac14;&Oacute;&ordm;&Iacute;&Eacute;&frac34;&sup3;&yacute;&Ouml;&cedil;&Icirc;&AElig;
               
                if(local_date==0)
                {
                        LCD1602_Display(0x80,  " *",0,2);
                        LCD1602_Display(0xc0,  "  ",0,2);
                        LCD1602_Display(0xc0+8,"  ",0,2);       
                }
                else if(local_date==1)
                {
                        LCD1602_Display(0x80,  "  ",0,2);
                        LCD1602_Display(0xc0,  " *",0,2);
                        LCD1602_Display(0xc0+8,"  ",0,2);       
                }
                else if(local_date==2)
                {
                        LCD1602_Display(0x80,  "  ",0,2);
                        LCD1602_Display(0xc0,  "  ",0,2);
                        LCD1602_Display(0xc0+8," *",0,2);       
                }                       
                //&Egrave;·&Egrave;&Iuml;&frac14;ü
                if(KEY_OK == 0)
                {         
                         while(KEY_OK == 0);//&micro;&Egrave;&acute;&yacute;&Euml;&Eacute;&iquest;&ordf;°&acute;&frac14;ü                                                               
                        switch(local_date)
                        {
                                        case 0:  //&Euml;&Ntilde;&Euml;÷&Ouml;&cedil;&Icirc;&AElig;                                               
                                        FPM10A_Find_Fingerprint();                                                                                                                                                                                               
                                        break;       
                                       
                                        case 1:         //&Igrave;í&frac14;&Oacute;&Ouml;&cedil;&Icirc;&AElig;
                                        FPM10A_Add_Fingerprint();
                                        break;                                        
                                       
                                        case 2:        //&Ccedil;&aring;&iquest;&Otilde;&Ouml;&cedil;&Icirc;&AElig;
                                        FPM10A_Delete_All_Fingerprint();
                                          break;
                                }
                        }
                    //&Ccedil;&ETH;&raquo;&raquo;&frac14;ü
                        if(KEY_DOWN == 0)
                        {
                                 while(KEY_DOWN == 0); //&micro;&Egrave;&acute;&yacute;&Euml;&Eacute;&iquest;&ordf;°&acute;&frac14;ü                               
                                   if(local_date<=2)
                                {
                                        local_date++;
                                        if(local_date==3)
                                                local_date=0;                                               
                                }               
                        }                                               
                        Delay_Ms(100); //&Ntilde;&Oacute;&Ecirc;±&Aring;&ETH;&para;&Iuml;100MS&frac14;ì&sup2;&acirc;&Ograve;&raquo;&acute;&Icirc;               
        }
}



void Timer0Interrupt(void) interrupt 1
{
        TH0 = 0x0FF;
        TL0 = 0x38;
        time++;
        Sevro_MOTO();
}


这是主程序 需要在哪里添加矩阵程序来实现添加指纹的 时候必须输入密码
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-1 04:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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