版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1.题目12.电路原理图的设计1 2.1传送带产品计数器(LED显示)电路原理图1 2.2 LED显示模块1 2.3 置数模块2 2.4 按键模块3 2.5 电机控制模块33.软件系统设计 3.1 软件系统的流程结构43.2 C51程序494.仿真即调试85.总论8参考文献91 题目设计题目 传送带产品计数器的设计(LED显示)功能要求: 用MCS-51系列单片机作为控制器;采用4位LED进行计数显示;采用光电传感器计数; 用按键控制传送带电机的起停; 用拨码盘预置计数值,计数到预定值时,传送带停止,按键后传送带继续运行。2 电路原理图的设计2.1 传送带产品计数器(LED显示)电路原理
2、图硬件原理图如下图所示,包括显示模块,按键模块,电机控制模块,置数模块。2.2 LED显示模块 使用4位LED数码管来显示数字,通过NPN管来驱动数码管。2.3 置数模块使用8位薄码盘和5位薄码盘组合来组成最高13位的二进制数,即8191的最大置数值,很好的利用了4位数码管。2.4 按键模块每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。软件设计采用查询方式和外部中断相结合的方法来设计,低电平有效。按键直接与89c51的I/O口线相连接,通过读I/O口的电平状态,即可识别出按下的按键。电路原理如图25 电机控制模块利用光电耦合器和直流继电器来控制电机,其中二极
3、管是用来保护三极管,而电容是用来减少火花的影响。如下图所示。3 软件系统设计3.1 软件系统的流程结构3.2 C51程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit STAR_KEY =P36;/定义键与单片机的连接引脚sbit STOP_KEY =P37;sbit L0=P10; /定义SFR中引脚的位sbit L1=P11;sbit L2=P12;sbit L3=P13;sbit L4=P14;sbit L5=P15;sbit L6=P16;sbit L7=P17;sbit L
4、8=P20;sbit L9=P21;sbit L10=P22;sbit L11=P23;sbit L12=P24;sbit LED4=P25; /定义四位数码管的千位sbit LED3=P26;sbit LED2=P27;sbit LED1=P30;sbit MOTOR=P35;uchar n2=1,0;uchar code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;void delayms(uint x) /延时子程序 uchar y; while(x-) for(y=0;y<123;y+); uch
5、ar Keynum() /按键子程序1 uchar key=0; STAR_KEY=1;STOP_KEY=1; /置初值 if(STAR_KEY=0)delayms(10);if(STAR_KEY=0)n0=0;n1=1; /按下STAR键则n0=0;n1=1 if(STOP_KEY=0)delayms(10);if(STOP_KEY=0)n0=1;n1=0; /按下STOP键则n0=1;n1=0; return n2; /返回n值void xianshi(uint o) /显示子程序 P0=0xff; P0=dispcodeo/1000;LED4=1;LED3=0;LED2=0;LED1=0
6、;delayms(5); P0=0xff; P0=dispcode(o/100)%10;LED4=0;LED3=1;LED2=0;LED1=0;delayms(5); P0=0xff; P0=dispcode(o/10)%10;LED4=0;LED3=0;LED2=1;LED1=0;delayms(5); P0=0xff; P0=dispcodeo%10;LED4=0;LED3=0;LED2=0;LED1=1;delayms(5);uint qiuzhi() /求用拨码盘所置数的值的子程序 uchar a; uchar b; uchar c; uchar d; uchar e; uchar f
7、; uchar g; uchar h; uchar i; uchar j; uchar k; uchar l; uchar m; uint p=0; if (L0=1) a=1; else a=0;/将电平信号变为数字的值 if (L1=1) b=1; else b=0; if (L2=1) c=1; else c=0; if (L3=1) d=1; else d=0; if (L4=1) e=1; else e=0; if (L5=1) f=1; else f=0; if (L6=1) g=1; else g=0; if (L7=1) h=1; else h=0; if (L8=1) i=1
8、; else i=0; if (L9=1) j=1; else j=0; if (L10=1) k=1; else k=0; if (L11=1) l=1; else l=0; if (L12=1) m=1; else m=0; p=a+b*2+c*2*2+d*2*2*2+e*2*2*2*2+f*2*2*2*2*2+g*2*2*2*2*2*2+h*2*2*2*2*2*2*2+i*2*2*2*2*2*2*2*2+j*2*2*2*2*2*2*2*2*2+k*2*2*2*2*2*2*2*2*2*2+l*2*2*2*2*2*2*2*2*2*2*2+m*2*2*2*2*2*2*2*2*2*2*2*2;
9、return p; / 返回所求的P值void main(void) /主程序 uint q; IT0=1; /负跳变触发 EA=1; /开总允许中断 EX0=1; /开INTO中断 TMOD=0X05; /置T0为计数器方式1 TL0=0x00;/置计数器初值 TH0=0x00; while(1)/无限循环 q=qiuzhi(); /调用求值子程序求出所置的数 if (MOTOR=1) xianshi(q); else xianshi(TL0);Keynum();TR0=n1; /当电动机关闭时显示用薄码盘所置的数并停止计数,电机启动时则开始计数,并显示计数值 if (TL0=q) TR0=0;MOTOR=1; else Keynum();MOTOR=n0;/当计数值与所置数相同时关闭电机,停止计数,当计数值不等时则将电机启动与关闭交由按键控制,所以不存在计数值超过置数值的情况 void Int0(void) interrupt 0/中断服务程序,工作寄存器用0组 TL0=0x00;TR0=1; /重置计数值,重新开始计数4 仿真及调试仿真原理图如上图。当需要置数时,通过薄码盘拨动,8位薄码盘控制二进制数的低八位,5位薄码盘控制高8位。启动后,LED数码管会显示所置的数,按下开始键STAR,电动机开始运转,4位LED数码管显示0,然后按动计数键COUNT,按一下数码管显示数加1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 白板用挂纸商业机会挖掘与战略布局策略研究报告
- 手机银行服务行业相关项目经营管理报告
- 分配药品用医院推车产品供应链分析
- 企业破产清算的法律咨询与服务行业市场调研分析报告
- 电泳显示器市场发展前景分析及供需格局研究预测报告
- 投资法律服务行业营销策略方案
- 人力资源管理行业营销策略方案
- 电子出票机产品供应链分析
- 录像带剪辑行业市场调研分析报告
- 压力指示器产品供应链分析
- 锌钢护栏安装施工技术
- BOSCH 喷油器型号与参数对照表
- 部编版五年级上册第七单元21 古诗词三首长相思 一等奖创新教学设计与点评
- 中药注射剂标准全文地升国
- 木刻版画-马宏强课件
- 中学生物教学论试卷
- 博飞说明书及维修手册sz1032水准仪
- 六年级数学老师家长会课件PPT
- 跨文化交际(西北大学)知到章节答案智慧树2023年
- 人民教育家陶行知人物故事PPT陶行知事迹学习PPT课件(带内容)
- 我们一起做三明治课件
评论
0/150
提交评论