显示屏设计.docx
- 文档编号:29609282
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:12
- 大小:370.05KB
显示屏设计.docx
《显示屏设计.docx》由会员分享,可在线阅读,更多相关《显示屏设计.docx(12页珍藏版)》请在冰豆网上搜索。
显示屏设计
一:
工作任务
单片机系统接收电脑PC机串口发过来的ASCII码,并在液晶LCD1602上显示出来;同时把收到的ASCII码回传给电脑PC机串口,以验证串口接收、发送数据的正确性。
二.系统组成
本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制功能等。
本系统的硬件采用模块化设计,以AT89S52单片机为核心,与LCD显示电路、串行口通信电路组成控制系统。
该系统硬件主要包括以下几个模块:
AT89S52主控模块、LCD显示模块、串行口通信模块等。
其中AT89S52主要完成外围硬件的控制以及一些运算功能,LCD显示模块完成字符、数字的显示功能、串行口通信模块主要完成单片机和PC机之间的通信功能。
系统组成方框图如图7.1所示。
应用软件采用模块化设计方法。
该系统软件主要由主程序、串口接收发送数据中断子程序、LCD显示子程序等模块组成,系统软件结构框图如图7.1所示
图7.1系统软件结构框图
三:
硬件设计
1.主控模块设计
本项目采用ATMEL公司生产的AT89S52单片机,主控模块的具体设计参见项目1。
2.LCD显示模块设计
LCD显示模块选用1602字符型LCD模块,具体设计请参见项目6“LCD显示技术”。
3.串行口通信模块设计
51单片机有一个全双工的串行通信口,使单片机和计算机之间可以方便地进行通信。
电平范围是电路能够安全可靠识别信号的电压范围。
CMOS电路的电平范围一般是从0到电源电压。
CMOS电平中,高电平(3.5~5V)为逻辑“1”,低电平(0~0.8V)为逻辑“0”。
RS232接口的电平范围是-15V到+15V,RS232电平采用负逻辑,即逻辑“1”:
-3~-15V,逻辑“0”:
+3~+15V。
单片机的串口是TTL电平的,而计算机的串口是RS232电平,要使两者之间进行通信,两者之间必须有一个电平转换电路,即单片机的串口要外接电平转换电路芯片把与TTL兼容的CMOS高电平表示的1转换成RS232的负电压信号,把低电平转换成RS-232的正电压信号。
典型的转换电路给出-9V和+9V。
实现逻辑电平转换可以采用以下三种方式:
(1)采用MC1488和MC1489芯片的转换接口
MC1488和MC1489芯片为早期的RS232至TTL逻辑电平的转换芯片。
该方式的不便之处是需要±12V电压,并且功耗较大,不适合用于低功耗的系统。
(2)采用MAX232芯片的转换接口
MAX232是MAXIM公司生产的,包含两路驱动器和接收器的RS-232转换芯片。
MAX232芯片内部有一个电压转换器,可以把输人的+5V电压转换为RS-232接口所需的±10V电压,尤其适用于没有±12V的单电源系统。
与此原理相同的芯片还有MAX202、AD公司的ADDt101以及SIL公司的IC1232芯片。
(3)采用分立元件实现转换接口
采用分立元件实现的RS232至TTL电平的转换接口电路,其特点是利用PC机的RS232接口的3脚信号(也可用4、7脚)来供给负电源,PC机的3、4、7脚在非发送逻辑“0”电平时均为1电平(-10V左右),其驱动能力为20mA,利用这个特性,用一个二极管和电解电容,即在电解电容上获取了RS232通信所需的负电源。
该电路简单、功耗小,在没有专用芯片时不失为一种替代方法。
使用RS232接口进行异步通信,必须将单片机的TTL电平转换为RS232电平,即在通信方的单片机接口部分增加RS232电气转换接口,在本项目中利用MAXIM公司的MAX232集成芯片构成转换接口电路。
图7.2MAX232芯片内部框图
因此,MAX232芯片的T1in引脚连接AT89S52单片机
的TXD引脚,MAX232芯片的R1out引脚连接AT89S52单
片机的RXD引脚;MAX232芯片的T1out引脚连接DB9针
接口的第2引脚,MAX232芯片的R1in引脚连接DB9针接
口的第3引脚。
四:
电路原理图
图7.3串行通信模块与单片机的接口电路原理图
五:
主程序流程图
图7.4主程序设计流程图
六:
C语言源程序(程序清单)
#include
#include"lcd1602.h"
unsignedcharkey_s,key_v,tmp;
unsignedcharstr[16];
voidsend_str();
bitscan_key();
voidproc_key();
voiddelayms(unsignedcharms);
voidsend_char(unsignedchartxd);
sbitAN1=P3^6;
main()
{
unsignedcharj=0;
TMOD=0x20;//定时器1工作于8位自动重载模式,用于产生波特率
TH1=0xFD;//波特率9600
TL1=0xFD;
SCON=0x50;//设定串行口工作方式
PCON&=0xef;//波特率不倍增
TR1=1;//启动定时器1
IE=0x0;//禁止任何中断
LCMInit();//LCM初始化
Delay5Ms();//延时片刻(可不要)
DisplayOneChar(0,0,'');
while
(1)
{
if(scan_key())//扫描按键
{
delayms(10);//延时去抖动
if(scan_key())//再次扫描
{
key_v=key_s;//保存键值
proc_key();//键处理
}
}
if(RI)//是否有数据到来
{
RI=0;
tmp=SBUF;//暂存接收到的数据
if(tmp=='#')
{
j=0;
LCMInit();
str[0]='';
}
str[j]=tmp;
j++;
//下一个字符
//send_char(tmp);//回传接收到的数据
}
display();
}
}
bitscan_key()
//扫描按键
{
key_s=0x00;
key_s|=AN1;
return(key_s^key_v);
}
voidproc_key()
//键处理
{
if((key_v&0x01)==0)
{//AN1按下
send_str();//传送字串"welcome!
...
}
}
voidsend_char(unsignedchartxd)
//传送一个字符
{
SBUF=txd;
while(!
TI);//等特数据传送
TI=0;//清除数据传送标志
}
voidsend_str()
//传送字串
{
unsignedchari=0;
while(str[i]!
='\0')
{
SBUF=str[i];
while(!
TI);//等特数据传送
TI=0;//清除数据传送标志
i++;//下一个字符
}
}
voiddelayms(unsignedcharms)
//延时子程序
{
unsignedchari;
while(ms--)
{
for(i=0;i<120;i++);
}
}
七:
原件清单
STC89C521个
MAX2321个
串口RS2321个
插针1排
LCD16021个
40脚插座1个
12MHZ晶振1个
电容30PF2个
22UF1个
电阻4.7K1个
可调电阻10K1个
八:
实物图(下页)
参考文献:
肖洪兵.跟我学用单片机.北京:
北京航空航天大学出版社,2002.8
何立民.单片机高级教程.第1版.北京:
北京航空航天大学出版社,2001
赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社,2001.3
李广第.单片机基础.第1版.北京:
北京航空航天大学出版社,1999
徐惠民、安德宁.单片微型计算机原理接口与应用.第1版.北京:
北京邮电大学出版社,1996
何立民.从Cygnal80C51F看8位单片机发展之路.单片机与嵌入式系统应用,2002年,第5期:
P5~8
夏继强.单片机实验与实践教程.北京:
北京航空航天大学出版社,2001
陈志强胡辉.单片机应用系统设计实践指南.自编教材
肖洪兵.单片机应用技术.自编教材肖洪兵高茂科.CAI课件自主开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 显示屏 设计