课程设计存储花样灯_第1页
课程设计存储花样灯_第2页
课程设计存储花样灯_第3页
课程设计存储花样灯_第4页
课程设计存储花样灯_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、课 程 设 计 课 程 科研实践 题 目 24c02存储花样灯 二级学院 延陵学院 班 级 09电y2 姓 名 刘全 学 号 09121014 指导教师 范力旻 设计时间 2012.12.31-2013.1.11常州工学院单片机原理及应用科研实践任务书二级学院:延陵学院 专业:电气工程及其自动化 班级:09电y2学生姓名刘全 卢青指导老师 范力旻职 称副教授 课题名称基于51单片机24c02存储花样灯 课题工作内容 “存储花样灯”的硬件电路主要由单片机控制电路、eeprom存储电路、按键控制电路。 实现:通过i2c协议与24c02通信来存储数据,控制花样灯显示。 指标要求花样灯显示花样不少于3

2、6种且能切换花样灯显示 进程安排第 一 天:下达任务、理解课题要求、收集和消化相关资料; 第 二 天 :方案论证和制定,元器件采购; 第三四天: 硬件制作、调试 第五八天: 软件设计、调试 第 九 天:根据设计内容,撰写设计报告 第 十 天:作品演示、答辩考核主要参考文献单片机应用系统设计技术 张齐著 电子工业出版社 单片机原理及应用技术 范力旻 电子工业出版社 例说8051 谢亮、陈敌北、 张义和 人民邮电出版社 单片机c语言应用100例 王东锋 王会良 电子工业出版社 51系列单片机设计实例 楼然苗 李光飞 北航出版社 地点秋白楼起止日期2012.12.31-2013.1.10 目 录目

3、录3第一章 摘 要4第二章 硬件设计52.1 最小系统52.1.1 单片机52.1.2 晶振电路52.1.3 复位电路62.2 电源电路72.3 存储电路72.4 显示电路92.5 按键电路10第三章 软件设计113.1软件设计流程图11第四章 硬件调试12第五章 操作说明14第六章 参考文献15第七章 小 结16第八章 附 录17第一章 摘 要自人类发明计算机以来,单片机技术在社会各领域中得到了广泛的应用。在流水灯控制系统中,单片机的作用更是发挥的淋漓尽致,成为此系统中的核心部分。利用单片机的可编程功能,软硬件结合,来控制led的灯的开通关断,通过丰富多彩的花样变化,给人以不同的视觉效果,更

4、是成为现代商业社会不可或缺少吸引消费者的普遍手段。本设计采用24c02存储芯片与单片机连接,实现多种花样灯的控制。主要包括其软件程序的编写、硬件电路的搭接、器件的选择,以及通过proteus的仿真等。第二章 硬件设计2.1 最小系统2.1.1 单片机本次设计使用的单片机芯片型号为:89c52,管脚图见图2-2。图2-1 89c52管脚图2.1.2 晶振电路本次设计采用的是12mhz的晶振,电路图如下图2-3所示: 图2-3 晶振电路两只电容在20pf100pf之间取值,其取值在60pf70pf时振荡器频率稳定性较高,按照一般经验,外接晶体时两个电容的取值为30pf;外接陶瓷振荡器是两电容的典型

5、值是47pf。2.1.3 复位电路在时钟电路工作后,只要在单片机的rst引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态服务。为保证应用系统可靠的复位在设计复位电路时,通常使rst引脚保持4ms以上的高电平,只要rst保持高电平,stc89c52单片机就会循环复位;当rst从高电平变为低电平时,单片机就从0000h地址开始执行程序,在单片机复位的有效期间,ale、psen引脚输出高电平。图2-4 复位电路因为,。对于用12mhz晶振的系统来说,使其复位的时间t应满足条件:电容两端暂态电流和电压的关系如下:因为,;可得到。若rst处电压为,则,所以。当时,t=0

6、.357rc。满足时,系统才会复位,即当时。采用,符合要求。得到复位时间2.2 电源电路本次设计电源部分采用7805集成稳压器滤波。7805集成稳压器是常用的固定输出为5v电压的集成稳压器。它的内部含有过流、过热及调整管的保护电路,采用了噪声低,温度漂移小的基准电压源,工作稳定可靠,而且价格便宜。7805集成稳压器为三端器件,其管脚1为输入端,管脚2为接地端,管脚3为输出端,使用十分方便。本次设计选用9v电池电源,将直流9v经过稳压器使输出电压为直流5v。电路如图2-5所示。图2-5 7805整流滤波电路2.3 存储电路1、存储芯片有很多种,本次设计的存储部分选用24c02,是因为其内部采用的

7、是i2c通信协议,此通信协议具体以下特点:(1)i2c是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实施数据传输的控制源。这种方式简化了信号传输总线(2)i2c串行总线可实现多主机系统所需的裁决和高低速设备同步等功能。因此,这是一种高性能的串行总线,采用串行线可大大简化系统的硬件设计。(3)i2c总线是各种总线中使用信号线最少,并具有自动寻址、多主机时钟同步和仲裁等功能的总线。因此,使用i2c总线设计计算机系统十分方便灵活,体积也小,因而在各类实际应用中得到广泛应用。2、24c02的特点:24c02是电可擦除prom,采用256*8-bit的组织结构以及两

8、线串行接口。电压可允许低至1.8v,待机电流和工作分别为1ua和1ma。2线串行接口,完全兼容i2c总线。i2c时钟频率为1mhz(5v),400khz(1.8v,2.5v,2.7v)。3、引脚说明:如下图所示:图2-6 24c02引脚图1号脚:a0:地址输入2号脚:a1:地址输入3号脚:a2:地址输入5号脚:sda:串行地址和数据输入/输出。sda是双向串行数据传输引脚,漏极开路,需外接上拉电阻vcc(典型值10k)。6号脚:scl:串行时钟输入。scl同步数据传输,上升沿数据写入,下降沿数据读出。7号脚:wp:写保护。wp引脚提供硬件数据保护。当wp接地时,允许数据正常读写操作;当wp接v

9、cc时,写保护,只读。4号脚:gnd:地8号脚:vcc:正电源。本设计24c02与单片机连接图如下图所示:图2-7 存储电路2.4 显示电路本设计为8位流水灯显示,8个led接在p0口,需接电阻来保护led,避免烧坏,显示电路图如图2-8所示。因为led的额定电流为=(10ma20ma),启动电压为=1.8v,所以可得电阻两端的电压为=5v-1.8v=3.2v由,得,r的范围是160320。本设计选择r=200。图2-8 显示电路2.5 按键电路本次设计按键电路接在p3.2口,实现切换花样。所选按键的类型为sw-ds。图2-9 按键电路第三章 软件设计3.1软件设计流程图本设计为24c02存储

10、花样灯,程序内存放好段码地址,当存储芯片24c02写信号有效时,由单片机把数据写入24c02内,并存储,24c02读信号有效,释放数据,并由单片机显示数据。图3-1 程序流程图第四章 硬件调试1、打开仿真软件proteus 7 professinal中的2、找出所有原理图中所用到的原件,按照原理图连接,如图所示:图4-1 仿真原理图3、双击单片机,弹出输入仿真程序框,如图所示:图4-2 仿真程序输入框4、找到编译好的程序,单机按钮ok5、在主界面左下角有开始仿真按钮,开始仿真。6、观察p0口的输出状态。如下图所示: 图4-3 仿真显示结果7、调试结束。第五章 操作说明1、按照原理图连接好电路,

11、使单片机得到5v稳压电源。2、流水灯开始工作,按下花样选择开关,可更换不同花样显示,本设计可产生36中不同花样的流水灯。3、按下复位按钮,花样灯重新开始工作。第六章 参考文献【1】单片机应用系统设计技术 张齐著 电子工业出版社 【2】单片机原理及应用技术 范力旻 电子工业出版社 【3】例说8051 谢亮、陈敌北、 张义和 人民邮电出版社 【4】单片机c语言应用100例 王东锋 王会良 电子工业出版社 【5】51系列单片机设计实例 楼然苗 李光飞 北航出版社第七章 小 结通过这次课程设计,我觉得自己学到了很多东西,基于51单片机课程设计是对我大学专业学习的考察,也是对我在大学里学习的知识进行一次

12、系统化的梳理、总结,对以前所学的过单片机理论知识起到了回顾作用,并对其加以进一步的消化和巩固,真正做到学以致用,理论联系实际。这次课程设计包括硬件设备的选型,软件方面的设计与调试,更使我的实践能力得到了进一步提高,在制作过程中积累了一些经验,解决问题的能力得到锻炼。课程设计培养了我们严肃认真和实事求是的严谨的学习态度,而且培养了吃苦耐劳的精神以及相对应的实践意识。团队合作的意识和能力也体现出来,值得我们思考与进步。第八章 附 录1、元器件清单:序号名称代号型号数量1电阻r110k12电阻r2,r31k93电容c2,c330pf24电解电容c4220uf15电容c6,c70.01uf26电解电容

13、c5100uf17电池9v18按钮sw-ds29稳压器78057805110晶振x112mhz111单片机89c5212、实物展示:3、整体原理图:4、程序:main程序:#include unsigned char code seg236= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00, 0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff, 0xfc,0xf9,0xf3

14、,0xe7,0xcf,0x9f,0x3f, 0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff, 0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f, 0x00,0xff,0x00,0xff ; bit flag;void delay(unsigned int t);main() unsigned char i; ea=1; ex0=1; while(1) for(i=0;i36;i+) delay(200

15、00); p0=segflagi; void delay(unsigned int t) while(-t);void int0() interrupt 0flag=!flag;i2c程序:#ifndef _i2c_h_#define _i2c_h_ #include #include #define _nop() _nop_() void delayus2x(unsigned char t);void delayms(unsigned char t);void start_i2c();void stop_i2c();void sendbyte(unsigned char c);unsigne

16、d char rcvbyte();void ack_i2c(void);void noack_i2c(void);bit isendbyte(unsigned char sla,unsigned char c);bit isendstr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no);bit ircvbyte(unsigned char sla,unsigned char *c);bit ircvstr(unsigned char sla,unsigned char suba,unsigned ch

17、ar *s,unsigned char no);#endif#include i2c.h#define _nop() _nop_() bit ack; sbit sda=p21;sbit scl=p20;void delayus2x(unsigned char t) while(-t);void delayms(unsigned char t) while(t-) delayus2x(245); delayus2x(245); void start_i2c() sda=1; _nop(); scl=1; _nop(); _nop(); _nop(); _nop(); _nop(); sda=0

18、; _nop(); _nop(); _nop(); _nop(); _nop(); scl=0; _nop(); _nop();void stop_i2c() sda=0; _nop(); scl=1; _nop(); _nop(); _nop(); _nop(); _nop(); sda=1; _nop(); _nop(); _nop(); _nop();void sendbyte(unsigned char c) unsigned char bitcnt; for(bitcnt=0;bitcnt8;bitcnt+) if(cbitcnt)&0x80)sda=1; else sda=0; _

19、nop(); scl=1; _nop(); _nop(); _nop(); _nop(); _nop(); scl=0; _nop(); _nop(); sda=1; _nop(); _nop(); scl=1; _nop(); _nop(); _nop(); if(sda=1)ack=0; else ack=1; scl=0; _nop(); _nop();unsigned char rcvbyte() unsigned char retc; unsigned char bitcnt; retc=0; sda=1; for(bitcnt=0;bitcnt8;bitcnt+) _nop();

20、scl=0; _nop(); _nop(); _nop(); _nop(); _nop(); scl=1; _nop(); _nop(); retc=retc1; if(sda=1)retc=retc+1; _nop(); _nop(); scl=0; _nop(); _nop(); return(retc);void ack_i2c(void) sda=0; _nop(); _nop(); _nop(); scl=1; _nop(); _nop(); _nop(); _nop(); _nop(); scl=0; _nop(); _nop(); void noack_i2c(void) sda=1; _nop(); _nop(); _nop(); scl=1; _nop

温馨提示

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

评论

0/150

提交评论