练习
上一节
下一节
1. 附件提供的程序应完成九键键盘识别的功能。当有按键按下时,4个LED灯按照所按键盘码的二进制数位点亮(如按键9按下,4个LED依次显示“亮灭灭亮”,表示二进制数1001)。
(1) 假设C5509mmr.h,5509.h,ICETEK-VC5509-EDU.h等头文件已知并正确。
(2) 假设c程序中PLL_Init(),SDRAM_init(),InitCTR(),Delay(),TIME_init()函数已知并正确。
(3) 键盘数据回读寄存器CTRKEY端口地址为0x602800,清除键盘寄存器CTRCLKEY端口地址为0x600801。
(4) 中断使能寄存器IER0地址为0x00,中断标志寄存器IFR0地址为0x01,中断向量指针IVPD地址为0x49,IVPH地址为0x4A,DBIER0地址0x47。
(5) 键盘中断使用的是外部中断0(XINT0),中断服务子程序函数是EXINT0()。
程序中共有10处错误,请把它们找出来并纠正,调试通过。
2. 编写一个简单的按键识别程序,完成以下功能:按键盘的某一个数字键,LED灯闪烁相应的次数。
3. 利用键盘的9个键,得到16个16进制按键0-9,A-F。按下某个按键,程序能识别该键值。

