16位单片机大作业_第1页
16位单片机大作业_第2页
16位单片机大作业_第3页
16位单片机大作业_第4页
16位单片机大作业_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海电力学院16位单片机应用大作业课程名称16 位单片机应用课程编号 1院(系)电子与信息工程学院专 业电子科学与技术任课教师 杨芳班 级2013142姓 名 DANGDANG 学号 2013000题目:十六位单片机-密码锁设计目的及要求运用C语言,MC9s12XS128知识,对实现密码锁进行软件和硬件的设计 和调试,掌握如何使用CodeWarrior来整合各种驱动模块,例如本实验运用到的 键盘中断、LCD PWM及小灯模块,将这些模块整合在一起再通过算法实现硬 件上的运行,达到密码锁的功能。密码锁主要功能:利用键盘中断、LCD小灯、PWM1块,按下按键,在LCD可以显示对应值, 并将其与预设

2、密码进行比对。若正确,则LCD显示right ,小灯由暗变亮;否则, LCD显示wrong,小灯一直保持流水灯状态,直至输入的密码正确。二、设计内容与实现过程本次用到了相对还是比较多的模块,主要有SCI串口通信模块,LED显示模块,LCD显示模块,Timer定时器模块和中断模块,主要采用了定时器和中断 的方式去控制整个系统的工作,能在超级终端以及LCD上实时显示时分秒的数据,主要是在Timer的样例程序中对当中的一些驱动以及主函数中数据的定义进 行一定量的修改,来保证控制功能的实现。具体功能和实现过程如下:1、Main函数(1)全局变量定义在此语加全局变量定义tiiiit 0 ree&

3、ivs_d3ita 32 juint 8 pjticxl, dutp;uintS k.e/4:unit 9 atudf 4;uiut8 rsiiember;unsigned char loopuindeK.(2)主函数/主函数 void ma in()小1主程序使用的变量定uint32 mRuncount=O ;“运行计数薪”口.2关总中断DistjLel nterrupt ():八3芯片初始化MCUInit(FBUS_32M):z/0 4模块初始化Light_Init(Light_Run_FORT.Light_Run,Light_OFF): “RUM指示灯初始优为暗 SCIInitfO. F

4、EUS_32K, 9600):“串口。初始比KBImtO ;使盎初始化LCDInitf);LCDSho-(uint8 *)" SHIEP EST20132431 byALfred ");/ LCD显示初始化P¥MIni.t(2);PVMInLt(3); period = OkFF; dutv=0kFF:初始化ENM通道1“PWM周期PVM占空比key key key key123DDRB= 4、6'='6';Duff ;“存放正瞒的密码2 U“设置PORT 口为输出Loop_indeH=0:renenber - key3; “0.5开放中断

5、 EnableSCIRelntD; EnsbleKB int();Enableln terrupt();开放5cl 0接收中断开放键奉干断开瑟总干断(3)主循环/主循环for<;)( “1 主循环时数到一定的值快Run灯的亮,暗状态切换/丁 nRuncount+;1/ if (mE?unccunt >'500000)” mE?uncount = 0;Light_Change(Light_Run_PORT, Light_Run); 指示灯的亮、暗状态切换memcpy (recei ve_dataHpassword:工产x;"H 32);Teceive_data 1

6、9 J =r.nn 0 ; receive_de to 1 =n'.im 1' zrecsEive_da ta 1L =nuijft 2 : zreczEive_da ta 12 =nuui 3 :if (num 0 = = l<ey 0L =key 1 2 = =key 23 =lcBy 3 )receiue_data rece-.ve_d*ta rece i ve_da t a receive_data reeeive_dat*12 3 4 52 2 2 2 2if(duty-0) duty-OxFF;duty一:PWMSet ting(2, periczd>

7、duty);PWMSetting(3,period* duty);ItelayClOOO);“不断增加F砒1的占空比slss<receive_dataf21. receive_dat322.r ece i veda. t a. 2 3 ; rece i ve_ da. t a 24 : receive_data25 :才 ;r'CF ; n'丁;switch(Loop_index)case 0 : £D0RTB=0xFLE; br-eak; ease 1:7'5.T3-0xrD; br-BaiJc; ease 2 :三'ORTEi三 口三丁口 :

8、 br-eaik: case 3:PORTE-OxF7:break; case 4 : PORTS"OxEIF; break; ease 5:PORTE-OxDF:break; case & : PORTS 算BF. break.case 7:PORTB-Om7F;)lcop_index+;i £(loop_index=B)lcop_index-0;>Delay(l(JOC);LCDShow(uintS *)receive_data);2、实验采用的模块*i£ndef INCLUDES>def itie :NZLUrE5_/通用头文件inclu

9、de主芯片头文件 include"Type h""GeiisralFwn. h""MC3SL2XSL23 h"MCUInith"包含面向硬件对象头文件C即构件模块)#includetfinclude include#include#endif"GF10 h”"Light.h"SCL.h" "KEL_I.h" "LCD.h" "PUM.h"要型别名定义头文件“通用的数头我件芯片去定义头文件 ”芯片初(始化头立件普通工。口构件头文

10、件“小灯构件头文件/5匚工串口构件头文件福盘构件头文件LCD显示模块运行程序后,LCD上会显示 “password: r/w:",在对应位置还会显示按下的键位对应的定义值。jnemcpyt receive da La _ * passwozrd :“审: 32):recaive_dait« reoe i ve_da t* receiue_data receive data-I-II-11-1TJO 1 2 9 1 1 1nuiKiU :num = nun = nijnri-键盘中断模块按下键位后,键值存入valve ,调用KBDef函数,将valve键值转为定义 值,存入n

11、um数组中。for (i-0 ; i<S; ii); v*lve KBScanNf10);/ SCISendl( 0,. valve);SCISendl (0. XEDef (waive)KBInitO ;EnableKBint();Enab1eIn t erxup t();”扫描键值.存于中31西中发送键值发送键盒值道盘初始化开静键盘中断numnum nuin numTJ-TJ TJ 0 12 3=0:=0;-o:/开放苒中断numf-KBDef(valve);f+;i£(f>-4)f =0;小灯显示模块小灯为共阳极程序运行后,PORTBG在前面设置为输出,小灯会出现流

12、水灯现象。swi teJi( 1 oop_index)<case 0 : POR L : ;= OhFE: break; cage 1 : POj-i' l : =0xFD; break ; case 2:FORTB=DxFB;break: case 3:PORTB=0xF7: break: case 4 : PORTB=OxEF;break; case 5:PORTB=OhDF:brsak: c.sse 6 - - i'f- = OxEiF : treok - ose 7;PORTB=Ok7F;locp_indeK+;if (locp_indf=tK:= =&)

13、locp_indeK;0;m i I - c c c、pwMK块Period为PWMB期所占时钟周期数,duty为PWM空比所占的PWMB期数。此处不断增加占空比,实现小灯由暗变亮的显示。if fduty=-0) duty-OEFF.duty,rUMLet i:i? ( 2. per iod. ditsi j/4不断增加FUN的 占空比PWMSe11ing(3.period, duty)JDelay(1000);三、小结此次课程设计,我使用了键盘中断、LCD小灯以及PWMg块,共四个模块, 设计出了一个密码锁。在本次试验中,我不可避免的遇到一些问题:PWMSetting 函数理解不够深入。程序中所用的 PWM目关语句在之前做P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论