液晶显示AD信号的曲线_第1页
液晶显示AD信号的曲线_第2页
液晶显示AD信号的曲线_第3页
液晶显示AD信号的曲线_第4页
液晶显示AD信号的曲线_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

浙江海洋学院东海科学技术学院单片机课程设计报告设计题目 液晶显示AD信号的曲线 年级专业 2014 年 12 月 6 日课程设计量化评分标准指标最高分评分要素评分方案设计35方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。调试15过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。结果20电路及程序运行结果正确,达到预期效果。设计报告20报告结构严谨,逻辑严密,论述层次清晰,语言流畅,表达准确,重点突出,报告完全符合规范化要求,用计算机打印成文。工作态度10工作态度认真,按时完成设计任务,是否独立完成。总 评 成 绩指导老师评语:目 录1.引 言42.方案设计42.1.设计要求42.2.设计方案43.硬件设计53.1.单片机最小系统53.2.lcd显示部分63.3.按键部分83.4.信号采集电路ADC083294.软件设计104.1.软件流程104.2.分块子程序模块105.实验结果与讨论(或实验仿真与讨论)115.1.实验仿真115.2.结果讨论126.心得体会137.附 录A;源程序148.参考文献20液晶显示AD信号曲线1. 引 言随着电子工业的飞速发展,诸多家用电子产品和各种 仪器仪表在显示技术方面提出了新的要求,原有的单纯LED或LED数码管、电磁式仪表等已远不能满足要求。建立性能优良、价格低廉的既能显示字符也能显示汉字和图形、图表、曲线等的显示器一直是工程技术人员所关注的问题。LCD液晶显示器能胜任上述要求,且有工作电压低、功耗小、驱动简单、高可靠性、寿命长、性能稳定等优点,其发展前景极为广阔。液晶应用很广,例如液晶电子手表,计算器以及液晶电视、便携式计算机等,处处可以看到 液晶的足迹。本文主要介绍如何用AT89S52单片控制点阵液晶模块将现场采集到的信号以实时曲线的方式表达,为信号的现场分析提供便利,有较高的实用价值。利用STC89C52单片机对12864液晶进行读写操作并显示实时信号波形,这样便构成了一个单片机简易示波器。2. 方案设计2.1. 设计要求1、基本要求(1) 用ADC0832采集数据信号发生器中的正弦信号。(2)在LCD(型号建议选LCD12864)上显示信号的波形2、发挥部分 (1)能够LCD12864上同时显示2路信号信号(2)曲线上同时显示波形峰值例如CH0:0.15V2.2. 设计方案2.1.1 单片机芯片的选择本设计选用STC89C52单片机,它是一种带8K字节闪烁可编程可擦除只读存储器的低电压,足够本设计之用,高性能CMOS8位微处理器该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。功能强大、使用方便的STC89C52单片机适用于许多较为复杂的应用场合1。2.1.2 总体设计及系统原理LCD显示AD采样波形的整体设计思路较为明确简单,包括单片机、自动复位电路、按键电路、LCD显示电路、AD采样电路。在确定系统的大体形式之后,画出本系统的总体结构布局,电路原理如图2-1所示显示电路用的是无字符AMPIRE12864,并行方式,P0口为LCD并行数据口,P2为LCD控制端口;P3为调频按键口;P1为ADC0832数据采样端口。 图 2-1 系统设计3. 硬件设计3.1. 单片机最小系统单片机最小系统选用STC89C52,包含上电自动复位电路和手动复位电路,可对单片机进行复位操作。图 3-1 上电复位电路3.2. lcd显示部分图 3-2 显示电路本设计显示用的是LCD12864液晶显示屏,用来显示波形及其相应参数,LCD液晶显示器能胜任上述要求,且有工作电压低、功耗小、驱动简单、高可靠性、寿命长、性能稳定等优点,其发展前景极为广阔。sbit EN=P20; /EN使能sbit RW=P21;/RW端为0-写,1-读sbit RS=P22; /RS端为0命令,为1数据sbit CS1=P26;/片选1低电平有效,控制左半屏sbit CS2=P27;/片选2低电平有效,右半屏/一块驱动驱动一块64*64的液晶,每块液晶有8页,每页8行,每行64位显示开关函数:0x3e是关显示,0x3f是开显示指令是RS都为0;读写 状态数据/指令RWRSDB7DB6DB5DB4DB3DB2DB1DB00011XXXXXX写命令 设置选择行命令 起始行0xc0;RWRSDB7DB6DB5DB4DB3DB2DB1DB00010111XXX写命令 设置选择页(page)命令 起始页 0xB8;RWRSDB7DB6DB5DB4DB3DB2DB1DB00001XXXXXX写命令 设置选择列(Y address)命令 起始列0x40;第一列为0x40一直到0x7F共64列,因为此液晶有128列,所以有两块驱动芯片驱动。RWRSDB7DB6DB5DB4DB3DB2DB1DB010Busy0ON/OFFRESET0000读状态 Busy:为1内部忙,不能对液晶进行操作。0-工作正常。ON/OFF:1-显示关闭;0-显示打开RESET:1-复位状态;0-正常。 说明在Busy和RESET状态时,除读状态指令外,其他任何指令均不会对驱动器产生作用。/* LCD12864液晶测忙子程序(读状态)形式2 */ void Busy(void) uchar busy; do EN=0; RS=0; RW=1; Delay_1ms(20); EN=1; busy=P0; Delay_1ms(20); EN=0; while(busy&0x80);写命令/写数据 (形式一样):/*形式一;需要#include*/void Write_com(uchar value) Busy(); RS=0; /0为命令;1为数据RW=0;Lcd_data=value;EN=1;_nop_();_nop_();EN=0;设置页:void Set_page(uchar page)page=0xB8|page; /1011 1000|page;page 07Write_lcd_com(page);设置起始行:void Set_line(uchar startline) /设置显示的起始行 063 startline=0xC0|startline; /起始 行地址为0xC0 Write_lcd_com(startline);void SetLine(uchar line) /line - 0 : 7 选行写指令 line = line & 0x07; line = line | 0xb8; /1011 1xxx SendCommand(line);void SetColum(uchar colum) /colum - 0 :63 colum = colum & 0x3f; /0011 1111 框定范围 超过64的自动减回063 colum = colum | 0x40; /01xx xxxx SendCommand(colum);void SetStartLine(uchar startline) /startline - 0 : 63置显示起始行 startline = startline & 0x3f; startline = startline | 0xc0; /11xxxxxx SendCommand(startline);/*显示开关函数:0x3e是关显示,0x3f是开显示*/void Set_onoff(uchar onoff) if(onoff=1)Write_lcd_com(0x3f);elseWrite_lcd_com(0x3e);控制屏幕:void SelectScreen(uchar screen)switch(screen) case 0:CS1=0;CS2=0;break;/全屏 case 1:CS1=0;CS2=1;break;/左半屏 case 2:CS1=1;CS2=2;break;/右半屏 default: break; 清屏的格式固定void ClearScreen(uchar screen) /清屏 0全屏 1左 2右 uchar i,j;SelectScreen(screen);for(i=0;i8;i+) Set_page(i); Set_column(0); for(j=0;j0;i-) CLK=0; data_1st|=DO;data_1st0;i-) CLK=0; data_2nd|=DO;data_2nd0;i-) CLK=0; data_1st|=DO;data_1st0;i-) CLK=0; data_2nd|=DO;data_2nd0;i-) CLK=0; data_1st|=DO;data_1st0;i-) CLK=0; data_2nd|=DO;data_2nd0;i-) CLK=0; data_1st|=DO;data_1st0;i-) CLK=0; data_2nd|=DO;data_2nd0;i-) for(j=110;j0;j-); void Busy(void) Lcd_data=0x00;RS=0;RW=1;EN=1; while(Lcd_data&0x80);EN=0;void Write_lcd_com(uchar value) Busy(); RS = 0; /RS端为0命令,为1数据 RW = 0;Lcd_data = value;EN = 1;delaylcd(2); EN = 0;void Write_lcd_data(uchar date)Busy(); RS = 1;/RS端为0命令,为1数据 RW = 0;Lcd_data = date;EN = 1;delaylcd(2); EN = 0;void Set_page(uchar page) / page 07page=0x07&page; /防止赋值出现错误导致命令错误page=0xB8|page;Write_lcd_com(page);void Set_line(uchar startline) /设置显示的起始行 063 startline=0x3f&startline;startline=0xC0|startline; /起始 行地址为0xC0 Write_lcd_com(startline);void Set_column(uchar column)column = column & 0x3f; /0011 1111 框定范围 超过64的自动减回063 column = column | 0x40; /01xx xxxx Write_lcd_com(column);void Set_onoff(uchar onoff) /显示开关函数:0x3e是关显示,0x3f是开显示if(onoff=1)Write_lcd_com(0x3f);elseWrite_lcd_com(0x3e);void SelectScreen(uchar screen)switch(screen) case 0:CS1=0;CS2=0;break;/全屏 case 1:CS1=0;CS2=1;break;/左半屏 case 2:CS1=1;CS2=0;break;/右半屏 default: break; void ClearScreen(uchar screen) /清屏 0全屏 1左 2右 uchar i,j;SelectScreen(screen);for(i=0;i8;i+) Set_page(i); Set_column(0); for(j=0;j64;j+) Write_lcd_data(0); void Init_lcd(void)Busy();SelectScreen(0);Set_onoff(0);SelectScreen(0);Set_onoff(0);SelectScreen(0);ClearScreen(0);Set_page(0);void Display1616(uchar screen,uchar page,uchar column,uchar *p) uchar i;SelectScreen(screen);Set_page(page);Set_column(column);for(i=0;i16;i+)Write_lcd_data(pi);Set_page(page+1);Set_column(column);for(i=0;i16;i+)Write_lcd_data(pi+16);Set_onoff(1);void Display816(uchar screen,uchar page,uchar column,uchar *p) uchar i;SelectScreen(screen);Set_page(page);Set_column(column);for(i=0;i8;i+)Write_lcd_data(pi);Set_page(page+1);Set_column(column);for(i=0;i8;i+)Write_lcd_data(pi+8);Set_onoff(1); void delaylcd(uchar i) while(-i); void display0(uchar aa) /测试用程序uchar zz8=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;uchar i,j,t;uchar aa_0;aa_0=aa/4;i=aa_0/8;j=aa_0%8;i=7-i;j=zzj;t+;SelectScreen(1);ClearColumn(t);Set_page(i);Set_column(t);Write_lcd_data(j);Set_onoff(1);void display1(uchar aa) /测试用程序uchar zz8=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;uchar i,j,t;uchar aa_0;aa_0=aa/4;i=aa_0/8;j=aa_0%8;i=7-i;j=zzj;t+;S

温馨提示

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

评论

0/150

提交评论