ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:320.28KB ,
资源ID:3089072      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3089072.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(心形流水灯课程设计报告书.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

心形流水灯课程设计报告书.docx

1、心形流水灯课程设计报告书心形流水灯设计摘要本课题是利用 STC89C52 设计了一个心形流水灯电路, 该电路可以实现 32 个 LED 灯循环闪亮、依次熄灭、对角闪亮、对角熄灭、间隔闪亮、间隔熄灭等多种功能。该电 路主要由单片机芯片 STC89C52 、电源电路、时钟电路、复位电路和显示电路组成。 利用 Keil 软件编写 C 语言程序, 并生成目标代码 Hex 文件。使用 Proteus 软件设计仿 真电路,并调入已编译好的目标代码, 即可在仿真图中看到模拟实物的运行状态和过程。 使用 Altium Designer 软件对电路进行原理图设计和 PCB 设计, 并对该电路行安装和 调试,调试

2、结果可以实现流水灯的多种亮灭循环的功能。关键词: AT89C52 ,复位电路,时钟电路,发光二极管1绪论 11.1课题描述 11.2基本工作原理及框图 12相关芯片及硬件电路设计 22.1AT89C52 芯片 22.1.1AT89C52 的功能特性 22.1.2AT89C52 的主要性能参数 32.2时钟电路 42.3复位电路 42.4显示电路 42.6 总原理图设计 53系统软件设计 63.1程序主要流程 63.2程序设计 73.4电路功能仿真 20总 结 21致 谢 22参考文献 231 绪论1.1课题描述随着现代科学技术的持续进步和发展以及人们生活水平的不断提高,以大规模、超大规模集成电

3、路为首的电子工艺技术的使用也越来越广泛, 结合单片机技术设计的电子电路也层出不穷。LED彩灯由于其丰富的灯光色彩、低廉的造价以及控制简单等特 点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。利用控制 电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以 省电。彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉 0K包房,从节日的祝贺到日常生活中的点缀,这些不仅说明了我们对生活的要求有了质的飞跃,也说明科技在现 实生活中的运用有了较大的发展。在这一设计中我们将运用单片机技术,与单片机芯片 STC89C52的功能,对心形流水灯系统进行设计,来实现流水灯的多

4、种亮与灭的循环, 给人带来美感。1.2基本工作原理及框图本课程设计的XX系统原理如图1所示图1 基本工作原理框图2相关芯片及硬件电路设计2.1AT89C52 芯片图2 AT89C52 引脚图2.1.1AT89C52 的功能特性STC89C52是STC公司生产的一种低功耗、高性能的微控制器,具有 8K的系统可编程Flash存储器,其具有传统51单片机不具备的功能,在经典的 MCS-51内核上做了很多的改进,使得 STC89C52在处理嵌入式控制应用系统时更加高效、灵活STC89C52具有以下标准功能:4个外部中断、全双工串行口、一个 7向量4级中断结构、3个16位定时器/计数器、8K字节Flas

5、h、512字节RAM (随机存储器)、看 门狗定时器,其12周期和6周期可以任意选择,其工作电压在 3V5.5V之间,工作 频率在040MHZ,实际工作频率可达48MHZ 2。其管脚的封装图如图2所示。2.1.2AT89C52的主要性能参数AT89C52主要性能参数如下:与MC - 51产品指令系统完全兼容VCC (38脚):芯片电源,接+5VGND (16脚):接地端XTAL1 (15脚):片内振荡器反相放大器和时钟发生器电路的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外接时钟源时,该引脚接外部时钟振荡器的信号XTAL2 (14脚):片内振荡器反相放大器的输出端。当

6、使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外部时钟源时,该引脚悬空ALE (27脚):用来锁存P0 口送出的低8位地址PSEN (26脚:外部ROM读选通信号RST (4脚):复位信号输入端EA/Vpp (29脚):内外ROM 选择/片内EPROM 编程电源P0 口: 8位,漏极开路的双向I/O 口P1 口: 8位,准双向I/O 口,具有内部上拉电阻P2 口: 8位,准双向I/O 口,具有内部上拉电阻P3 口: 8位,准双向I/O 口,具有内部上拉电阻2.2时钟电路单片机内有一个由反相放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电 路的输入端和输出端。在XTAL1和

7、XTAL2引脚上外接石英晶体和微调电容构成并联 振荡回路。晶振频率设置为11.0592MHZ,作用是产生时钟信号。单片机晶振提供的时 钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机 晶振提供的时钟频率。电容值为30pF,可以起到频率微调作用3。时钟电路如图3所示图3 时钟电路图2.3复位电路单片机RST接口为复位信号输入端,高电平有效。在该引脚上加上持续时间大于 两个机器周期的高电平,就可以使单片机复位。在单片机正常工作时,此引脚应为小于 或等于0.5V的低电平。复位电路接单片机RST端口 ,在RST输入端出现高电平时实现 复位和初始化。复位电路如4所示。图4 复

8、位电路2.4显示电路单片机的P0 口为8位的漏极开路的双向I/O 口,当P0 口作为普通的I/O 口使用时,需要上拉电阻,这时为准双向口。 P1、P2、 P3都为8位的准双向口,具有内部上拉电阻。图 5为显示电路,单片机I/O 口一 对一直接控制LED灯,显示电路中的32个电阻既为上拉电阻,也起到电 路分压作用,防止烧坏元器件。显示电路如图5所示图5 显示电路图2.6 总原理图设计总结时钟电路、复位电路、以及显示电路,把其放入一个电路。得到总体的电路。总体电路如图6所示。图6 电路原理图3系统软件设计3.1程序主要流程单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,暂时还不能看

9、到流水灯循环点亮的现象,还需要编写程序控制单片机管脚电平的高低变化,来实现LED灯的各种亮灭功能。先将P0、P1、P2、P3全部置1,即通入高电平,用16进制表示为OXFFH,则32个LED灯全部处于熄灭状态。然后给P0 口赋值0X7FH,即只有P0.0处于低电平 时,LED1灯点亮。使用延时函数 delay,并设置延时时间为2秒,延时时间一到P0 口的值就变为0X3FH,即P0.0和P0.1都为高电平,LED2也开始点亮,如此循环 P0 口控制的8个LED灯全部点亮,当高电平变为低电平时,LED灯熄灭。P1、P2、P3 口控制的LED灯闪亮和熄灭原理同P0 口一样,所以就可以看到LED灯的流

10、水效果了6。程序流程图如图7所示,r =开始L j1r读取I/O口状态高电平LED灯熄灭LED灯点亮4 延时灯流动运行结束程序设计流程图3.2程序设计#in clude#in elude vintrin s.h #defi ne uint un sig ned int#defi ne uchar un sig ned char逐个点亮07逐个点亮70逐个灭07逐个灭70uchar code table=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; /uchar code table1=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x

11、00; / uchar code table2=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff; / uchar code table3=0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff; /void delay(uint t); / 延时void zg( uint t,uchar a);/ void qs( uint t,uchar a);/void zgxh( uint t,uchar a); /void zgxh1( uint t,uchar a);void djs(uint t,uchar a);void lbzgm (ui

12、nt t,uchar a);/ /void sszgm (uint t,uchar a); / void n szgm (uint t,uchar a); / void sztl( uint t,uchar a);/ void n ztl( uint t,uchar a);/ void sztm (uint t,uchar a);/两边逐个亮全部闪烁/逆时针逐个点亮/顺时针逐个点亮/对角闪两边逐个灭顺时针逐个灭逆时针逐个灭顺时逐个同步亮逆时逐个同步亮顺时逐个同步灭void nztm(uint t,uchar a);/ void hwzjl(uint t,uchar a); / void hwz

13、jm(uint t,uchar a); / /void swzjl(uint t,uchar a); / /void swzjm(uint t,uchar a); / void nzdl(uint t,uchar a); / void nzdgl(uint t,uchar a); void jgs(uint t,uchar a); void zg(uint t,uchar a)/逆时逐个同步灭横往中间亮 横往中间灭 竖往中间亮 竖往中间灭 逆时逐段亮/ 逆时逐段一个点亮 / 间隔闪 两边逐个亮uchar i,j;for(j=0;ja;j+)P0=P1=P2=P3=0xff;P0=0x7f;de

14、lay(t);for(i=0;i7;i+)P0=table1i+1;P2=table1i;delay(t); P2=0x00;P1=0xfe; delay(t);for(i=0;i7;i+) P1=tablei+1; P3=table1i; delay(t);P3=0x00;delay(t);void qs(uint t,uchar a) / 全部闪烁uchar j;for(j=0;ja;j+)P0=P1=P2=P3=0xff;delay(t);P0=P1=P2=P3=0x00;delay(t);/ 逆时针逐个点亮逆时针逐个灭void zgxh(uint t,uchar a)uchar i,j;for (j=0;ja;j+)P0=P1=P2=P3=0xff;for (i=0;i8;i+)P0=table1i; delay(t); for(i=0;i8;i+) P1=tablei; delay(t); for(i=0;i8;i+) P3=tablei; delay(t); for(i=0;i8;i+)P2=tablei; delay(t);void nszgm(uint t,uchar a) / uchar i,j;for(j=0;ja;j+)P0=P1=P2=P

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1