lpc2138实验程序中断定时器led扫描键盘

lpc2138实验程序中断定时器led扫描键盘

ID:33996159

大小:48.12 KB

页数:10页

时间:2019-03-03

lpc2138实验程序中断定时器led扫描键盘_第1页
lpc2138实验程序中断定时器led扫描键盘_第2页
lpc2138实验程序中断定时器led扫描键盘_第3页
lpc2138实验程序中断定时器led扫描键盘_第4页
lpc2138实验程序中断定时器led扫描键盘_第5页
资源描述:

《lpc2138实验程序中断定时器led扫描键盘》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、LPC2138实验程序(尾部附有电路图)①实现键盘1中断(1〜9数字),数码管1显示按键数字,同时用7个LED显示数码管1的相应位,即每个LED对应数码管相应位(a~g)。②实现按键1中断,7个LED实现流水灯;实现按键2中断,7个LED实现跑马灯。③实现按键3中断,7个LED闪烁10次,延时采用定时器include#defineucharunsignedcharintk=0;〃定吋器中断计数器uchara=0;//LED闪烁函数标志voiddelay(intx)〃普通延时函数inti;for(;x>0;x—)for(i=10000;i>0;i—

2、);voidms(unsignedintx)〃定时器中断延时函数T0TCR=0X01;while(k!=x);TOTCR=0X00;TOTC=0;TOPC=0;k二0;voidLED_1()〃流水灯函数unsignedchari;for(i=0;i<7;i++){IO1SET=l«(i+16);delay(20);IO1CLR=l«(i+16);}}voidLED_2()〃跑马灯函数{unsignedchari;for(i=0;i<15;i++){if(i<7){101SET二l«(i+16);delay(20);IO1CLR=l«(i+16);}elseI01SET

3、=l«(29-i);delay(20);I01CLR=l«(29-i);}}}voidLED_3()//LED闪烁函数{unsignedchari;for(i=0;i<10;i++){I01SET=Ox7F«16;delay(20);I01CLR=OX7F«16;delay(20);}}voiddisplay(ucharx)/*数码管显示函数x为显示的数字*/{unsignedchartable[10

4、={0x00,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};IOOSET二(table[x]«25);I01SET=(ta

5、ble[x]«16);delay(20);IOOCLR=(table[x]«25);I01CLR=(table[x]«16);}voidkey_w()〃键盘按行低电平扫描函数{IOOSET二0X7«20;IOOCLR=l«20;delay(2);IOOSET二l«20;IOOCLR=1«21;delay(2);IOOSET=1«21;IOOCLR=1«22;delay(2);IOOSET=1«22;}unsignedcharkey_r()/*键盘按列读取扫描数值返回值为键盘对应数字*/{inta=O,b;switch(IOOPIN&(7«16)){case0x0006

6、0000:b=1;break;case0x00050000:b=2;break;caseOxOOO3OOOO:b=3;break;default:break;switch(IO0PIN&(7«20)){case0x00600000:a=l;break;case0x00500000:a=2;break;caseOxOO3OOOOO:a=3;break;default:break;}if(a!=O)a=(a-l)*3+b;elsea二0;return(a);}voidEINT0()_irq〃外部中断0服务函数,对应矩阵键盘{unsignedcharnum;num=key_

7、r();display(num);EXTINT=OxOf;VICVectAddr^O;}voidEINTIQ〃外部中断1服务函数,对应流水灯LED_1();EXTINT=OxOf;VICVectAddr=O;}voidEINT2()_irq{LED_2();EXTINT=OxOf;VICVectAddr^O;}voidEINT3()_irq{a=l;EXTINT二OxOf;VICVectAddr=O;}voidtimeO()_irq{k++;TOIR=1;VICVectAddr=0;〃外部中断2服务函数,对应跑马灯〃外部中断3服务函数,对应LED闪烁标志a=l〃定时器

8、服务函数,对应k++}voidinit()〃初始化函数,引脚功能设置PINSEL0二0X000CC0CC;PINSEL1=0X0;PINSEL2二0X0;IOODIR=0XFE700000;101DIR二OXOOFFOOOO;}voidEXTinit(ucharx,uchary)极性,x,y为两位HEX*/{EXTMODE二x;EXTPOLAR=y;}voidTIMEinit(){TOTC=0;TOPR=0;TOPC=0;T0MCR=0x03;T0MR0二1105920;}voidVIC()/*外部中断初始化设置x为中断触发方式,y为中端〃定时器初始

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

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

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