LED广告灯设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//包含头文件 // 设置变量类型
//正向流水灯 //反向流水灯 //隔灯闪烁 //正向两灯闪烁 //反向两灯闪烁 //全部灯切换闪烁 //高四盏 低四盏闪烁 //奇数的灯闪烁 //偶数的灯闪烁 //隔两盏闪烁
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
2009年6月
void delayms( uint ms ) {
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
2009年6月
送完这8个数据后再反过来送011111111B 、 10111111B、11011111B、11101111B、11110111B、 11111011B、11111101B、11111110B,转化成十六进 制分别是0x7f 、0xbf 、0xdf、0xef、0xf7、0xfb、 0xfd和0xfe。再送10101010B、01010101B、 10101010B、01010101B、10101010B、01010101B、 11111111B、转化成十六进制分别是0xAA、0x55、 0xAA、0x55、0xAA、0x55、和0xfe是隔灯闪烁3次。 后面的规律是跟前面的全部一样的整个数据送完后 从头开始循环。
// 主函数
// 定义变量
// 死循环
// 循环61次
//将数组discode中的第i个数据取出来,赋给P0口输出
delayms(300);
} } }
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
2009年6月
实现设计任务功能,P0口输出的8个数据分 别是11111110B、11111101B、11111011B、 11110111B、11101111B、11011111B、 10111111B、011111111b,转化成十六进制 分别是0xfe、0xfd、0xfb、0xf7、0xef、、 0xbf和0x7f。
//定义延时函数 //两个花括号之间为函数 delay()的函数体 //定义变量i
uint i; { while(ms--) { for(i=0;i<120;i++); }
}
}
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
2009年6月
void main(void) { uchar i; P0=0xff; while(1) ) { for(i=0;i<61;i++) { P0=discode[i];
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
Fra Baidu bibliotek
2009年6月
int#include< reg52.h > #define uint unsigned #define uchar unsigned char uchar discode[ ]={ 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff, 0xfc,0xf3,0xcf,0x3f,0xff, 0x3f,0xcf,0xf3,0xfc,0xff, 0x00,0xff,0x00,0xff,0x00,0xff, 0xf0,0x0f,0xf0,0X0F,0xff, 0xfe,0xfb,0xef,0xbf,0xff, 0xfd,0xf7,0xdf,0x7f,0xff, 0x33,0xcc,0x33,0xcc,0x33,0xcc,0xff };
图1.1所示
C1
22pF 19
U1 X1
XTAL1 CRYSTAL P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
2009年6月
延时程序编写。
• 当系统加电后,单片机就开始工作,按照设计的 程序开始运行(也称执行指令)。单片机执行一 条指令要花一定的时间,那么单片机执行一条指 令的执行时间成为指令周期。指令周期是以机器 周期为单位的。MCS-51单片机规定,一个机器周 期为单片机振荡器的12个振荡周期。单片机时钟 电路中的晶振频率为12MHz,则一个机器周期为 1us。 • 单片机的指令运行速度是很快的,要想在端口获 得一定的延时时间,就要编写程序,使单片机运 行设计程序产生时间延迟。如果我们想延时上面 的程序循环速度,把delayms(300)括号里面改成 3000 就看到速度显然慢了。 《单片机 C语言应用技术与实践》张永格 何乃味主编 北京交通大学出版社 2009年6月
程序调试与电路仿真
• 首先在Keil中创建项目,输入源代码并生成 “复杂广告灯· hex”文件,然后再proteus ISIS 中打开已创建的复杂广告灯电路图并 进行相应设置,以实现Keil 4与proteus的联 机调试。单击proteus ISIS模拟调试按钮的 运行按钮,进行调试状态。首先可以看到8 只LED的显示规律为正向流水->反向流水— >隔灯闪烁3次->正向两盏灯闪烁-> 反向两 盏灯闪烁 ->全部灯切换亮,灭->高四盏, 低四盏闪烁2次->奇数灯亮->偶数灯亮->隔 两盏闪烁3次,再重复循环。
《单片机C语言应用技术与实践》张永格 何乃味主编
北京交通大学出版社
2009年6月
复杂广告灯的设计
• 结构说明 • 1.硬件电路设计 • 电路组成。这里选择具有内部程序存储 器的IAP15F2K61S2单片机作为控制电路, 其P0口接8个发光二极管(LED)和1个排 阻(RESPACK-8),电源部分用的是5V直 流电源,晶体振荡器采用的是12MHz的 石英晶体振荡器。硬件电路原理图如图 1.1所示。
复杂广告灯的设计
★开发背景:广告灯是一种常见的装饰,常用于街上
的广告及舞台装饰等场合。随着社会的发展和人们生 活水平的提高和发展各种各样的灯光不仅仅是照明用 来照明了。随着我国经济的飞速发展,广告灯应用越 来越广泛,市场对广告灯的需求会越来越大。在这种 背景下,传统意义上的广告灯的显示效果已经满足不 了人们的需求,所以我团队经过仔细的调查和研究, 开发了此次比赛的作品基于IAP15F2K61S2的多功能设 计复杂广告灯。
北京交通大学出版社 2009年6月
《单片机C语言应用技术与实践》张永格 何乃味主编
《单片机C语言应用技术与实践》张永格 何乃味主编 北京交通大学出版社 2009年6月
复杂广告灯的设计
• 2.软件设计思路 在电路设计中,采用 8 个发光二极管来代表广告 灯。广告灯是由单片机的P0端口的8个引脚来分别 控制的。换句话来说,就是让P0口周而复始地输出 高电平和低电平,要实现这一功能,最简单和最直 接的方法是依次将数据送往P0口,每送一个数据延 时一段时间。当单片机的P0口输出低电平时,发光 二极管D两侧则获得电势差而被点亮;当P0口输出 高电平时,发光二极管D则熄灭。我们使用单片机 P0端口实现8只led的复杂广告灯控制,要求显示规 律为:正向流水->反向流水—>隔灯闪烁3次->正向 两盏灯闪烁-> 反向两盏灯闪烁 ->全部灯切换亮, 灭 -> 高四盏,低四盏闪烁 2次 -> 奇数灯亮 -> 偶数灯 《单片机 C语言应用技术与实践》张永格 何乃味主编 北京交通大学出版社 2009年6月
D0
LED-BIRG DI
C2 R2
10K 22pf
18
XTAL2
9
LED-BIBY
R1
100
RST
D2
LED-BIGY
C3
1uf
29 30 31
PSEN ALE EA
D3
LED-YELLOW
1 2 3 4 5 6 7 8
D4
LED-BIRG D5
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
LED-BIBY
D6
LED-BIGY
D7
LED-YELLOW
9 8 7 6 5 4 3 2
RP1
330
《单片机C语言应用技术与实践》张永格 何乃味主编
1
北京交通大学出版社
2009年6月
为了更好地观看显示效果,有必要在适当的显示状态 下控制8只led全部熄灭,所以程序中添加了0xff的显 示状态数据。显示状态数据可以直接送给P0端口,因 此在写书数组中的内容时可以不对其进行取反。本程 序显示状态共有61种,在去数组中的内容送给P0时, 需要判断取数次数是否达到61次,达到61次,则重新 执行下一次循环,否则继续取数组中的内容。