基于STC89C52的电子秤设计.doc

上传人:文库蛋蛋多 文档编号:4148356 上传时间:2023-04-07 格式:DOC 页数:24 大小:1.15MB
返回 下载 相关 举报
基于STC89C52的电子秤设计.doc_第1页
第1页 / 共24页
基于STC89C52的电子秤设计.doc_第2页
第2页 / 共24页
基于STC89C52的电子秤设计.doc_第3页
第3页 / 共24页
基于STC89C52的电子秤设计.doc_第4页
第4页 / 共24页
基于STC89C52的电子秤设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于STC89C52的电子秤设计.doc》由会员分享,可在线阅读,更多相关《基于STC89C52的电子秤设计.doc(24页珍藏版)》请在三一办公上搜索。

1、福建电力职业技术学院课 程 设 计课程名称: 智能仪器 题目: 基于STC89C52的电子称设计 专业班次: 10(三)检测1班 姓 名: 黄国娟 学 号: 201002063115 指导教师: 徐志保 讲师 学 期: 2011-2012学年第2学期 日 期: 2012.2 目录1引言11.1选题背景和意义11.2 本设计任务和主要内容22 硬件设计22.1 总体设计22.2单片机的最小系统32.3重量采集电路设计42.4显示电路设计73软件设计83.1A/D软件设计83.2LCD12864软件设计93.3整个电子称的软件设计124 总结134.1 本文工作总结134.2 存在不足14参考文献

2、14附录151 引言物品称量是市场交易中很基本的活动, 是商业领域最基本的衡具。在日常生活中,到处必须用到称。尤其是现代超市和一些其他交易市场上,称是必不可少的测重工具。随着人们生活水平的不断提高,商业行为也越来越现代化,人们对商品度量的速度和精度也提出了新的要求。传统的量具是杆称或盘称, 20 世纪70 年代开始出现了电子称。电子称的产生正是为了适应现代生活需要。目前,商用电子计价称的使用非常普及,逐渐取代了传統的杆秤和机械案秤。电子计价秤在秤台结構上有一個显著的特点:一个相当大的秤台,只在中间裝置一个专门设计的压力传感器来承担物料的全部重量。这个重力将转换为电压或电流的模拟讯号,经放大及滤

3、波处理后由A/D处理器转换为数字讯号,数字讯号由中央处理器CPU运算处理,而周边所需要的功能及各种接口电路也和CPU连接应用,最后由显示屏幕以数字方式显示。选题背景和意义作为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品。电子秤不仅要向高精度、高可靠方向发展,而且更需向多种功能的方向发展。据悉,目前电子秤的附加功能主要有以下几种:1电子秤附加了处理机构计算机信息补偿装置,可以进行自诊断、自校正和多种补偿计算和处理。2具有皮重、净重显示等特种功能。电子秤有些已具备了动物称量模式,即通过进

4、行算术平均、积分处理和自动调零等方法,消除上述的误差。3附加特殊的数据处理功能。目前的电子秤有附加多种计算和数据处理功能,以满足多种使用的要求。今后,随着电子高科技的飞速发展,电子秤技术的发展定将日新月异。同时,功能更加齐全的高精度的先进电子秤将会不断问世,其应用范围也会更加拓宽。 代替部分机械元器件的机电结合秤,再从集成电路式到目前的单片机系统设计的电子计价秤。 我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技 术及应用得到了新发展:电子称重技术从静态称重向动态称重发展; 称重、计价到生产过程检测系统的一个测量控制单元,其应用领域不断地扩大。根据近些年来 电

5、子称重技术和电子衡器的发展情况及电子衡器市场的需求,电子称的发展动向为:小型化、 模块化、智能化、集成化;其技术性能趋向于速率高、准确度高、可靠性高;其应用性趋向综 合性、组合性。1.2 本设计任务和主要内容1.2.1本设计任务设计任务:基于STC89C52的电子称设计(LCD显示)首先是通过应变片传感器采集到被测物体的重量并将其转换成电压信号。输出电压信号通常 很小,需要通过前端信号处理电路进行准确的线性放大。放大后的模拟电压信号经 A/D转换电 路转换成数字量被送入到主控电路的单片机中,再经过单LCD12864液晶显示从而显示出被测物体的重量。1.2.2 设计主要内容本设计的主要内容有:(

6、1)查阅相关资料:了解电子称原理、单片机工作原理、LCD12864工作原理,A/D工作原理,并运用C语言进行设计、编程、调试。(2)应用应变片、AT89S52单片机、A/D、LCD12864液晶显示设计实现电子称。 (3)硬件设计:根据设计任务选合适的单片机和适合的应变片;根据对象设计接口电路;设计合理的单元电路。(4)软件设计:根据各电路工作原理,画出软件流程图,根据流程图编写相应的C语言程序进行调试。(5)原理图设计:根据所确定的设计电路利用VISIO等相关软件绘制系统方框图及各个芯片、零件组成图。(6)调试:根据所编程的程序烧入用于电子称运行的单片机内,并进行相应的调试。(7)结轮:根据

7、各步骤写好课设论文。2 硬件设计2.1 总体设计本文所设计的电子称LCD显示系统由STC89C52单片机及其最小系统、应变片、ADC0832转换电路、LCD12864液晶显示等部分组成。如下图所示。图2.1系统框图首先是通过应变片传感器采集到被测物体的重量并将其转换成电压信号。输出电压信号通常 很小,需要通过前端信号处理电路进行准确的线性放大。放大后的模拟电压信号经 A/D转换电 路转换成数字量被送入到主控电路的单片机中,再经过单LCD12864液晶显示从而显示出被测物体的重量。2.2单片机的最小系统高性能 8 位单片机 STC89C52 是一个低功耗,高性能 CMOS 8 位单片机,片内 含

8、 8k Bytes 的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引 脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的 微型计算机的 AT89S52 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52 具有如下特点:40 个引脚,8k Bytes Flash 片内程序存储器,256 bytes 的随机存取数据存储器(RAM) ,32 个外部双向输入/输出(I/O)口,5 个 中断优先级 2 层中断嵌套中断,2 个 16 位可

9、编程定时计数器,2 个全双工串行通10信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52 设计和配置了振 荡频率可为 0Hz 并可通过软件设置省电模式。 空闲模式下, 暂停工作, RAM CPU 而 定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 单片机最小系统是指用最少的元器件组成的单片机可以工作的系统。即如图2.3所示。单片机的最小系统包括电源(接地),晶振电路(本设计使用11.0592MHz晶振),复位电路。有了以上部分组成的最小系统,单片机就能够正常进行简单工作了,值得注意的一点是,EA(31

10、脚)要接高电平,使单片机不使用片外存储器,这样单片机系统才会正确执行用C语言编程所烧写进单片机的程序。电源电路:其主要目的是给单片机最小系统提供电源,一般可用5V直流电进行供电,常直接用USB接口对最小系统输送电能,本次设计主要采用220V交流电经过变压处理以供给单片机5V直流电,从而能正常运行。复位电路:复位电路可使CPU和系统中其他部件处于一个确定的初始状态,并从在这个状态开始运行。由电容串联电阻构成,如图并从“电容电压不能突变”的性质可知,当系统一上电,RST脚将会出现高电平,当这个高电平持续两个机器周期以上就将复位。晶振电路:单片机片内有一个用于构成振荡器的高正增益反向放大器,引脚XT

11、AL1和XTAL2分别是此放大器的输入和输出端。在它们两端接晶振构成稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路。外接晶振时通常安装两个30pF电容能保证振荡器稳定和可靠工作时,对频率起微调作用。本次设计晶振取11.0592MHz晶振的单片机,将产生精确的us级时歇,方便定时操作。图2.2 AT89S52最小系统电路图2.3重量采集电路设计2.3.1应变片及其电路电阻应变式传感器是一种利用电阻应变效应, 将各种力学量转换为电信号的结构型传感器。 电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力

12、学量传感器。 导体的电阻随着机械变形而发生变化的现象叫做电阻应变效应。电阻应变片把机械应变信 号转换为R/R 后,由于应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处 理。因此,要采用转换电路把应变片的R/R 变化转换成电压或电流变化。其转换电路常用测 量电桥。 直流电桥的特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但 因机械应变的输出信号小,要求用高增益和高稳定性的放大器放大。当电桥输出端接无穷大负载电阻时,可视输出端为开路,此时直流电桥称为电压桥,即只 有电压输出。 应变片式传感器有如下特点: (1)应用和测量范围广,应变片可制成各种机械量传感器。 (2)

13、分辨力和灵敏度高,精度较高。 (3)结构轻小,对试件影响小, 对复杂环境适应性强,可在高温、高压、强磁场等特殊环 境中使用,频率响应好。 (4)商品化,使用方便,便于实现远距离、自动化测量。电阻应变片的电阻变化范围为0.00050.1欧姆。所以测量电路应当能精确测量出很小的电阻变化,在电阻应变传感器中常用的是桥式测量电路。桥式测量电路有四个电阻,电桥的一个角线接入工作电压E,另一个对角线为输出电压Uo。其特点是:当四个桥臂电阻达到相应的关系时,电桥输出为零,否则就有电压输出,可利用灵敏检流计来测量,所以电桥能够精确地测量微小的电阻变化。微量电桥如图2.3所示。图2.3全桥测量电路它由泊式电阻应

14、变片电阻R1、R2、R3、R4组成测量电桥,R1、R2、R3、R4为特性相同的应变片,且有R1=R2=R3=R4=R,测量电桥的电源由稳压电源E提供。物体的重量不同,电桥不平衡程度不同,指针式电表指示的数值也不同。滑动式线性可变电阻器Rp1作为物体重量弹性应变的传感器,组成调零电路,当载荷为0时,调节Rp1使数码显示屏显示零。其输出电压为: U1=E/4(R1/R-R2/R-R4/R+R3/R) R1=R3=R, R=R4=-R则有U1=(E/4)*4*R/R=EK2.3.2A/D及其接口一、ADC0832的介绍ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。

15、由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。 ADC0832 具有以下特点: 8位分辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电源供电时输入电压在05V之间; 工作频率为250KHZ,转换时间为32S; 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0C to +70C,工业级芯片温宽为.40C to +85C;图2.4芯片顶视图二、ADC00832与单片机的接口电路芯片接口说明:

16、CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。 图2.5 ADC0832 与单片机的接口电路2.4显示电路设计2.4.1LCD12864的介绍A、12864的基本特性: 低电源电压(VDD:+3.0-+5.5V; 显示分辨率:12864点;内置汉字字库,提供8192个1616点阵汉字(简繁体可选); 内置 128个168点阵字符;2M

17、HZ时钟频率;显示方式:STN、半透、正显驱动方式:1/32DUTY,1/5BIAS视角方向:6点背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10通讯方式:串行、并口可选内置DC-DC转换电路,无需外加负压无需片选信号,简化软件设计工作温度: 0 - +55 ,存储温度: -20 - +60 B、引脚说明:1 VSS - 模块的电源地;2 VDD - 模块的电源正端;3 V0 - LCD驱动电压输入端;4 RS(CS) H/L 并行的指令/数据选择信号;串行的片选信号;5 R/W(SID) H/L 并行的读写选择信号;串行的数据口;6 E(CLK) H/L 并行的使能信号;串行

18、的同步时钟;7 DB0 H/L 数据0;8 DB1 H/L 数据1;9 DB2 H/L 数据2;10 DB3 H/L 数据3; 11 DB4 H/L 数据4; 12 DB5 H/L 数据5; 13 DB6 H/L 数据6;14 DB7 H/L 数据7;15 PSB H/L 并/串行接口选择:H-并行;L-串行;16 NC 空脚;17 /RET H/L 复位 低电平有效;18 NC 空脚;19 LED_A (LED+5V) 背光源正极;20 LED_K (LED-OV) 背光源负极.2.4.2LCD12864与单片机的接口LCD12864与单片机的接口如图2.6所示:图2.6LCD12864与单

19、片机的接口3软件设计3.1A/D软件设计1、A/D值的函数如下图所示:图3.1时序图2、ADC0832的流程图图3. 2 流程图3.2LCD12864软件设计接口信号说明:1、,R/W的配合选择决定控制界面的4种模式,如表3.1所示:表3.1RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(BF)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据 2、信号如表3.2所示:表3.2 E状态执行动作结果高低I/O缓冲DR配合/W进行写数据或指令高DRI/O缓冲配合R进行读数据或指令低/低高无动作 3、标志:BF BF标志提供

20、内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态.4、时序图1)写操作时序如图3.3所示:图3.3写时序图2)读操作时序如图3.4所示: 图3.4读时序图5、控制芯片提供两套控制命令,基本指令和扩充指令如下:指令表 3.3(RE=0:基本指令)表3.3指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001

21、X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 功能 设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作 设定CGRAM 地址0001AC5AC4AC3AC2AC1AC0设定CGR

22、AM 地址 设定DDRAM 地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表3.4(RE=1:扩充指令)表3.4指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0 待

23、命模式0000000001进入待命模式,执行其他指令都棵终止待命模式卷动地址开关开启000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM和CGRAM地址 反白 选择00000001R1R0选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R000,第一次设定为反白显示,再次设定变回正常 睡眠 模式0000001SLXXSL=0:进入睡眠模式SL=1:脱离睡眠模式 扩充 功能 设定00001CLXREG0CL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作G=1/0:绘图开关 设定绘图RAM 地址0010AC60AC50AC4AC3AC3A

24、C2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6AC5AC0再设定水平(行)地址AC3AC2AC1AC0将以上16位地址连续写入即可3、流程图 图3.5LCD流程图3.3整个电子称的软件设计1.本论文所设计的主程序工作流程如图3.6。图3.6整体流程图2.程序见附录。4 总结4.1 本文工作总结通过这次课程设计,我能较好地把理论运用到实际生活中,既复习了已学过的理论知识,又强化了动手实践能力,通过查阅资料了解了许多课外知识,为今后的学习打下基础。在此次课程设计过程中,我也遇到了很多问题,例如所编写的程序无法实现相关编程要求、对于自己做的实物器件工作原理不是很了解、课程

25、设计论文不知从何处下手等问题,但经过老师的辅导、以及通过图书馆及网上查阅的相关资料,从而得出了想要的答案,并开始着手编程及撰写毕业设计。编程过程中出现了例如进入死循环等情况,目标文件无法生成可执行文件等,经过多次调试及老师的讲解后终于解决了编程问题。也终于明白了“世上无难事,只怕有心人”的意义所在。在遇到问题时首先不能畏惧或躲避,要通过不断的学习及资料的收集来解决问题。成功没有捷径,上帝只垂青那些为目标执着追求的人。有种喜悦似遇到困难并解决后的豁然开朗,或许每次遇到问题都将使你收获颇丰。回忆在图书馆翻阅资料的画面,在翻开一本书并从中获得些许启示的喜悦,看这自己的论文在一步一步进展最后完成整篇毕

26、业论文,感觉到一个个挑灯夜战的努力是值得的。虽然一路上困难重重,但确是人生中最大的宝藏,是对意志的磨练,使我的实践能力进一步提升,这对将来的工作学习很有益处。俗话说“万事开头难”,在经历并克服困难并解决实际问题后,感觉到一种如释重负的感觉,同时体会到一句话:实践是检验真理的唯一标准,只有理论与实践结合才能达到最好应用的效果。4.2 存在不足在本次课程设计中,虽然我学到了很多课外知识,加强了动手能力,但还是存在一些问题,例如专业论文写作功底不足,对许多资料,不知如何进行整合分析,需麻烦指导老师帮忙改进,才能更加完善。另外编程、调试过程中也缺乏耐心,导致自己编程问题停滞不前。今后我将尽自己最大努力

27、来改善自己的不足,使自己更加完善。参考文献1 吴戈,李玉峰.案例学单片机C语言开发M.人民邮电出版社,2008.12:参考页码(200-214).2 楼然苗,李光飞.单片机课程设计指导M.北京航空航天大学出版社,2007.7:参考页码(238-242).3 张迎新.单片机原理及应用M.电子工业出版社,2010.1:参考页码(137-148).4 周坚.单片机项目教程M.北京航空航天大学出版社,2008.5:参考页码(77-84).5 冯铁成.单片机应用技术M.人民邮电出版社,2009.9:参考页码(111-112).6 王利强,杨旭.电路CAD-Protel DXP 2004电路设计与实践M.

28、天津大学出版社,2010.8:参考页码(171-214).附录#include#include #define uchar unsigned char#define uint unsigned int#define nop() _nop_() #define PD 65 /PD:64-65 20120302sbit ADC_CS =P04; /0832片选sbit ADC_CLK=P05; /0832时钟sbit ADC_DAT=P06; /ADO and ADI sbit RS=P27; sbit RW=P26; sbit EN=P25; sbit CS1=P24; sbit CS2=P23

29、; sbit BUSY=P17;uint weight;uint AD;uint dianya; uchar code EETAB16=0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/00x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/10x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x2

30、1,0x30,0x00,/20x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0

31、x0F,0x11,0x20,0x20,0x11,0x0E,0x00,0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, /90x00,0x00,0x00,0x00,0x0

32、0,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, /.0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,/*- 文字: m -*/0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00/*- 文字: V -*/;uchar code CCTAB32=0x00,0x00,0xF8,0x48,0x48,0x48,0x48,

33、0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,/*- 文字: 电 -*/0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,0x12,0x0A,0x06,0x02,0x00,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00, /

34、*- 文字: 子 -*/0x10,0x92,0x72,0xFE,0x91,0x11,0x40,0x30,0x8F,0x04,0xF4,0x84,0x04,0x14,0x0C,0x00,0x02,0x01,0x00,0xFF,0x00,0x11,0x08,0x06,0x43,0x80,0x7F,0x00,0x01,0x06,0x18,0x00,/*- 文字: 称 -*/0x00,0x00,0xFE,0x02,0x42,0x42,0x42,0x42,0xFA,0x42,0x42,0x42,0x62,0x42,0x02,0x00,0x20,0x18,0x27,0x20,0x20,0x20,0x20,

35、0x20,0x3F,0x20,0x21,0x2E,0x24,0x20,0x20,0x00,/*- 文字: 压 -*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: : -*/0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x00,0x00

36、,0x00,0x00,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: V -*/0x08,0x08,0x0A,0xEA,0xAA,0xAA,0xAA,0xFF,0xA9,0xA9,0xA9,0xE9,0x08,0x08,0x08,0x00,0x40,0x40,0x48,0x4B,0x4A,0x4A,0x4A,0x7F,0x4A,0x4A,0x4A,0x4B,0x48,0x40,0x40,0x00,/*- 文字: 重 -*/0x40,0x40,0x40,0xDF,0x5

37、5,0x55,0x55,0xD5,0x55,0x55,0x55,0xDF,0x40,0x40,0x40,0x00,0x40,0x40,0x40,0x57,0x55,0x55,0x55,0x7F,0x55,0x55,0x55,0x57,0x50,0x40,0x40,0x00,/*- 文字: 量 -*/0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,0x00,0x00,0x00,0x00,0x00,0x00,

38、0x00,0x00,/*- 文字: A -*/0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: D -*/0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6B,0x94,0x94,0x94

39、,0x93,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*- 文字: g -*/;/ CCTAB531void busy_check(uchar chip) /液晶检测忙状态 bit state; while(1) if(chip=1) CS1=1;CS2=0; else CS1=0;CS2=1; RS=0; RW=1; EN=1; state=BUSY; nop(); EN=0; if(!state) break; nop(); nop(); void WriteCommand(uchar com,uchar chip) /对液晶写指令

40、 busy_check(chip); if(chip=1) CS1=1;CS2=0; else CS1=0;CS2=1; RW=0;/R:1 W:0 RS=0; /COM:0 DAT:1 nop(); P1=com; EN=1; nop(); EN=0; void WriteData(uchar dat,uchar chip) /对液晶写数据 busy_check(chip); if(chip=1) CS1=1;CS2=0; else CS1=0;CS2=1; RW=0; RS=1; nop(); P1=dat; EN=1; nop(); EN=0; void DispENG(uchar li

41、ne,uchar col,uchar asc)/显示字符 uchar n,chip,colnew; if(colPD) chip=1; else chip=2; col-=PD; WriteCommand(0x40+col,chip); WriteCommand(line+0xb8,chip); colnew=col; for(n=0;n=PD) colnew=0; chip+; WriteCommand(0x40+colnew,chip); WriteCommand(0x40+col,chip); WriteCommand(line+0xb9,chip); colnew=col; for(n=0;n=PD) colnew=0; chip+; WriteCommand(0x40+colnew,chip); void DispCHN(uchar page,uchar col,uchar chn) /显示汉字 uchar n,chip,colnew; if(colPD) chip=1; else chip=2;col-=PD; WriteCommand(page+0xb8,chip); WriteCommand(0xc0,chip); colnew=col; for(n=0;n=PD) colnew=0;chip+; WriteCommand(page+0xb9,ch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号