【精品】51单片机课程设计34.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
江汉大学物理与信息工程学院 课程设计报告 课题名称:键控跑马灯、蜂鸣器 按键值检测、键控数码管 温度传感器、数码管 专业: 09 测控 班级: B0907202121 学号: 2009072021XX 学生姓名: xx 同组人员: XX XX XX XX 指导老师: XXX 2010年12月12日 摘要·································3 设计要求·····························3 系统硬件设计·························3 实验源程序···························4 系统硬件电路设计·····················15 实验总结·····························16 参考文献·····························16 摘要: 单片机就是微控制器,是面向应用对象设计、突出控制功能的芯片。单片机接上晶振、复位电路和相应的接口电路,装载软件后就可以构成单片机应用系统用。本设计应用单片机强大的控制功能实现流水灯的控制、数码管显示数字、多点测温等,采用NT-51-A单片机,该单片机采用的是MCU51内核,具有很好的兼容性。 设计要求: 上电时,LED等全熄灭,S1键闭合时,LED1~LED8被依次点亮后全熄灭,然后等待S1再次闭合,重复上述过程;若中间S2键闭合时,LED立即全部熄灭,回到起始状态。 S1键按下时,启动跑马灯;S2键按下时,停止;S3键按下时,从左到右循环流动;S4键按下时,从右到左循环流动。 S1键按下时,数码管显示值1,蜂鸣器响1声;S2键按下时,数码管显示值2,蜂鸣器响2声;S3键按下时,数码管显示值3,蜂鸣器响3声;S4键按下时,数码管显示值4,蜂鸣器响4声。 系统硬件设计: 1、器件选型:USB供电、MAX232串口通信、DS18B20温度传感器、红外遥控接收模块、1602字符液晶模块、12864带字库液晶模块、跑马灯、四位一体数码管、独立按键、蜂鸣器 实物图 2、STC单片机MAX232与PC机通信/编程电路图 实验源程序: 键控跑马灯: /******************************************* 功能描述:S17键按下时,启动跑马灯; S18键按下时,停止; S19键按下时,从左向右循环流动; S20键按下时,从右向左循环流动; 连线方式:D0~D7接P0口,K17=P2^0,K18=P2^1;短接JP2,键盘模块接地; *******************************************/ #includereg52.h #includeintrins.h #define uchar unsigned char #define uint unsigned int sbit Key1=P2^0; //S1键 sbit Key2=P2^1; //S2键 sbit Key3=P2^2; //S3键 sbit Key4=P2^3; //S4键 uchar Data=0xfe; //流水灯初值 uchar Start,UpDown; /******************************************* 延时程序 *******************************************/ void delay(uchar x) { uchar y; for(;x0;x--) for(y=114;y0;y--); } /******************************************* 独立键盘扫描程序 *******************************************/ uchar Key() { if(Key1==0) { delay(10); if(Key1==1) return(0); else Data=0xfe; //每次启动跑马灯后从固定位置开始流动 UpDown=0; //清除左右移动标志,消除按下S2再按S1 return(1); //后立即开始流动,和按下S3、S4后再启 } //动时立即开始循环的现象 if(Key2==0) { delay(10); if(Key2==1) return(0); else return(2);

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档