欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    ARM嵌入式系统设计与应用技术密码锁系统设计Word文档格式.docx

    • 资源ID:3413329       资源大小:266.91KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ARM嵌入式系统设计与应用技术密码锁系统设计Word文档格式.docx

    1、向上为增,向下为减,左右为调整输入对应的位。2)输入数字过程中,用指示灯LED1-LED4表示输入状态指示灯,即上面的JOY_UP(LED1)、JOY_DOWN(LED2)、JOY_LEFT(LED3)、JOY_RIGHT(LED4)。每按一次上面的键,对应的LED就亮一次。3)按下Key键表示6位数字密码最终确认。2、设置密码步骤(设置密码需要输入两次)。1)在没有给FLASH设定密码前,系统处于待设定密码状态。液晶屏幕上默认显示如下:(居中显示,显示内容也必须一致)Keywords:0-0-0-0-0-0Please Set Keywords2)用Joystick键按照第1点的方式设置密码

    2、。将初始密码设置为:1-2-3-4-5-6。3)当上面6位密码输入完之后,按下Key键表示确认密码设置完成,此时将设定的密码写入FLASH存储器(M25PE80),写入确认成功后(读回写入的数据并比较即为检查成功),清屏,并显示:Keywords DonePlease Set Keywords again根据提示再次输入6位密码。按Key再次确认输入后,系统将本次输入的密码与FLASH中第一次设置的密码进行比较,不相同表示密码设置失败,相同则表示密码设定成功。密码设定失败后,复位后液晶显示:The Keywords set unsuccessfulPlease Set Keywords:设定密

    3、码成功后,注意这边一定要是复位后液晶显示:The Keywords has setPlease Enter the Keywords: 此时进入解码状态。3、密码锁解码步骤(解码仅需输入一次密码):1)6位密码输入过程与“设置密码”相同。2)输入6位解码密码后,按Key确认。此时,系统将读取FLASH中6位数据进行匹配。如果数据匹配,那么解码成功,此时液晶屏幕以500毫秒闪烁4次,并显示: You Success!如果数据不匹配,则解码失败,液晶显示: You Wrong! 在液晶屏合适的位置显示组名、姓名、学号、开发日期等信息。可利用STM32开发板的资源扩展其他自定义功能。二、硬件框图1、

    4、LED与GPIO硬件连接图Key 按键GPIO引脚连接图2、Joystick键硬件连接图3、SPI Flash4、LCD三、程序流程图主程序流程框图(无子程序流程框图)四、调试和结果分析1、软件的调试在此次实验过程中,遇到了许多问题:(1)调用库函数的时候该添加哪些文件?怎么设置软件查找文件的路径等。通过查询新建工程模板上详细的解释得以解决。但是程序中存在的库函数的.h文件重定义问题,依然没有解决。(2)实验中LCD上的字符的显示和数字的显示问题?我采用了分别定义数组,分别用不同的函数来显示,至于字符和数字之间的距离,是通过不断的调试最终得出合适的值。(3)如何用JOYSTICK摇杆键来实现对

    5、LCD上数字的加减和移位操作?我采用调用库函数uint8_t Key_Scan(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);然后判断按个按键按下,执行程序中运用数组的操作。比如向上拨动JOYSTICK键:if (Key_Scan(GPIOG, GPIO_Pin_15) = KEY_ON) STM_EVAL_LEDOn(LED1); delay_ms(20); STM_EVAL_LEDOff(LED1); if(codei9) codei=codei+1; else codei=9; POINT_COLOR=RED; LCD_ShowNum(148+(2*i-1)*8,

    6、90,codei,1,16); (4)在此次实验中最大的难点是Key键作为输入密码的确认键用的很频繁,而且每次按下Key键需要执行的程序不一样?我采用标志位的方法实现每次Key按键按下的时候执行不同的程序。2、实验结果(1)设定密码成功( “ ”表示按下Key键 )(2)设定密码不成功(第一次输入:1-2-3-4-5-6,第二次输入:1-1-1-2-2-2)(3)解码成功(设定密码为1-2-3-4-5-6)(3)解码不成功(输入密码为1-2-2-1-3-3,再次输入1-2-3-4-5-6,解码成功)五、源程序清单#include include.hstm32f10x.hstm32_eval.h

    7、#define KEY_ON 0#define KEY_OFF 1unsigned char Keywords1 = Passwords: - - - - - ;Unsigned char Keywords2 = Please Set Passwordsunsigned char Keywords3 = Passwords Doneunsigned char Keywords4 = Please Set Passwords againunsigned char Keywords5 = The Passwords has setunsigned char Keywords6 = Please E

    8、nter the Passwordsunsigned char Keywords7 = The Passwords set unsuccessfulunsigned char Keywords8 = You Success!unsigned char Keywords9 = You Wrong!unsigned char Keywords10 = Zhou Diqiunsigned char Keywords11 = SX1505073/Group 6unsigned char Keywords12 = May 9th,2016unsigned int code6=0,0,0,0,0,0;un

    9、signed int GetCode6;void Key_GPIO_Config(void);uint8_t Key_Scan(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);int main(void) unsigned int sectorCnt; static unsigned int i,k,m,n,cmt,cnt,flag=0; SystemInit(); delay_init(); uart_init(9600); STM_EVAL_LEDInit(LED1); STM_EVAL_LEDInit(LED2); STM_EVAL_LEDInit(LED3); S

    10、TM_EVAL_LEDInit(LED4); Key_GPIO_Config(); NVIC_Configuration(); LCD_Init(); SPI_FLASH_Init(); sectorCnt=sizeof(code)/SPI_FLASH_SectorSize; if(sizeof(code)%SPI_FLASH_SectorSize != 0) sectorCnt+; for(n=0; nsectorCnt;n+) SPI_FLASH_SectorErase(i*SPI_FLASH_SectorSize); POINT_COLOR=BLUE; LCD_ShowString(60

    11、,70,Keywords2); LCD_ShowString(60,90,Keywords1); LCD_ShowString(160,160,Keywords10); LCD_ShowString(130,180,Keywords11); LCD_ShowString(140,200,Keywords12); for(k=0;k6;k+) codek=0;for(m=0;mm+)POINT_COLOR=RED;LCD_ShowNum(148+(2*m-1)*8,90,codem,1,16);while(1) if(Key_Scan(GPIOG, GPIO_Pin_13) = KEY_ON)

    12、STM_EVAL_LEDOn(LED4); delay_ms(20); STM_EVAL_LEDOff(LED4); if(i0) i-; i=0; if(Key_Scan(GPIOD, GPIO_Pin_3) = KEY_ON) STM_EVAL_LEDOn(LED2); STM_EVAL_LEDOff(LED2); if(codei codei=codei-1; codei=0; POINT_COLOR=RED;LCD_ShowNum(148+(2*i-1)*8,90,codei,1,16); if(Key_Scan(GPIOG, GPIO_Pin_15) = KEY_ON) /JOY_U

    13、P is pushed if(Key_Scan(GPIOG, GPIO_Pin_8) = KEY_ON) /Key is pushed cnt+; flag+; if(flag = 1) SPI_FLASH_BufferWrite(u8*)code, 0, sizeof(code); LCD_Clear(WHITE); LCD_ShowString(60,70,Keywords3); LCD_ShowString(60,90,Keywords1); LCD_ShowString(40,110,Keywords4); LCD_ShowString(160,160,Keywords10); LCD

    14、_ShowString(130,180,Keywords11); LCD_ShowString(140,200,Keywords12); POINT_COLOR=RED;codek=0; for(m=0; LCD_ShowNum(148+(2*m-1)*8,90,codem,1,16); i=0; flag=2; if(cnt = 2) i=0; SPI_FLASH_BufferRead(u8*)GetCode, 0, sizeof(code); if(codek=GetCodek) cmt+; if(cmt=6) LCD_ShowString(60,50,Keywords5); LCD_Sh

    15、owString(60,70,Keywords6); LCD_ShowString(160,160,Keywords10); for(m=0; cnt = 3; cmt = 0; else cnt = 0; cmt = 0; flag = 0; LCD_Clear(WHITE); POINT_COLOR=BLUE; LCD_ShowString(40,50,Keywords7); LCD_ShowString(60,70,Keywords2); codek=0; LCD_ShowNum(148+(2*m-1)*8,90,codem,1,16); if(cnt=4&cnt=9) SPI_FLASH_BufferRead(u8*)GetCode, 0, sizeof(code); if(codek=GetCodek) cmt+; if(cmt=6) for(i=0;i4;i+) delay_ms(250); LCD_ShowString(100,90,Keywords8); delay_ms(250); POINT_COLOR=BLUE; LCD_ShowString(100,90,Keywords8); cnt=10; cmt=0; LCD_ShowString(100,50,Keywords9); i = 0; cnt =3;六、实验分工和安排自己编写七、对本实验课程的感想和建议


    注意事项

    本文(ARM嵌入式系统设计与应用技术密码锁系统设计Word文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开