1、bit flag=0;bit DACconversion(unsigned char sla,unsigned char c, unsigned char Val);bit ISendByte(unsigned char sla,unsigned char c);unsigned char IRcvByte(unsigned char sla);/*/void main(void) /主程序 unsigned int v; unsigned char AD_CHANNEL=0; unsigned int D5=0,0,0,0,255; TMOD=0x11; /设置定时器0工作模式,16位计数模
2、式 TH0=THCO; TL0=TLCO; TR0=1; /启动定时器 ET0=1; /使能定时器中断 EA=1; /开总中断 while(1) if(flag=1) flag=0; if(+AD_CHANNEL4) AD_CHANNEL=0; switch(AD_CHANNEL) case 0: ISendByte(PCF8591,0x40); DAD_CHANNEL=IRcvByte(PCF8591); /ADC3 模数转换4 break; case 1: ISendByte(PCF8591,0x41); /ADC0 模数转换1 case 2: ISendByte(PCF8591,0x42
3、); /ADC1 模数转换2 case 3: ISendByte(PCF8591,0x43); /ADC2 模数转换3 case 4: DACconversion(PCF8591,0x40, D4); /DAC 数模转换 D4=255-D4;/输出方波 break; v=DAD_CHANNEL; Data_Buffer0=AD_CHANNEL; Data_Buffer1=v/100%10; Data_Buffer2=v/10%10; Data_Buffer3=v%10; void timer0() interrupt 1 /定时器中断服务子程序 static unsigned int coun
4、t=0;/软计时变量定义 static unsigned char Bit=0; /静态变量,退出程序后,值保留 Bit+; if(Bit=4)Bit=0; P2|=0xf0; /先关位码 P0=DuanData_BufferBit; /开段码 if(Bit=0)P0|=0x80; switch(Bit) /送位码 case 0: P24=0;break; case 1: P25=0; case 2: P26=0; case 3: P27=0; count+; if(count=250) /半S时间到 count=0; flag=1; 6.思考题1)通过按键设定待转换通道,并将该通道的采样值在
5、数码管上显示出来。2)利用PCF8591产生一个三角波形,用示波器观察结果。7、实验成绩评定方法 实验成绩包括实验完成质量、实验报告质量2部分组成,各部分所占比例分别为50%、50%。8、实验报告要求1)实验名称2)实验目的3)实验要求4)实验步骤5)调试6)结果实验三 键盘及LCD显示一、实验目的1.掌握独立式键盘的编程方法。2.掌握LCD的接口技术和编程方法。3.掌握仪器监控程序设计和调试方法。二、实验要求1.利用实验板上提供的键盘电路,LCD显示电路,将实验二中采集的电压信号在LCD上显示出来,并显示通道号。2.可以通过按键设定的待显示的通道号,并显示在LCD上。三、预习与参考1. 结合
6、ST7920 控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。2. 参考资料 1)实验板说明书 2)ST7920 控制器系列中文图形液晶模块资料手册四、实验仪器设备和材料清单 单片机实验板、ST7920图形液晶模块、PC机;Keil c51软件、STC-ISP下载软件。五、实验设计及实施的指导1.以单片机为核心,设计键盘及LCD的硬件电路,画出电路原理图。2.设计键盘及LCD的控制软件,画出流程图,编写控制程序。3.在指导教师指导下调试LCD显示程序。4.在指导教师指导下调试按键程序。5.综合调试直到满足设计要求。 注:1、2项须在课外完成。六、参考资料LCD显示参考
7、程序reg51.hintrins.hsbit CS =P10;sbit SID=P11;sbit SCLK=P12;sbit B_light=P27; /背光控制void delay(unsigned int j) unsigned char i; do for(i=0;i100;i+); while(j-); void send_command(unsigned char command_data) /发送命令 unsigned char i_data,temp_data1,temp_data2; i_data=0xf8; /操作命令,可以查看资料 delay(10); CS=1; SCLK
8、=0;8;i+) SID=(bit)(i_data&0x80); SCLK=0; SCLK=1; i_data=i_data=4; temp_data2 i_data=temp_data1|temp_data2; CS=0;void send_data(unsigned char command_data) /发送数据 i_data=0xfa; /操作命令,可以查看资料void InitLCD() /液晶初始化 send_command(0x30); /功能设置:一次送8位数据,基本指令集 send_command(0x06); /点设定:显示字符/光标从左到右移位,DDRAM地址加1 sen
9、d_command(0x0c); /显示设定:开显示,显示光标,当前显示位反白闪动 send_command(0x04); send_command(0x01); /清DDRAM send_command(0x02); /DDRAM地址归位 send_command(0x80); /把显示地址设为0X80,即为第一行的首位 /* x,y为起始座标 x(0=x=3),y(0=y=7),x为行座标,y为列座标; how为要显示汉字的个数; str是要显示汉字的地址 */ void DispHanzi(unsigned char x,unsigned char y,unsigned char how
10、,unsigned char *stri) unsigned char hi=0; /汉字显示 if(x=0) send_command(0x80+y); / else if(x=1) send_command(0x90+y); else if(x=2) send_command(0x88+y); else if(x=3) send_command(0x98+y); for(hi=0;hihow;hi+) send_data(*(stri+hi*2); send_data(*(stri+hi*2+1);void DispZimu(unsigned char x,unsigned char y,
11、unsigned char how,unsigned char *stri)/字母数字都可以显示 /字母显示 send_data(*(stri+hi);main() InitLCD(); B_light=0; DispHanzi(1,1,4,北京时间);/第二行显示,2列显示汉字 DispZimu(3,1,10,0123456789 while(1); 七、成绩评定及实验报告格式要求参见实验二实验四 基本数据处理算法1.掌握随机误差的数字滤波算法。二、预习与参考1. 随机误差的数字滤波算法 三、 实验内容1将实验二中采集的0-5 V电压信号进行数字滤波后,在LCD上显示出来。 (必做)2利用热
12、敏电阻进行温度检测,测温范围为0-50C,要求将测量温度值在LED或LCD上显示出来。(选做)四、实验要求1.设计硬件电路,画出电路原理图。2.用Keil C51编写数据处理程序,并调试。2.实验结果LCD上显示出来。五、实验仪器设备和材料清单 PC机;单片机实验板、ST7920图形液晶模块 Keil c51软件、STC-ISP下载软件。六、实验设计及实施的指导1. 将单片机采集的数字量经过数字滤波后,首先转换成0-5V电压值,再算出对应的热敏电阻值,为了方便查表也放大1000倍;2.利用对半查表法原理将计算的电阻值和表中电阻值比较,找出相等或最接近的元素,最后经计算得到相应的温度值。5.编写
13、程序并调试。七、实验成绩评定方法和实验报告要求参见实验二。八、参考资料 热敏电阻 型号:MF52-103/3435 10K 1精度 B值:34351、型号MF52103H3470FANTC热敏电阻环氧系列电阻值阻值允差B值B值允差B值类别10K5%3470K1%B25/502、电气性能序号项目符号测试条件最小值正常值最大值单位125的电阻值R25Ta=250.05PT0.1mw9.910.010.1k250的电阻值R50Ta=50/4.0650334363504K4耗散系数0.52.0mw/5时间常数15sec6绝缘电阻500VDC50M7使用温度范围-55+1253、使用注意事项 将产品引线
14、裁剪成所需要的长度,注意最小长度5mm。MF5210K 3470温度特性表R25=10K B(25/50)=3470KT()R(K)-40190.5562-2799.5847-1453.1766-129.2750-39183.4132-2694.6608-1350.7456028.0170-38175.6740-2590.0326-1248.4294126.8255-37167.6467-2485.6778-1146.2224225.6972-36159.5647-2381.5747-1044.1201324.6290-35151.5975-2277.7031-942.1180423.6176
15、-34143.8624-2174.0442-840.2121522.6597-33136.4361-2070.5811-738.3988621.7522-32129.3641-1967.2987-636.6746720.8916-31122.6678-1864.1834-535.0362820.0749-30116.3519-1761.2233-433.4802919.2988-29110.4098-1658.4080-332.00351018.5600-28104.8272-1555.7284-230.60281118.48181218.14892510.0000386.1418513.92
16、711317.6316269.5762395.9343523.79361416.9917279.1835405.7340533.66391516.2797288.8186415.5405543.53771615.5350298.4784425.3534553.41461714.7867308.1600435.1725563.29391814.0551317.8608444.9976573.17521913.3536327.5785454.8286583.05792012.6900337.3109464.6652592.94142112.0684347.0564474.5073602.82502
17、211.4900356.8133484.3548612.77622310.9539366.5806494.2075622.71792410.4582376.3570504.0650632.6523642.5817771.7197901.23601030.8346652.5076781.6727911.20371040.8099662.4319791.6282921.17141050.7870672.3557801.5860931.13901060.7665682.2803811.5458941.10671070.7485692.2065821.5075951.07441080.7334702.1350831.4707961.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1