《单片机原理与技术》课程设计——彩灯控制器.docx

上传人:太** 文档编号:66943992 上传时间:2022-12-23 格式:DOCX 页数:19 大小:1.40MB
返回 下载 相关 举报
《单片机原理与技术》课程设计——彩灯控制器.docx_第1页
第1页 / 共19页
《单片机原理与技术》课程设计——彩灯控制器.docx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《《单片机原理与技术》课程设计——彩灯控制器.docx》由会员分享,可在线阅读,更多相关《《单片机原理与技术》课程设计——彩灯控制器.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、(封面)XXXXXXX 学院单片机原理与技术课程设计报告题目:院(系): 专业班级: 学生姓名: 指导老师: 时 间:的时候应该延时一段时间,否则我们就看不到闪烁效果。程序启动时跳转到键盘判断模块程序中,此程序里面包含KeyOKey3的按 键情况判断,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯显示。3-2软件流程图3-3软件详述3-3-1 8279显示函数在实验中调用本子函数,完成数码管的显示功能:void disp8279(void)数码管显示函数 (unsigned char i, j;while(i=0x80)(j=C8279;i=0x80&j;for (i=0; i8; i

2、+)8个数码管共同显示j=bufferi;D8279=tablej;3-3-2 8279初始化函数在程序中,通过调用本子函数,完成数码显示管的初始化功能,写入预置的 值。void init8279(void)C8279=0;C8279=0X2A;C8279=0xD0;C8279=0x90;C8279=0;C8279=0X2A;C8279=0xD0;C8279=0x90;/8279方式字8279分频系数10分频清显示设置从左边开始写入 其中初始化值为:buffer0=0xl2;bufferl=0xff;buffer2=0xff;buffer3=0xff;buffer4=0xff; buffer5

3、=0xl2;buffer6=0xl2;buffer7=0xl2;3-3-3获取按键值通过本子函数获取按键值,通过这个按键值来选择控制LED灯闪烁的花型, 按键为0-3 ounsigned char getkey(void)unsigned char i,temp;i=0;temp=C8279;i=temp&0x07;if(i!=0)如果有按键则执行temp=D8279;for (i=0;i4;i+)if (temp=keyi)kk=i;break; )else ;/如果无按键则直接返回KKreturn kk;第四章系统仿真调试4-1系统仿真本设计使用的Keil C51软件来进行编程。Keil

4、C51提供了包括C编译器、 宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案, 通过一个集成开发环境(uVision)将这些部份组合在一起。将编写的源程序建立工程后,写入ST89c52,如下图:4-2实验结果STC-ISP. exe. BCU-HeMory. com 技术支持: 姚永平)Ver:4. 7. 9叵|区|Stepl/步骤1: Select MCU Type 选择单片机型号MCU Type AP Memorv|STC89C52RC |0000 1FFFStepl/步骤1: Select MCU Type 选择单片机型号MCU Type AP Memorv|STC8

5、9C52RC |0000 1FFF程序文件| _no_串口调试助手工程文件Program File : C : VDocuments and SettingsAdmini strator,桌课程Step2/步骤2: Open File /打开文件改件范围内未用区域填00) 起始地址(HEX)校验和10I000CF4AH V打开文件前清。级冲OpenFile/打开文件|R 打开文件前清。缓冲 打开数据文件 |地址 00 01 02 03 04 05 06 07 08 09 0A OB OC OD OE OF000ICO 000IDO 0001EO000IFO0400 E E o O o F o

6、O 9 7 0 02800 2 7 0 0A2OO E 2 o O o o o O8FOO EOOO 0 9 0 05 4 0 0F 7 o O o o B O8FCO DOOO B D o O 8420F7OO 1080OF1O c A1OB 2 8 O C45O0770 1ODO o F F O0480 EDOD 1 6 O BOFOCOM: |C0M2 山 :.:最高波特率:115200请尝试提高最低波特率或使最高波特率=最低波特率:1200Step3/步骤3: Select COM Port, Max Baud/选择串行口,最高速特型Step4/步骤4:设置本框和右下方选项中的选项Do

7、uble speed /双倍速: 6T/双倍速12T/单倍速振荡放大需增益:,1/2 gain Q full gain如需低功耗,16MHz以下振荡器增益可选1/2 gain下次冷启动Pl . 0, Fl . 1 G与下载无关等于0,。才可下载,快速启动 内部扩展RUX-RAM:L 禁止法问G 允许访问翁烈推荐)下次下载用户应用程序时将数据Flash区一并接除r YESNOStep5/步骤5: Download/下载 先点下载按钮再MCU上电复位-冷启期Download/下载 IRe-Download/重复 F载 |r每次下载前重新调入已打开在辍冲区的文件,方便调试使用 厂当目标代起发生变化后

8、自动调入文件,并立即发送下载命令选项 自定义下载脱机下载I检查MCU选项自动增量ISP demcaL 以下功能仅针对STC89C51RC/RD+系列单片机新版本C版有效2005年6月以后供货用户软件启动内部看门狗后U只有停电关看门狗 与 复位关看门狗正率建除应用程序区.(oo:oi )zT正在下载(开始时间:14:49:47) Program 0K / 下载 0K Verify OK / 校验 OK erase times/擦除阻间、:00 : 01 program times/下载时间:00 : 00 Have already encrypt. / 已加空y成功计数Clear |请关注www

9、. MCU-Memory. com网站,及时升级下载成功声音提示:3 YESr NO 重复下载间隔时间触)(5三扁扁总8招出忸组忸8宿东计算机厂再展型实环区 36304-3系统调试序号测试项目测试方法测试结果行状态分析1是否能正常工作打开软件,加载程序,点 击开始运行。无任何错误提示仿真电路正常2彩灯花型控制运行仿真,随机按下任意 按键,观察彩灯显示效 果。对应按键按下,彩灯出现 不同花型。本设计实现了多 控制、多闪烁的 LED彩灯循环。3节奏快慢控制调节0-5V旋钮,观察彩 灯循跳动节奏当调节电压大小时,彩灯 循环闪烁变慢。本设计实现了用 电压控制彩灯闪 烁的快慢。经以上仿真上测试证实,能实

10、现本设计系统要求的预期的功能。第五章心得体会在经过两周的不懈努力中,终于完成了课程设计任务。通过本设计锻炼了我 们的实践能力,也是对以后我们实际工作能力的训练和考察过程。现在是一个高 科技的时代,单片机的应用无处不在,这更坚定了我要学好单片机的决心。本设计本身就比较简单,整个毕业设计的过程中每一步都是自己亲自做过 的,在经过遇到问题,思索问题到解决问题的过程中,收获是最多的。以往没有 注意到的问题,都在这一次的毕业设计中得以体现,这培养了我的细心,耐心和 专心。我觉得能够在这次的课程设计中学到很多的东西,以往不注意的细节,在 这一次中是必须让自己去注意的。最后,由于时间仓促,错误与不妥之处在所

11、难免,敬请老师批评指正。参考文献1周国运.单片机原理及应用.北京:中国水利水电出版社,20092陈梓城.模拟电子技术基础.北京:高等教育出版社,20073陈正义.单片机控制实习M.北京:人民邮电出版社,20064李朝青.单片机原理及接口技术.北京:人民邮电出版社,2006附录:源程序ftinclude ftinclude ftinclude ftdefine AD0809 XBYTE 0X8000/0809 接 Y0 地址为 8000Hftdefine C8279 XBYTEOxEOOldefine D8279 XBYTEOxEOOO#define unit unsigned int#defi

12、ne uchar unsigned charunsigned char code table24 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 070x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, -f0x73, 0x3e, 0x40, 0x6e, 0x76, 0x38, 0x00, 0x80);/P(10),U(ll),-(12),Y(13),H(14),L(15),(16)(17)unsigned char code key 16 = 0x23,0x2b, 0x33, 0x3b, 0x22,

13、 0x2a, 0x32, 0x3a,0x21, 0x29, 0x31, 0x39, 0x20, 0x28, 0x30, 0x38;unsigned char buffer8 ; /数码管显示void delay (unsigned char il);定义延时函数void disp8279(void);定义 8279 显示函数void init8279(void);定义初始化 8279 函数unsigned char getkey(void) ;/定义键盘信息获取函数uchar a, b, c, anjian, kk, ge, shi, bai;uchar code seg = 0x81, 0x

14、42, 0x24, 0x18;定义的数组放入两边向中间代码 段中uchar code reg=0x18, 0x24, 0x42, 0x81;定义的数组放入中间向两边代码 段中uchar num;void main (void)a=0x01;init8279();初始化 8279buffer 0 =0x12 ;数码管写入初值bufferl=0xff;buffer2=0xff;buffer3=0xff;buffer4=0xff;buffer5=0xl2;buffer6=0xl2;buffer7=0xl2;init8279();初始化 8279disp8279();显示数码管内容delay (1);

15、调用延时TMODRxOl ;定时器初始化THO= (65536-45872)/256; 计时器初值TLO= (65536-4872)%256;EA=1;开启定时器、中断等ETO=1;TRO=1;while(1)AD0809=0;delay (1);ge=AD0809%10; /AD 输入量个位 shi=AD0809%100/10;/AD 输入量十位 bai=AD0809/100;/AD 输入量百位 buffer7=bai;buffer6=shi;buffer5=ge;anjian=getkey ();将键盘获取的值给anjianbuffer0=anjian;disp8279();)void T

16、0_time () interrupt 1定时中断 unsigned char k;k=52-(AD0809/5);根据的AD输入量得出的计数值THO= (65536-45872)/256; 重装初值TLO= (65536-4872)%256;num+;if (num52| |num0)将 num 保持在一定范围 num=O;switch(anjian)(case 0:右移 if (num=k) num=O;Pl=a;a=_cror_ (a, 1) ; break;case 1:左移 if (num=k) ( num=O;Pl=a;a=_crol_(a, 1) ; break;case 2:两

17、边向中间 if (num=k) ( num=O;Pl=segc; c+;if (c=4) c=0;) break;case 3:中间向两边 if (num=k) (num=O;本次课程设计的题目是彩灯控制器,即通过单片机的I/O接口控制八盏LED 灯,实现四种灯光效果,并且包含信号显示、按键切换、调速等功能。该课设是 涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程 应用,包含A/D转换模块、数码显示模块、键盘显示控制模块、并行接口模块等, 通过DVCC58B实验箱连接各个模块,完成实现彩灯的花型显示与控制等功能,同 时通过课程设计的教学实践,将课本所学应用于实际中,

18、缩小理论与实际的差距, 进一步学习,掌握单片机应用系统的有关知识,加深了解单片机的工作原理。初 步掌握简单的单片机应用系统的设计、制作、调试的方法。关键词LED彩灯;彩灯控制系统;闪烁方式Pl=regb; b+;if (b=4) b=0;) break;void delay (unsigned char il)延时函数 unsigned char ii;unsigned int jj;for (ii=0;iiil;ii+)for (jj=O;jj0xl80;jj+);void disp8279(void)数码管显示函数(unsigned char i, j;while (i=0x80)(FC8

19、279;i=0x80&j;for (i=0; i8; i+)/8个数码管共同显示(j=bufferi;D8279=tablej;void init8279(void)C8279=0;8279 方式字C8279=0X2A; 8279分频系数10分频C8279=0xD0;清显示C8279=0x90;设置从左边开始写入unsigned char getkey (void) 获取按键值 (unsigned char i,temp;i=0;temp=C8279;i=temp&0x07;if(i!=0)如果有按键则执行(temp=D8279;for (i=0;i 供电 信号通过对基于单片机的控制、多闪烁方

20、式的LED彩灯循环系统的设计,来达 到本设计的要求。其硬件构成框图如图所示,以单片机为核心控制,由单片机最 小系统(数码管显示电路、复位电路、电源)、按键控制电路、LED发光二极管 和5V直流电源电路组成。2-2单片机最小系统要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路 等组成。单片机最小系统如下图2-2所示。时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz 石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉 冲直接送入内部的时钟电路。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系 统的复位方式有上电自动复位

21、和手动按键复位。本设计采用手动按键复位,该复 位方式同样具有上电自动复位功能。电路如下图所示:C6OMB0R10330 R C5 22uF CRYSTA.C7 HI 33P l时钟电路导U2X119复位电路R11330 R GND-H5VZk 2930313. 4 5.6. 工 8XTAL1on n / AmorU .uffLVP0.1XAD1XTAL2P0.2/AD2 an orU .JAAUJP0.4/AD4P0.5XAD5P0.6XAD6RSTP0.7/AD7P2WMP2.1/NP2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A

22、15P1.0P3.D/RXDP1.1P3.1/TXDP1.2P3.2/1 NTDP1.3P3.3/INT1P1.4P3.4/TDP1.5P3.5/T1P1.6oP3.6/WRP1.7oP3.7/RDAT89C51-39383736353433322122232425262728101112131415162-3 LED彩灯显示电路LED彩灯显示电路(如图所示)实际上是由8个发光二极管和8个电阻构成的 电路。发光二极管与电阻对应串联,然后接在与之相对应的P0 口上。通过软件编 程对P0 口输出高低电平来实现不同的闪烁花型。D1R10.0/ADO 0.1/AD1O .2/AIX2 O.3/ADG

23、O.4/XM4 O.5/M5O.7/AD7P2.OZ#seP2.1Xfie52.2/AIO 2.3/AH 2.C/A12 2.5XA1327/A153.O/RXD 3.1/TXD 3.2/iNTO3.3/INT1 P3.4/TO P3.5/T1=3.6/ P3.7/RD3。38373b353。333221222324252627281。1112131516Z3ZKT89C51-MY LED-YELLOWD2330 RR2 LED-YELLCWD3330 RR3 LED-YELLOWD4330 RR4 LED-YELLCWD5330 RR5TEXT: LED-YELLCWD6330 RR6 LE

24、D-YELLCWD7330 RR7 LED-YELLOW D8330 RR8 LED-YELLCW330 R2-4按键控制电路利用8279可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定、程序简单、不会出现误动作等优点。在实验中使用按键控制LED灯花型的选择,通过指定的按键指向指定的花 型。2-5 A/D转换电路用实验仪上的0809做A/ D转换实验,实验仪上的电位器提供模拟量输入。 强制程序,将模拟量转换成数字量,通过显示接口芯片8279在七段数码管上显 Zj o实验中是将输入的模拟信号转化为数字信号在数码管上显示,指示输入信号 大小。JNO26ms b2 -12-2IN O

25、27INI2-32-428IN-22-512-611N32-7*Isb2 -8IN4AEOCINSADI3A4IZ6ADOBADD-CIN7ALEC;NL |16reft-)ENA B UESTART1 2V CGAIX:OK(9CLK.UB4374HCO45OOKHZ0809UB4 74LS022-6 串口电路串口电路为单片提供与pc机连接端口,为单片机提供下载程序到单片机程 序存储器中。串口原理图如图所示。串口也称串行通信接口,RS-232是目前最常用的一种串行通讯接口,由于 其形状和针脚数量的原因,其接头又被称为DB9接头。RS-232针脚定义:2 RXD -Receive Data 接

26、收数据、3 TXD Transmit Data 发送数据、5 GND 一 System Ground系统接地,一般就用到这几个引脚。第三章软件设计3-1软件设计概述单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后, 我们还不能看到多控制、多闪烁方式的LED灯系统循环点亮的现象,我们还需要 告诉单片机怎么样进行控制,即编写程序控制单片机管脚电平的高低变化,来实 现发光二极管的明灭。软件编程是多控制、多闪烁方式的LED灯系统中的一个重 要的组成部分,是本设计的重点和难点。本设计是以单片机AT89C52为核心控制8个发光二极管4种闪烁方式的变 换。因此,要实现流水灯功能,我们只要将发光二极管LED1LED8依次点亮、 熄灭,8只LED灯便会一亮一暗的成流水灯了。在此我们还应注意一点,由于人 眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭U1C1 +Cd-C2 日-1 u piT1 OUTRd INT2OUTR2IN:二 AVS-627_38O9MAX232T1 INR1 OUTT2INR2OUTC1 日1 uFp C3Id uFTExtC51 uF1 C4 FCOMPIM ERROR DCD DSR RXD RTS TXD CTS DTR RI

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁