人机接口电路设计方案及编程教学课件省公共课一等奖全国赛课获奖课件.pptx
《人机接口电路设计方案及编程教学课件省公共课一等奖全国赛课获奖课件.pptx》由会员分享,可在线阅读,更多相关《人机接口电路设计方案及编程教学课件省公共课一等奖全国赛课获奖课件.pptx(117页珍藏版)》请在咨信网上搜索。
1、5.4 人机接口电路设计及编程人机接口电路设计及编程第1页5.4.1 键盘电路设计及编程第2页1.电路 键盘接口电路如图5-12所表示,板上扩展了一个44行列式矩阵键盘接口。该键盘采取中止扫描方式进行工作,行线选取PORTG47输出,列线选取PORTF58为输入。行线行线接上拉电阻保持高电平,并经过“与”门将输出信号与MCU中止EXINT0连接;列线列线接上拉电阻保持高电平。第3页2.编程 (1)I/O口和中止初始化 I/O引脚设置:rPDATE=0X60;rPCONF=0 x2A;列线PORTF58为输入rPUPF=0 x0;列线接上拉电阻rPDATG=0 x0;rPCONG=0 x55FF
2、;行线PORTG47输出,PORTG0作为EXINT0连接rPUPG=0 x0;行线接上拉电阻第5页 中止初始化 rINTCON=0 x5;/非向量模式,IRQ 允许,FIQ 禁止 rINTMOD=0 x0;/全部IRQ 模式 rINTMSK =(BIT_GLOBAL|BIT_EINT0);/EXINT0允许,全部中止屏蔽位允许 pISR_EINT0=(unsigned)keyboard_ISR;/指定中止服务程序第6页 (2)程序 将行线PORTG47输出为低电平,当有键盘按下时,该行线被拉为低电平,使得EXINT0输入也为低电平,MCU产生中止。中止产生后经过对键盘行和列进行扫描方法,能够
3、计算出是哪个键按下,并跳到对应键盘处理程序中去。第7页void keyboard_ISR(void)char x,y,xrecord,yrecord,temp;rI_ISPC=BIT_EINT0;/clear pending_bit Delay(400);/delay 40ms if(rPDATF&0 x1E0)=0 x1E0)return 0;/no keyboard press,return 第8页else x=1;y=1;xrecord=(rPDATF&0 x1E0)1);xrecord=xrecord4;while(xrecord!=0 x1)/judge row x=x+1;xrec
4、ord=xrecord1;第9页 if(xrecord=0)rPDATG=0X0F;/no,return return 0;Delay(200);/delay 20ms rPDATG=0XEF;/input high第10页while(rPDATF&0 x1E0)=0 x1E0)rPDATG=rPDATG4)&0 x0F;while(yrecord!=0 x1)/judge line y=y+1;yrecord=yrecord1;if(yrecord=0)rPDATG=0X0F;/no board press,return return 0;第12页Led_Display(x+(y-1)*4-
5、1);Uart_Printf(%3d,x+(y-1)*4-1);Delay(1200);/delay 40ms rPDATG=0X0F;第13页5.4.2 LCD接口电路设计及编程第14页1.LCD接口信号 EV44B0 II现配有160240单色显示器,4比特单扫描。EV44B0 II将LCD控制信号线连接到JP6上,与LCD模块相连,其原理如图5-13所表示。在LCD模块上,集成了LCD驱动器和专门电压转换电路,用以驱动LCD屏幕和适配LCD工作电压。LCD连接器信号定义如表5-4所表示。第15页1.LCD接口信号 EV44B0 II现配有160240单色显示器,4比特单扫描。EV44B0
6、 II将LCD控制信号线连接到JP6上,与LCD模块相连,其原理如图5-13所表示。在LCD模块上,集成了LCD驱动器和专门电压转换电路,用以驱动LCD屏幕和适配LCD工作电压。LCD连接器信号定义如表5-4所表示。第17页2.编程 显示缓冲区与LCD象素对应关系图如图5-14所表示。第19页 (1)LCD 初始化程序 通常采取S3C44B0XPORTC口和PPORTD口作为LCD驱动接口,所以需要设置它们工作在第3功效状态,设置I/O口控制存放器语句以下:rPDATC=0 x8400;rPCONC=0 x5F5FFFFF;rPUPC=0 x33ff;/should be enabled rP
7、COND=0 xaaaa;rPUPD=0 xff;第21页 LCD初始化程序以下:void Lcd_MonoInit(void)/160 x240 1bit/1pixel LCD#define MVAL_USED 0rLCDCON1=(0)|(15)|(MVAL_USED7)|(0 x38)|(0 x310)|(CLKVAL_MONO12);/disable,4B_SNGL_SCAN,WDLY=8clk,WLH=8clk,rLCDCON2=(LINEVAL)|(HOZVAL10)|(1021);/LINEBLANK=10第22页rLCDSADDR1=(0 x022)1);/monochrome
8、,LCDBANK,LCDBASEUrLCDSADDR2=M5D(U32)frameBuffer1+(SCR_X SIZE*LCD_YSIZE/8)1)|(MVAL21)|(129);rLCDSADDR3=(LCD_XSIZE/16)|(SCR_X SIZE-LCD_XSIZE)/16)9);rLCDCON1=(1)|(15)|(MVAL_USED7)|(0 x38)|(0 x310)|(CLKVAL_MONO12);/enable,4B_SNGL_SCAN,WDLY=8clk,WLH=8clk,第23页(2)LCD 显示程序 LCD 显示程序以下:#define frameBuffer1 0
9、xc400000extern unsigned char*Buf;void displaylcd(void)unsigned int*pbuffer,temp_data;int i;pbuffer=(U32*)frameBuffer1;第24页 for(i=0;i(4800/4);i+)temp_data=(Bufi*4+3 24)+(Bufi*4+2 16)+(Bufi*4+1 8)+(Bufi*4);pbufferi=temp_data;Delay(10);第25页(3)LCD 清屏程序 LCD 清屏程序以下:void clrscreen(void)int i,j;unsigned int
10、*pbuffer;pbuffer=(U32*)frameBuffer1;for(i=0;i4800/4;i+)pbufferi=0;/(0 x0FFFFFFFF);第26页5.4.3 触摸屏电路设计及编程1.触摸屏工作原理 触摸屏按其工作原理不一样分为表面声波屏表面声波屏、电容屏电容屏、电阻屏电阻屏和红外屏红外屏几个。常见又数电阻触摸屏。如图5-15 所表示,电阻触摸屏屏体部分是一块与显示器表面非常配合多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明导电层,上面再盖有一层外表面硬化处理、光滑防刮塑料层,它内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)透明
11、隔离点把它们隔开绝缘。第27页 如图5-16所表示,当手指或笔触摸屏幕时(图c),日常相互绝缘两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通X 轴方向5V 均匀电压场(图a),使得检测层(底层)电压由零变为非零,控制器侦测到这个接通后,进行A/D 转换,并将得到电压值与5V 相比即可得触摸点X 轴坐标为(原点在靠近接地点那端):Xi=LxVi/V(即分压原理)同理得出Y 轴坐标,这就是全部电阻触摸屏共同最基本原理。第29页2.触摸屏电路控制 触摸屏控制采取专用芯片,专门处理是否有笔或手指按下触摸屏,并在按下时分别给两组电极通电,然后将其对应位置摸拟电压信号经过A/D 转换送
12、回处理器.第31页 我们选取 GPG 口与 ADS7843 接口。共利用了 PG2PG7 口共 6 条口线。你也能够选择其它 I/O 口,但注意不要与 I/O 口上已经设定功效(比如串口)相冲突。参考电路图以下:按照下列图用导线将两个模块连接起来。如图5-17所表示。第32页3.编程(1)PCONG 存放器配置 按照以上电路来设置,PG6和PG5输入,PG4PG2输出,PG7作为中止EINT7且加内部上拉电阻,初始化语句以下:rPCONG=0 x015f;rPUPG&=0 x80;第34页(2)ADS7843 编程 ADS7843控制字如表5-5所表示,其中S为数据传输起始标志位,该位必为。A
13、2A0进行通道选择。MODE用来选择A/D转换精度,1-选择位,-选择12位。SER/DFR选择参考电压输入模式。第35页 PD1和PD0选择省电模式:00-为省电模式允许,在两次A/D转换之间掉电,且中止允许;01同00,只是不允许中止;10保留;11禁止省电模式。A0A2 用来进行开关切换,如表5-6所表示。第37页 我们采取固定参考电压模式,所以 SER/DFR1。程序中首先探测 PENIRQ 是否为低电平,假如为高则认为触摸屏没有接触;假如探测到 PENIRQ 为低电平,则认为有接触。利用软件模拟 DIN、DOUT、DCLK上 3 线串行传输时序,将读取 X 坐标数值或 Y 坐标数值控
14、制字串行送入 ADS7843,并串行读出坐标值。第39页 检测 PENIRQ#define TOUCH_MSR_Y 0 x9c;/读 Y 轴坐标命令#define TOUCH_MSR_X 0 xdc;/读 X 轴坐标命令if(rPDATG&0 x80)=0)/PENIRQ 电平为低/TouchState.pressed=1;_State.Pressed=1;/说明已经按下temp=TOUCH_MSR_X;_State.x=ReadTouch(temp);temp=TOUCH_MSR_Y;_State.y=ReadTouch(temp);第40页 送控制字并读取结果子程序int ReadTouc
15、h(unsigned char command)unsigned char temp,i,ack,j,k;ack=0;/PG7-PENIRQ,PG6-BUSY,PG5CS,PG3-DCLK,PG2-DINrPDATG&=0 xe7;/cs 置低;dclk 置低temp=0 x80;第41页for(i=0;i1;/移位第42页 while(temp=(rPDATG&0 x40)=0);等候 BUSY 变低 rPDATG&=0 xdf;/din 清零/再 1 个时钟以后开始接收数据 rPDATG|=0 x08;/置高 dclk delay(2);rPDATG&=0 xf7;/清零 dclk del
16、ay(2);第43页for(i=0;i7;i+)取得前 7 位坐标数据(高位在前)rPDATG|=0 x08;/置高 dclkif(temp=rPDATG&0 x20)/取得 din 上 1 位数据ack+=1;ack=ack1;delay(2);rPDATG&=0 xf7;/清零 dclkdelay(2);rPDATG|=0 x08;/置高 dclk第44页if(temp=rPDATG&0 x20)/接收最终 1 位ack+=1;delay(2);rPDATG&=0 xf7;/清零 dclkrPDATG|=0 x10;/置高 csreturn ack;/返回接收结果第45页4.触摸屏与显示器
17、配合 ADS7843 送回控制器X 与Y 值仅是对当前触摸点电压值A/D 转换值,它不含有实用价值。这个值大小不但与触摸屏分辨率相关,而且也与触摸屏与LCD 贴合情况相关。而且,LCD 分辨率与触摸屏分辨率普通来说是不一样,坐标也不一样。所以,假如想得到表达LCD 坐标触摸屏位置,还需要在程序中进行转换。第46页 假设LCD 分辨率是320240,坐标原点在左上角;触摸屏分辨率是900900,坐标原点在左上角,则转换公式以下:xLCD=320*(x-x2)/(x1-x2);yLCD=240*(y-y2)/(y1-y2);第47页 假如坐标原点不一致,比如LCD 坐标原点在右下角,而触摸屏原点在
18、左上角,则还能够进行以下转换:xLCD=320-320*(x-x2)/(x1-x2);yLCD=240-240*(y-y2)/(y1-y2);最终得到值,便能够尽可能得使LCD 坐标与触摸屏坐标一致,这么,更含有实际意义。第48页5.4.4 8段数码管电路设计及编程1.电路设计 系统使用了一个8段数码LED,如图2-18所表示。该数码管是共阳极,低电平信号使LED点亮。CPU数据总线DATA(07)经74LS573驱动器对数码管进行驱动。其片选信号由CPUnGCS3信号选通,而8段内容则由CPU低8位数据线决定。口地址为0 x6000000。第49页2.编程8段数码管显示程序以下:void L
19、ed_Display(unsigned char data)unsigned char*ledbuffer=(unsigned char*)0 x6000000 switch(data)case 0:*ledbuffer=0 x12;break;.case 0 xf:*ledbuffer=0 x68;break;第51页5.5 串行接口电路设计及编程串行接口电路设计及编程第52页5.5.1 串行电路接口 串行接口电路如图5-19所表示。系统提供两个RS232标准串行接口(DB9),UART0/l可与PC或MODOM进行串行通信。PORTC1015分别作为nRTS1、nCTS1、TXD1、RXD
20、1、nRTS0和nCTS0信号,PE1和PE2作为TXD0和RXD0信号。两个接口则采取两片MAX2322C作为电平转换器。第53页 5.5.2 编程1.I/O接口配置初始化 对PORTC和PORTE初始化语句以下:rPCONC=0 x0f000000|rPCONC;rPUPC=0 x3000;/设置内部上拉 rPCONE=(rPCONE&0 xfc3)|0 xeb;rPUPE=0 x6;2.UART初始化 对 UART 口进行初始化设置程序以下:第55页static int UartNum=0;void myUart_Init(int whichuart,int baud)/设置串口波特率等
21、初始化工作。if(whichuart=0)UartNum=0;rUFCON0=0 x0;/不使用 FIFO rUMCON0=0 x0;/不使用自动流控制 rULCON0=0 x3;/不采取红外线传输模式,无奇偶校验 位,1 个停顿位,/8个数据位第56页 rUCON0=0 x245;/发送中止为电平方式,接收中止为 边缘方式,禁止超时 /中止,允许产生错误状态中止,禁止回 送模式,禁止中 /止信号,传输模式为中止请求模式,接 收模式也为中止 /请求模式。rUBRDIV0=(int)(MCLK/16./baud+0.5)-1);/依据波特率计算 UBRDIV0 值第57页else if(whic
22、huart=1)UartNum=1;rUFCON1=0 x0;rUMCON1=0 x0;rULCON1=0 x3;rUCON1=0 x245;rUBRDIV1=(int)(MCLK/16./baud+0.5)-1);第58页3.字符发送程序#define WrUTXH0(ch)(*(volatile unsigned char*)0 xld00020)=(unsigned char)(ch)#define WrUTXH0(ch)(*(volatile unsigned char*)0 xld04020)=(unsigned char)(ch)Void myUart_SendByte(char
23、ch)if(UartNum=0)if(ch=“n”)while(!(rUTRSTAT0&0 x2);/等候,直到发送缓冲区为空 Delay(10);/超级中止响应速度较慢 WrUTXH0(“r”);/发送回车符 while(!(rUTRSTAT0&0 x2);/等候,知道发送缓冲区为空 Delay(10);WrUTXH0(ch);/发送字符 第59页 else if(ch=“n”)while(!(rUTRSTAT1&0 x2);Delay(10);/因为超级终端响应较慢 rUTXH1=“r”;While(!(rUTRSTAT1&0 x2);/等候THR空。Delay(10);WrUTXH1(c
24、h);第60页字符接收程序#define RdURXH0()(*(volatile unsigned char*)(0 xld00027)#define RdURXH1()(*(volatile unsigned char*)(0 xld04027)Char Uart_Getch(void)if(whichUart=0)/串口0 while(!(rUTRSTAT0&0 x1);/读出接收到数据(一直到读完)return RdURXH0();/URXH0:UART0接收缓冲存放器 else /串口1 while(!(rUTRSTAT1&0 x1);/Receive data ready retu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人机 接口 电路 设计方案 编程 教学 课件 公共课 一等奖 全国 获奖
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。