人机交互—输出接口

人机交互—输出接口

ID:39256294

大小:4.83 MB

页数:80页

时间:2019-06-28

人机交互—输出接口_第1页
人机交互—输出接口_第2页
人机交互—输出接口_第3页
人机交互—输出接口_第4页
人机交互—输出接口_第5页
资源描述:

《人机交互—输出接口》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章人机交互—输出接口一、概述二、数码管接口设计三、LCD液晶接口设计四、发声电路设计一、概述1、显示输出:嵌入式应用系统向人报告运行状态及运行结果最常用的手段;2、声音输出:主要是通过喇叭(SPK)来实现的;3、打印输出:通过打印机输出嵌入式系统运行的状态和结果;4、通信输出。二、数码管接口设计数码管是一种应用很普遍的显示器件,从单片机、ARM到许多微型机控制系统及数字化仪器仪表中都用到数码管作为显示输出。数码管的主要部分是七段发光二极管;数码管分为共阴极和共阳极两种;为了保护各段LED,需外加限流电阻。有的产品还附带有一个小数点

2、,故有人叫其为八段式发光二极管。由7个发光段的不同组合,从而实现十六进制数的显示。下面分别是共阴极和共阳极0~9的编码表。共阴极编码管共阳极编码管1.1数码管接口电路通过段选端可以控制数码管显示内容;位选端用于控制整个数码管是否工作:共阴极数码管,位选端要接地;共阳极数码管,位选端要接高电平一位数码管接口电路(共阴极)动态显示技术主要是利用了人眼的视觉暂留原理。人眼的视觉暂留时间约为100ms。在动态显示方式下,将各个显示位的段选端并联在一起,实现各显示位的分时选通。数码管接口电路--动态扫描实验目的:通过实验,理解数码管显示原理,会

3、编写数码管驱动程序。实验内容:控制数码管显示0000~9999。1.2实验目的与内容1.3电路原理分析实验板上采用了4位一体的数码管,数码管4条位选线连接ARM的通用I/O口;数码管的8个段选端连接74HC595芯片的并行I/O输出接口,74HC595再与ARM的SPI0模块进行通信,接收ARM发送过来的数据。1.4参考程序---初始化函数//----------引脚定义-----------#definesmgA1(1<<22)//p2.22连接smgA1#definesmgA2(1<<23)//p0.23连接smgA2#defin

4、esmgA3(1<<19)//p1.19连接smgA3#definesmgA4(1<<24)//p0.24连接smgA4/*********************************************************************名称:NumbTube_Init()*功能:数码管与SPI初始化********************************************************************/voidNumbTube_Init(void){PINSEL1=PINSEL1

5、&0xfffc3fff;//设置引脚连接smgA2(p0.23),smgA4(0.24)PINSEL2=PINSEL2&0xfffffff7;//设置数码管的位选引脚连接smgA3(p1.19)IO0DIR=IO0DIR

6、smgA2

7、smgA4;//设置smgA1~smgA4引脚为输出IO1DIR=IO1DIR

8、smgA3;IO2DIR=IO2DIR

9、smgA1;HC595_Init();//初始化SPI0(时序与74HC595相匹配)}//-------------数码管显示数据(0~9显示码)----------------uin

10、t8constNumberTube_TAB[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x98};/*****************************************************************************名称:NumbTube_Display(uint32data,uint8radix_point)*功能:控制数码管显示数据。*入口参数:data需要显示的数据*radix_point小数点的位置,取值范围为4、3、2******

11、**********************************************************************/voidNumbTube_Display(uint32data,uint8radix_point){uint32j,one,ten,hundred,thousand;//个,十,百,千,的变量声明thousand=data/1000;//计算千位if(thousand!=0)data-=thousand*1000;hundred=data/100;//计算百位if(hundred!=0)data

12、-=hundred*100;ten=data/10;//计算十位if(ten!=0)data-=ten*10;one=data%10;//计算个位参考程序---数据显示函数//-------------------显示千

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。