C51程序实现重量测量及液晶屏显示

需积分: 12 4 下载量 143 浏览量 更新于2024-09-07 1 收藏 7KB TXT 举报
"这篇文档是关于使用C51语言编程,通过YM12864C液晶屏显示重量测量实验板测量标准砝码重量的过程。程序设计中涉及到ADC转换来获取重量数据,并允许一定的误差范围。" 在C51编程环境中,这个程序使用了YM12864C液晶屏来显示重量测量的结果。YM12864C是一种常见的128x64点阵图形液晶模块,常用于嵌入式系统中的数据显示。为了在液晶屏上正确显示重量信息,我们需要初始化LCD的相关控制引脚,并定义相应的寄存器和位定义。 首先,程序包含了`<reg52.h>`和`<intrins.h>`头文件,这两个文件提供了51系列单片机的标准寄存器定义以及内联函数支持。接着,定义了`LCD_DATAP2`,表明液晶屏的数据线连接到了P2口。 在ADC转换部分,程序中定义了与ADC相关的SFR(特殊功能寄存器),如`PLASF`、`ADC_CONTR`、`ADC_RES`等,这些都是51单片机中进行模数转换所必需的。ADC转换的控制涉及到`ADC_POWER`、`ADC_FLAG`、`ADC_START`等位定义,这些位用来开启ADC电源、启动转换以及检查转换是否完成。`InitADC()`函数用于设置ADC的工作模式和速度,而`ADC_GET(ucharn)`则用于获取指定通道的ADC转换结果。 为了显示测量的重量,程序还定义了两个计数器变量:`mypage`表示当前显示的页面,`timecount`可能用于计时或控制显示更新。此外,还定义了两个字符数组`zhong[]`和`liang[]`,分别存储数字字符,便于在液晶屏上显示数字。 液晶屏的初始化函数`InitLcd(void)`中,设置了控制引脚如`RST`、`CS1`、`CS2`、`E`、`R_W`、`RS`以及检测忙信号的`BUSY`和背光控制的`ON`。这些引脚的设置和操作确保了与液晶屏的正确通信。 在实际应用中,测量结果可能会有误差,程序没有明确提及误差处理的具体方式,但可以推测会在读取ADC结果后进行一定的校准或滤波处理,以确保显示的重量值在允许的误差范围内。 整个程序的核心流程大致如下: 1. 初始化UART、ADC和LCD。 2. 启动ADC转换,获取标准砝码的重量数据。 3. 将重量数据转换为字符形式,并存储在字符数组中。 4. 利用LCD控制函数在液晶屏上显示重量信息。 5. 可能会有一个循环结构,周期性地更新显示或在检测到新的重量数据时更新。 这个程序实例展示了嵌入式系统中硬件接口的控制、ADC转换以及数据显示的基本方法,对于学习C51编程和重量测量系统的设计具有参考价值。