嵌入式软件设计及编程思想2-1...ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式软件设计及编程思想2-1...ppt》由会员分享,可在线阅读,更多相关《嵌入式软件设计及编程思想2-1...ppt(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、单片机软件设计及编程思想李海全一个嵌入式设计系统一般包含一个嵌入式设计系统一般包含对外对外显示、指示灯、按键显示、指示灯、按键模拟量输入(高低压、交直流、多回路)模拟量输入(高低压、交直流、多回路)开关量输入开关量输入开关量输出开关量输出变送输出变送输出通信(通信(RS485DLT645ProfibusRS485DLT645Profibus)一个嵌入式设计系统一般包含一个嵌入式设计系统一般包含对内对内显示驱动显示驱动LED 595/IO/TM1629LED 595/IO/TM1629LCD 1621/1622LCD 1621/1622等等点阵、段式点阵、段式存储驱动存储驱动EEPROM/EEP
2、ROM/铁电铁电/FLASH/FLASH采样采样CPUCPU内部内部ADAD、ADAD芯片、测量芯片、测量SOCSOC控制控制+算法算法设计原则v1.可靠性v2.维护性(可读性)v3.移植性功能模块分类功能模块分类编程时分文件处理,一般一个驱动、一个功编程时分文件处理,一般一个驱动、一个功能模块一个文件能模块一个文件原则:原则:1.1.一个驱动芯片相应的操作封装到一个文件一个驱动芯片相应的操作封装到一个文件中中2.2.一个算法,详细描述计算公式,涉及优化一个算法,详细描述计算公式,涉及优化后的公式,标明原始和推导公式,做一个文件后的公式,标明原始和推导公式,做一个文件3.3.文件不适合过多,文
3、件名应一目了然,根文件不适合过多,文件名应一目了然,根据文件名知其内容据文件名知其内容设计分类文件结构v遵循一模块一文件格式v注释 特别是设计更改需注明 更改日期、更改人、更改记录(头、行)文件头加注释说明功能文件结构程序版式(易读性)v以布局清晰为原则v不同函数体v不同功能(同一函数中、定义变量)v缩进缩进(不要使用空格、使用TAB(4格)程序版式(易读性)v推荐写法vif(condition)vv/program codevvelsevv/program codevv不推荐写法vif(condition)v/program codevvelse v/program codev v少用if(
4、width 15)keyDownDLy=0;KEY_DATA=KEY_OLD;SAM+;elseif(keyDownDLy99)keyDownDLy=0;KEY_DATA=KEY_OLD;SAM+;else KEY_OLD=keypress;SAM=0;keypress=9;菜单设计菜单层数菜单设计菜单层数不得超过4 层(原则上采用4 层结构需要有4 行显示),宜采用3 层结构,不可采用一层(一层但多排显示)翻到底结构。第一层为系统(SYS)、输入(In)、通信(bUS)、报警(do)、变送(tr)、版本(Ver)等设置;第二层为第1 层下的子类细分,以报警为例,第2层可以是报警阈值、死区、延
5、时、报警功能选择等;第三层为第2 层显示的具体数据。注:选择太多时可选择数字加字母组合到方式,例:报警信号选择0.UA 1.UB等菜单设计方法:1。函数指针,网上例程很多2。状态机菜单设计switch(Setup_Data)case 0:if(KEY_DATA=KEY_Menu)Setup_Data=1;DS_SETUP(0);break;else if(KEY_DATA=KEY_Left)Display_Page=Get_Display_Page(Display_Page,0);else if(KEY_DATA=KEY_Right)Display_Page=Get_Display_Page(
6、Display_Page,1);else if(KEY_DATA=KEY_Enter)Display_Page=Get_Display_Page(Display_Page,2);elsebreak;Display_All_Page();return;菜单设计switch(Setup_Data)case 1:if(KEY_DATA=KEY_Menu)Setup_Data=0;Display_All_Page();else if(KEY_DATA=KEY_Enter)Setup_Data=2;tmp_PASSWORD=9999;DS_INT_DATA(2,0,tmp_PASSWORD);break
7、;菜单设计switch(Setup_Data)case 2:if(KEY_DATA=KEY_Menu)Setup_Data=1;DS_SETUP(0);/PASSelse if(KEY_DATA=KEY_Enter)if(tmp_PASSWORD=PASSWORD.UWD|tmp_PASSWORD=8)Setup_Data=9;DS_SETUP(2);m1Keytmp=0;tmp_PASSWORD=PASSWORD.UWD;tmp_PT=PT.UWD;tmp_CT=CT.UWD;elsetmp_PASSWORD=Data_4IWD_Key_Do(tmp_PASSWORD,1,9999);DS_
8、INT_DATA(2,0,tmp_PASSWORD);break;菜单设计switch(Setup_Data)case Setup_DO1:case Setup_DO2:case Setup_DO3:case Setup_DO4:if(KEY_DATA=KEY_Menu)Setup_Data=9;DS_SETUP(2+m1Keytmp);else if(KEY_DATA=KEY_Enter)cnt=Setup_Data-Setup_DO1;Setup_Data=cnt*SetupD_NN;Setup_Data+=SetupD_DO1+m2Keytmp;if(m2Keytmp=0)DS_SET_
9、DAT(60+tmp_DOSelcnt);else if(m2Keytmp=1)DS_INT_DATA(2,0,tmp_DODlycnt);elseif(m2Keytmp=2)DS_INT_DATA(2,0,tmp_DOBandcnt);DsKeyDOSetPoint(tmp_DOSelcnt);else if(m2Keytmp=3)DS_INT_DATA(2,0,tmp_DOHDatcnt);DsKeyDOSetPoint(tmp_DOSelcnt);else if(m2Keytmp=4)DS_INT_DATA(2,0,tmp_DOLDatcnt);DsKeyDOSetPoint(tmp_D
10、OSelcnt);elseDS_SET_DAT(50+tmp_DOZerocnt);elsem2Keytmp=Data_4IWD_Key_Do(m2Keytmp,0,5);DS_LINE(40+m2Keytmp);break;显示小数点菜单设计switch(Setup_Data)case SetupD_DO1:case SetupD_DO2:case SetupD_DO3:case SetupD_DO4:cnt=Setup_Data-SetupD_DO1;cnt/=SetupD_NN;tmp_DOSelcnt=Data_4IWD_Key_Do(tmp_DOSelcnt,0,31);DS_SET
11、_DAT(60+tmp_DOSelcnt);break;case SetupD_DO1+1:case SetupD_DO2+1:case SetupD_DO3+1:case SetupD_DO4+1:cnt=Setup_Data-SetupD_DO1;cnt/=SetupD_NN;tmp_DODlycnt=Data_4IWD_Key_Do(tmp_DODlycnt,0,9999);DS_INT_DATA(2,0,tmp_DODlycnt);break;存储设计按操作方式IIC(FM24C04)SPI(X5045)地址数据总线总线(FLASH)中断中和主程序中不能均控制外设,尤其注意定时器和通信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件设计 编程 思想
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内