智能仪器实验指导书 V9.2 下载本文

case 2: P26=0;break; case 3: P27=0;break; } count++; if(count>=250) {

count=0; flag=1; } }

//半S时间到

六、思考题

通过按键设定待转换通道,并将该通道的采样值在数码管上显示出来。

七、实验成绩评定方法

实验成绩包括实验完成质量、实验报告质量2部分组成,各部分所占比例分别为50%、50%。

八、实验报告要求

1)实验名称 2)实验目的 3)实验要求 4)实验步骤 5)调试 6)结果

21/32

实验二键盘及LCD显示

一、实验目的

1.掌握独立式键盘的编程方法。 2.掌握LCD的接口技术和编程方法。 3.掌握仪器监控程序设计和调试方法。 二、实验要求

1.利用实验板上提供的键盘电路,LCD显示电路,将实验二中采集的电压信号在LCD上显示出来,并显示通道号。

2.可以通过按键设定的待显示的通道号,并显示在LCD上。 三、预习与参考

1. 结合ST7920 控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。

2. 参考资料 1)实验板说明书

2)ST7920 控制器系列中文图形液晶模块资料手册 四、实验仪器设备和材料清单

单片机实验板、ST7920图形液晶模块、PC机; Keil c51软件、STC-ISP下载软件。 五、实验设计及实施的指导

1.以单片机为核心,设计键盘及LCD的硬件电路,画出电路原理图。 2.设计键盘及LCD的控制软件,画出流程图,编写控制程序。 3.在指导教师指导下调试LCD显示程序。 4.在指导教师指导下调试按键程序。 5.综合调试直到满足设计要求。 注:1、2项须在课外完成。 六、参考资料 LCD显示参考程序

#include \#include \

sbit CS =P1^0; sbit SID=P1^1; sbit SCLK=P1^2;

sbitB_light=P2^7; //背光控制

void delay(unsigned int j)

22/32

{

unsigned char i; do{

for(i=0;i<100;i++); }while(j--); } {

unsigned char i;

unsigned char i_data,temp_data1,temp_data2;

i_data=0xf8; //操作命令,可以查看资料 delay(10); CS=1; SCLK=0;

for(i=0;i<8;i++) { }

i_data=command_data; i_data&=0xf0; for(i=0;i<8;i++) { }

i_data=command_data; temp_data1=i_data&0xf0; temp_data2=i_data&0x0f;

23/32

void send_command(unsigned char command_data) //发送命令

SID=(bit)(i_data&0x80); SCLK=0; SCLK=1;

i_data=i_data<<1;

SID=(bit)(i_data&0x80); SCLK=0; SCLK=1;

i_data=i_data<<1;

temp_data1>>=4; temp_data2<<=4;

i_data=temp_data1|temp_data2; i_data&=0xf0; for(i=0;i<8;i++) { } CS=0; }

void send_data(unsigned char command_data) //发送数据 {

unsigned char i;

unsigned char i_data,temp_data1,temp_data2; i_data=0xfa; //操作命令,可以查看资料 delay(10); CS=1;

for(i=0;i<8;i++) { }

i_data=command_data; i_data&=0xf0; for(i=0;i<8;i++) {

SID=(bit)(i_data&0x80); SCLK=0; SCLK=1;

i_data=i_data<<1;

SID=(bit)(i_data&0x80); SCLK=0; SCLK=1;

i_data=i_data<<1;

SID=(bit)(i_data&0x80); SCLK=0; SCLK=1;

24/32