3d光立方_毕业设计说明书(编辑修改稿)内容摘要:

,行 7,行 8。 实物效果图 硬件焊接的最终实物效果图如下,控制部分(图 ),显示部分(图 ): 河南理工大学毕业设计(论文)说明书 14 图 图 河南理工大学毕业设计(论文)说明书 15 软件设计 自定义头文件 Keil 软件是目前最流行开发 MCS51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。 Keil 提供了包括 C 编译器、 宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部份组合在一起。 运行 Keil 软件需要 Pentium 或以上的 CPU, 16MB 或更多 RAM、 20M 以上空闲的硬盘空间、 WIN9 NT、 WIN20 WINXP 等操作系统。 掌握这一软件的使用对于使用 51 系列单片机的爱好者来说是十分必要的,如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选。 但是 Keil里没有 STC12C5A60S2的芯片头文件,需要在编写程序时自己添加头文件,实例如下: //头文件名字可自行命名 sfr ACC = 0xE0。 //Accumulator 0000,0000 sfr B = 0xF0。 //B Register 0000,0000 sfr PSW = 0xD0。 //Program Status Word CY AC F0 RS1 RS0 OV F1 P 0000,0000 // sbit CY = PSW^7。 sbit AC = PSW^6。 sbit F0 = PSW^5。 sbit RS1 = PSW^4。 sbit RS0 = PSW^3。 sbit OV = PSW^2。 sbit P = PSW^0。 // 河南理工大学毕业设计(论文)说明书 16 sfr SP = 0x81。 //Stack Pointer 0000,0111 sfr DPL = 0x82。 //Data Pointer Low Byte 0000,0000 sfr DPH = 0x83。 //Data Pointer High Byte //新一代 1T 8051 系列 单片机中断特殊功能寄存器 //有的中断控制、中断标志位散布在其它特殊功能寄存器中,这些位在位地址中定义 //新一代 1T 8051 系列 单片机 I/O 口特殊功能寄存器 sfr P2M0 = 0x96。 sfr P2M1 = 0x95。 sfr P3 = 0xB0。 //8 bitPort3 1111,1111 sfr P3M0 = 0xB2。 sfr P3M1 = 0xB1。 sfr P4 = 0xC0。 //8 bitPort4 1111,1111 sfr P4M0 = 0xB4。 sfr P4M1 = 0xB3。 sfr P4SW = 0xBB。 //Port4 switch //新一代 1T 8051 系列 单片机定时器特殊功能寄存器 sfr TCON = 0x88。 //T0/T1 Control TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0000,0000 // sbit TF1 = TCON^7。 sbit TR1 = TCON^6。 sbit TF0 = TCON^5。 sbit TR0 = TCON^4。 sbit IE1 = TCON^3。 sbit IT1 = TCON^2。 sbit IE0 = TCON^1。 河南理工大学毕业设计(论文)说明书 17 sbit IT0 = TCON^0。 // sfr TMOD = 0x89。 //T0/T1 Modes GATE1 C/T1 M1_1 M1_0 GATE0 C/T0 M0_1 M0_0 0000,0000 sfr TL0 = 0x8A。 //T0 Low Byte 0000,0000 sfr TH0 = 0x8C。 sfr TL1 = 0x8B。 //T1 Low Byte sfr TH1 = 0x8D。 //T1 High Byte 还要注意的一点是:在程序编译的时候一定要记得输出 .hex文件,因为 STC— 只有 .hex 文件才能下进单片机里去。 生成 .hex 文件的界面说明: 图 按照上图中所示的步骤,先在“ Project”中选择“ Options for Target “ Target 1”” ,在之后出现的界面中,点击“ Output”选项,就会出现上图有半部分的界面。 选中“ Create HEX File”选项,点击“ OK”,之后再编译一下程序,在工程里就会自动生成 .hex文件了。 河南理工大学毕业设计(论文)说明书 18 电脑端的 ISP 控制软件 图 Step1/步骤 1:选择你所使用的单片机型号,如 STC12C5A60X等 Step2/步骤 2:打开文件,要烧录用户程序,必须调入用户的程序代码( *.bin, *.hex) Step3/步骤 3:选择串行口,你所使用的电脑串口,如串行口 1COM1,串行口2COM2,...有些新式笔记本电脑没有 RS232串行口 ,可买一条 USBRS232转接器,人民币 50元左右。 有些 USBRS232转接器,不能兼容,可让宏晶帮你购买经过测试的转换器。 Step4/步骤 4:选择下次冷 启动后,时钟源为“内部 R/C振荡器”还是“外部晶体或时钟”( STC12系列单片机只有内部 R/C振荡时钟 ) Step5/步骤 5:选择“ Download/下载”按钮下载用户的程序进单片机内部,可重复执行 Step5/步骤 5, 也可选择“ ReDownload/重复下载”按钮 河南理工大学毕业设计(论文)说明书 19 下载时注意看提示,主要看是否要给单片机上电或复位 , 下载速度比一般通用编程器快。 一定要先选择“ Download/下载”按钮,然后再给单片机上电复位 (先彻底断电 ),而不要先上电,先上电,检测不到合法的下载命令流,单片机就直接跑用户程序了。 程序流程图 我们所做的光立方,如图 ,有三个独立按键,分别是 , , ,其中 是控制音频显示, ,。 3个按键分别控制三种不同的图像显示模式。 动画显示部分支持用户自定义图形。 当工作的单片机检测到 ,可以同步音频显示;当检测到 下时,可以显示内置的动画;当检测到 ,显示夜灯模式。 程序流程图如下页( 图 ): 河南理工大学毕业设计(论文)说明书 20 图 LED 显示核心思想 该设计光立方的 LED显示最关键的就 是定时器初值的设定。 定时器一旦启动,它便会在原来的数值上加 1计数,若在程序开始时,我们没有设置 TH0和 TL0,他们默认值都是 0,假设时钟频率是 12MHz, 12个时钟周期为一个机器周期,那么此时机器周期就是 1us,计满 TH0和 TL0就需要1621个数 ,再来一个脉冲计数器溢出,随即向 CPU申请中断。 因此溢出一次共需 65535us,约等于 50ms的话,那么需要先给 TH0和 TL0装一个初值,在这个初值的基础上计 50000个数后,定时器溢出,此时刚好就是 50ms中断一次,当需定时 1s时,我们写程序是当产生 20次 20ms的定时器中断后便认为是 1s,这样便可精确控制时间了。 河南理工大学毕业设计(论文)说明书 21 一般延时程序分为两种写法:粗略延时和精确延时。 如果想用不太严格的延时的话,程序一般可这样书写: include define uint unsigned int void delay(uint z) { int a,i,j。 for(a=z。 a0。 a) for (i=1000。 i0。 i) for(b=110。 b0。 b)。 } 其中 z代表你想延长的时间,单位为秒。 精确的延时程序一般需要用到中断,模块话书写如下: include unsigned char num。 Void T0_time() interrupt 1 { TH0=(6553545872)/256。 //重装初值 TL0=(6553545872)%256。 num++。 //num 每加 1 次判断一次是否到 20 次 If( num = =20) //如果到了 20 次,说明 1 秒时间到 { num=0。 //然后把 num 清零重新再计 20 次 led1= ~led1。 } //让发光二极管状态取反 } 其中,在定时器初始化时需要先选择工作方式,之后才能赋初值。 针对晶振为 50ms的初值是 45872。 使用哪一种延时可根据需要而定,本设计中两种延时程序均有应用到。 河南理工大学毕业设计(论文)说明书 22 显示部分测试结果 由于 Proteus软件里没有该设计所用的单片机,且测试程序大于 51单片机的 8K内存。 所以本设计在测试时,是用已有的单片机上的 8位数码管进行测试的。 由于测试硬件的限制,只能仿真一层的部分。 结果如下 图(图 ): 图 河南理工大学毕业设计(论文)说明书 23 硬件焊接与调试 本设计所需材料 灯 LED 灯珠,最好选择长脚 5mm,雾状(乳状)蓝色的灯珠(如下页图 ),效果更好。 记住,长脚的,不要短脚的 3mm 的也可以,当然也能自己换喜欢的颜色,个人推荐蓝色。 制作光立方至少需要 512个,建议买 550 个,价格在 7090 元一包(含邮费),店家一般不会散卖的。 这样的灯我是在淘宝网上购买的。 图 74HC573 芯片 74HC573锁存器,至少 8 个,记得要 12 元左右的,太便宜的可能是用过返新的,IC 芯片都 是一分钱一分货,便宜的全是旧的,别老想着贪便宜。 (建议最好买十个,多买两个以备特殊情况。 ) 自制双声道音频插头 一般的耳机都分左声道和右声道,从外面看来是两根接线,分别接右耳机和左耳机。 可以找一个废旧的耳机,把耳机线剥开,你会看到每条黑线中都有两条线,其中有一条是地线。 下面是找到地线的方法: 把拨开的耳机线先用火烧掉线上面的绝缘漆,然后选任一声道,把两条线分别接一个 LED的正负 极,如果 LED亮了,接 LED的负极的那根线就是地线。 河南理工大学毕业设计(论文)说明书 24 最后把两个声道的负极街道一起,与三根杜邦线相连接,自制的双声道音频插头就做好了。 如下页图(图 ): 图 其他材料 由于以上两中材料选材好坏对最终成品影响较大,所以特别提醒注意,以下是其他材料清单: 材料名称 数量 备注 ULN2803 2 至少 1 个 IC 座( 20P) 12 至少 9 个 焊接线 1 卷 推荐 WIRE WRAPPING WIRE 排阻( 8J) 1 也可以不用 单排针( 20P) 10 40P 的也可 双排弯排针( 40P) 2 接排线和固定面板需要 杜邦线( 40 根) 2 组 最好要质量好的 单片机( STC12C5A60S2) 1 单片机最小系统 1 最好支持 USB下载程序的 万能板( 12*18) 2 最好用质量好的绿油板 万能板( 18*30) 2 制作 LED 焊接模板 焊锡 1 卷 最好选。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。