




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
北京交大申请报告单片机课程设计报告一、设计说明声控灯目前的照明灯调节一般都是单一亮度的,通过s51和声音传感器调节led亮的个数实现亮度的调节。二、总体设计系统总体设计三、硬件电路设计整体电路如图所示(声音传感器用按钮开关代替)声音传感器烧写电路。由于at89s51支持isp,所以可以直接使用usbisp下载线下载,十分方便。四、软件设计单片机程序设计使用c语言,在keiluvision3环境下调试完成;调试中使用的isis7professionalusbisp使用progisp1.68下载。主程序流程:该程序逻辑比较复杂,使用了5个变量作为标志,分别用作外部中2断计数,定时器0、1计数,所处模式标志。单片机复位后灯全灭,程序运行在模式0,当有声音作为外部中断进入程序后,开始计时2s,记录2s内声音响起的次数,同时有0.4s的消抖延时。2s后进入中断服务程序中模式0的分支,之后再通过声音次数重新选择模式。这时按照不同的模式亮灯,同时再次有中断后进入相应的模式分支中。五、问题与解决管脚的预定义:设计中使用的头文件为atmel提供的at89x51的标准头文件,刚开始编程时没有注意到该头文件中是如何定义端口的,以为是p0^2,编译后通过查找错误,并到头文件中找相关定义才知道应该是p0_2.模式切换的问题。刚开始编程时把程序想的太简单,有很多问题没有考虑清楚,流程不完整,导致仿真时不出结果,经过2天的思考,把各个模式都想清楚了,再用几个标志变量,整个流程得以完整实现。芯片的选择。由于灯用于照亮,选用的高亮led,电流较大,不能用io口直接驱动,经过查找资料,最终选用8路达林顿管uln2803作为驱动电路,效果比较理想。消抖。在编程前我用示波器观察过声音传感器的输出,有声音时会有一个尖脉冲,波形比较稳定,所以我以为这个程序不需要消抖,但是当最终板子出来后实验发现还是会有抖动干扰。所以加了0.4s的消抖。六、设计成果板子上电后进入待机状态,以拍手为例,2s内拍1下,亮2个灯(亮度等级1),拍2下亮4个灯(亮度等级2),拍3下亮6个灯(亮度等级3),拍4下亮8个灯(亮度等级4)。之后再拍1下是降1个亮度等级,拍2下是升1个亮度等级。七、设计感想这次单片机课程设计中,虽然使用到的器件非常简单,程序涉及的知识也不多,但是整个程序在逻辑上要求比较高,在编程初期思考了很久。在整个设计过程中,硬件电路的焊接比较顺利,在调试中也只遇到了消抖的问题。在整个实验中熟悉了c语言在单片机编程中的应用,感觉高级语言有很大优势,如果逻辑比较复杂的程序用汇编来做的话无法想象。附件:程序代码3XincludeXdefineled1p2_1Xdefineled2p2_2Xdefineled3p2_3Xdefineled4p2_4/*子函数、变量定义*/voidsound_int(void);voidt0(void);voidt1(void);voidt0_0(void);voidt0_1(void);voidt0_2(void);voidt0_3(void);voidt0_4(void);voidbright0(void);voidbright1(void);voidbright2(void);voidbright3(void);voidbright4(void);unsignedinti;unsignedintj;unsignedintt;unsignedintk;/*主函数*/voidmain(void){i=0;j=0;t=0;k=0;led1=0;led2=0;led3=0;led4=0;px0=1;pt0=0;pt1=0;ex0=1;et0=1;et1=1;it0=0;ea=1;while(1);}//变量初始化//io口初始化//外部中断优先级高//定时器中断优先级低//外部中断允许//定时器中断允许//边沿触发//总中断允许4/****************************************//*函数名:外部中断***********************//*功能:定时器初始化、外部中断标志数累加*//****************************************/voidsound_int(void)interrupt0{ex0=0;//关外部中断k=0;//定时器1中断计数清0j=j+1;//外部中断计数tmod=0x22;//定时器0工作方式2,定时器1作方式2th0=56;//定时中断1次200ustl0=56;tf0=0;//定时器0清0tr0=1;//启动t0th1=56;tl1=56;tf1=0;tr1=1;}/**********************************

书生****35
实名认证
内容提供者


最近下载