西南科技大学应用型自学考试毕业设计(论文)
附录
附录一 硬件设计主电路图
33
西南科技大学应用型自学考试毕业设计(论文)
附录二 检测主程序程序
#include //调用外函数// #include
#include
/*void time1(void) interrupt 3 using 1
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%6;
TR0=1; TR1=1; TMOD=0x11; TH1=0x3c; TL1=0xb0;
keyval=P1;
} * //初始化CPU结束// void main_menu_initial() { 组//
的指针
//LCD主菜单初始化.//
main1_menu[0].menu_count=4; //有4个菜单项.//
main1_menu[0].display=measurearray; //定义一个”开始测量“数
main1_menu[0].subs=NULL;
//当前菜单子菜单
main1_menu[0].children_menus=measure_menu;
main1_menu[0].parent_menus=NULL;
34
西南科技大学应用型自学考试毕业设计(论文)
}
?? //还有“数据存储”、“时间设置”??//
void measure_menu_initial() //“开始测量”菜单设置// {
measure_menu[0].menu_count=2; measure_menu[0].display=qr;
//开始测量函数, 确认.
measure_menu[0].subs=start_measure_function; //开始测量函数 measure_menu[0].children_menus=NULL; measure_menu[0].parent_menus=main1_menu; measure_menu[1].menu_count=2; measure_menu[1].display=qx;
//开始测量函数, 取消.
measure_menu[1].subs=NULL;
measure_menu[1].children_menus=NULL; }
?? //还有void store_menu_initial()、void time_menu_initial()// void led_menu_pro() {
max_item=menu_led->menu_count; switch(keyval) {
case 0: break; case 1: }
?? //“向上”“向下”“确认”“取消”键//
35
measure_menu[1].parent_menus=main1_menu;
//向上键.
if(user_choosen==0) { }
shuaxin=1; user_choosen--; break;
user_choosen=max_item;
西南科技大学应用型自学考试毕业设计(论文)
if(shuaxin)
//是否需要刷新LCD标志位.
{ Clr_Scr(); } }
v oid led_menu_show() {
led_menu_show(); shuaxin=0;
//
uchar n;
max_item=menu_led->menu_count; if (max_item>=4) { } else {
switch(temp_choosen) { case 0:
draw_bmp(0,20,96,0,measurearray); //“开始测量”数组
//菜单项为3则表示为主菜单.
for(n=0;n<4;n++)
{ draw_bmp(n*2,20,96,0,menu_led[n].display); }
select_item(user_choosen);
//标记出当前菜单项.
break;
??
default:
}
for(n=0;n draw_bmp((n+1)*2,20,32,0,menu_led[n].display); 36 break; 西南科技大学应用型自学考试毕业设计(论文) } select_item(user_choosen+1); } } void select_item(uchar n) { draw_bmp(n*2,2,16,0,curflag); } void start_measure_function(void) //开始测量函数// {main_Menu(); } ?? /*----------------主函数-------------------*/ main() { init_cpu(); Init_Clock(); init_lcd(); Disp_Img(FirstPage); delay(2000); //延时// ClockMsg(); Refresh(); delay(2500); Clr_Scr(); main_Menu(); Clr_Scr(); main_menu_initial(); measure_menu_initial(); store_menu_initial(); time_menu_initial(); communication_menu_initial(); while(1) 37 { keyval=get_key(); //读键.