本科毕业设计(论文)-CK系列冲孔桩基自动控制系统的软件设计_第1页
本科毕业设计(论文)-CK系列冲孔桩基自动控制系统的软件设计_第2页
本科毕业设计(论文)-CK系列冲孔桩基自动控制系统的软件设计_第3页
本科毕业设计(论文)-CK系列冲孔桩基自动控制系统的软件设计_第4页
本科毕业设计(论文)-CK系列冲孔桩基自动控制系统的软件设计_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11本科毕业设计(论文)题目:CK系列冲孔桩机自动控制系统的软件设计系别电子信息专业通信工程班级7姓名学号指导教师2012年06月CK系列冲孔桩机自动控制系统的软件设计摘要CK系列冲孔桩机自动控制系统的研究涉及到了自动控制、人工智能、信息融合、传感器及计算机科学等夺门学科的内容,关于该课题的研究是当前很活跃的研究领域之一。本设计以飞思卡尔半导体公司生产的MC9S12XS128单片机作为核心,首先进行系统各部分的初始化,然后进行参数配置包括:键盘、液晶显示、I2C等几个模块。完成后打桩机开始运行,电机驱动控制刹车、离合的松和紧,来达到控制桩锤的升、降,如此反复来实现桩机的打桩功能。主要完成功能有:桩锤高度自检、刹车和离合控制系统、电机控制系统的设计、键盘与显示电路等。本设计各个模块的软件编程主要采用C语言编写程序,充分利用外中断来调试程序,实现打桩机的自动控制功能。关键词:自动控制;参数配置;高度自检

CKSeriesBluntBoreStaketheMachineAutomaticallyControlSystemoftheSoftwareDesignAbstractCKseriesbluntborestakemachineautocontrolsystemoftheresearchinvolvedanautomaticcontrolandartificialintelligence,informationfusion,spreadthecontentsoffeelingDuodooracademicses,suchasmachineandcalculatorscience...etc.,theresearchconcerningthetopicisoneoftheonthegoresearchrealmsatpresent.ThisdesignwithflytothinktheCarlsemi-conductorcompanyproducesoftheMC9S12XS128listslicemachineisacore,carryoneachpartofsystemfirstofthebeginningstarttoturn,thencarryonaparameterallocationtoinclude:Thekeyboard,LCDshows,I2Cetc.isafewmoldpieces.Driveapileamachinebeginningtocirculateaftercompleting,theelectricalengineeringdrivescontrolstoputonbrakesandleavetomatchoflooseandtight,attainarise,decliningofcontrolstakehammer,thusagainandagaincometocarryoutapilingfunctionofmachine.Themaincompletionfunctionhas:Stakehammerheightfromcheck,brakewithleavetomatchthedesignofcontrolingthesystem,electricalengineeringcontrolsystem,keyboardandshowelectriccircuit...etc..ThissoftwarethatdesignseachmoldpieceweavesadistancetomainlyadoptClanguagetowriteprocedureandwellmakeuseofbreakofftoadjusttotryprocedure,therealizationdrivesapilemachineofautomaticcontrolfunction.KeyWords:AutomaticControl;TheParameterInstalls;HeightFromCheck目录1绪论 91.1课题名称及背景 91.2研究意义 91.3国内外相关研究情况 101.4论文的主要任务及内容 102CK系列冲孔桩机系统结构分析 122.1系统硬件简介 122.1.1设计方案的研究 122.1.2机械改装设计 132.2硬件结构框图的分析 142.3软件设计方法 153PID控制 163.1数字PID控制原理 163.1.1PID控制的原理及特点 173.1.2PID控制器的参数整定 173.2数字PID控制算法 183.2.1位置式PID控制算法 183.2.2增量式PID控制算法 193.3数字PID控制算法的改进 203.3.1遇限削弱积分算法 213.3.2积分分离PID控制算法 213.3.3微分先行PID算法 223.3.4带死区的PID调节器 234系统软件设计与实现 244.1CodeWarrior集成开发环境 244.1.1CodeWarrior软件的基本特性 244.1.2CodeWarrior软件的主要功能 254.2系统的软件设计总体介绍 254.3系统初始化模块 274.3.1系统时钟初始化 284.3.2PWM初始化 304.3.3I/O初始化 314.3.4ECT模块初始化 324.4人机交互模块 324.4.1键盘设计 324.4.2液晶显示模块 344.4.3存储电路设计 364.5打桩机运行程序 384.6电机控制 414.6.1电机控制原理 414.6.2芯片功能 424.6.3PID控制算法 434.7故障分析 435系统调试 446论文工作总结 45致谢 47参考文献 48毕业设计(论文)知识产权声明 49毕业设计(论文)独创性声明 50附录1程序 51

西安工业大学北方信息工程学院毕业设计(论文)1绪论1绪论1.1课题名称及背景近年来,随着我国国民经济的逐步增强,国内各大城市的高层建筑、立交桥、海港码头、铁路公路桥梁等基础设施项目极具猛增,建筑业迅速发展,大口径基础桩工程得到广泛应用。工业与民用建筑大量采用桩基础,打桩施工越来越普遍,桩机的发展越来越快,广泛应用于城市建筑的各种桩基工程、深基坑支护工程以及防洪工程中的防渗坝工程等各类工程中。由于现代化的高层建筑、大型桥梁和港口码头等结构复杂,负荷十分巨大,对基础的承载能力和防止沉陷方面的要求较高。根据建设本门的资料,对高层建筑基础的处理,通常是采用箱式、地下连续墙、桩等形式作为基础。因此,各个工程对打桩机的需求也越来越大。冲孔打桩机进行成孔作业所利用的是冲击式冲孔打桩的方法。它利用动力装置将具有一定重量的冲击重锤提升至一定高度,然后使重锤自由下落,利用冲击动力对冲孔底部进行周期性的冲击破碎,以形成具有一定直径和深度的桩孔。冲孔打桩机因其施工工艺简单、适应性强、对地层无特殊要求,日前在桩基础工程施工中发挥着重要的作用。目前在桩基工程中应用的冲孔打桩机多是乎动机械式操纵,设备操作人员在工作过程中需要频繁对离合器、抱闸等控制部件进行操纵,劳动强度很大。通过在工程中的实际调查,在使用冲孔打桩机进行成孔作业时,每间隔两个小时就需要更换一名操作人员,以缓解其劳动压力。同时,由于操纵台所处的位置距孔口较远,使得操作人员不便于观察孔口作业情况。1.2研究意义在城市现代化建设过程中,由于高层建筑物的发展,桩基成为了一种常用的基础形式。其中预制桩因为质量易于保证,承载性能稳定,承载力强,施工效率高等特点,得到了极为广泛的应用。桩基根据打入地下的方式不同其可分为锤击桩和静压桩。静压桩在压入过程中基本无振动、无噪音,对周围环境不造成明显影响,但相对锤击桩而言施工费用较高,因此锤击桩的使用不可避免。本研究系统中,CK系列冲孔桩机自动控制系统能够根据施工需要对各个系列桩孔大小进行选择,利用微控制器代替人的操作,利用气动执行元件代替人力劳动实现打桩机的自动打桩控制,这种控制方式有着人为控制无法比拟的优势和应用价值。

a.提高工作效率。它能把放绳长度调到最短而不逮锥,而且每次放锥均是如此,仅此一项,就可提高效率20%(同样的提升高度,人工操作是每分钟8次,而自动操作是10次)再加上它永远不休息,实际上提高效率在30%以上。b.减少事故的发生。当出现吸锥(夹锥)、离合刹车突然不灵、停电时等故障时,它能处理紧急情况,避免事故的发生,减少不必要的损失。c.节约了生产成本。打桩施工是一个长期的工程,如果通过人为来控制,施工方需要长期支付工人工资以及各种人为消耗,对于自动打桩机控制系统来说,只需要一次性资金投入,长远来看,在提高工作效率和减少安全生产事故的同时,节约了生产成本。d.保证了施工质量。在冲孔打桩工作过程中,单纯依靠人的操作经验来控制施工的质量显然无法满足当今社会对建筑工程质量越来越高的要求,而冲孔桩机自动控制系统的控制由各种程序和算法完成,控制精确、稳定,保证了建筑施工的质量。1.3国内外相关研究情况由于当今各种打桩机的气动控制系统及电气控制系统方面已经比较成熟,国内外各种桩机的发展主要体现在控制系统方面,微电子技术的飞速发展,为改进各种打桩机的性能、提高稳定性、加工效率方面提供了可能。从我国打桩机行业来看,国内机型虽种类齐全,但技术含量相对较低,缺乏高技术含量的机型。而目前的国内外各种打桩机的控制向着高速化、智能化、自动化发展,如果将自动控制技术应用于冲孔打桩机,使其实现冲孔打桩的全自动化或半自动化,将操作人员从繁琐重复的体力劳动中解放出来,无疑会使冲孔打桩机焕发出新的生机。当前市场中有上万台甚至数十万台冲孔机在各种施工现场作业,造成大量人力、物力资源的浪费,使工程效益明显降低。在现有冲孔桩机的基础上对其进行自动化改造,使其具备自动冲孔打桩的能力,可以大大提高工程进度,并可节约大量能源,降低工程造价,创造良好的经济效益。1.4论文的主要任务及内容a.分析比较当前国内外打桩机控制系统的现状与优缺点,主要了解CK系列打桩机的控制流程,为打桩机自动控制系统的设计提供依据。b.设计打桩机自动控制系统的整体方案,确定该系统应该完成的任务。c.控制系统的机械设计:包括离合控制机械系统和离合位移传感器安装;刹车系统机械设计和刹车位移传感器安装;高度传感器的安装。d.控制系统的算法研究:包括离合系统的建模;刹车系统的建模;高度检测系统建模;余绳算法的研究;本系统为时延系统,时延控制算法仿真与实现。e.研究面向智能体软件方法,使控制软件具有良好的框架,便于软件修改、删除、添加和升级。软件功能中增加故障自诊断和看门狗等功能保证系统可靠性运行。

2CK系列冲孔桩机系统结构分析2CK系列冲孔桩机系统结构分析2.1系统硬件简介硬件核心模块主要由四大部分组成,分别是最小系统、数据采集模块、刹车和离合的控制模块和人机交互模块。2.1.1设计方案的研究CK系列冲孔桩机是利用桩锤自身重量将桩贯入地层的桩工机械。由桩锤、桩架、卷扬机及附属设备等组成。本设计在此基础上加上自动控制系统,将原来的纯手动作业改为了手自动一体化系统,如图2.1所示。图2.1打桩机系统结构示意图本课题所研究设计的CK系列冲孔桩机自动控制系统属于小型打桩机控制系统,但小型打桩机控制系统的实验设备也并不好搭建,因此本课题拟利用实验室现有的小型电动机、自行车车架、车轮以及小型钢架和自制桩锤搭建的模拟平台进行实验及软硬件调试。自制桩锤的重量比实际打桩机的桩锤轻得多,虽然桩锤的质量会影响控制参数的设定,但并不影响本课题开展的各项研究。图2.2打桩机系统结构示意图CK系列冲孔桩机自动控制系统原理框图如图2.2所示。操作人员通过触摸屏对打桩机进行参数设定,如刹车时间、离合时间、提升高度、刹车高度等。控制器根据所设定的参数驱动电机转动,同时发出指令松开刹车控制杆,拉紧离合控制杆,绕线器借助齿轮的传动作用开始绕线,桩锤被提升。桩锤到达提升高度时控制器发出指令松开离合控制杆,拉紧刹车控制杆,经过预设的刹车时间后,控制器发出指令松开刹车控制杆,桩锤开始自由落体,以其自身重力撞向桩基。当桩锤到达刹车高度时,控制器发出指令拉紧刹车杆,但瞬间又松开,经过离合时间之后,控制器发出指令拉紧离合控制杆,桩锤再次被提升。如此往复进行打桩自动作业。由于下一次的打桩作业比这一次的作业需要的挂绳长度长,所以控制器在离合时间之内要完成放余绳的工作,为下一次作业做准备。控制余绳加放多少很关键。余绳太长会导致打桩太松,余绳太短会导致打桩太紧。与此同时,打桩机的各个参数与打桩机周围的土质也有关系。2.1.2机械改装设计本课题通过对传统的CK系列冲孔桩机的控制机构进行机械改装,使其具有原有的手动作业方式和自动控制方式。如果不具有手动作业方式,自动控制是无法完成打桩机调试工作的。在保留原有作业方式的同时,可对刹车控制系统进行机械改造。刹车控制机械改装如图2.3所示。图2.3刹车控制机械改装示意图本系统的执行装置可采用气动方式,液压方式和电机控制三种方式,为了方便起见,选择采用电机控制方式。电机选用MC33035直流电机,直流电机响应速度快、力矩大并且体积小。改装时,将固定块和电机导轨固定在打桩机的底座上,电机旋转带动丝杠沿导轨运行。在原有人工作业方式下运行时,即手动模式下,控制杆收到远离刹车杆的位置,不影响人员操作。离合控制系统的机械改装和刹车控制系统相同。2.2硬件结构框图的分析本课题研究的自动打桩机打桩机系统,主要包括控制器系统设计;电源电路的设计;刹车控制系统、执行装置和位移传感器接口设计;离合控制系统、执行装置设计及位移传感器接口设计;电机控制系统的设计;保护电路的设计;键盘与显示电路等;硬件结构框图如图2.4所示。实时时钟实时时钟电源模块卡锤传感器开关量信号I2C存储电机保护继电器电机过流保护电流互感器保护护离合控制刹车控制键盘JTAG高度自检液晶显示CPUXS128图2.4系统结构框图a.电源模块设计:电源电压分为直流+1.8V,+3.3V,+5V,和交流220V几种。其中+1.8V为微控制器的内核供电,+3.3V为微控制器的外设I/O口线供电;+5V为其他大部分芯片供电;+24V外围接口电路供电;交流220V为AC~DC(220V转24V)供电。电源电路主要经过稳压芯片稳压和电容滤波。b.高度自检模块:高度自检采用永磁铁和现成的霍尔传感器模块。将数十个永磁铁均匀固定在绕线器的轮子边缘,由固定在不远处的霍尔传感器检测轮子转过的角度。霍尔传感器的输出是开关量信号,因此经过光电隔离器6N137之后直接可以接到微控制芯片进行计数并处理。c.卡锤检测模块:当打桩机在提锤过程中桩锤卡住时,会引起卷扬机的尾部翘起。故在卷扬机尾部安装霍尔传感器和永磁铁来检测系统是否卡锤。d.刹车控制模块、离合控制模块:刹车、离合、电机的控制归根到底都是对电机的控制,由于需要控制电机的通断,所以控制也只需要简单的继电器控制,故采用普通I/O口和功率三极管即可。e.存储器模块:主要用于将系统重要的数据存储起来,以及当打桩机系统需要和上位机进行通信时,会把将要发送的数据存储在存储器中。f.人机交互模块:主要用于读取按键信息并且经过处理驱动液晶显示内容。2.3软件设计方法一个好的硬件平台只有搭配了好的软件才可以发挥出它的功效。因此,软件的设计方法就显得十分的重要,这在很大程度上取决于系统软件的结构是否合理,方法是否得当。在软件的编程过程当中,通常用到四种方法:过程化、模块化-结构化、面向对象以及面向智能体的编程方法。对于过程化编程采用自底向上的方法,而其他的方法都采用自顶向下的方法。首先,建立各个模块、对象、或智能体,再将各个模块单元连接起来,最后实现系统的整体功能。对比这四种方法的优缺点,本设计设计中采用了新的软件构建方法。这种方法结合模块化编程方法和面向智能体编程方法的优势,使系统具有更为广泛的实用性,自学习性。软件模块和硬件模块相对应,结构简明,编写的难度也大大降低了。3PID控制3PID控制CK系列冲孔桩机自动控制系统属于过程控制,而PID控制是过程控制系统应用最广泛的一种控制规律,因此,PID控制是CK系列冲孔桩机自动控制系统中非常重要的环节。近年来,微机在过程控制领域获得了广泛的应用,用微机取代常规过程控制系统中的模拟调节器,用计算机程序来实现PID控制算式便构成了微机控制系统。由于微机控制系统的计算机程序具有很高的灵活性,因此可以很方便地修改PID控制算式,构成性能良好而模拟调节器难以实现的复杂控制系统。

当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。

这个理论和应用自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统,PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。3.1数字PID控制原理目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。控制器的输出经过输出接口、执行机构,加到被控系统上;被控量,经过传感器,变送器,通过输入接口送到控制器。不同的控制系统,其传感器、变送器、执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。PID调节器是一种线性调节器,这种调节器是将设定值r(t)与输出值c(t)进行比较构成控制偏差e(t)=r(t)-c(t),将其按比例、积分、微分运算后,并通过线性组合构成控制量,如图3.1所示,所以简称为P(比例)、I(积分)、D(微分)调节器。3.1.1PID控制的原理及特点PID控制是比例积分微分控制的简称,它实际上是比例调节(P调节)、积分调节(I节)和微分调节(D调节)三种调节的组合。在控制器最常用的控制规律是PID控制,PID控制系统的控制原理结构框图如图3.1所示。系统由模拟PID控制器和被控象组成.被控系统比例环节R(S)+E(s)+M(s)C(s)被控系统比例环节积分环节++积分环节微分环节+微分环节测量装置测量装置图3.1PID控制系统的控制结构框图在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制的优点主要表现在以下几个方面:a.原理简单,使用方便;b.适应性强,可以广泛应用于化工、热工、冶金、炼油、以及造纸、建材等各种生产部门。按PID控制进行工作的自动控制器早已商品化。在具体实现上它们经历了机械式、液动式、气动式、电子式等发展阶段,但始终没有脱离PID控制的范畴。虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID就可控制了。3.1.2PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:a.首先预选择一个足够短的采样周期让系统工作;b.仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;c.在一定的控制度下通过公式计算得到PID控制器的参数。

PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e

(t)与输出u

(t)的关系为PID的参数对系统性能的影响:a.比例系数KP对系统性能的影响:增大比例系数KP一般将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏;b.积分时间TI对系统性能的影响:增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢;c.微分时间TD对系统性能的影响:增大微分时间TD,也有利于加快系统响应,使超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。3.2数字PID控制算法PID调节器是比例调节(P调节)、积分调节(I调节)和微分调节(D调节)的组合。PID调节器的动作规律是在实际的控制中,一般都采用计算机控制,%x",c);}else{sprintf(s,"%x",c);}sprintf(s,"%x",c);ldfprintf(x,y,s);}//显示数字浮点数t1为整数t2为小数voidldfput2d(intx,inty,intt1,intt2){unsignedchars[20];unsignedchars1[10];intc;c=t1;sprintf(s,"%d",c);strcat(s,".");c=t2;sprintf(s1,"%d",c);strcat(s,s1);ldfprintf(x,y,s);}//显示汉字字符串voidputhzstring(intx,inty,unsignedchar*s){unsignedcharc;c=*s;while(c!=0xff){put_hz16_mem(x,y,c);x=x+16;s++;c=*s;}}//显示数字字符voidldfprintd(intx,inty,unsignedintc){unsignedchars[10];if(disp_d_ctrl==0){if(c<10){sprintf(s,"0%d",c);}else{sprintf(s,"%d",c);}}else{if(c<10){sprintf(s,"00%d",c);}else{if(c<100)sprintf(s,"0%d",c);elsesprintf(s,"%d",c);}}ldfprintf(x,y,s);}unsignedcharConvert(unsignedcharIn_Data){unsignedchari,Out_Data,temp;Out_Data=0;temp=0;for(i=0;i<8;i++){temp=(In_Data>>i)&0x01;Out_Data|=(temp<<(7-i));}returnOut_Data;}/*"0123456789AB",// "CDEF+-?!=:*",//12 "温度传感器未连接S卡插仓",//24"粮情检测选择查看区初始化",//36"日期调整中央上下粮西安田",//48 "家湾直属库研制人张国栋电",//60"话存储第点湿开机%年月根",//72"时分共个完毕备用【■】←",//84*///==================================================================================//写一个字节(内部存储区)voidwrite_hzbyte_mem(unsignedintx,unsignedinty,unsignedchardata1){unsignedinti;i=x+y*192;disp_zhh_data[i]=data1;}//读取某点的数据(内部存储区)unsignedcharread_hzbyte_mem(unsignedintx,unsignedinty){unsignedinti;unsignedchardata1;i=x+y*192;data1=disp_zhh_data[i];return(data1);}/*0,00,10,20,30,40,50,60,7*///某点打点(内部存储区)x=0对应高位d7voidputpixel_mem(unsignedintx,unsignedinty,unsignedcharcol){unsignedchardata1,data2;unsignedinty1,y2;y1=y/8;data1=read_hzbyte_mem(x,y1);if(col==0){data2=disp_ctrl[y%8]^0xff;data2=data2&data1;//清0}else{data2=disp_ctrl[y%8];data2=data2|data1;//置1}write_hzbyte_mem(x,y1,data2);}//===========================================================//屏幕某区域刷新29040BMP内存到显示提示菜单,输入框//二位数组//===========================================================voidclear_disp_mem(void){unsignedinti;for(i=0;i<MEM_WIDTH*MEM_LENGTH;i++){disp_zhh_data[i]=0x00;}}voidmem_copy_dispmem(unsignedintWidth,unsignedintHeight,unsignedintx_m,unsignedinty_m){inti,j;intx,y;intadr;x=x_m;y=y_m;adr=x_m+y_m*8;for(j=0;j<Height;j=j+8){for(i=0;i<Width;i++){puthzbyte(x,y,disp_zhh_data[adr]);x++;adr++;}x=x_m;y=y+8;}}voidput_hz8_mem(unsignedintx,unsignedinty,unsignedcharccc){unsignedcharc;inti,K,adr;K=ccc*8;adr=x+y*8;for(i=0;i<8;i++){c=zk8[K];disp_zhh_data[adr]=c;adr=adr+1;K++;}mem_copy_dispmem(8,8,x,y);}voidput_hz16_mem(unsignedintx,unsignedinty,unsignedcharccc){unsignedcharc;inti,K,j,adr;K=ccc*32;adr=x+y*8;for(j=0;j<2;j++){for(i=0;i<16;i++){c=zk16[K];disp_zhh_data[adr]=c;adr=adr+1;K++;}}mem_copy_dispmem(16,16,x,y);}voidput_all_mem(void){mem_copy_dispmem(192,64,0,0);}voidline_x(unsignedintx1,unsignedinty1,unsignedintx2,unsignedinty2,unsignedcharcol){floatf,f1;unsignedintx,y,y_s;if(x1==x2){x=x1;if(y1>y2){y=y2;y2=y1;y1=y;}for(y=y1;y<=y2;y++){putpixel_mem(x,y,col);}y1=0;return;}if(y1==y2)//{y=y1;if(x1>x2){x=x2;x2=x1;x1=x;}for(x=x1;x<=x2;x++){putpixel_mem(x,y,col);}return;}//if(x1>x2){x=x2;x2=x1;x1=x;y=y2;y2=y1;y1=y;}//======================if(y2>y1){f=y2-y1;f1=x2-x1;f=f/f1;y_s=y1;for(x=x1;x<=x2;x++){f1=f*(x-x1)+y1;y=f1;if(y>y_s){putpixel_mem(x,y,col);y_s=y;}}}else{f=y1-y2;f1=x2-x1;f=f/f1;y_s=y1;for(x=x1;x<=x2;x++){f1=y1-f*(x-x1);y=f1;if(y<y_s){putpixel_mem(x,y,col);y_s=y;}}}}//=====================================voidmem_disp(unsignedchar*adr){inti;for(i=0;i<192*8;i++){disp_zhh_data[i]=adr[i];}put_all_mem();}////=============================================voidtest_disp(void){//mem_disp(bmp1_disp);ldfputchar(0,0,'1');ldfputchar(1,8,'2');ldfputchar(2,0,'3');ldfputchar(3,0,'4');//put_hz16_mem1(4,16);}voidput_hz16_number_hei(unsignedintx,unsignedinty,unsignedcharddd){unsignedcharc;inti,K,j,adr;K=ddd*32;adr=x+y*8;for(j=0;j<2;j++){for(i=0;i<16;i++){c=~(Number_data[K]);disp_zhh_data[adr]=c;adr=adr+1;K++;}}mem_copy_dispmem(16,16,x,y);}voidput_hz16_number(unsignedintx,unsignedinty,unsignedcharddd){unsignedcharc;inti,K,j,adr;K=ddd*32;adr=x+y*8;for(j=0;j<2;j++){for(i=0;i<16;i++){c=(Number_data[K]);disp_zhh_data[adr]=c;adr=adr+1;K++;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论