电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C51程序设计代码实例

C51程序设计代码实例_第1页
1/16
C51程序设计代码实例_第2页
2/16
C51程序设计代码实例_第3页
3/16
C51 程序设计的菜单的代码实例 /* Module :Kbdmenu.c Date:------ Usage:P10~P12 use to DownKey,UpKey,CRKey */ #include #include #define SIZE_OF_KEYBD_MENU 20 //菜单长度 uchar KeyFuncIndex=0; //uchar KeyFuncIndexNew=0; void (*KeyFuncPtr)(); //按键功能指针 typedef struct { uchar KeyStateIndex; //当前状态索引号 uchar KeyDnState; //按下"向下"键时转向的状态索引号 uchar KeyUpState; //按下"向上"键时转向的状态索引号 uchar KeyCrState; //按下"回车"键时转向的状态索引号 void (*CurrentOperate)(); //当前状态应该执行的功能操作 } KbdTabStruct; KbdTabStruct code KeyTab[SIZE_OF_KEYBD_MENU]= { { 0, 0, 0, 1,(*DummyJob)},//顶层 { 1, 2, 0, 3,(*DspUserInfo)},//第二层 { 2, 1, 1, 9,(*DspServiceInfo)}, //第二层 { 3, 0, 0, 1,(*DspVoltInfo)},//第三层>>DspUserInfo 的展开 { 4, 0, 0, 1,(*DspCurrInfo)},//第三层>>DspUserInfo 的展开 { 5, 0, 0, 1,(*DspFreqInfo)},//第三层>>DspUserInfo 的展开 { 6, 0, 0, 1,(*DspCableInfo)},//第三层>>DspUserInfo 的展开 ........... { 9, 0, 0, 1,(*DspSetVoltLevel)}//第三层>>DspServiceInfo 的展 开 .......... }; void GetKeyInput(void) { uchar KeyValue; KeyValue=P1&0x07; //去掉高5bit delay(50000); switch(KeyValue) { case 1: //回车键,找出新的菜单状态编号 { KeyFuncIndex=KeyTab[KeyFuncIndex].KeyCrState; break; } case 2: //向上键,找出新的菜单状态编号 { KeyFuncIndex=KeyTab[KeyFuncIndex].KeyUpState; break; } case 4: //向下键,找出新的菜单状态编号 { KeyFuncIndex=KeyTab[KeyFuncIndex].KeyDnState; break; } default: //按键错误的处理 ...... break; } KeyFuncPtr=KeyTab[KeyFuncIndex].CurrentOperate; (*KeyFuncPtr)();//执行当前按键的操作 } //其中 KeyTab 的设计颇费尽心机 51 单片机浮点数据存储代码实例 Float 浮点形。 它是符合IEEE-754 标准的单精度浮点形数据,在十进制中具有7 位 有效数字。FLOAT 型据占用四个字节(32 位二进制数),在内存中的存放格式如下: 字节地址(由低到高)0 1 2 3 浮点数内容 MMMMMMMM MMMMMMMM E MMMMMMM S EEEEEEE 其中,S 为符...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C51程序设计代码实例

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部