传送带产品计数器的设计(LCD)
传送带计数课程设计
传送带计数课程设计一、课程目标知识目标:1. 学生能理解并掌握传送带的原理与功能;2. 学生能运用基本的计数方法,对传送带上的物体进行计数;3. 学生了解传送带计数在实际生活中的应用。
技能目标:1. 学生能运用观察、分析、计算等方法,解决传送带计数问题;2. 学生能运用所学知识,设计简单的传送带计数程序;3. 学生通过团队协作,提高沟通与解决问题的能力。
情感态度价值观目标:1. 学生培养对物理现象的好奇心与探索精神;2. 学生在团队协作中,学会尊重、倾听与互助;3. 学生认识到科技在生活中的重要作用,增强对科学技术的热爱。
课程性质:本课程为物理与数学相结合的实践课程,注重培养学生的观察、分析、计算和团队协作能力。
学生特点:四年级学生具有一定的观察、分析和计算能力,对新鲜事物充满好奇,喜欢动手操作。
教学要求:结合学生特点,注重理论与实践相结合,提高学生的实际操作能力和解决问题的能力。
将课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。
二、教学内容1. 传送带的原理与功能:- 介绍传送带的基本结构和工作原理;- 分析传送带在工业生产中的应用。
2. 传送带计数方法:- 讲解物体在传送带上的运动特点;- 引导学生掌握时间与速度的关系,推导计数方法;- 介绍常见计数方法,如定时计数、定长计数等。
3. 实践操作:- 设计简单的传送带计数实验,让学生动手操作;- 引导学生运用所学知识,解决实际问题。
4. 传送带计数程序设计:- 结合计算机编程知识,指导学生设计简单的计数程序;- 分析程序在传送带计数中的应用。
5. 团队协作与沟通:- 组织学生分组进行实践操作,培养团队协作能力;- 引导学生通过沟通、讨论,共同解决问题。
教学内容安排与进度:第一课时:传送带的原理与功能,物体在传送带上的运动特点;第二课时:传送带计数方法,定时计数与定长计数;第三课时:实践操作,设计简单的传送带计数实验;第四课时:传送带计数程序设计,团队协作与沟通。
传送带上物件计数器的设计
传送带上物件计数器设计第一章方案论证随着社会的进步和生产的发展,物件计数器已经有了很大的发展,同时也有了很多有关物件计数器的设计方案,但针对的对象不同,所设计的电路也是不尽相同的。
此次我所设计的传送带上的物件计数器主要是针对那些规则的、间隔均匀的物件,因此我设计出了自己的合适的物件计数器电路。
电路的主要功能是对传送带上的物件进行自动计数、装箱以及对所计物件个数进行显示。
关于我设计的方案,我主要论证的电路是检测电路和显示电路以及键盘电路。
第一节检测电路的论证在传送带传送物品的作业过程中,许多物品具有规则形状的块状、颗粒状或棒枝状产品,诸如香烟、香皂、糖果、铅笔、饼干、书籍等。
这些物品大多数按规定的标准实行自动加工,其重量和形体均匀一致,且大多数实行计数定量包装,如香烟20支一小包,书籍10本一包,图钉100个一盒等。
规则形体的物品包装计数时,先以适当的方式将其送到计量给料位置或料斗中,再由计数定量装置按包装要求进行计数给料。
目前常用的计数定量装置有:光电检测计数装置,以及用于块状物品的冲头式定量给料装置,用于块状或颗粒状物品的模孔式定量给料装置,用于块状物品的差速定量给料装置,用于棒状物品的容腔式定量给料装置等。
采用光电检测装置进行计数供送具有装置轻巧、检测速度快、检测范围广、精确度高、非接触、抗干扰、便于实现自动控制等优点,应用非常广泛。
在研制、开发和应用光电计数供送控制系统时,除了要注意一般数控电路共有的防电磁干扰和微机接口技术问题外,还要注意光电计数检测控制特有的几个技术问题,如被检物品的排队、检测信号的整形、防止误计(多计或漏计)以及防车间照明光源的干扰等。
由于我们时间和精力有限,我们只研究了规则的、有间隔的物件计数,于是我们选择了光电检测装置。
光电检测在工业上的运用也分为好多种。
可以检测一切能够影响光量或光特性的非电量,例如,位移、振动、力、转矩、转速、温度、压力、流量、液位、湿度、液体浓度、浑浊度、成分、角度、表面粗糙度、乃至图像等。
(博途)S7-300PLC传送带工件计数控制程序设计
(博途)S7-300PLC传送带工件计数控制程序设计
传送带想必在工控界并不陌生,商场的自动扶梯,机场的自动人行道,码头上自动装卸货传送带,工厂生产流水线,农业机械中(联合收割机、插秧机)都有应用,传送带上传送的物品肯定是要得知它传送了多少物品,那么如何得知呢?我们可以采用PLC计数器指令来实现,下面就带大家来完成传送带工件计数控制程序的设计。
01控制要求
传送带输送40个工件,用光电传感器计数,当计件数量小于35时指示灯常亮,当计件数量等于或大于35时指示灯闪烁,当计件数量为40时,10S后传送带停止,同时指示灯熄灭。
02IO分配表
03组态配置
第一步:(点击添加新设备,选择CPU 315-2 DP版本号根据实际版本来设定,点击确认)
第二步:(项目树—PLC变量创建一下变量地址)
04编写程序
第一步:(传送带电机的启动与停止控制)
第二步:(工件计数及比较)
05演示运行
第一步:(启动,在程序段1中,当按下启动按钮M3.0,M3.0常开触点接通,Q124.0线圈通电自锁,传送带电机启动运行)
第二步:(工件计数,在程序段2中,当传送带电机运行时,Q124.0常开触点接通,工件每次经过光电传感器时,光电开关接通1次,M3.3常开触点闭合1次,C0的当前值MW100加一,MW100<35时,Q124.1线圈一直通电,指示灯常亮,MW100≥35时,指示灯每秒闪烁1次,MW100≥40时,定时器TO延时10s。
延时10S时间到,计数器C0复位,程序段1中TO常闭断开,传送带电机停止。
)
来源:PLC发烧友,作者:技成-徐陈爽,未经授权请勿转载!评论处大家可以补充文章解释不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家需要的。
毕业设计灌装饮料传送带控制
武汉职业技术学院毕业设计2012届项目类别:毕业设计项目名称:灌装饮料传送带控制专业:班级:姓名:学号:指导老师:摘要本次课程设计基于AT89C51单片机为核心,应用PWM技术对直流电机的速度进行精确调节,并测量出电动机的转速,通过模数转换系统,使用LCD液晶显示器精确的显示电动机的转速。
本次课程设计的目的是更加熟练掌握单片机的工作原理及实际应用,特别是单片机的编程语言,数模转换系统,PWM调节脉冲及LCD液晶显示器的工作原理。
关键字:51单片机;转速控制;模数转换;LCD液晶显示器;目录1前言 (1)2 硬件部分的设计 (2)2.1硬件设计总体思路 (2)2.2单片机控制直流电机部分的硬件设计 (3)2.2.1直流电机组成原理 (3)2.2.2直流电机调速方案的设计 (4)2.2.3直流电机测速方案的设计 (6)2.2.4 PWM产生与控制部分方案的设计 (7)2.2.5 LCD显示部分方案的设计 (9)2.2.6数模与模数转换部分方案的设计 (13)3 各硬件部分的连接与接口 (15)3.1 单片机与直流电机接口部分 (15)3.2单片机与LCD显示模块通信接口部分 (17)3.3各部分硬件结合原理及构造 (18)4 软件程序设计 (19)4.1系统软件设计的总体概述 (19)4.2系统各部分软件设计的思路 (22)5 系统的调试与现象分析 (24)6设计总结 (26)参考文献 (27)单片机程序 (28)单片机控制直流电机转速及温度测量程序 (33)1前言近年来,随着科技的飞速发展,单片机的应用正在不断地走向深入。
在仪器仪表、家用电器和专用装备的智能化以及过程控制等方面,单片机都扮演着越来越重要的角色。
将单片机的应用引入实际科技实践必将对微电子控制技术的研究与实践注入强大活力。
本次设计研究的直流电机转速控制及转速的LCD显示实验装置即以单片机作为核心部件,它可完成对直流电机转速、方向的闭环控制,并应用LCD液晶显示装置显示出转速。
环形传送带工件计数实验指导书
环形传送带工件计数综合实验一、实验目的通过本实验让学生掌握生产线输送带上对不同材质、不同颜色工件计数的常用方法与常用的各种传感器特点和应用方法。
二、实验原理对生产线的输送带上流过的工件(零部件或产品)进行自动检测计数的主要是利用接近开关。
接近开关是一种毋需与运动工件进行机械接触的电子开关量传感器,当某物体与接近开关接近并达到一定距离时,不需要施加任何压力即可输出开关量信号从而驱动交流或直流电器(如机电式计数器)或给计算机装置提供控制指令。
它既有行程开关、微动开关的特性,同时具有传感性能,且动作可靠,性能稳定,频率响应快,应用寿命长,抗干扰能力强等、并具有防水、防震、耐腐蚀等特点。
目前应用较为广泛的接近开关按工作原理可以分为电感型、电容型、光电型、霍尔型等等。
图1所示为输送带上工件的自动计数原理框图。
图1 检测实验台与输送带上工件的自动计数原理框图对输送带上工件的颜色识别实验中是运用了真彩颜色传感器。
传感器有三个通道开关量输出并每个通道可预先标定设置工件的颜色;计算机经数据采集传感器每通道开关量信号就可识别输送带上工件的颜色。
图2为颜色识别实验原理框图。
图2 工件颜色识别实验原理框图三. 实验仪器和设备1. CSY-5000型传感器测控技术实训公共平台;2. 环形带综合测控实验台;3. 数据采集模板及测控软件(LabVIEW试用版);4. 光电式(GY10-W3-3F1)、电容式(CG8-S18-3F1)、电感式(LG-S18-3F1)、涡流式(BZF-2)、磁电式(RP6660CF-12A)、超声波(S18UUA)传感器各一件;真彩颜色传感器(QC50A3P6XDWQ)一件;5.不同材质(非金属、铁磁性金属、非铁磁性金属)、颜色(红、绿、黄)测试块共6件;6. PC机及RS232通讯接口。
四.实验预习要求1.掌握光电式、电容式、电感式、涡流式、磁电式、超声波传感器的工作原理及特点;2.掌握真彩颜色传感器的工作原理和操作程序;3.思考采用适当的传感器实现传送带上不同材质工件的计数方法;4.熟悉CSY-5000型传感器测控技术实训平台的硬件配置。
物流计数器设计说明书
物流计数器设计说明书一、设计背景随着物流业的发展和技术的不断进步,物流计数器作为一种重要的物流设备,被广泛应用于物流中转仓库、配送中心、生产线等场所。
物流计数器的主要功能是实现物流货物的计数、分类、累计等操作,为物流企业的运营管理提供了重要的数据支持。
本文旨在介绍一款物流计数器的设计方案,为相关企业提供参考。
二、设计要求1.计数精度高物流计数器是将物品逐个加入感应区内来统计数量的装置,所以要求计数精度高,尽可能减少误差。
要实现计数精度高,需选用合适的计数器芯片、高精度的传感器和滤波算法,保证计数的准确性。
2.操作简单物流计数器主要用于生产、仓储等场所,操作人员通常为非专业人士,要求物流计数器的操作简单易懂。
因此,设计时需考虑人机交互,设计合理的操作面板和操作流程,使其易于使用。
3.稳定性高物流计数器通常需要长期运行,要求设备具有稳定的性能和可靠的运行。
在设计中应考虑设备的电路稳定性和抗干扰能力,并选用优质的电子元器件和可靠的结构设计,保证设备的长期稳定运行。
三、设计方案1.硬件设计(1)传感器选择本方案选用光电传感器作为计数器的传感器,利用红外光束进行检测,计数范围广、计数精度高。
同时,在传感器选型时,还需要考虑传感器的响应速度和稳定性。
(2)计数器芯片为满足计数器精度的要求,本方案选用高精度计数器芯片,确保计数的准确性。
(3)电源和显示器计数器的电源选用直流电源,输入电压范围为220V,输出电压为12V。
显示器采用LED数字管,显示清晰明了,易于读取。
2.软件设计(1)操作界面设计操作界面设计简单明了,具有方便快捷的操作性,操作流程简单易懂。
主要包括计数器的开关、计数清零、累计数据查询等功能。
(2)滤波算法设计为减少误差,本方案采用间隔值鉴定加滤波算法的计数方法。
通过根据实际需求的设定数值,鉴别出环境因素或其他干扰因素对计数数据的影响,减少误差的出现。
四、结论本文设计了一款物流计数器,以较高的计数精度、简单易懂的操作界面、可靠的运行稳定性等为特点,为物流企业的生产管理提供支持。
输送带物品计数器电路原理图
输送带物品计数器电路原理图
该装置的电路工作原理见下图。
当输送带上无物品时,VD1发出的红外线直接照射在VD2上,导致VD 2的内阻减小,故LSE的①、②脚间相当于串通,它的④脚输出高电平,继电器J励磁吸合。
一旦输送带工作,有物品“不断”地遮断VD1发出的红外线时,联接在LSE④脚上的继电器J不断地吸合——释放——吸合,其触点j也不断地闭合——断开——闭合,就相当于人手不断地按动计算器上的“=”键一样,从而在计算器的液晶显示屏上显示出累加数字来。
该装置的计数频率不能大于25Hz。
六位十进制计数器设计(LCD显示计数值)
1.前言1.1设计背景利用数字电路技术数出给定时间内所通过的脉冲数并显示计数结果的数字化仪器。
电子计数器是其他数字化仪器的基础。
在它的输入通道接入各种模-数变换器,再利用相应的换能器便可制成各种数字化仪器。
电子计数器的优点是测量精度高、量程宽、功能多、操作简单、测量速度快、直接显示数字,而且易于实现测量过程自动化,在工业生产和科学实验中得到广泛应用。
电子计数器可具有以下三种基本功能:(1)频率测量(2)周期或时间间隔测量(3)累加计数在这些功能的基础上再增加某些辅助电路或装置,计数器还可完成多周期平均、时间间隔平均、频率比值和频率扩展等功能。
电子计数器性能指标主要包括:频率、周期、时间间隔测量范围、输入特性(灵敏度、输入阻抗和波形)、精度、分辨度和误差(计数误差、时基误差和触发误差)等。
电子计数器按功能可分三类:(1)通用计数器:可测频率、周期、多周期平均、时间间隔、频率比和累计等。
(2)频率计数器:专门用于测量高频和微波频率的计数器,主要用于测频率。
(3)计算计数器:一种带微处理器的具有计算功能的计数器,除了具有通用计数器的功能之外,还能进行数学运算,求解比较复杂的方程式,可靠程序控制进行测量计算和显示等全部工作。
1.2设计内容(1)编制程序,在字符液晶显示器上显示键盘实时按键值;(2)设计一个十进制计数器,对外部脉冲进行计数,计满即清0,用小键盘设置计数值及计数器的启、停.,显示器由右向左为个,十,百,千,万,十万。
1、C键:清零.2、A键:开始计数,3、D键:停止计数,4、B键:设置计数值。
4、E键:程序退出。
1.3硬件实习的目的(1)进一步掌握硬件电路和软件功能的设计方法。
(2)了解LCD1602的工作原理,掌握键盘扫描方法。
2.设计要求2.1编制程序,在字符液晶显示器上显示键盘实时按键值;2.2设计一个十进制计数器,对外部脉冲进行计数,计满即清0,用小键盘设置计数值及计数器的启、停.,显示器由右向左为个,十,百,千,万,十万。
电子编程LCD预设计数器和速度计指示器说明书
• Counter, tachometer, timer and position display in one counter• Can be used as a preset counter, batch counter or total counter• 2 relays (change-over)• Many different count models • Scalable display• Set value, step to tracking preset • Multi-range power supply for AC• Readable or configurable via RS232/485 interface via Modbus or CR/LF protocol• Allows for direct connection of a large display or PrinterElectronic Programmable LCD Preset Counter and Rate IndicatorKey FetaturesBenefitsThe 898X is a counter, tachometer, timer and position display in a single unit. It can be used as a preset counter, batch counter or totalizer depending on requirements, with automatic help text to take the user through programming. With its automatic help text, clearly and legibly displayed on 14 LED segments, the 898X preset counter takes the user effortlessly through the programming. The large user-friendly front keys can be operated even when wearing gloves. The 14mm high LED display ensures easy reading even from a long distance and in poor lighting conditions.Available with RS485 interface and MODBUS and CR/LF protocol96 [3.77]48 [1.88]90.5 [3.56]7.35 [0.29]11.2 [0.44]max.35 [1.38]43 [1.69]90 [3.54]92 [3.622]450 [1.7700]• Automatic help text• 14-segment LED for improved text representation • Status display of the presets • 3 defined parameters• Tracking presets eliminate the need for re-programming the pre-signal• 4-stage RESET modes • 3-stage keypad locking• Suitable for installation in mosaic systemsSpecificationsGeneral Technical DataDisplay6-digit red 14 segment LED display, 14mm [0.55] highOperating Temperature-20ºC - +65ºC [-4ºF - +149ºF] (non-condensing)Storage Temperature-25ºC - +5ºC [-13ºF - +167ºF]Relative humidity (at +40ºC [+104ºF])RH 93% (non-condensing)Altitude up to 2000m [6562’]Electrical characteristicsPower Supply AC 100-240 VAC, +10% max. 11 VA, 50/60 HzExternal Fuse Protection230 VAC T0.1 A 10-30 VDC T 0.25 AData Retention>10 years, EEPROMResponse time of the frequency meter100 / 600 ms (details in instruction manual)Input Modes Count Direction (cnt.dir),Pulse Counter:Difference (up.dn)Addition A+B (up.up)Phase discriminator x1, x2, x4 (quad, quad x2, quad x4),Ratio (A/B),Ratio in % ((A-B)/Ax100%)Frequency Meter:A, A-B, A+B quad, A/B, (A-B)/A x 100%Timer: 4 start modes: FrErun, Auto, InpA.InpB., InpB.InpB.Sensor power supply AC supply: 24V DC+ 15%, 80 mADC Supply: max. 80 mA, external power supply is connected through EMC Emitted interference: EN55011 class BImmunity to interference: EN 61000-6-2Device safety Designed to EN 61010 part 1Protected class 3Application Area Pollution level 2Mechanical DataProtection IP65 (from the front)Weight approx. 180g [6.35 oz]Count inputs A and BPolarity of the inputs programmable for all inputs in common, NPN/PNPInput resistance5kΩCount frequency Pulse counters: max. 55kHzTachometers: max. 65 kHzCan be damped to 30 Hz (mechanical contacts) (details in instruction manual) Control/Reset input MPI 1 and MPI 2, Lock, Gate, ResetMin pulse duration of the inputs10 ms/1msSwitching levels with AC supply4-30 VDC Low: 0 … 2 VDCHigh 3.5 … 30 VDCSwitching levels with DC supply1-30 VDC Low: 0 … 2 VDCHigh: 3.5 … 30 VDCPulse shape variable, Schmitt-Trigger characteristicsOutputsSwitching voltage max. 250 VAC / 150 VDCSwitching current max . 3 A AC / DCmin. 30 mA DCSwitching capacity max. 750 VA / 90 WOutput 1 + 2Mech. Service life (switching cycles) 2 x 10⁷No. of switching cycles at 3 A / 250 VAC 5 x 10⁴No. of switching cycles at 3 A / 30 VDC 5 x 10⁴Relay with changeover contactReaction time of the outputs 13ms(pulse / time) (details in instruction manual)Part NumbersFunctions / Count ModesTrumeter (Europe)Pilot Mill Alfred Street Bury, BL9 9EFTel: +44 161 674 0960Email: @ Trumeter (The Americas)702 S. Military TrailDeerfield Beach, Florida FL 33442, USATel: +1 954 725 6699Email: a@ Innovative Design Technologies Sdn. Bhd Lot 5881, Lorong Iks Bukit Minyak 1Taman Perindustrian Iks, 14000 Bukit Tengah Penang, MalaysiaWeb: Tel: + 604 5015700Email: sales.my@Pulse Counter• Count with direction mode • Difference mode• Quadrature mode quad / quad2 / quad4• Add, sub, automatic reset • 2-input adding mode A+B • Ratio measurement A/B• Multi-range power supply for AC or DC• Percentage difference measurement (A/B) / A x 100%• Batch counting • Totaliser (overall total)• Multiplication and division factor (up to 99.9999)• Set value• Step or tracking presetFrequency Meter (tachometer)• A • A - B • A + B• A / B• (A – B) / A x 100% (percentage display)• Quad (phase discriminator with recognition of direction)• Averaging • Start delay • 2nd tacho input • Gate input• Multiplication and division factor (up to 99.9999)Time and hours-run Meter (timer)• FrErun (control via gate input)• Auto (start via reset, stop at preset)• InpB.InpB (start with the first edge at InpB (stop with second edge InpB.)• InpA.InpB (start w/ InpA., stop w/ inpB.)• Totaliser (overall total)• Batch counting • Set value• Step or tracking preset8980-1: Dual Preset, Dual Relay Counter, 10-30VDC 8981-1: Dual Preset, Dual Relay Counter, 100-240VAC 8981-5:Dual Preset, Dual Relay Counter, 100-240VAC, RS485898X-DS-1.2 08-17Optional interface MODBUS and CR/LFCount Frequencymax. 45 kHz 9 (details in instruction manual)Interface RS232, RS485Baud Rate 9600Device address1-99, programmable。
传送带产品计数器的设计(LCD显示)
目录摘要 (1)1 题目 (2)2 电路原理图的设计 (2)2.1 传送带产品计数器(LED显示)电路原理图 (2)2.2 LED显示模块 (2)2.3 置数模块 (3)3 软件系统设计 (4)3.1 软件系统的流程结构 (4)3.2 C51程序 (4)3.3计数程序模块 (9)4 仿真及调试 (13)5 总论 (14)参考文献 (15)致谢 (16)摘要MCS-51系列单片机 LCD显示 LCM16021 题目传送带产品计数器的设计(LCD显示)功能要求:用MCS-51系列单片机作为控制器;采用LCM1602进行计数显示;采用光电传感器计数;用按键控制传送带电机的起停;用拨码盘预置计数值,计数到预定值时,传送带停止,按键后传送带继续运行。
2 电路原理图的设计2.1 传送带产品计数器(LED显示)电路原理图硬件原理图如下图所示,包括显示模块,按键模块,电机控制模块,置数模块。
2.2 LED显示模块使用4位LED数码管来显示数字,通过NPN管来驱动数码管。
3 软件系统设计3.1 软件系统的流程结构3.2 C51程序/*----------------------------------------------------------- 文件名:lcd1602.h头文件功能:LCD1602驱动函数的声明-----------------------------------------------------------*/ #ifndef _LCD1602_H_#define _LCD1602_H_#include <reg52.h>#define uint unsigned int#define uchar unsigned char//接口定义sbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80; //P0口为LCD数据总线/*----------------------------------------------------------- 功能:LCD初始化函数-----------------------------------------------------------*/ void LCD_Initial();/*----------------------------------------------------------- 功能:LCD显示字符(ASIIC码)函数参数:x-列0~15;y-行0~1;str-要显示的字符串指针-----------------------------------------------------------*/ void LCD_Prints(uchar x, uchar y,uchar *str);#endif/*----------------------------------------------------------- 文件名:lcd1602.c函数功能:LCD1602的驱动函数原理:采用普通IO口方式模拟LCD1602时序,未采用总线方式-----------------------------------------------------------*/#include <REG52.H>#include <intrins.h> //次头文件中定义有_nop_()函数#include "lcd1602.h"/*-----------------------------------------------------------功能:内部等待函数返回参数:P0数据-----------------------------------------------------------*/uchar LCD_Wait(void){LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();//while(DBPort&0x80);/* 在用Proteus仿真时,屏蔽此语句,否则会进入死循环,实际硬件操作时打开此语句.*/LcdEn=0;return DBPort;}/*-----------------------------------------------------------功能:写LCD命令/数据函数参数:style为写命令/数据,0-命令,1-数据;input为写入的8位命令/数据-----------------------------------------------------------*/#define LCD_COMMAND 0 // 命令#define LCD_DATA 1 // 数据#define LCD_CLEAR_SCREEN 0x01 // 清屏#define LCD_HOMING 0x02 // 光标返回原点void LCD_Write(bit style, uchar input){LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();LcdEn=1; _nop_();LcdEn=0; _nop_();LCD_Wait();}/*----------------------------------------------------------- 功能:设置LCD显示模式参数:DisplayMode 见下面的定义-----------------------------------------------------------*/ //显示模式定义#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(uchar DisplayMode){LCD_Write(LCD_COMMAND, 0x08|DisplayMode); }/*-----------------------------------------------------------功能:设置LCD输入模式参数:InputMode 见下面的定义-----------------------------------------------------------*/#define LCD_AC_UP 0x02 // 地址计数器增加方式#define LCD_AC_DOWN 0x00 // 此为缺省设置#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00 // 画面不可平移void LCD_SetInput(uchar InputMode){LCD_Write(LCD_COMMAND, 0x04|InputMode);}//初始化LCD 详见LCD1602.h中的说明void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38); //此句不能省LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不?}/*-----------------------------------------------------------功能:液晶字符显示的位置函数参数:x-列0~15;y-行0~1;-----------------------------------------------------------*/ void LCD_Pos(uchar x, uchar y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//将字符(ASIIC码)输出到液晶显示详见LCD1602.h中的说明void LCD_Prints(uchar x, uchar y,uchar *str){LCD_Pos(x,y);while(*str!='\0'){ LCD_Write(LCD_DATA,*str); str++;}}3.3计数程序模块#include"lcd1602.h"#define uchar unsigned char#define uint unsigned intuchar out[6];sbit STAR_KEY =P3^2;//定义键与单片机的连接引脚sbit L0=P1^0; //定义SFR中引脚的位sbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L4=P1^4;sbit L5=P1^5;sbit L6=P1^6;sbit L7=P1^7;sbit MOTOR=P3^0;uchar n[2]={1,0};void delayms(uint x) //延时子程序{uchar y;while(x--){for(y=0;y<123;y++){;}}uchar Keynum() //按键子程序1{uchar key=0;STAR_KEY=1; //置初值if(STAR_KEY==0){delayms(10);if(STAR_KEY==0)n[0]=0;n[1]=1;} //按下STAR键则n[0]=0;n[1]=1return n[1]; //返回n值}void xianshi(uint dispbuf) //显示子程序{out[0]=dispbuf/10000+0x30;out[1]=((dispbuf%10000)/1000)+0x30;out[2]=((dispbuf%1000)/100)+0x30;out[3]=((dispbuf%100)/10)+0x30;out[4]=dispbuf%10+0x30;out[5]='\0';LCD_Initial(); //LCD初始化LCD_Prints(1, 0,"The Speed Is"); //LCD输出LCD_Prints(10, 1,"n/min");LCD_Prints(4, 1,out); }uint qiuzhi() //求用拨码盘所置数的值的子程序{ uchar a;uchar b;uchar c;uchar d;uchar e;uchar f;uchar g;uchar h;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;}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;return p; // 返回所求的P值}void main(void) //主程序{uint q;IT0=1; //负跳变触发EA=1; //开总允许中断EX0=1; //开INTO中断TMOD=0X05; //置T0为计数器方式1TL0=0; //置计数器初值TH0=0;while(1) //无限循环{ q=qiuzhi(); //调用求值子程序求出所置的数if (MOTOR==1) {xianshi(q);} else {xianshi(TL0);Keynum();TR0=n[1];} //当电动机关闭时显示用薄码盘所置的数并停止计数,电机启动时则开始计数,并显示计数值if (TL0==q) {TR0=0;MOTOR=1;} else {Keynum();MOTOR=n[0];} }}//当计数值与所置数相同时关闭电机,停止计数,当计数值不等时则将电机启动与关闭交由按键控制,所以不存在计数值超过置数值的情况void Int0(void) interrupt 0 //中断服务程序,工作寄存器用0组{ TL0=0;TR0=1; }//重置计数值,重新开始计数4 仿真及调试XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51OFFON12345678161514131211109DSW1DIPSW_8234567891RP110*865412U2OPTOCOUPLER-NPNR1100R22kR310kU1(P3.4/T0)R55kR410kRL112VQ5NPND11N4001VCC+12V+12vVCCVCC急停计数重启动电机计数值设定D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LRV11kVCC5 总论整个设计通过了软件和硬件上的调试.......................参考文献[1]胡汉才.单片机原理及接口技术[M].北京:清华大学出版社.1996.[2]张毅刚.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,1997. ....................................................................致谢........................................................................... .。
光电检测技术课程设计流水线光电计数器的设计
光电检测技术课程设计流水线光电计数器的设计仪器科学与工程学院组长:组员:目录1引言 (2)2 设计内容及要求 (2)2.1基本内容 (2)2.2提高要求 (2)3 光电计数器的系统设计 (3)3.1系统硬件设计 (3)3.1.1各模块组成 (4)3.1.2系统总电路图 (7)3.2软件程序设计 (8)4结束语 (11)参考文献 (11)流水线光电计数器的设计摘要:本系统采用的是以单片机AT89C52为核心的自动计数器。
将红外发光管与光电接收管相对放置,每当物体通过一次,光电接收管的输出电压就发生一次变化,这个变化的电压信号通过放大和处理后,输入至单片机AT89C52的P3.2口,通过软件控制并以LED加以显示,便可以实现对物体的计数统计。
本计数器可将机械或人工计数方式变为电子计数,并且采用LED数码管显示,可适用于诸多行业。
关键词:自动计数器,计数触发,光电式传感器The design of photoelectric counterKey words:automatic counters, counting trigger, photoelectric sensor1 引言21世纪是信息时代,获取信息,处理信息,运用信息。
传感与检测技术的重要性在于它是获得信息并对信息进行必要处理的基础技术,是获取信息和处理加工信息的手段,无法获取信息则无法运用信息。
在啤酒、汽水和罐头等灌装生产线上,常常需要对随传送带传送到包装处的成品瓶进行自动计数,以便统计产量或为计算机管理系统提供数据。
而数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的,通常分为接触式计数器和非接触式计数器两种。
本次设计的光电计数器为非接触式计数器中的一种。
光电式传感器是将光信号转化为电信号的一种传感器。
它的理论基础是光电效应。
这类效应大致可分为三类。
第一类是外光电效应,即在光照射下,能使电子逸出物体表面。
毕业设计基于三菱PLC控制传送带的系统设计
毕业设计-基于三菱PLC控制传送带的系统设计毕业设计(论文)题目基于三菱PLC控制传送带的系统设计系别专业年级班别学生名字学号指导老师毕业设计(论文)成绩评定:指导教师评语:评分:指导教师:(签名)年月日目录摘要 (3)1 引言 (3)1.1传送带控制系统的发展概述 (4)1.1.1我国传送机的发展 (4)1.1.2国内传送带输送机的发展发展趋势 (4)1.2总体方案说明 (5)2 传送带控制系统设计及PLC的选取 (5)2.1 PLC的选取及介绍 (6)2.1.1三菱FX2N PLC的主要特点 (6)2.1.2 PLC的性能指标和分类 (6)2.2总体方案确定 (7)2.3传感器选择与设计 (8)2.3.1光电开关的原理 (8)2.3.2数码显示部分设计 (10)2.3.3具体系统工作流程 (11)3 传送带输送工作梯形图 (11)4 全文总结 (13)参考文献 (14)基于三菱PLC控制传送带的系统设计李锦泉[摘要] 为了适应现代自动化传送的要求,PLC控制逐渐取代继电接触器控制成为传送控制的主要环节,使控制系统更加安全、迅速、可靠。
PLC的推广应用在我国得到迅猛的发展,它已经广泛应用在各种机械设备和生产过程的电气控制装置中。
基于PLC的控制原理,运用三菱公司的FX2N系列PLC来实现对工业生产常用的传送带运动的控制。
本文介绍了传送带系统的基本结构、系统各部分的功能及系统PLC的控制原理,并以光电传感器实现了对传送带的控制,达到预期控制效果。
证明该系统具有较好的自动运行、检测和装载功能,提高了传送带的性能与效率,大大的节约人员劳动力。
关键词:传送带; PLC控制;光电传感器;1.引言随着经济的快速发展, 企业竞争越来越激烈,为提高效率、降低生产成本, 传送带得到了广泛的应用。
传送带广泛应用于工业生产系统。
传送带的应用不仅节约了劳动力, 提高了生产效率, 而且降低了生产成本, 在工业生产中发挥了巨大的作用。
工厂流水线产品计数器(DOC)
数显流水线产品计数器目录摘要关键字 (2)第一章引言 (3)第二章电路设计方案 (4)2.1电路系统方框图 (6)2.2 电路原理图 (7)2.3各子模块电路工作原理 (7)第三章单元电路及仿真 (12)3.1直流稳压电路 (12)3.2红外发射电路 (14)3.3红外接收及放大电路 (14)3.4脉冲整形电路 (17)3.5计数/译码/显示电路 (17)3.6报警电路. (18)第四章 PROTEL 设计 (19)第五章设计过程中的心得体会 (20)第六章参考文献及材料清单 (21)摘要计数器对某物件进行自动计数,在实际生产生活中具有广泛的应用,对通过的物体进行计数,实现统计数据的搜集,如在生产流水线包装数量控制等领域的应用,可以节省劳动力,能高效地完成任务。
红外计数器采用红外传感器实现对通过计数器的物体进行计数,是一种非接触式计数,在部分场合有着其无比的优越性,从而使其广泛应用于工业生产、实时监测、自动化控制等领域。
第一章引言电子计数器在科学技术领域、工农业生产以及日常生活中发挥着越来越重要的作用。
人类社会对电子计数器提出的越来越高的要求,电子计数器技术的发展和电子技术的高速发展密不可分,从而为现代科学技术突飞猛进则提供了坚强的后盾。
本电路的制作是根据生产生活中的需要而设计出来的一种计数器。
它适用于工厂生产流水线的计数等方面,具有成本低、灵敏度高和制作简单等优点。
该计数器用于实现工厂流水线产品在0-9999范围内计数。
电路采用220V市电经变压器降压,再经过稳压电路整流,滤波,7812三端集成稳压器的稳压,输出+12V的直流电源对各个模块供电。
当传送带上一件产品通过计数器时,红外发射管发出的信号被阻挡,红外线接收管检测产生模拟信号,经放大后通过NE555构成的施密特触发器对传感器模拟信号进行波形整形,信号进入CD40110和数码管组成的计数、译码、显示电路,进行计数、译码、驱动数码管,最终通过数码管显示出来。
(最新版)基于51单片机的流水线产品计数器设计_毕业设计
毕业设计(论文)基于51单片机的流水线产品计数器设计班级: 31001班姓名: 唐树春专业: 应用电子技术指导老师: 周晓红老师二零一二年六月十日摘要I本系统采用的是以单片机STC89c52为核心的光电计数器。
其工作原理是采用单片机的外部中断0来进行计数,数据采集部分采用反射式光电传感器,将红外发光管与光电接收管相邻安放,每当物体通过一次,红外光就被物体反射,光电接收管接收一次,光电接收管的输出电压就产生一个变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,输入至STC89c52单片机的P3.2口,通过软件控制和硬件控制并用LED加以显示,便可实现对物体的计数统计。
本计数器可将机械或人工计数方式变为电子计数,并且采用LED数码管显示,可适用于诸多行业,以满足现代生产、生活方式的需求。
所谓的光电式传感器是将光信号转化为电信号的一种传感器。
光电式传感器是以光电器件作为转换组件的传感器,光电检测方法具有精度高、应用快、非接触等优点,而可测参数多,光电传感器的结构简单,形式灵活多变因此,光电式传感器在检测和控制中应用非常广泛。
关键词:计数器;光电传感器;单片机;LED数码管AbstractThis system USES is with STC89c52 single chip microcomputer as the core of the photoelectric counter. The working principle of adopting SCM external interruption 0 to count, the data acquisition of the reflecting photoelectric sensor, the infrared light tube and photoelectric receiving tube adjacent put, whenever the object through a, infrared light is object reflective, photoelectric tube receiving a receiving, photoelectric receiving tube is the output voltage of produce a change, the changes of the voltage signal through the amplifier and processing, form count pulse, the input to STC89c52 SCM P3.2 mouth, through the control software and realize the object counting statistics. This counter can or mechanical artificial count way into electronic counted, and using LED digital display tube, can be used in many industries, to meet the modern production, the way of life of demand.The so-called photoelectric sensor is light signals are converted to electrical signals a sensor. Photoelectric sensor is based on photoelectric device as a conversion of components of the sensor, photoelectric detection method , the advantages of fast contact, and can be measured parameters, the structure of the photoelectric sensor is simple, flexible in form so, photoelectric sensor in the detection and control is widely used.Keywords: counter; Photoelectric sensor; microcomputer; LED digital tube目录摘要 (I)ABSTRACT (IV)第1章绪论 (1)1.1、本论文的背景和意义 (1)1.2、主要方法和研究进展 (1)1.3、主要内容 (1)1.4、结构安排 (1)第2章整体设计方案 (2)2.1、设计方案选择 (2)2.2、设计方框图 (2)第3章硬件设计及功能 (2)3.1、基本介绍 (2)3.2、AT89C52引脚功能 (3)3.3、STC89C52系统结构图 (4)3.4、STC89C52的复位与时钟 (4)3.5、STC89C52单片机的基本工作电路 (5)3.6、本次设计的部分电路 (5)3.7、74HC573芯片 (5)3.8、显示电路 (6)第4章软件设计 (7)4.1、P ROTEUS软件 (7)4.2、K EIL C51软件 (8)4.3、软件设计流程图: (11)致谢 (12)结论 (12)参考文献 (13)附录 1 电气原理图 (14)附录 2 PCB图与3D视图 (14)附录3 源程序 (17)附录4 仿真效果图 (18)第1章绪论1.1、本论文的背景和意义随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。
产品自动装箱计数生产线
产品自动装箱计数生产线引言工业生产中常常需要自动统计产品的数量,字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
本次设计的光电计数器采用光电传感器与计数器实现对物件的数目统计。
数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的,通常分为接触式计数器和非接触式计数器两种。
本次设计的光电计数器为非接触式计数器中的一种。
光电计数器采用光电传感器利用光学原理实现对物件的数目统计。
光电式传感器是将光信号转化为电信号的一种传感器。
1 设计任务与要求本设计是设计一个产品自动装箱计数生产线,该生产线能够自动记录生产产品的数量。
本产品自动装箱计数生产线适用于日传送产品数万箱,每箱内装产品12件的生产线。
1.1工作原理自动装箱传送带每送来一件产品,将光源遮住一次,通过光电元件产生一个脉冲信号,再经整形后输入十二进制(产品件数)计数器,每输入12个脉冲,完成一箱包装;同时输出一个脉冲到个位十进制(箱数)计数器,计以1.再经译码器由LED数码管显示箱数。
当个位十进制计数器输入10个脉冲后,输入一个脉冲(进位)到十进制计数器,记以10。
计数过程,以此类推。
该生产线能够记录的最大数量为99999*12件。
1.2 设计要求独立完成设计所有的内容,明确设计任务,根据任务选择合适的方案,画出系统框图,对方案的各部分进行单元电路的设计。
再将各部分连接,设计出完整的系统原理图。
所有的电路必须都通过计算机的仿真,使用Protel软件会出原理图和印制电路板,并完成符合要求的设计说明书的撰写。
2方案设计和论证本设计通光电元件产生脉冲信号,通过滤波电路,整形电路产生矩形脉冲信号触发计数器计数,当计数脉冲输入十二个脉冲时,向前进位。
方案一:用光敏电阻组成电路来将光信号转换成电信号。
当有工件通过时,LED灯得灯光被遮挡,光敏电阻的阻值随光照强度的减弱而增大,相应的电压信号为低电平,通过放大电路将信号放大,经过滤波整形电路产生脉冲信号,触发计数器进行计数,通过数码管显示计数值。
毕业设计---光电计数器的设计
2012 届毕业设计说明书光电计数器的设计摘要21世纪是信息时代,是获取信息,处理信息,运用信息的时代。
传感与检测术的重要性在于它是获得信息并对信息进行必要处理的基础技术,是获取信息和处理加工信息的手段,无法获取信息则无法运用信息。
光电式传感器是将光信号转化为电信号的一种传感器。
它的理论基础是光电效应。
这类效应大致可分为三类。
第一类是外光电效应,即在光照射下,能使电子逸出物体表面。
利用这种效应所做成的器件有真空光电管、光电倍增管等。
第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。
这类器件包括各类半导体光敏电阻。
第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。
这类器件包括光电池、光电晶体管等。
光电效应都是利用光电元件受光照后,电特性发生变化。
敏感的光波长是在可见光附近,包括红外波长和紫外波长。
数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。
数字式电子计触式触发的,有采用电子传感器的非接触式触发的,光电式传感器数器有多种计数触发方式,它是由实际使用条件和环境决定的。
有采用机械方式的接是其中之一,它是一种非接触式电子传感器。
采用光电传感器制作的光电式电子计数器。
这种计数器在工厂的生产流水线上作产品统计,有着其他计数器不可取代的优点。
关键词:光电效应;光电传感器;光电计数器ABSTRACTThe 21st century is the age of information, it is the access to information, treatment information, use of the information age. Sensing and detection technology is important because it is the access to information and the information necessary to deal with the underlying technology, is access to information and means of processing information, unable to get information you won't be able to use information.Photoelectric sensor is a light signal into an electric signal of the sensor. It is the theoretical basis of the photoelectric effect. These effects can be broadly divided into three categories.The first type is outside of the photoelectric effect, namely, in daylight, can make the tungsten surface. Use this effect caused by device with vacuum photocell, photomultiplier tubes, etc. The second category is the photoelectric effect, i.e., in the light, can make the electrical resistivity of the material change. Such devices include various types of photosensitive semiconductor. The third category is photo voltaic effect, in the light, the objects within the EMF EMF, this is called light-induced electromotive force. This class of devices, including photovoltaic cells, photo-transistor, etc. Photoelectric effect is using optoelectronic components affected by the lighting, the electric characteristics change. Sensitive optical wavelength is visible in the vicinity, including infrared wavelength and UV wavelengths. Digital electronic counters have intuitive and counts accurate benefits, has been in widespread use in various industries. There are a variety of digital electronic counter counter mode, it is triggered by the actual use conditions and the environment. Using mechanical means of contacting fires, using electronic sensors for non-contact type photoelectric sensor triggered, is one of them, it is a non-contact electronic sensors. Adopts photoelectric sensor production of opto-electronic counters. This counter is the factory's production lines for products, with other counters irreplaceable the merit.Keywords:photoelectric effect ;photoelectric sensor;photoelectric counter目录1 绪论 (1)1.1 光电计数器的发展现况 (1)1.2 论文研究的目的及意义 (2)2 计数器的设计方案 (3)2.1 流水线工件计数器的工作框图 (3)2.2 计数器的控制框图 (3)2.3 计数器设计的选型 (4)2.3.1 传感器部分 (4)2.3.2 信号器处理部分 (7)2.3.3 互锁部分 (8)2.3.4 计数译码部分 (8)2.3.5 显示部分 (9)2.4 本章小结 (10)3 光电计数器电路的设计 (11)3.1 传感器部分 (11)3.2 数模转换部分 (11)3.3 计数器的互锁部分 (12)3.4 计数部分 (14)3.5 显示部分 (14)4 Proteus 7.1设计仿真软件仿真 (16)4.1 Proteus 7.1 仿真软件的简单介绍 (16)4.2 电路各部分的仿真分析 (19)4.2.1 传感器的仿真 (19)4.2.2 反相器的仿真 (21)4.2.3 触发器的仿真 (22)4.2.4 整体电路的仿真 (24)4.3 本章小结 (26)5 性能分析 (27)5.1 性能分析 (27)总结 (29)致谢 (30)附录 (32)1 绪论1.1 光电计数器的发展现况在我国电子技术的不断发展和市场新需求的推动作用下,计数器相关技术和产业不断完善,除了它原先存在的主要核心功能外,电子计数器的辅助功能也逐渐增加,现在已经出现了多功能计数器,多功能计数器产品的响应度较高,交直、流电两用、耗能低、价格低、无机械碰撞、无磨损、使用寿命长,既可计数,又可计算。
LCD计算器参考资料
LCD计算器制作说明:这个计数器操作比较简单,可以进行七位数以下的加减乘除运算,乘积的值不能超过十位数。
它共有十七个按键:0~9的数字键,一个复位键(也就是清零键),加减乘除键,等号键,点号键。
计算后,在进行下次计算时,必须先进行清零操作。
程序中设置了按键音,每按下一个按键就会有声音提示,方便大家使用。
产品使用注意:PCB图:下面是此电路的运行程序:#include <reg51.h>#include <intrins.h>unsigned char num,fuhao;unsigned long c,d,e,g;bit wei; //减法判断是正数还是负数位bit shu;bit jia;bit jian;bit cheng;bit chu;bit dian; bit deng;//bit haha;bit ji;bit dian1;sbit RW=P0^6;sbit RS=P0^5;sbit E=P0^7;sbit feng=P0^2;unsigned char code table[]={0x1c,0x30,0x60,0x80,0x01+0x00}; //指令数组unsigned char codetable1[]={0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6 c,0xec,0x1c,0x9c};unsigned char code table2[]={0xd4,0xb4,0x54,0xf4,0x74,0xbc}; unsigned char m[10];xianshi();quwei();check();jiafa1();jianfa1();chengfa1();chufa1();void delay(int time){unsigned int x,y;for(x=time;x>0;x--)for(y=160;y>0;y--);}writedata(unsigned char dat){P2=dat;delay(4);E=1;delay(15);E=0;delay(5);}void resert(){E=0;RW=0;RS=0;writedata(table[0]);_nop_();writedata(table[1]);_nop_();writedata(table[2]);_nop_();writedata(table[3]);_nop_();writedata(table[4]);_nop_();} qushu1() //输入第一个数{unsigned char a;for(a=0;a<8;a++){while(1){check();if(shu==1||jia==1||jian==1||cheng==1||chu==1) break;} //断开while循环//if((jia==1||jian==1||cheng==1||chu==1)&&ji ==1)//{RS=0;writedata(table[3]);_nop_();writedata (table[4]);_nop_();c=e;xianshi();ji=0;} //前次运算结果导入c中if(jia==1){RS=1;writedata(table2[0]);//delay(5);RS=0;fuhao=1; //显示符号+break;} //断开for循环if(jian==1){RS=1;writedata(table2[1]);//delay(5);RS=0;fuhao=2; //显示符号-break;} //断开for循环if(cheng==1){RS=1;writedata(table2[2]);//delay(5);RS=0;fuhao=3; //显示符号*break;} //断开for循环if(chu==1){RS=1;writedata(table2[3]);//delay(5);RS=0;fuhao=4; //显示符号/break;} //断开for循环if(shu==1){c=c*10+num;RS=1;_nop_();writedata(table1 [num]);delay(5);RS=0;shu=0;} //显示键入得数}}qushu2() //输入第二个数{unsigned char b;for(b=0;b<8;b++){while(1){check();if(shu==1||deng==1)break;} //断开while循环if(shu==1){d=d*10+num;RS=1;_nop_();writedata(table1 [num]);delay(5);RS=0;shu=0;} //显示键入得数if(deng==1)break;//断开for循环}}main(){feng=0;delay(30);feng=1;SP=0x5f;resert();RS=0;writedata(0x01+0x00);_nop_();RS=1;writedata(table1[0]);_nop_();while(1){c=d=0;RS=0;writedata(0x01+0x00);_nop_();qushu1();qushu2();jia=jian=cheng=0;switch(fuhao){case 1: jiafa1();break;case 2: jianfa1();break;case 3: chengfa1();break;case 4: chufa1();break;}quwei();xianshi(); //显示运算结果}}chengfa1() //乘法运算{e=c*d;cheng=0;RS=0;writedata(0x01+0x02);//delay(5);RS=1;_nop_();writedata(table2[5]);//delay(5);RS=0;//设定液晶显示的指针地址}chufa1() //除法运算{e=c/d*10000+c%d*10000/d;RS=0;writedata(0x01+0x02);//delay(5);RS=1;_nop_();writedata(table2[5]); //显示等号//delay(5);RS=0;//设定液晶显示的指针地址}jianfa1() //减法运算{if(c>d){e=c-d;RS=0;writedata(0x01+0x02);//delay(5);RS=1;_nop_();writedata(table2[5]);} //显示等号//delay(5);RS=0;//设定液晶显示的指针地址if(c<d){e=d-c;RS=0;writedata(0x01+0x02);//delay(5);RS=0;_nop_();RS=1;_nop_();writedata(table2[5]); //显示等号//delay(5);RS=0;RS=1;writedata(table2[1]);//delay(5);RS=0;//设定液晶显示的指针地址然后在将负号写进去}jian=0;}jiafa1() //加法运算{e=c+d;jia=0;RS=0;writedata(0x01+0x02);//delay(5);RS=1;_nop_();writedata(table2[5]); //显示等号//delay(5);RS=0;//设定液晶显示的指针地址}quwei() //将所得结果各位数取出{unsigned char a;m[0]=e/1000000000;m[1]=e%1000000000/100000000;m[2]=e%100000000/10000000;m[3]=e%10000000/1000000;m[4]=e%1000000/100000;m[5]=e%100000/10000;m[6]=e%10000/1000;m[7]=e%1000/100;m[8]=e%100/10;m[9]=e%10;ji=1;for(a=0;a<10;a++){if(m[a]==0)g++;else break;}}xianshi() //显示函数{unsigned char f,h;if((chu==1)&&(g>=6)) //消除无用的零{RS=1;writedata(table1[0]);delay(2);RS=0; RS=1;writedata(table2[4]);delay(2);RS=0; h=6;}else if((chu==1)&&(g<6)){h=g;dian1=1;}else h=g;for(f=h;f<10;f++){if((chu==1)&&(f==6)&&(dian1==1)){RS=1;writedata(table2[4]);delay(2);RS=0;ch u=0;dian1=0;}RS=1;writedata(table1[m[f]]);delay(2);RS=0;}if(g==10){RS=0;writedata(0x01+0x02);RS=1;_nop_(); writedata(table2[5]); //显示等号RS=0;RS=1;writedata(table1[0]);delay(2);RS =0;}}check() //键盘扫描程序{unsigned char a;P3=0xfe;a=P3;a=a&0xf0;if(a!=0xf0){feng=0;delay(30);feng=1;a=P3;a=a&0xf0;while(a!=0xf0){switch(a){case 0x70: num=10;chu=1;break;case 0xb0: num=11;dian=1;break;case 0xd0: num=0;shu=1;break;case 0xe0: num=12;deng=1;break;}break;}while(1){a=P3;a=a&0xf0;if(a==0xf0){delay(10);a=P3;a=a&0xf0;if(a==0xf0)break;}}}P3=0xfd;a=P3;a=a&0xf0;if(a!=0xf0){feng=0;delay(30);feng=1;a=P3;a=a&0xf0;while(a!=0xf0){switch(a){case 0x70: num=13;cheng=1;break;case 0xb0: num=9;shu=1;break;case 0xd0: num=8;shu=1;break;case 0xe0: num=7;shu=1;break;}break;}while(1){a=P3;a=a&0xf0;if(a==0xf0){delay(10);a=P3;a=a&0xf0;if(a==0xf0)break;}}}P3=0xfb;a=P3;a=a&0xf0;if(a!=0xf0){feng=0;delay(30);feng=1;a=P3;a=a&0xf0;while(a!=0xf0){switch(a){case 0x70: num=14;jian=1;break;case 0xb0: num=6;shu=1;break;case 0xd0: num=5;shu=1;break;case 0xe0: num=4;shu=1;break;}break;}while(1){a=P3;a=a&0xf0;if(a==0xf0){delay(10);a=P3;a=a&0xf0;if(a==0xf0)break;}}}P3=0xf7;a=P3;a=a&0xf0;if(a!=0xf0){feng=0;delay(30);feng=1;a=P3;a=a&0xf0;while(a!=0xf0){switch(a){case 0x70: num=15;jia=1;break;case 0xb0: num=3;shu=1;break;case 0xd0: num=2;shu=1;break;case 0xe0: num=1;shu=1;break;}break;}while(1){a=P3;a=a&0xf0;if(a==0xf0){delay(10);a=P3;a=a&0xf0;if(a==0xf0)break;}}} }下面是HEX文件::10085F001C306080010C8C4CCC2CAC6CE C1C9CD4F0:05086F00B454F474BC58:0F07BA00D285900864E493FF1208447F027 E000A:1007C900D3EF9400EE940040147DA07C00 ED1D70E1:0D07D900011CED4C70F7EF1F70E61E80E 371:0107E60022F0:06083E00900873E493FF33:100844008FA07F047E001207C9D2877F0F7 E00121B:0B08540007C9C2877F057E000207C9AC :10078900C287C286C28590085FE493FF120 84400BD:10079900A3E493FF12084400A3E493FF120 8440062:1007A900A3E493FF12084400A3E493FF12 08440052:0107B900221D:10044700E4F50812000320080C2004092003 062005:1004570000033005EE300411D28590086EE 493FF57:10046700120844C28575220122300311D285 9008F3:100477006FE493FF120844C2857522022230 0011EF:10048700D285900870E493FF120844C2857 5220351:1004970022300511D285900871E493FF1208 44C2F7:1004A7008575220422300846E47F0AFEFD FCAB274F:1004B700AA26A925A824120319A804A90 5AA06ABE8:1004C70007E4FCFDFEEB2523F527EE3AF 526ED398B:1004D700F525EC38F524D28500E52390086 493FFD1:1004E7001208447F057E001207C9C285C20 80508A5:0A04F700E508C39408500302044A0C:010*******D7:10072700E4F5081200032008033002F73008 46E416:100737007F0AFEFDFCAB2BAA2AA929A 828120319B8:10074700A804A905AA06AB07E4FCFDFE EB2523F5E3:100757002BEE3AF52AED39F529EC38F52 8D2850044:10076700E52390086493FF1208447F057E00 120773:10077700C9C285C2082002090508E508C39 40840D4:01078700A2CF:010********E:1006B300C2827F1E7E001207C9D2827581 5F120734:1006C30089C2857F0112084400D28590086 4E493AF:1006D300FF12084400E4F52BF52AF529F5 28F52740:1006E300F526F525F524C2857F0112084400 12047E:1006F30047120727C200C203C204E52224F E600F8B:1007030014601114601324037012120814800 D1264:1007130005A880081207E780031206361201 941217:04072300050280B19A:1007E700AF2BAE2AAD29AC28AB27AA2 6A925A8246A:1007F7001203198F2F8E2E8D2D8C2CC200 C2857F50:0D08070003120844D2850012083EC285226 B:10063600AB2BAA2AA929A828AF27AE26 AD25AC241C:100646001203A4AC00AD01AE02AF03E47 B107A271F:10065600F9F8120319AB2BAA2AA929A8281203A470:10066600C004C005C006C007AB2BAA2A A929A82822:10067600AF27AE26AD25AC241203A4E47 B107A275F:10068600F9F8120319D003D002D001D000 EF2BF5F0:100696002FEE3AF52EED39F52DEC38F52 CC2857F87:0D06A60003120844D2850012083EC28522 CE:1005A800AF2BAE2AAD29AC28AB27AA2 6A925A824AB:1005B800D31204364025E527952BF52FE52 6952AF5:1005C800F52EE5259529F52DE5249528F52 CC285E8:1005D8007F03120844D2850012083EC285 AF2BAEB5:1005E8002AAD29AC28AB27AA26A925A8 24C312041A:1005F800365038C3E52B9527F52FE52A952 6F52E95:10060800E5299525F52DE5289524F52CC28 57F0348:10061800120844C28500D2850012083EC28 5D285E0:0E06280090086FE493FF120844C285C2032 2BB:10081400E527252BF52FE526352AF52EE5 2535295F:10082400F52DE5243528F52CC204C2857F 03120872:0A08340044D2850012083EC285225E:100194007B007ACA799A783BAF2FAE2E AD2DAC2C6A:1001A4001203A48F347B007ACA799A783 BAF2FAEBE:1001B4002EAD2DAC2C1203A4AC00AD0 1AE02AF03E6:1001C4007B007AE179F578051203A48F35 7B007AF8:1001D400E179F57805AF2FAE2EAD2DAC 2C1203A42A:1001E400AC00AD01AE02AF037B807A967 9987800BB:1001F4001203A48F367B807A9679987800A F2FAE5D:100204002EAD2DAC2C1203A4AC00AD01 AE02AF0395:100214007B407A42790F78001203A48F377 B407AAF:1002240042790F7800AF2FAE2EAD2DAC2 C1203A463:10023400AC00AD01AE02AF037BA07A86 79017800F1:100244001203A48F387BA07A8679017800 AF2FAE91:100254002EAD2DAC2C1203A4AC00AD01 AE02AF0345:10026400E47B107A27F9F81203A48F39E4 7B107A1F:1002740027F9F8AF2FAE2EAD2DAC2C12 03A4AC0091:10028400AD01AE02AF03E47BE87A03F9F 81203A4EC:100294008F3AE47BE87A03F9F8AF2FAE2 EAD2DAC9C:1002A4002C1203A4AC00AD01AE02AF03 E47B64FAEC:1002B400F9F81203A48F3BE47B64FAF9F8 AF2FAE8C:1002C4002EAD2DAC2C1203A4AC00AD0 1AE02AF03D5:1002D400E47B0AFAF9F81203A48F3CE47 B0AFAF9E6:1002E400F8AF2FAE2EAD2DAC2C1203A4 AF038F3D6F:1002F400D209E4FB74342BF8E67019E533 2401F5D4:1003040033E43532F532E43531F531E43530 F53066:040314000BBB0AE035:010*******C2:10050200300528E47F06FEFDFCAB33AA3 2A931A8F0:1005120030C312043640141207BAC285D28 590083D :10052200721207BFC285750806802130051 BE47F61:1005320006FEFDFCAB33AA32A931A830 C312043641:100542005007853308D2078003853308AB0 8EBC315:10055200940A5029300514BB061130070ED 285903B:1005620008721207BFC285C205C207D2857 4342B36:10057200F8E69008641207C0C2850B80D1 E47F0AB6:10058200FEFDFCAB33AA32A931A830C3 1204367087:1005920014C2857F03120844D2850012083 EC28528:0505A2001207BAC2853A:0105A7002231:1000030075B0FEAFB05307F0EF64F06057 C2827F64:100013001E7E001207C9D282AFB05307F0 EF64F01F:10002300602BEF2450601324E0601624F06 0192441:1000330070701A75230AD205801375230B D20180C1:100043000CE4F523D208800575230CD202 AFB0531C:1000530007F0BFF0F87F0A7E001207C9AF B053075D:10006300F0BFF0E975B0FDAFB05307F0E F64F06097:1000730057C2827F1E7E001207C9D282AF B05307D8:10008300F0EF64F0602BEF2450601324E06 016243B:10009300F060192470701A75230DD200801 3752334:1000A30009D208800C752308D2088005752 307D26E:1000B30008AFB05307F0BFF0F87F0A7E00 1207C9FC:1000C300AFB05307F0BFF0E975B0FBAFB 05307F023:1000D300EF64F06057C2827F1E7E001207 C9D2828E:1000E300AFB05307F0EF64F0602BEF2450 6013249C:1000F300E0601624F060192470701A75230 ED20381:100103008013752306D208800C752305D20 8800559:10011300752304D208AFB05307F0BFF0F8 7F0A7E0F:10012300001207C9AFB05307F0BFF0E975 B0F7AFDE:10013300B05307F0EF64F06057C2827F1E7 E001257:1001430007C9D282AFB05307F0EF64F060 2BEF24FE:1001530050601324E0601624F06019247070 1A753F:10016300230FD2048013752303D208800C7 5230256:10017300D2088005752301D208AFB05307F 0BFF052:10018300F87F0A7E001207C9AFB05307F0 BFF0E94A:010*********:030000000208747F:0C087400787FE4F6D8FD75813D0206B3E4 :10031900E88FF0A4CC8BF0A42CFCE98EF 0A42CFC83:100329008AF0EDA42CFCEA8EF0A4CDA 8F08BF0A401:100339002DCC3825F0FDE98FF0A42CCD3 5F0FCEB60:100349008EF0A4FEA9F0EB8FF0A4CFC5F 02ECD3925:0F035900FEE43CFCEAA42DCE35F0FDE4 3CFC2292:1003680075F008758200EF2FFFEE33FECD 33CDCC4C:1003780033CCC58233C5829BED9AEC99E 5829840CF:100388000CF582EE9BFEED9AFDEC99FC 0FD5F0D6AC:10039800E4CEFBE4CDFAE4CCF9A88222B800C1B9D6:1003A8000059BA002DEC8BF084CFCECD FCE5F0CB14:1003B800F97818EF2FFFEE33FEED33FDE C33FCEB4D:1003C80033FB10D703994004EB99FB0FD8 E5E4F908:1003D800FA227818EF2FFFEE33FEED33F DEC33FCF5:1003E800C933C910D7059BE99A4007EC9 BFCE99AE9:1003F800F90FD8E0E4C9FAE4CCFB2275F 010EF2F2E:10040800FFEE33FEED33FDCC33CCC833 C810D7072D:100418009BEC9AE899400AED9BFDEC9A FCE899F868:0E0428000FD5F0DAE4CDFBE4CCFAE4C 8F922FB:10043600EB9FF5F0EA9E42F0E99D42F0E8 9C45F01C:010*********:00000001FF。
传送带上物件计数器的设计
传送带上物件计数器设计第一章方案论证随着社会的进步和生产的发展,物件计数器已经有了很大的发展,同时也有了很多有关物件计数器的设计方案,但针对的对象不同,所设计的电路也是不尽相同的。
此次我所设计的传送带上的物件计数器主要是针对那些规则的、间隔均匀的物件,因此我设计出了自己的合适的物件计数器电路。
电路的主要功能是对传送带上的物件进行自动计数、装箱以及对所计物件个数进行显示。
关于我设计的方案,我主要论证的电路是检测电路和显示电路以及键盘电路。
第一节检测电路的论证在传送带传送物品的作业过程中,许多物品具有规则形状的块状、颗粒状或棒枝状产品,诸如香烟、香皂、糖果、铅笔、饼干、书籍等。
这些物品大多数按规定的标准实行自动加工,其重量和形体均匀一致,且大多数实行计数定量包装,如香烟20支一小包,书籍10本一包,图钉100个一盒等。
规则形体的物品包装计数时,先以适当的方式将其送到计量给料位置或料斗中,再由计数定量装置按包装要求进行计数给料。
目前常用的计数定量装置有:光电检测计数装置,以及用于块状物品的冲头式定量给料装置,用于块状或颗粒状物品的模孔式定量给料装置,用于块状物品的差速定量给料装置,用于棒状物品的容腔式定量给料装置等。
采用光电检测装置进行计数供送具有装置轻巧、检测速度快、检测范围广、精确度高、非接触、抗干扰、便于实现自动控制等优点,应用非常广泛。
在研制、开发和应用光电计数供送控制系统时,除了要注意一般数控电路共有的防电磁干扰和微机接口技术问题外,还要注意光电计数检测控制特有的几个技术问题,如被检物品的排队、检测信号的整形、防止误计(多计或漏计)以及防车间照明光源的干扰等。
由于我们时间和精力有限,我们只研究了规则的、有间隔的物件计数,于是我们选择了光电检测装置。
光电检测在工业上的运用也分为好多种。
可以检测一切能够影响光量或光特性的非电量,例如,位移、振动、力、转矩、转速、温度、压力、流量、液位、湿度、液体浓度、浑浊度、成分、角度、表面粗糙度、乃至图像等。
传送带产品计数器设计
传送带产品计数器设计一、选题背景本科题应解决的主要问题为如何利用LDE灯来模拟传送带电机运行,停止状态,光电传感器模拟。
在实验中,要通过使用独立按键来控制传送带的启动过停止,并且用光电传感器来来测通过的产品数量,并且能够通过键盘来控制预置终值,当达到终值时,传送带能够停止。
指导思想:单片机系统及外围电路的一般设计方法,对单片机系统进行仿真调试的方法和技能,实现电路的实验方法和电路的调试方法二、方案论证我们的设计主要以AT89C51单片机为主体,电路包括键盘,LCD1602,状态显示,光电传感器检测,报警电路几个部分组成。
基本功能为:1、用独立按键控制传送带的启动或停止,在接电后电机不运转,当按键给脉冲后,单片机控制继电器,继电器控制电机开始运转,同时可利用按键控制电机停止运转。
2、用光电传感器检测通过其的产品数量,利用激光头射出激光照射到光敏模块,光敏模块接收此红外线,并将其放大、整流形成高电平信号。
当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。
这个便是外部计数脉冲信号。
这个计数脉冲信号送入 AT89C52单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。
3、用LCD显示传送带通过产品的数量,LCD显示预置数值与当前数值。
4、用矩阵键盘预置终值,当计数达到终值时,传送带停止,矩阵键盘可预置计数值,确定,清零,复位等功能。
5、报警电路,当计数达到最终值是开始报警。
由于我们的时间和实力有限,设计还存在很多缺点,其中我认为问题最大的是在软件的程序设计,因为自己对于代码的这一方面有着很大的困难,所以在这次专周中令我们最困难的还是代码的编写,还有软件中的程序也并没有仔细考虑,这些都是我们在以后的工作中需要仔细考虑的。
三、过程论述在实验的开始,应该先对实验进行原理图的绘制,该系统由AT89C51单片机的最小系统矩阵键盘模块,LCD显示模块,独立按键,传送带模块,光电传感器模块,报警模块等组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1题目 (1)2 电路原理图的设计 (1)2.1 传送带产品计数器设计的电路原理图 (1)2.2 LCD显示模块 (3)2.3 计数模块 (3)2.4 键盘模块 (3)3 软件系统设计 (3)3.1 软件系统的流程结构 (3)3.2 LCD显示程序模块.................................. 错误!未定义书签。
3.3 计数程序模块..................................... 错误!未定义书签。
4 仿真及调试 (7)5 总论 (8)参考文献 (9)致谢 (9)1题目2 电路原理图的设计2.1 传送带产品计数器设计的电路原理图图2.1 电路原理图2.2 LCD显示模块[11]2.4 键盘模块3软件系统设计3.1 软件系统的流程结构3.2 LCD显示程序模块/*-----------------------------------------------------------文件名:lcd1602.h头文件功能:LCD1602驱动函数的声明-----------------------------------------------------------*/ #ifndef _LCD1602_H_#define _LCD1602_H_#include <reg52.h>#define uint unsigned int#define uchar unsigned char//接口定义sbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80; //P0口为LCD数据总线/*-----------------------------------------------------------功能:LCD初始化函数-----------------------------------------------------------*/void LCD_Initial();/*-----------------------------------------------------------功能:LCD显示字符(ASIIC码)函数参数:x-列0~15;y-行0~1;str-要显示的字符串指针-----------------------------------------------------------*/void LCD_Prints(uchar x, uchar y,uchar *str);#endif/*-----------------------------------------------------------文件名:lcd1602.c函数功能:LCD1602的驱动函数原理:采用普通IO口方式模拟LCD1602时序,未采用总线方式-----------------------------------------------------------*/#include <REG52.H>#include <intrins.h> //次头文件中定义有_nop_()函数#include "lcd1602.h"/*-----------------------------------------------------------功能:内部等待函数返回参数:P0数据-----------------------------------------------------------*/uchar LCD_Wait(void){LcdRs=0;LcdRw=1; _nop_();LcdEn=1; _nop_();//while(DBPort&0x80);/* 在用Proteus仿真时,屏蔽此语句,否则会进入死循环,实际硬件操作时打开此语句.*/LcdEn=0;return DBPort;}/*-----------------------------------------------------------功能:写LCD命令/数据函数参数:style为写命令/数据,0-命令,1-数据;input为写入的8位命令/数据-----------------------------------------------------------*/#define LCD_COMMAND 0 // 命令#define LCD_DATA 1 // 数据#define LCD_CLEAR_SCREEN 0x01 // 清屏#define LCD_HOMING 0x02 // 光标返回原点void LCD_Write(bit style, uchar input){LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();LcdEn=1; _nop_();LcdEn=0; _nop_();LCD_Wait();}/*-----------------------------------------------------------功能:设置LCD显示模式参数:DisplayMode 见下面的定义-----------------------------------------------------------*///显示模式定义#define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动void LCD_SetDisplay(uchar DisplayMode){LCD_Write(LCD_COMMAND, 0x08|DisplayMode); }/*-----------------------------------------------------------功能:设置LCD输入模式参数:InputMode 见下面的定义-----------------------------------------------------------*/#define LCD_AC_UP 0x02 // 地址计数器增加方式#define LCD_AC_DOWN 0x00 // 此为缺省设置#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00 // 画面不可平移void LCD_SetInput(uchar InputMode){LCD_Write(LCD_COMMAND, 0x04|InputMode);}//初始化LCD 详见LCD1602.h中的说明void LCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38); //此句不能省LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不?}/*-----------------------------------------------------------功能:液晶字符显示的位置函数参数:x-列0~15;y-行0~1;-----------------------------------------------------------*/void LCD_Pos(uchar x, uchar y){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}//将字符(ASIIC码)输出到液晶显示详见LCD1602.h中的说明void LCD_Prints(uchar x, uchar y,uchar *str){LCD_Pos(x,y);while(*str!='\0'){ LCD_Write(LCD_DATA,*str); str++;}}3.3计数程序模块#include"lcd1602.h"#define uchar unsigned char#define uint unsigned intuchar out[6];sbit STAR_KEY =P3^2;//定义键与单片机的连接引脚sbit L0=P1^0; //定义SFR中引脚的位sbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L4=P1^4;sbit L5=P1^5;sbit L6=P1^6;sbit L7=P1^7;sbit MOTOR=P3^0;uchar n[2]={1,0};void delayms(uint x) //延时子程序{uchar y;while(x--){for(y=0;y<123;y++){;}}uchar Keynum() //按键子程序1{uchar key=0;STAR_KEY=1; //置初值if(STAR_KEY==0){delayms(10);if(STAR_KEY==0)n[0]=0;n[1]=1;} //按下STAR键则n[0]=0;n[1]=1return n[1]; //返回n值}void xianshi(uint dispbuf) //显示子程序{out[0]=dispbuf/10000+0x30;out[1]=((dispbuf%10000)/1000)+0x30;out[2]=((dispbuf%1000)/100)+0x30;out[3]=((dispbuf%100)/10)+0x30;out[4]=dispbuf%10+0x30;out[5]='\0';LCD_Initial(); //LCD初始化LCD_Prints(1, 0,"The Speed Is"); //LCD输出LCD_Prints(10, 1,"n/min");LCD_Prints(4, 1,out); }uint qiuzhi() //求用拨码盘所置数的值的子程序{ uchar a;uchar b;uchar c;uchar d;uchar e;uchar f;uchar g;uchar h;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;}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;return p; // 返回所求的P值}void main(void) //主程序{uint q;IT0=1; //负跳变触发EA=1; //开总允许中断EX0=1; //开INTO中断TMOD=0X05; //置T0为计数器方式1TL0=0; //置计数器初值TH0=0;while(1) //无限循环{ q=qiuzhi(); //调用求值子程序求出所置的数if (MOTOR==1) {xianshi(q);} else {xianshi(TL0);Keynum();TR0=n[1];} //当电动机关闭时显示用薄码盘所置的数并停止计数,电机启动时则开始计数,并显示计数值if (TL0==q) {TR0=0;MOTOR=1;} else {Keynum();MOTOR=n[0];} }}//当计数值与所置数相同时关闭电机,停止计数,当计数值不等时则将电机启动与关闭交由按键控制,所以不存在计数值超过置数值的情况void Int0(void) interrupt 0 //中断服务程序,工作寄存器用0组{ TL0=0;TR0=1; }//重置计数值,重新开始计数4 仿真及调试LCD1LM016LVCC5 总论234567891RP110*8VCCD 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016LRV11kVCC参考文献致谢。