为了让我们设计的系统更加人性化,方便测试,我们直接引出电源线,非常方便测试。但是,在我们的设计和调试过程中,我们也发现了一些问题。例如,在测试开始时,由于MCU的编程过程出现问题,MCU无法正常工作。最后经过测试,排除了难点。本次设计顺利完成了课题的设计要求。随着嵌入式设备应用的日益增多,尤其是微软嵌入式操作系统Windows CE.NET的普及,Windows CE.NET下的矩阵键盘设计越来越受到开发者的关注。本文讨论的Windows CE.NET下的矩阵键盘设计方案简单、高效、实用。它特别适用于具有足够I / O端口资源的嵌入式PDA,并已成功应用于卫星定位系统的键盘设计。罗兆霞。 《单片机系统与实践》北京:人民邮电出版社,2000(第一版)黄继业。 《单片机高级教程》北京:科学出版社,2002(第二版) 12 杨家德. 《单片机设计与制作》北京:人民邮电出版社。 2001(第一版)梅穗生. 《单片机基础知识》北京:北航出版社,2003(第二版)娄冉淼. 《51单片机系列设计实例》北京:北航出版社2006(第二版)桑南. 《嵌入式系统原理与应用开发技术》北京:高等教育出版社2008(第二版)重点程序代码#include 13 void keyscan();无效延迟(); void display(unsigned char voidmain(){ while(1){ keyscan(); voidkeyscan(){ unsigned char P1=0xfe;n=P1;n&=0xf0; if(n!=0xf0){ delay() ; P1=0xfe; n=P1; n&=0xf0; if(n!=0xf0){ switch(n){ case(0xe0):display(0);break; case(0xd0): display(1);break; case(0xb0):display(2);break; case(0x70):display(3);break; P1=0xfd;n=P1;n& =0xf0; 14 if(n!=0xf0){ delay(); P1=0xfd; n=P1; n&=0xf0; if(n!=0xf0){ switch(n){ case(0xe0):display) (4);break;case(0xd0):display(5);break;case(0xb0):display(6);break;case(0x70):display(7);中断; P1=0xfb;n=P1; n&=0xf0; if(n!=0xf0){ delay(); P1=0xfb; n=P1; n&=0xf0; if(n!=0xf0){ switch(n){ case(0xe0):display(8);break;case(0xd0):display(9);break;case(0xb0):display(10);break) ; case(0x70):display(11);break; P1=0xf7;n=P1; n&=0xf0; if( n!=0xf0){ delay(); P1=0xf7; n=P1 ; n&=0xf0; if(n!=0xf0){ switch(n){ case(0xe0):display(12);break; case(0xd0):display(13));打破;案例(0x b 0):display(1 4); break; case(0x70):display(15);break;voiddisplay(unsigned char unsignedchar table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83, 0xC6,0xA1,0x86,0x 8E); P2=0xfe ; P0=table[i]; voiddelay(){ unsigned char for(i=0;i
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-379119-2.html
大大的变了
虐