欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机c语言花样彩灯设计(共7页).doc

    • 资源ID:13964011       资源大小:26KB        全文页数:7页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机c语言花样彩灯设计(共7页).doc

    精选优质文档-倾情为你奉上/*-2011.3.19 xxx编写- 设计名称:花样和速度可控的花样彩灯设计 功能:1.本程序用了两个按键,其中一个可以循环控制花样,另一个循环控制流水速度;2.有断电保存当前花样和速度功能,即断电后,在重现上电时, 执行的花样和速度仍旧是断电前的速度和花样。 缺点:1、本程序为延时计时,精度不高; 2、由于使用延时来得到秒信号,时数和分数被改变后,有时要过一秒后才能被更新显示- */#include<reg52.h>#include<zi.c>#include<24c02.c>sbit s1=P14; /定义按键sbit s2=P15; void zhongduan(void)interrupt 1 /P1=0xff; TR0=0; /关闭定时器T0 if(s1=0) /如果按键s1被按下 delay_ms(10);/延时消抖 di(); if(s1=0)/如果按键s1按下 k+;write_add_24c02(0,k);if(k=6)k=1; while(!s1);flag=1; /等待s1键抬起并改变标志位 TR0=1;/启动定时器T0 if(s2=0) /如果按键s2被按下delay_ms(10); /延时消抖 di(); if(s2=0) i+;write_add_24c02(1,i);if(i=6)i=1; while(!s2);flag=1; /等待s2键抬起并改变标志位 TR0=1; /启动定时器T0 void main(void) TMOD=0X02;/定时器TO,工作方式2,带自动装在的8位计数器,最大数值28=256 TH0=256-200;/装载初值 TL0=256-200; ET0=1; / 定时器T0中断允许 TR0=1;/开启定时器T0 EA=1;/打开外部中断0 k=read_add_24c02(0); i=read_add_24c02(1); if(k>=6)k=1; if(i>=6)i=1; while(1) flag=0; /按键按下标志位 while(flag=0) /检测到有按键按下 switch(k) case 1:huayang_1();break; case 2:huayang_2();break; case 3:huayang_3();break; case 4:huayang_4();break; case 5:huayang_5();break; switch(i) case 1:x=10;break; case 2:x=100;break; case 3:x=500;break; case 4:x=1000;break; case 5:x=2000;break; /*花样子文件zi.c*/*sbit S1=P13; 定义按键s1为引脚P1.3sbit S2=P14;sbit S3=P15;sbit S4=P16;sbit S5=P17;*/#define led P3sbit beep=P20; /定义蜂鸣器为引脚P2.0unsigned int x=10;unsigned char k=1,i=1,flag=0;/#define led ledvoid delay_ms(unsigned int xms)/1ms延时子程序unsigned int aa,bb; for(aa=xms;aa>0;aa-) if(flag=1) /当检测到有按键按下,跳出内层循环 break;for(bb=800;bb>0;bb-);/调整bb数值,以使本句运行时间为1ms 。/在PROTEUS中仿真时,可调为120;实际下载到STC12C5A32S2使应调为800左右/-void di() /短促响一声函数 beep=0; delay_ms(100);beep=1;/-/-花样1隔一个位置灯亮-void huayang_1(void) led=0xfe; delay_ms(x); led=0xfb; delay_ms(x); led=0xef; delay_ms(x);led=0xbf; delay_ms(x); /-/-花样2高低四位灯循环亮灭-void huayang_2(void) led=0xf0; delay_ms(x); /调用延时函数 led=0x0f; delay_ms(x); /调用延时函数 /-/-花样3灯两盏两盏亮- void huayang_3(void) led=0xfc; delay_ms(x); led=0xf3; delay_ms(x); led=0xcf; delay_ms(x); led=0x3f; delay_ms(x); /- /-花样4流水灯- void huayang_4(void) led=0x7f; delay_ms(x); led=0xbf; delay_ms(x); led=0xdf; delay_ms(x); led=0xef; delay_ms(x); led=0xf7; delay_ms(x); led=0xfb; delay_ms(x); led=0xfd; delay_ms(x); led=0xfe; delay_ms(x); /- /-花样5灯闪烁-void huayang_5(void) led=0xff; delay_ms(x); led=0x00; delay_ms(x); /* 24C02的使用函数库函数使用说明:1、write_add_24c02(2,aaa ); /把变量aaa的值保存到在24c02的单元地址2中,注意,最好在后面加上几个ms的延时,避免出错。2、bbb=read_add_24c02(2); /读出24c02的单元地址2中保存的数据并赋给变量bbb*/#define uint unsigned int#define uchar unsigned char/-与24C02相关的设置和子函数-void delay() ; /简单短延时子函数sbit sda_24c02=P27; /定义24C02的数据线与单片机的连接 sbit scl_24c02=P26;/-与24C02相关的设置和子函数-void start_24c02() /24c02开始信号sda_24c02=1;delay();scl_24c02=1;delay();sda_24c02=0;delay(); void stop_24c02() /24c02停止sda_24c02=0;delay();scl_24c02=1;delay();sda_24c02=1;delay(); void respons_24c02() /24c02应答uchar i;scl_24c02=1;delay();while(sda_24c02=1)&&(i<250)i+;scl_24c02=0;delay(); void init_24c02() /24c02初始化sda_24c02=1;delay();scl_24c02=1;delay(); void write_byte_24c02(uchar date) /写8个uchar i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;scl_24c02=0; delay();sda_24c02=CY;delay();scl_24c02=1;delay();scl_24c02=0;delay();sda_24c02=1;delay(); uchar read_byte_24c02()uchar i,k;scl_24c02=0;delay();sda_24c02=1;delay();for(i=0;i<8;i+)scl_24c02=1;delay();k=(k<<1)|sda_24c02;scl_24c02=0; delay();return k; void write_add_24c02(uchar address,uchar date)/将某数据写入24C02某个单元中start_24c02();write_byte_24c02(0xa0); /24c02的写地址(1010 0000)respons_24c02();write_byte_24c02(address);respons_24c02();write_byte_24c02(date);respons_24c02();stop_24c02(); uchar read_add_24c02(uchar address)/读出24c02某个单元数据到变量中uchar date;start_24c02();write_byte_24c02(0xa0); /24c02的读地址(1010 0001)respons_24c02();write_byte_24c02(address);respons_24c02();start_24c02();write_byte_24c02(0xa1);respons_24c02();date=read_byte_24c02();stop_24c02();return date; /-与24C02相关的设置和子函数 结束-专心-专注-专业

    注意事项

    本文(基于单片机c语言花样彩灯设计(共7页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开