欢迎来到天天文库
浏览记录
ID:58846568
大小:857.50 KB
页数:117页
时间:2020-09-30
《人机接口电路设计及编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.4人机接口电路设计及编程5.4.1键盘电路设计及编程1.电路键盘接口电路如图5-12所示,板上扩展了一个4×4行列式矩阵键盘接口。该键盘采用中断扫描方式进行工作,行线选用PORTG4~7输出,列线选用PORTF5~8为输入。行线接上拉电阻保持高电平,并通过“与”门将输出信号与MCU的中断EXINT0连接;列线接上拉电阻保持高电平。2.编程(1)I/O口和中断初始化①I/O引脚设置:rPDATE=0X60;rPCONF=0x2A;列线PORTF5~8为输入rPUPF=0x0;列线接上拉电阻rPDATG=0x0;rPCONG=0x5
2、5FF;行线PORTG4~7输出,PORTG0作为EXINT0连接rPUPG=0x0;行线接上拉电阻②中断初始化rINTCON=0x5;//非向量模式,IRQ允许,FIQ禁止rINTMOD=0x0;//全部IRQ模式rINTMSK=~(BIT_GLOBAL
3、BIT_EINT0);//EXINT0允许,所有中断屏蔽位允许pISR_EINT0=(unsigned)keyboard_ISR;//指定中断服务程序(2)程序将行线PORTG4~7输出为低电平,当有键盘按下时,该行线被拉为低电平,使得EXINT0输入也为低电平,MCU产生中断。
4、中断产生后通过对键盘的行和列进行扫描的方法,可以计算出是哪个键按下,并跳到相应的键盘处理程序中去。voidkeyboard_ISR(void){charx,y,xrecord,yrecord,temp;rI_ISPC=BIT_EINT0;//clearpending_bitDelay(400);//delay40msif((rPDATF&0x1E0)==0x1E0){return0;//nokeyboardpress,return}else{x=1;y=1;xrecord=(~((rPDATF&0x1E0)>>1));xrecord
5、=xrecord>>4;while(xrecord!=0x1)//judgerow{x=x+1;xrecord=xrecord>>1;if(xrecord==0){rPDATG=0X0F;//no,returnreturn0;}}Delay(200);//delay20msrPDATG=0XEF;//inputhighwhile((rPDATF&0x1E0)==0x1E0){rPDATG=rPDATG<<1;temp=rPDATG;if((temp&0xf0)==0XF0)//noboardpress,return{rPDATG=0
6、X0F;return0;}}Delay(200);//delay10msyrecord=~((rPDATG&0xF0)>>4)&0x0F;while(yrecord!=0x1)//judgeline{y=y+1;yrecord=yrecord>>1;if(yrecord==0){rPDATG=0X0F;//noboardpress,returnreturn0;}}Led_Display(x+(y-1)*4-1);Uart_Printf("%3d",x+(y-1)*4-1);Delay(1200);//delay40msrPDATG=
7、0X0F;}}5.4.2LCD接口电路设计及编程1.LCD接口信号EV44B0II现配有160×240的单色显示屏,4比特单扫描。EV44B0II将LCD控制信号线连接到JP6上,与LCD模块相连,其原理如图5-13所示。在LCD模块上,集成了LCD驱动器和专门的电压转换电路,用以驱动LCD屏幕和适配LCD工作电压。LCD连接器的信号定义如表5-4所示。1.LCD接口信号EV44B0II现配有160×240的单色显示屏,4比特单扫描。EV44B0II将LCD控制信号线连接到JP6上,与LCD模块相连,其原理如图5-13所示。在LCD
8、模块上,集成了LCD驱动器和专门的电压转换电路,用以驱动LCD屏幕和适配LCD工作电压。LCD连接器的信号定义如表5-4所示。PinSignalPinSignalPinSignalPinSignal1VM6VDD11VD216VD72VRAME7GND12VD317TSPX3VLINE8VD413GND18TSMX4VCLKE9VD014VD519TSPY5GPB1010VD115VD620TSMY2.编程显示缓冲区与LCD象素对应关系图如图5-14所示。(1)LCD初始化程序通常采用S3C44B0X的PORTC口和PPORTD口作
9、为LCD驱动接口,因此需要设置它们工作在第3功能状态,设置I/O口控制寄存器的语句如下:rPDATC=0x8400;rPCONC=0x5F5FFFFF;rPUPC=0x33ff;//shouldbeenabledrPCOND=0xaa
此文档下载收益归作者所有