中南大学自动化微机课程设计报告_第1页
中南大学自动化微机课程设计报告_第2页
中南大学自动化微机课程设计报告_第3页
中南大学自动化微机课程设计报告_第4页
中南大学自动化微机课程设计报告_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 绪 论1.1 概述近年来随着科技的飞速开展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1.2 设计目的?微机应用系统设计与综合实验实践?课程设计是自动化专业本科生必修的一门技术根底课。通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行

2、硬件原理和软件编程进行分析、设计和调试,到达根本掌握简单微型计算机应用系统软硬件的设计方法,提高工程开发能力的目的。要求同学独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路印制板图, 编写设计程序及程序流程图。希望同学们认真阅读课程设计任务书,认真查阅资料,完成好上机调试,圆满完本钱次课程设计。1.3 设计任务和内容设计题10:交通灯控制功能设计限2-3人设计要求:1、编程语言为C语言和汇编语言;2、硬件电路基于80 x86微机接口;3、程序功能要求:小键盘给定、数码管屏幕显示;4、具备急救车应急响应功能和时间倒计时显示功能。实验仪器与设备TPC-H通用微机接口实验系统

3、1台。IBM-PC微型计算机1台。第二章 总体设计及核心器件简介2.1总体设计 通过采用8086、8255、IO接口电路、键盘、LED数字灯显示、发光二极管组成交通灯演示系统。利用8255与键盘扫描单元,编写程序完成按键扫描功能,并将倒计时时间显示在数码管上。按键可以完成置数功能和各种控制功能,同时利用8086重复刷新数码管产生一秒延时,延时一秒之后,将倒计时时间减少一秒,并利用刷新数码管显示出当前剩余时间,到倒计时时间为零,通过利用IO接口电路将控制信号传送给发光二极管,使之发光或者熄灭。2.2 CPU80868086简介 8086CPU根据它的根本性能,应包括20条地址线,16条数据线,加

4、上控制信号,电源和地线,芯片的引脚比拟多。但由于制造工艺的限制,8086CPU芯片采用了40条引脚的双列直插式封装。2.3 8255A8255A是Intel公司生产的可编程输入输出接口芯片,它具有3个8位的并I/O口,具有三种工作方式,可通过程序改变其功能,因而使用灵活,通用性强。8255有三种根本工作方式, 三种工作方式由工作方式控制字决定,方式控制字由CPU通过输入/输出指令来提供.三个端口中PC口被分为两个局部,上半局部随PA口称为A组,下半局部随PB口称为B组.其中PA口可工作与方式0、1和2,而PB口只能工作在方式0和1。8255共有40个引脚,采用双列直插式封装。其引脚图如图2-4

5、所示,各引脚功能如下:8255A引脚图如下:D0-D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制数据的读出。WR:写入信号线,低电平有效,控制数据的写入。 Vcc:+5V电源。PA0-PA7:A口输入/输出线。PB0-PB7:B口输入/输出线。PC0-PC7:C口输入/输出线。RESET:复位信号线。A1、A0:地址线,用来选择8255内部端口。GND:地线。2.4 键盘扫描与数码显示模块X1X4控制4位数码管的公共端,并连接到按键的一端,作为列选,确定是哪一列的按键按下,Y1Y4连接到按键的另一端

6、,作为行选,用于检测哪一行的按键按下。结合行选和列选即可得出是哪一个的按键按下,在软件设计上要注意消除按键抖动的处理以及数码管显示的刷新。键盘及数码管显示单元电路结构图2.5 IO接口电路模块IO接口电路主要是将信号传递给信号灯,使之点亮或者熄灭。IO接口利用三态缓冲器74LS245,锁存器74LS374设计微机总线和外部设备的数据通道,实现微机对外部数据的读取和对输出数据的输出。用开关及LED显示单元的开关和数据灯作为输入和输出显示设备,将开关的数据读入总线或者将总线的数据传递到数据灯。实验中我们可以利用开关控制交通灯的功能,但是设计中要求我们使用小键盘控制,因此我们主要利用IO接口电路中的

7、锁存器74LS374将数据从总线送出。输出接口一般用锁存器实现,从总线送出的数据可以暂存在锁存器中,74LS374是一种8通道上沿触发锁存器。其管脚结构如以下图所示。D7:0为输入数据线,Q7:0为输出数据线。CLK引脚为锁存控制信号,上升沿有效。当上升沿时,输出数据线锁存输入数据线上的数据。OE引脚为锁存器的片选信号,低电平有效。 74LS374上升沿触发锁存器管脚图根本IO接口设计实验参考接线图第三章 软件编程设计3.1 设计思想先通过小键盘设定路口通行时间,按键A确定。然后检测按钮B是否按下,按下那么进入交通灯演示功能:1南北路口的绿灯,东西路口的红灯同时亮设定的时间。2南北路口的黄灯闪

8、烁5次,同时东西路口的红灯继续亮。3南北路口的红灯,东西路口的绿灯同时亮设定的时间。4南北路口的红灯继续亮,同时东西路口的黄灯闪烁五次。在交通灯演示功能的同时检测是否有按键按下,当按键B按下,表示系统启动。当按键C按下,表示系统暂停。当按键D按下,表示系统重置时间。当按键E按下,表示系统进入紧急情况。当按键F按下,表示系统关闭。当系统启动后,交通灯自动交替闪烁,每隔一秒就将数码管需要显示的数值减一,同时不停地刷新数码管,以显示剩余时间。当系统暂停时,系统不停的检测是否启动按钮按下,否那么就继续检测,同时刷新数码管,是数码管显示暂停时的时间,直到启动按钮按下,系统继续按照暂停前的状态运行,当系统

9、重新设置时间时。相当于程序从新开始执行。当紧急按钮按下,将数码管显示时间零,同各个路口的红灯亮,绿灯和黄灯灭。直到检测到启动按钮按下,启动按钮按下后,跳转到交通灯演示的第一步。当结束按钮按下,那么跳出程序的运行。3.2典型模块本实验中有三种典型的程序模块分别为按键扫描、数码管刷新数据和IO接口电路输出数据。按键扫描:按键扫描的程序首先清屏,然后扫描按键,判断是否有按键按下,如果没有按键按下,那么不执行扫描按键代码程序。如果有按键按下,那么延时一定时间再次扫描按键,如果这时没有按键按下,那么说明是按键抖动,不执行扫描按键代码程序。如果延时后按键还是按下的,那么我们需要检测按下按键的代码,首先设置

10、当前检测的是第几列,选取一列,同时将对应的X1X4置低电平,读Y1Y4,用于判断是哪一行的按键闭合,判断是否为第一行,如果是第一行那么设置第一行第一列的对应键值,如果不是那么判断是否为下一行。一直检测到最后一行。如果判断不是,那么检测下一列,按照上述方法,从第一列检测最后一列,直到检测出对应的按键后,设置对应按键的键值。数码管的刷新:在交通灯功能控制系统中,均采用了8位数码管动态扫描显示见图1。它将所有数码管的8个段线相应地并接在一起,并接到8255单元的PB口,由PB口控制字段输出。而各位数码管的共阳极由8255单元的PA口控制X1X4来实现8位数码管的位输出控制。这样,对于一组数码管动态扫

11、描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此,在同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。假设要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位那么是熄灭的,如此循环下去,就可以使各位数码管显示

12、出将要显示的字符。虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。IO接口输出电路:先将IO接口电路的片选信号选通。将要传递的信号存放在AL存放器中,将要传递信号的地址存放在DX存放器中,再用OUT指令输出。3.2 程序流程框图 3.3 源程序 汇编语言源代码:;*根据CHECK配置信息修改以下符号值* IOY0 EQU 0C400H ;片选IOY0对应的端口始地址 IOYO2 EQU 0C440H;* MY8255_A EQU IOY0+00H*4 ;8

13、255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255的B口地址 MY8255_C EQU IOY0+02H*4 ;8255的C口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制存放器地址 STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DATA SEGMENT DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H L0 DB 11H L1 DB 41H L2 DB 21H L3 DB 01H L4 DB

14、14H L5 DB 12H L6 DB 10H L7 DB 0CH L8 DB 00H DATA ENDS ;键值表,0F对应的7段数码管的段位值 CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,0F000H ;建立缓冲区,存放要显示的键值 MOV AL,00H ;先初始化键值为0 MOV SI,AL MOV SI+1,AL MOV DI,0F001H MOV DX,MY8255_MODE ;初始化8255工作方式 MOV AL,81H ;方式0,A口、B口输出,C口低4位输入 OUT DX,AL

15、BEGIN: CALL DIS CALL CLEAR ;清屏 CALL CCSCAN ;扫描按键 JNZ RGETKEY1 ;有键按下那么跳置GETKEY1 MOV AH,1 ;判断PC键盘是否有按键按下 INT 16H JZ BEGIN ;无按键那么跳回继续循环,有那么退出 QUIT: MOV AX,4C00H ;返回到DOS INT 21H RGETKEY1: CALL DALLY1 ;显示刷新 CALL CLEAR ;清屏 CALL CCSCAN ;再次扫描按键 JNZ RGETKEY2 ;有键按下那么跳置GETKEY2 JMP BEGIN ;否那么跳回开始继续循环 RGETKEY2:

16、MOV CH,0FEH MOV CL,00H ;设置当前检测的是第几列 RCOLUM: MOV AL,CH ;选取一列,将X1X4中一个置0 MOV DX,MY8255_A OUT DX,AL MOV DX,MY8255_C ;读Y1Y4,用于判断是哪一行按键闭合 IN AL,DX RL1: TEST AL,01H ;是否为第1行 JNZ RL2 ;不是那么继续判断 MOV AL,00H ;设置第1行第1列的对应的键值 JMP RKCODE RL2: TEST AL,02H ;是否为第2行 JNZ RL3 ;不是那么继续判断 MOV AL,04H ;设置第2行第1列的对应的键值 JMP RKC

17、ODE RL3: TEST AL,04H ;是否为第3行 JNZ RL4 ;不是那么继续判断 MOV AL,08H ;设置第3行第1列的对应的键值 JMP RKCODE RL4: TEST AL,08H ;是否为第4行 JNZ RNEXT ;不是那么继续判断 MOV AL,0CH ;设置第4行第1列的对应的键值 RKCODE: ADD AL,CL ;将第1列的值加上当前列数,确定按键值 CMP AL,09H JG KERR1 CALL PUTBUF ;保存按键值 PUSH AX RKON: CALL DALLY1 ;显示刷新 CALL CLEAR ;清屏 CALL CCSCAN ;扫描按键,判

18、断按键是否弹起 JNZ RKON ;未弹起那么继续循环等待弹起 POP AX RNEXT: INC CL ;当前检测的列数递增 MOV AL,CH TEST AL,08H ;检测是否扫描到第4列 JZ KERR ;是那么跳回到开始处 ROL AL,1 ;没检测到第4列那么准备检测下一列 MOV CH,AL JMP RCOLUM KERR: JMP BEGIN KERR1: CMP AL,0AH JZ KERR2 JMP KERR KERR2: MOV L7,0CH MOV SI,0F000H MOV AL,SI MOV BL,SI+1 SHL BL,4 ADD AL,BL MOV L8,AL

19、B: MOV AL,L0 MOV DX,IOYO2 OUT DX,AL MOV BX,0000H CALL CHANGE CALL BE CALL DALLY1 T: MOV AL,L1 MOV DX,IOYO2 OUT DX,AL MOV BL,L8 T1: CALL CJIAN CALL CHANGE CALL BE CALL DALLY2 CALL DALLY2 CALL DALLY2 CMP BX,00H JNZ T1 MOV BX,0006H T2: MOV AL,L2 MOV DX,IOYO2 OUT DX,AL CALL CJIAN CALL CHANGE CALL BE CAL

20、L DALLY1 CALL DALLY1 MOV AL,L3 MOV DX,IOYO2 OUT DX,AL CALL DALLY2 CALL DALLY2 CMP BX,0 JNZ T2 MOV AL,L4 MOV DX,IOYO2 OUT DX,AL MOV BL,L8 T3: CALL CJIAN CALL CHANGE CALL BE CALL DALLY2 CALL DALLY2 CALL DALLY2 CMP BL,00H JNZ T3 MOV BX,0006H T4: MOV AL,L5 MOV DX,IOYO2 OUT DX,AL CALL CJIAN CALL CHANGE C

21、ALL BE CALL DALLY1 CALL DALLY1 MOV AL,L6 MOV DX,IOYO2 OUT DX,AL CALL DALLY2 CALL DALLY2 CMP BX,0 JNZ T4 JMP T CHANGE PROC NEAR PUSH BX MOV AX,BX MOV SI,0F000H AND AL,0FH MOV SI,AL AND BL,0F0H SHR BL,4 MOV SI+1,BL POP BX RET CHANGE ENDP CJIAN PROC NEAR MOV AX,BX DEC AX DAS MOV BX,AX RET CJIAN ENDP DI

22、S PROC NEAR ;显示键值子程序 PUSH AX PUSH BX ;以缓冲区存放的键值为键值表偏移找到键值并显示 MOV SI,0F000H MOV DL,0F7H MOV AL,DL AGAIN: PUSH DX MOV DX,MY8255_A OUT DX,AL ;设置X1X4,选通一个数码管 MOV AL,SI ;取出缓冲区中存放键值 MOV BX,OFFSET DTABLE AND AX,00FFH ADD BX,AX MOV AL,BX ;将键值作为偏移和键值基地址相加得到相应的键值 MOV DX,MY8255_B OUT DX,AL ;写入数码管ADp CALL CLEAR

23、 INC SI ;取下一个键值 POP DX MOV AL,DL TEST AL,04H ;判断是否显示完? JZ OUT1 ;显示完,返回 ROR AL,1 MOV DL,AL JMP AGAIN ;未显示完,跳回继续 OUT1: POP BX POP AX RET DIS ENDP DALLY1 PROC NEAR ;软件延时子程序 PUSH CX MOV CX,1000H D1: MOV AX,1000H D2: DEC AX CALL DIS JNZ D2 LOOP D1 POP CX X2: RET DALLY1 ENDP PUTBUF PROC NEAR ;保存键值子程序 MOV

24、SI,DI MOV SI,AL DEC DI CMP DI,0EFFFH JNZ GOBACK MOV DI,0F001H GOBACK: RET PUTBUF ENDP DALLY2 PROC NEAR ;软件延时子程序 PUSH CX MOV CX,0FFFFH D3: MOV AX,0FFFFH D4: DEC AX CALL DIS JNZ D4 LOOP D3 POP CX RET DALLY2 ENDP CCSCAN PROC NEAR ;扫描是否有按键闭合子程序 PUSH AX PUSH DX MOV AL,00H MOV DX,MY8255_A ;将4列全选通,X1X4置0 O

25、UT DX,AL MOV DX,MY8255_C IN AL,DX ;读Y1Y4 NOT AL AND AL,0FH ;取出Y1Y4的反值 POP DX POP AX RET CCSCAN ENDP BE PROC NEAR PUSH CX S: CALL DALLY1 CALL CLEAR ;显示刷新 CALL CCSCAN ;扫描按键 JNZ GETKEY1 ;有键按下那么跳置GETKEY1 MOV AL,L7 CMP AL,0BH JZ KERRR CMP AL,0CH JZ S CMP AL,0DH JZ KERRR3 CMP AL,0EH JZ KERRR1 CMP AL,0FH J

26、Z KERRR2 JMP S GETKEY1: CALL DALLY1 ;显示刷新 CALL CCSCAN ;再次扫描按键 JNZ GETKEY2 ;有键按下那么跳置GETKEY2 JMP S ;否那么跳回开始继续循环 GETKEY2: MOV CH,0FEH MOV CL,00H ;设置当前检测的是第几列 COLUM: MOV AL,CH ;选取一列,将X1X4中一个置0 MOV DX,MY8255_A OUT DX,AL MOV DX,MY8255_C ;读Y1Y4,用于判断是哪一行按键闭合 IN AL,DX Q1: TEST AL,01H ;是否为第1行 JNZ Q2 ;不是那么继续判断

27、 MOV AL,00H ;设置第1行第1列的对应的键值 JMP KCODE Q2: TEST AL,02H ;是否为第2行 JNZ Q3 ;不是那么继续判断 MOV AL,04H ;设置第2行第1列的对应的键值 JMP KCODE Q3: TEST AL,04H ;是否为第3行 JNZ Q4 ;不是那么继续判断 MOV AL,08H ;设置第3行第1列的对应的键值 JMP KCODE Q4: TEST AL,08H ;是否为第4行 JNZ NEXT ;不是那么继续判断 MOV AL,0CH ;设置第4行第1列的对应的键值 KCODE: ADD AL,CL CMP AL,09H JLE KERR

28、R3 MOV L7,AL ;将第1列的值加上当前列数,确定按键值 JMP S PUSH AX KON: CALL DALLY1 ;显示刷新 CALL CLEAR CALL CCSCAN ;扫描按键,判断按键是否弹起 JNZ KON ;未弹起那么继续循环等待弹起 JMP S POP AX NEXT: INC CL ;当前检测的列数递增 MOV AL,CH TEST AL,08H ;检测是否扫描到第4列 JZ KERRR ;是那么跳回到开始处 ROL AL,1 ;没检测到第4列那么准备检测下一列 MOV CH,AL JMP COLUM KERRR: POP CX RET KERRR1: POP C

29、X MOV L7,0CH JMP B RET KERRR2: POP CX CALL COUT RET KERRR3: POP CX JMP START RET BE ENDP SAVE PROC NEAR MOV AL,L0 MOV DX,IOYO2 OUT DX,AL RET SAVE ENDP COUT PROC NEAR MOV AX,4C00H INT 21H RET COUT ENDP CLEAR PROC NEAR PUSH DX PUSH AX MOV DX,MY8255_B MOV AL,00H OUT DX,AL POP AX POP DX RET CLEAR ENDP D

30、ALLY PROC NEAR ;软件延时子程序 PUSH CX MOV CX,00FFH RD1: MOV AX,00FFH RD2: DEC AX JNZ RD2 LOOP RD1 POP CX RET DALLY ENDP CODE ENDS END STARTC语言源代码:#include #include #include #include #include #include void dis(void);void key(void);void clear(void);void ccscan(void);void putbuf(void);void getkey(void);void

31、delay(int time);void getkey1(void);void jian(void);void che(void);/*根据查看配置信息修改以下符号值*#define IOY0 0 xE400#define IOYO2 0 xE440/*#define MY8255_A IOY0 + 0 x00*4#define MY8255_B IOY0 + 0 x01*4#define MY8255_C IOY0 + 0 x02*4#define MY8255_MODE IOY0 + 0 x03*4char a = 0 x3f, 0 x06, 0 x5b, 0 x4f, 0 x66, 0

32、x6d, 0 x7d, 0 x07, 0 x7f, 0 x6f, 0 x77, 0 x7c, 0 x39, 0 x5e, 0 x79, 0 x71;int b = 0, 0, 0, 0, 0;char c = 0 x11,0 x41,0 x21,0 x01,0 x14,0 x12,0 x10;int cc;int b_n;int n;void main() int i,j,ad;outp(MY8255_MODE, 0 x81);b_n = 1; b4=10; while(1) jian(); switch(b4) case 10:n=0;b0=0;b1=0; while(n=9) dis();

33、clear();ccscan();if (cc)dis();delay(0 x100);delay(0 x100);clear();ccscan();if (cc)getkey(); key(); b2=b0;b3=b1;b4=11; break;case 11:dis();break; case 12:while(b4=12) b0=b2; b1=b3; ad=b0+b1; outp(IOYO2,c1); while(ad) /*到计时*/ b0-; if(b0=-1) b0=9; b1-; ad=b0+b1; for(i=0;i=6000;i+) dis(); che();key(); w

34、hile(n=13)dis();jian();key(); if(n!=12)break; b0=5; b1=0; ad=b0+b1; while(ad) outp(IOYO2,c2); b0-; if(b0=-1) b0=9; b1-; ad=b0+b1; for(i=0;i=2000;i+) dis();che();key(); while(n=13)dis();jian();key(); if(n!=12)break; outp(IOYO2,c3); for(i=0;i=4000;i+) dis();che();key(); while(n=13)dis();jian();key();

35、if(n!=12)break; b0=b2; b1=b3; ad=b0+b1; outp(IOYO2,c4); while(ad) /*到计时*/ b0-; if(b0=-1) b0=9; b1-; ad=b0+b1; for(i=0;i=6000;i+) dis();che();key(); while(n=13)dis();jian();key(); if(n!=12)break; b0=5; b1=0; ad=b0+b1; while(ad) outp(IOYO2,c5); b0-; if(b0=-1) b0=9; b1-; ad=b0+b1; for(i=0;i=2000;i+) di

36、s();che();key(); while(n=13)dis();jian();key(); if(n!=12)break; outp(IOYO2,c6); for(i=0;i=4000;i+) dis();che();key(); while(n=13)dis();jian();key(); if(n!=12)break; break; case 13:dis();break; case 14:outp(IOYO2,c0); b0=0;b1=0;for(i=0;i=50;i+)dis();break; case 15:exit(0);break; default: exit(0); voi

37、d getkey(void)int i;int j = 0 xfe;for(i=0;i9)break;putbuf();return;if ( !( (inp(MY8255_C) & 0 x02) )n = i + 4;if(n9)break;putbuf();return;if ( !( (inp(MY8255_C) & 0 x04) )n = i + 8;if(n9)break;putbuf();return;if ( !( (inp(MY8255_C) & 0 x08) )n = i + 12;if(n9)break;putbuf();return;j = 1;void ccscan(v

38、oid)outp(MY8255_A, 0 x00);cc = inp(MY8255_C);cc = (cc) & 0 x0F;void dis(void)int i;int j = 0 xf7;for(i=0;i= 1;j |= 0 x80;void clear(void)outp(MY8255_B, 0 x00);void putbuf(void)bb_n = n;b_n-;if (b_n = -1)b_n = 1;dis();clear();ccscan();while (cc)dis();clear();ccscan();void key(void)if (bioskey(1) != 0

39、)exit(0);void delay(int time)int i;int j;for(i=0;i=time;i+)for(j=0;j=0 x100;j+) return;void getkey1(void)int i;int j = 0 xfe;for(i=0;i=3;i+)outp(MY8255_A, j);if ( !( (inp(MY8255_C) & 0 x01) )n = i + 0;b4=n;return;if ( !( (inp(MY8255_C) & 0 x02) )n = i + 4;b4=n;return;if ( !( (inp(MY8255_C) & 0 x04)

40、)n = i + 8; b4=n;return;if ( !( (inp(MY8255_C) & 0 x08) )n = i + 12;b4=n;return;j = 1;void jian(void) dis(); clear(); ccscan(); if (cc) dis();delay(0 x100);delay(0 x100);clear();ccscan();if (cc) getkey1(); key(); if(n=15) exit(0); void che(void)cc=0;ccscan();if(cc)jian();dis();key();if(b4=15) exit(0);第四章 设计心得与体会以及问题在课程设计的过

温馨提示

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

评论

0/150

提交评论