预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录 1.题目……………………………………………………………………………………………………1 2.电路原理图的设计……………………………………………………………………………………1 2.1传送带产品计数器(LED显示)电路原理图…………………………………………………1 2.2LED显示模块……………………………………………………………………………………1 2.3置数模块…………………………………………………………………………………………2 2.4按键模块…………………………………………………………………………………………3 2.5电机控制模块……………………………………………………………………………………3 3.软件系统设计 3.1软件系统的流程结构……………………………………………………………………………4 3.2C51程序…………………………………………………………………………………………44.仿真即调试………………………………………………………………………………………………8 5.总论………………………………………………………………………………………………………8 参考文献……………………………………………………………………………………………………9最新范本,供参考! 最新范本,供参考! 最新范本,供参考! 题目 设计题目传送带产品计数器的设计(LED显示) 功能要求: 用MCS-51系列单片机作为控制器;采用4位LED进行计数显示;采用光电传感器计数;用按键控制传送带电机的起停;用拨码盘预置计数值,计数到预定值时,传送带停止,按键后传送带继续运行。 MACROBUTTONMTEditEquationSection2EquationChapter(Next)Section1SEQMTEqn\r\h\*MERGEFORMATSEQMTSec\r1\h\*MERGEFORMATSEQMTChap\h\*MERGEFORMATMACROBUTTONMTEditEquationSection2EquationChapter(Next)Section1SEQMTEqn\r\h\*MERGEFORMATSEQMTSec\r1\h\*MERGEFORMATSEQMTChap\h\*MERGEFORMAT2电路原理图的设计 2.1传送带产品计数器(LED显示)电路原理图 硬件原理图如下图所示,包括显示模块,按键模块,电机控制模块,置数模块。 2.2LED显示模块 使用4位LED数码管来显示数字,通过NPN管来驱动数码管。 2.3置数模块 使用8位薄码盘和5位薄码盘组合来组成最高13位的二进制数,即8191的最大置数值,很好的利用了4位数码管。 2.4按键模块 每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。软件设计采用查询方式和外部中断相结合的方法来设计,低电平有效。按键直接与89c51的I/O口线相连接,通过读I/O口的电平状态,即可识别出按下的按键。电路原理如图 2.5电机控制模块 利用光电耦合器和直流继电器来控制电机,其中二极管是用来保护三极管,而电容是用来减少火花的影响。如下图所示。 3软件系统设计 3.1软件系统的流程结构 3.2C51程序 #include<reg51.h> #defineucharunsignedchar #defineuintunsignedint sbitSTAR_KEY=P3^6;//定义键与单片机的连接引脚 sbitSTOP_KEY=P3^7; sbitL0=P1^0;//定义SFR中引脚的位 sbitL1=P1^1; sbitL2=P1^2; sbitL3=P1^3; sbitL4=P1^4; sbitL5=P1^5; sbitL6=P1^6; sbitL7=P1^7; sbitL8=P2^0; sbitL9=P2^1; sbitL10=P2^2; sbitL11=P2^3; sbitL12=P2^4; sbitLED4=P2^5; //定义四位数码管的千位 sbitLED3=P2^6; sbitLED2=P2^7; sbitLED1=P3^0; sbitMOTOR=P3^5; ucharn[2]={1,0}; ucharcode dispcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; voiddelayms(uintx)//延时子程序 { uchary; while(x--) { for(y=0;y<123;y++){;} } } ucharKeynum() //按键子程序1 { uch