专业综合课设报告新版.doc_第1页
专业综合课设报告新版.doc_第2页
专业综合课设报告新版.doc_第3页
专业综合课设报告新版.doc_第4页
专业综合课设报告新版.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计说明书课程设计名称 专业综合课程设计 课程设计题目 自编程微电脑定时控制器 学院名称 信息工程学院 专业名称 计算机科学与技术 班级 100452 学号 10045211 姓名 蔡玉平 评分 指导教师_叶水生、周卫民_ 2014年1月7日1. 课程设计的要求与基本内容1.1目的和要求该课程设计的目的是,通过一个实际应用电路模块的安装、调试、及其控制设计,使学生在“计算机组成与结构”、“面向对象程序设计”、“汇编语言”、“微机原理与接口技术、“单片机应用”等课程中所学知识和所掌握的技能获得一次综合性训练,进一步熟悉微机系统结构和软硬件之间的联系,培养学生软、硬件综合设计、调试和开发能力。在课程设计中,要求学生完成一个实际应用系统的安装、调试和产品化设计,展示完成的产品,并提交课程设计报告。1.2设计内容该课程设计包括以下几方面内容:(1)、分析课程设计的“自编程微电脑定时控制器”硬件电路原理,完成硬件电路焊接、安装、调试;(2)、微机部分:用VC、VB或其他面向对象的程序设计语言编程,能实现对89C52进行编程控制;(3)单片机部分:用汇编或C编程,直接实现对控制电器的键盘、液晶显示、串行通信、继电器定时等模块的控制;(.4)按工程化的原则完成控制器的电路原理图、使用说明书等。2. 硬件设计2.1硬件结构单片机系统的主要功能有:系统复位:在系统上电复位时且指示灯亮灭3下,表示系统工作正常,键盘处理:系统通过3个功能按键在不同时刻按下处理不同事务。液晶显示:显进行10位8段的显示控制。定时控制:同时控制4路家电,定时时间会随着倒计时而减少,直到定时时间结束。串行通信:可通过RS-232串行口连接到微机与其通信。其总体框图如图2.2.1所示:图2.1 .1硬件总体框图系统电路原理图如图2.1.2所示: 图2.1.2 电路原理图2.2硬件电路原理系统硬件主要由:STC89C52单片机主控模块、5110LCD液晶显示模块、键盘、定时及电器控制模块、异步串行通信模块、在线编程接口等组成。(1) 89C52单片机主控模块主控电路图如下所示:图2.2.1 主控电路图(2)液晶显示模块单片机和5110LCD的连接如图3-2 所示。P1.0用于模块选中,RESET信号对模块复位,P0.2选择数据/命令输入,P0.3接输入引脚,P0.4接SCLK产生时钟脉冲 图2.2.2 单片机和5110LCD的连接显示控制方法1、共享软件zimo221.exe生成要显示的汉字点阵编码,如图2.2.2.1所示;图2.2.2.1 显示汉字字模的生成2、往液晶显示模块内RAM写入数据和48*84点阵显示的关系如图2.2.2.2所示的次序 图2.2.2.2 用垂直寻址方式(V=1)和水平寻址方式(V=0)往RAM写入数据的次序3、5110LCD的控制 图2.2.2.3 5110LCD的串行总线协议(3)键盘处理原理键盘分为独立式键盘和矩阵键盘,本系统中采用4*3矩阵键盘,采用中断方式加行扫描进行按键处理,当有键闭合时,向单片机/INT0请求中断,CPU响应键盘中断,对键盘进行行扫描,以识别哪一个键按下,然后执行相应的处理程序。在键盘的键被按下和断开的过程中,会出现一段时间的机械抖动,抖动时间的长短和开关的机械特性有关,一般为510ms,为保证CPU对键的闭合仅做一次处理,必须去除抖动,通常采取软件延时等方法,在键的稳定闭合时读键的状态。(4)定时及电器控制四路电器设备控制电路主要通过74LS373锁存信号来保持对设备的控制。单片机通过P27口控制74LS373的锁存控制端,由P0口向其发送数据,74LS373输出口1Q接指示灯,2Q通过驱动电路接蜂鸣器,3Q6Q接四路驱动电路,驱动四个继电器控制外部电器,继电器控制电路如图2.2.4所示: 图2.2.4 继电器控制电路(5)异步串行通信及单片机在线编程异步串行通信接口232信号的传输标准是采用负逻辑电平,即用-3V-15V表示1,+3V+15V表示0,这就需要进行信号电平的转换,也就是把TTL电平信号转换成232电平信号,或者把RS-232电平信号转换成TTL电平信号。此处采用MAX232芯片来将TTL信号转换成232信号 图2.2.5.1 串行接口电路 USB TO RS232 接口现在,很多微电脑(特别是笔记本电脑)已经不带RS-232接口,为了便于和各种微机配合使用,本控制器设计了USB TO RS-232转换接口,通过该接口单片机和微机由USB接口进行异步串行通信,同时可以直接用USB接口的微机电源供电,省去了外接直流稳压电源。 该接口芯片采用南京沁恒电子有限公司研制的CH340T,其引脚如图2.2.5.2,引脚功能如表2.5所示,转换接口的电路如图2.2.5.3所示。 图2.2.5.1 CH340T引脚表2.5 CH340T引脚功能图2.2.5.3 USB to RS-232转换接口电路单片机程序下载本系统可使用STC或ISP类型的单片机,通过微机串行接口或者USB TO RS-232转换接口,进行程序下载,实现微机对单片机的在线编程控制。编程步骤如下:1、在Keil C环境下进行源程序设计,包括:程序编辑、修改、编译、连接,最后生成16进制目标文件(.hex). 2、使用共享软件STC-ISP。EXE程序下载软件,把生成的.hex程序装载到系统的单片机中:(1)断开控制板的电源。(2)连接好微机和本系统的串行接口或者USB接口。(3) 进入STC-ISP界面如图2.2.5.4,装入要下载的.hex文件,并按其中提示步骤Step1-step5进行操作。注意:必须正确选择COM端口,若是用微机RS-232接口,应按实际连接选择;若是USB TO RS-232转换接口,则需要通过微机“控制面板”-“系统”-“硬件”-“设备管理器”-“端口(COM和LPT)”来查看是哪个COM口。3、程序下载后,即可以运行调试图2.2.5.4 STC单片机编程下载界面 3软件设计3.1 软件要实现的功能下位机要完成的主要功能有:(1)键盘处理(2)定时控制。(3)报警的处理。(4)和微机RS-232接口进行异步串行通信。 (5)点阵液晶显示控制 (6)LED 和8段数码管显示控制3.2C51语言及其软件开发工具3.2.1 C51语言介绍C51是对C语言的扩展,除了可使用ANSIC标准关键字以外,还增加了C51编译器的扩展关键字,如表3.1所示表3.1 C51编译器的扩展关键字C51编译器还定义了特殊功能寄存器,如表3.2所示 表3.2 AT89C52特殊功能寄存器3.2.2 软件开发工具1. Keil Vision简介德国keil公司的单片机语言编译器KeilC支持九种基本数据类型,变量可存放在bit、data、bdta、idata、xdata、pdata等不同类型的存储器空间。KeilC是目前流行的单片机C语言调试和开发软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。KeilC程序结构与一般C语言没有什么差别。一个C51源程序大体上是一个函数定义的集合,一个C源程序至少包括一个函数,在这个集合中有且仅有一个名为main()的函数(主函数),也可能包含其它函数,因此函数是C程序的基本单位。主函数是程序的入口,一个C语言程序,总是从main()函数开始执行的,而不管物理位置上这个main()放在什么地方,主函数中的所有程序执行完毕,则程序执行完毕。主程序通过直接书写语句和调用其它函数来实现有关功能,这些其它函数可以是由C语言本身提供给我们的,这样的函数称之为库函数;也可以是用户自己编写的,这样的函数称之为用户自定义函数。KeilC提供了100多个库函数供我们直接使用。在KeilC中,函数定义由函数类型、函数名、参数表和函数体四部分组成。例如:voidmDelay(unsignedintDelayTime)。实现单片机仿真及程序编辑、编译的软件有很多,比较常用的有Keil Vision。Keil Vision3开发界面如图3.1,图3.2所示。图3.1 Keil Vision3编辑、编译窗口图3.2 Keil Vison3调试窗口2.Keil Vision使用Keil Vision编程环境和VC相似,使用过VC的人都很容易熟悉。for Windows 的使用步骤:(1) 菜单file_new 新建一个.c 文件,在编辑栏编写源程序。(2) 菜单file_save 或工具将C文件存盘。(3) 菜单 project_new project 创建一个project,工程名自定,并在其中加入已存在的该工程所需文件。这时该project 已是打开状态,或用open project 打开已存在的project。(4) 菜单option_for target 设置工程环境。(5) 如果需要,进入project- File Extension,。对工程文件路径进行修改。(6) 菜单project 选Build ,进行编译、链接,看是否有语法错误,若无则生成HEX 文件,若有则修改源文件后重复以上部分步骤。3.2.3 C51程序设计及调试过程1按Keil Vision使用步骤编写源程序和建立工程;2在Keil Vision环境下编译、连接无错误后产生.HEX文件3通过微机串行接口或者USB TO RS-232转换接口,进行程序下载,实现微机对单片机的在线编程控制。4、和已有的微机串行通信通用测试程序进行通信微机串行通信通用测试程序可采用SSCOM串口调试程序(可从网上下载),其界面如图。可以设置波特率和帧格式,可以进行1次性发送和定时循环发生,可以接收并显示接收数据。 3.3程序设计程序采用模块化程序结构,各模块设计如下:(1) 主程序模块主程序模块主要是进行硬件电路的检测和程序的初始化。硬件电路检测包括对LED指示灯和液晶显示器的检测。程序初始化包括液晶显示初始化、键盘初始化、定时器初始化和串行口初始化,它们都定义在相应的文件中。初始化完毕主程序只是扫描,在扫描过程中处理各种中断。(2) 键盘处理模块键盘是由若干个按键组成的开关按纽,它是最简单的单片机输入设备,可以通过键盘来选择家电、设定定时时间等功能,实现简单的人机交互。用户和系统的大部分交互都是通过键盘操作完成的。系统有3个独立的功能按键,它们是通过与门接到中断0输入口,在键盘中断函数中还要识别按下的键,系统主要分为3类按键:段位选择键、数字键、确认键,分别对3类键处理。键盘中断程序的功能有以下几个方面:判别键盘上有没有键闭合:其方法是判断P1.0、P1.1、P1.2是否为低电平,若为低电平,则可能有键按下,进行下一步处理。去除键的机械抖动:其方法为判断到键盘上有键闭合,延迟一段时间再判断键盘的状态,若键仍闭合,再判断按键是否释放,直到释放后才认为键盘上确实有一个键被按下,进行按键处理;否则,认为是键的抖动。按键处理:系统定义了一些标志变量,在各自的按键处理程序中都会修改这些变量,当有下一次按键时,就可以通过这些变量来做相应的处理。按键处理变量表如表3.3下:表3.3 键盘处理重要变量变量类型说明tbit设定定时时间标志stunsigned char串行处理 0:选择发送或是接受 1:接受 2:发送view1,view2,view3,view4bit查看家电1、2、3、4剩余时间状态标志viewbit进入了查看状态标志numunsigned char选择的家电号snumunsigned char串行处理选择的功能posunsigned char设定定时时间的段位serunsigned char功能控制计数器,按5下则表示进入串行通信界面,再按5下回到家电选择界面onSerialbit1:串行通信 0:定时onGoodbit1:按下任意键 0:显示”GOOD”app4bit家电是否定时标志sfm12unsigned char四组家电秒、分、小时存放数组使CPU对键的一次闭合仅作一次处理:采用方法为等待闭合键释放以后再作处理。(3) 液晶显示模块定时中断处理模块流程图如图3.3所示:图3.3 (4)串行通信模块系统要求能够通过微机发送命令给家电定时,下位机也能够发送所有家电的剩余时间给微机。下位机和上位机通信用的是串口通信,通信用方式1,每帧传送8位数据,利用第九位数据来判定是否停止一帧的传送。4.用户说明4.1准备工作上电自检,电源指示灯亮,其它指示灯亮灭3下,液晶显示“1” ,表示进入家电选择状态。4.2控制器操作简介 (1) 进入家电选择状态显示“1” ,每按下键2则依次显示家电“1”,“2”,“3”,“4” ,按下键3则选中一个家电,进入定时时间设定界面,如“3 HH-HH-00” ,时间格式顺序分别为时,分,秒,按下键2秒加1,按下键1跳到分,同理设定分和时,设定好时间后,按键1表示设定的时间无效,回到家电选择界面;按键3时,系统判定设定时间是否为0,为0则无效,回到家电选择界面,否则则开始定时。当某一家电正在定时,再选择该家电则可以此家电定时时间的查看。定时时间到则家电停止工作。(2) 按5次键1进入串行通信界面,显示“-1” ,表示接收微机数据标志,按下键3则进入接收状态,再按键2表示系统可以接收数据,当微机发送数据后,系统会自动判别数据格式是否正确,正确的话则显示正确的家电号码及时间,如“4 12-01-00” ,按下键3则给家电定时;如果错误的话,则显示“ERROR” ,表示数据有错。按下键1回到功能选择界面,按下键2可以选择发送数据状态,按下键3进入发送状态,再按下键2表示系统可以发送数据,显示“y” ,按下键3后,则会发送4个家电的剩余到微机端。5.设计结论在程序编写前期,查阅资料是非常重要的,特别是一些外文资料的查阅,只有对整个系统的原理、开发步骤有充分了解的情况下,才能在程序开发过程中比较快速的完成任务。在开发和调试过程中,细节决定成败,只有科学地分析问题原因并认真处理出现的问题,才能高效地完成任务。系统的调试过程是一个复杂和耗时的一个过程,是三言两语所不能说清的,只有一步一步的的调试,才能调试好。下位机调试过程中一个程序在模块调试的时候可能是正常的,但经过组合后,它不是预期的效果,这一般是以下几种情况,一是各个模块中互相改动了共用参数,所以尽可能的把需要用到的变量或函数定义在最需要用到的文件中,其它模块需要引用的时候可以加上extern关键字;在多次调用同一个函数时,此函数要加上复用关键字reentrant;在中断函数中尽量不要调用带参数的函数。当然问题肯定不止这些,只能具体问题具体分析了。上位机调试过程相对复杂,要结合下位机硬件进行调试,所以难度更大。调试顺序为界面调试,接着算法调试,最后才是功能调试,整个调试过程是一环扣一环的,只有保证每一步都正确无误的情况下才能调试下一个模块。除此之外,还需要对C+类和对象有一定的认识,如对象在另一个对象中的构造和析构,类层次和构架的设计等。 系统在设计方面,结合硬件,充分利用各种设计技巧,最大利用单片机和外围部件所提供的功能,在下位机系统的开发中取得了较好的效果,能完成单片机控制的所有功能。系统在在线编程方面只是实现一部分功能,还不是很完善,有待于进一步研究。6.附录是单片实现控制功能的部分源代码:头文件:定义各种变量:Define.h#ifndef Define_H_#define Define_H_#include #define uchar unsigned char #define uint unsigned int#define BUFFERSIZE 7/ 串行通信缓冲区大小#define HOUR 24#define MINUTE 60#define SECOND 60sbit P00 = P00;sbit P01 = P01;sbit P02 = P02;sbit P03 = P03;sbit P04 = P04;sbit P05 = P05;sbit P06 = P06;sbit P07 = P07;sbit P10 = P10;sbit P11 = P11;sbit P12 = P12;void delay(uint u);/ u为20时延时5ms/*-LCM模块定义-*/sbit ncs = P26;/ LCM103选择信号sbit nwr = P36;/ 写控制信号sbit da = P00;/ 数据输入、输出void setlowpower();/ 为保证低功耗,每次送数之后,/CS、/RD、/WR、DATA 必须接高电平或悬浮bit getCY(uchar c1);/ c1最高位为1则返回1,类似于RLC指令void led_init();/ 初始化显示1void cleardisp();void write_com(uchar com) reentrant;/ 写命令C7 C6 C5 C4 C3 C2 C1 C0 X void write_data_addr(uchar addr) reentrant;/ 写数据地址X A4 A3 A2 A1 A0void write_data_data(uchar data1) reentrant;/ 写数据数据D0 D1 D2 Xvoid write_data(uchar pos, uchar num) reentrant;/ 写数据 pos显示的位置(从右算起) num显示的字符(0-9)void displaychar(uchar num);/ 显示家电号码void displayapp();/ 显示家电选择标志信息-void displayserial();/ 显示串行通信标志信息5555555555void displayerror();void displaycharstr(uchar shi,uchar fen,uchar miao,uchar num);/ 显示设定的时间,num为H的个数void delay1(void);/*-*/*-KEY模块定义-*/sbit key1 = P10; / 1:菜单键sbit key2 = P11; / 2:上下键 数字递增键sbit key3 = P12;/ 3:确认键void dispSerTime();void SetSerTime();/ 串行设定定时时间 1:成功 0:失败void key_init();/*-*/void timer_init();/*-KEY模块定义-*/sbit le = P27;/ 74LS373片选,低电平有效void beep(uchar num); / 扬声器响,num为响的次数void stopbeep();void LedCtrl(bit b);void OnAppCtrl(uchar num, bit bi);/ num家电号 b=1表示家电num上电 b=0表示家电num无效/*-*/*-串行通信模块-*/void ser_init();void receive();void send();bit checkBufTime();/ 得到正确的时间数据/*-*/#endifMain.cvoid delay(uint u)/ u为20时延时5msuint i,j;for (i=u;i0;i-)for (j=250;j0;j-); void check()/ 自检:各路家电指示灯亮灭3下uchar i;for (i = 0; i 0; i-)/ 串行输入,连续写6位,第1位可任意delay1();nwr = 0;delay1(); da = (lcdaddr&0x10)=0x10); lcdaddr=lcdaddr 0; i-)delay1();nwr = 0;delay1(); da = (lcddata&0x01)=0x01); lcddata = lcddata1;nwr = 1;delay1();void write_data(uchar pos, uchar num)reentrantwrite_data_addr(3*(pos-1);/ 每一位的首地址write_data_data(led_table3*num);write_data_data(led_table3*num+1);write_data_data(led_table3*num+2);setlowpower();void displaycharstr(uchar shi,uchar fen,uchar miao,uchar num)switch (num)case 0:write_data(1, miao%10);write_data(2, miao/10);write_data(3, 17);write_data(4, fen%10);write_data(5, fen/10);write_data(6, 17);/led_table3*10write_data(7, shi%10);write_data(8, shi/10);break;case 2:write_data(1, miao%10);write_data(2, miao/10);write_data(3, 17);write_data(4, fen%10);write_data(5, fen/10);write_data(6, 17);write_data(7, 18);write_data(8, 18);break;case 4:write_data(1, miao%10);write_data(2, miao/10);write_data(3, 17);write_data(4, 18);write_data(5, 18);write_data(6, 17);write_data(7, 18);write_data(8, 18);break;case 6:write_data(1, 18);write_data(2, 18);write_data(3, 17);write_data(4, 18);write_data(5, 18);write_data(6, 17);write_data(7, 18);write_data(8, 18);break;default:break;显示字符模块:AppCtrl.cvoid LedCtrl(bit b)P00 = !b;le = 1; delay(10); le = 0;void OnAppCtrl(uchar num, bit bi)switch (num) case 1:P02 = bi; break;case 2:P03 = bi; break;case 3:P04 = bi; break;case 4:P05 = bi; break;default: break;le = 1; delay(10); le = 0;键盘控制模块:Key.cbit t;/ 设定定时时间标志uchar st;/ 串行处理 0:选择发送还是接受 1:接受 2:发送uchar app = 0,0,0,0;/ uchar sfm = 0,0,0, 0,0,0, 0,0,0, 0,0,0; / 时 分 秒bit view1;/ 查看家电1剩余时间状态bit view2;/ 查看家电2剩余时间状态bit view3;/ 查看家电3剩余时间状态bit view4;/ 查看家电4剩余时间状态bit view;/ 进入了查看状态uchar num;/ 选择的家电号uchar snum;/ 串行通信用uchar pos;/ 设定秒位为1,设定分位为2,设定时位为3uchar ser;/ 按4下则表示进入串行通信bit onSerial;/ 1:串行通信中0:定时中bit revflag, sendflag;extern uchar buffer7;/ 格式定义如:3460501(3 01-05-46)void key_init()t = 0; st = 0; num = 1; snum = 1; pos = 1; ser = 0; view = 0; view1 = 0; view2 = 0; view3 = 0; view4 = 0;revflag = 0; sendflag = 0; IT0 = 0; EX0 = 1;void key_int() interrupt 0EX0 = 0;if (ser = 4) & (onSerial = 1)/ 进入家电选择displayapp();t = 0; st = 0; num = 1; snum = 1; pos = 1; ser = 0; view = 0; view1 = 0; view2 = 0; view3 = 0; view4 = 0;revflag = 0; sendflag = 0; onSerial = 0;if (ser = 4) & (onSerial = 0)/ 进入串行通信displayserial();t = 0; st = 0; num = 1; snum = 1; pos = 1; ser = 0; view = 0; view1 = 0; view2 = 0; view3 = 0; view4 = 0;revflag = 0; sendflag = 0; onSerial = 1; elseif (key1 = 0)delay(25);if (key1 = 0)while (!key1);if (onSerial = 1) / 串行处理 按4下回到定时界面if (st = 1) | (st = 2)/ 回到选择(st=0)模式 revflag = 0;st = 0;ES = 0;cleardisp();displaychar(17);/ -write_data(9, snum);goto EXIT;if (st = 0)ser+;else if (view = 0)if (t = 1)if (pos = 4)pos = 1;sfm3*num-3 = sfm3*num-2 = sfm3*num-1 = 0;t = 0;/ 回到家电选择cleardisp();displaychar(num);/ 显示上一次选择的家电goto EXIT; pos+;displaycharstr(sfm3*num-3,sfm3*num-2,sfm3*num-1,6-2*pos);elseser+;/ 菜单功能,定时和串行通信if (key2 = 0)delay(25);if (key2 = 0)while (!key2);if (onSerial = 1)if (st = 0)snum+;if (snum = 3)snum = 1;displaychar(17);/ -write_data(9, snum);/-1if (st = 1)receive();/ 接受数据dispSerTime();revflag = 1; if (st = 2) / 发送数据write_data(1, 21);/ ysendflag = 1; elseif (view = 0)if (t = 0)num+;if (num = 5)num = 1;displaychar(num);if (t = 1) / 设定时间if (pos = 3)sfm3*num-3+;if (sfm3*num-3 = HOUR)/ 时加到24则清零sfm3*num-3 = 0; if (pos = 2)sfm3*num-2+;if (sfm3*num-2 = MINUTE)/ 分加到60则清零sfm3*num-2 = 0;if (pos = 1)sfm3*num-1+;if (sfm3*num-1 = SECOND)/ 秒加到60则清零sfm3*num-1 = 0;displaycharstr(sfm3*num-3,sfm3*num-2,sfm3*num-1,6-2*pos);if (key3 = 0)delay(25);if (key3 = 0)while (!key3);if (onGood = 0)cleardisp();displaychar(1);onGood = 1;goto EXIT; if (onSerial = 1)if (st = 0)if (snum = 1)st = 1; / 接受数据cleardisp();/ 显示接收数据if (snum = 2)st = 2; / 发送数据cleardisp();if (st = 1) / 确认接收数据用if (revflag = 1) revflag = 0;/ 进入定时则清零SetSerTime();displaychar(17);/ -write_data(9, snum); if (st = 2) / 确认发送数据用if (sendflag = 1) send();sendflag = 0; elseif (t = 0)/ 选择家电 cleardisp();displaychar(num);if (app0 = 1) & (num = 1)if (view1 = 1)/ 返回选择家电界面 view1 = 0;view = 0;cleardisp();displaychar(num);goto EXIT; displaycharstr(sfm3*num-3,sfm3*num-2,sfm3*num-1,0);view1 = 1;view = 1;t = 0;goto EXIT; if (app1 = 1) & (num = 2)if (view2 = 1)/ 返回选择家电界面 view2 = 0;view = 0;cleardisp();displaychar(num);goto EXIT; displaycharstr(sfm3*num-3,sfm3*num-2,sfm3*num-1,0);view2 = 1;view = 1;t = 0;goto EXIT; if (app2 = 1) & (num = 3)if (view3 = 1)/ 返回选择家电界面 view3 = 0;view = 0;cleardisp();displaychar(num);goto EXIT; displaycharstr(sfm3*num-3,sfm3*num-2,sfm3*num-1,0);view3 = 1;view = 1; t = 0;goto EXIT; if (app3 = 1) & (num = 4)if (view4 = 1)/ 返回选择家电界面 view4 = 0;view = 0;cleardisp();displaychar(num);goto EXIT; displaycharstr(sfm3*num-3,sfm3*num-2,sfm3*num-1,0);view4 = 1;view = 1;t = 0;goto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论