




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机课程设计 题目: 电子时钟 学院: 班级: 姓名: 学号: 指导老师: 日期: 目 录第一章 系统设计5一、器件选型51.1 单片机选型51.2 按键模块51.3 显示模块51.4 计时参考模块51.5 闹钟响铃模块51.6 显示器驱动模块51.7 电源模块6二、设计目的6三、设计任务及要求6四、工作原理及设计思路6五、硬件接线设计7六 系统综述96.1 上电界面96.2 调时界面106.3 闹钟设定界面116.4 正常走时界面126.5 闹钟响应12七、软件部分127.1 主函数流程图137.2 定时器T1中断服务程序流程图147.3 定时器T0中断服务程序流程图157.4 键盘扫描
2、程序流程图16第二章 参数计算17一、 定时器T017二、数码管驱动码182.1 位选码182.2 段选码18第三章 结 论18参考文献20附 录20 摘 要Intel公司生产的 MCS-8051 系列单片机是各单片机中最为典型和最有代表性的一种。本次设计以 MCS-8051 芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的数字时钟。在硬件方面,单片机外接 12MHz 晶振,使用四只共阳一体8段数码管来进行显示,使用74HC573芯片进行位驱动。通过 LED 能够准确明亮地显示时、分、秒,其中,还利用LED的闪烁一次来代表一秒时间;三个简单的按键实现对时间的调整;蜂鸣器实现闹钟响
3、铃功能并可以播放乐曲;软件方面采用 C 语言编程,proteus实现绘图和仿真,keil uVision调试,SST烧录。整个电子钟系统能完成时分秒的显示、调时和定时闹钟的功能。设计过程中使用 Kei uVision 3 单片机模拟调试软件编写调试程序。硬件简明,程序正确,仿真结果满足设计要求。关键词: 51单片机,定时器,中断,闹钟,LED绪 论20 世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,随时提醒那些容
4、易忘记时间的人,电子钟无疑最为直观。数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来,通过键盘可以进行校时、定时闹钟等功能,输出设备显示器可以用液晶显示技术和数码管来显示技术。本次设计的数字时钟利用 51 单片机作为核心芯片,辅以按键、蜂鸣器和LED显示器,以实现具有计时、校时、闹钟设定等功能
5、。利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。本设计应解决的主要问题有两大方面,即硬件电路设计和软件设计两大方面。其中硬件电路部分又可分为四大模块:键盘模块、显示模块、计时模块和响铃模块。硬件电路部分致力于低成本、低功耗和易实现性;软件部分则应做到代码的精简、准确、易读、可移植性强。最后通过软、硬件的结合实现数字钟的精确计时、校时、闹钟功能。第一章 系统设计一、器件选型1.1 单片机选型 根据选题芯片采用MCS-8051单片机,Intel公司生产的 51 系列 8 位单片机,凭借其成熟的技术标准和很高的性价比得到了广泛的普及与应用,其功能强大,用来做电子表硬件易实现,编程规范。
6、1.2 按键模块 独立式按键。如果设置过多按键,将会占用较多I/O口,而且会给布线带来不便,同时浪费按键,不高效,程序繁琐。本次设计适用于按键较少的情况。为了尽量实现按键的高效性,此次设计采用三个独立式按键,分别定义为key_mode、key_add、key_move,依次是模式键、加数键、移位键。1.3 显示模块数码管LED。数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。 按照此次任务书设计要求,选择共阳一体八段数码显示管用于显示。1.4 计时参考模块单片机内部定时/计数器T0和T1。由于本次设计本主要是为了学习单片机程序
7、的编写和调试,以及设计硬件电路的一些方法,因此采用软件的方法来计时。本次设计用MCS-8051单片机内部定时/计数器T0作为电子表时钟参考,并在闹钟响应时启动T1作为计时器输出不同频率的方波以形成不同音调。1.5 闹钟响铃模块 通过三极管放大后驱动蜂鸣器工作,单片机I/O接三极管基极。1.6 显示器驱动模块由于通过数码管公共极的电流较大,单片机I/O口驱动能力是不够的,故LED驱动模块必不可少。为避免过多地使用分立元件,本次设计采用一片 74HC573来驱动位码,用P2口进行位选扫描。 74HC573是常用来驱动LED或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据,74HC
8、573还具有双向三态功能。1.7 电源模块本系统采用了数码管作为显示器,功耗较大,不便于使用电池供电。况且本系统的体积较大,即使使用电池供电也不便于随身携带,因此用5V外部稳压电源来供电。二、设计目的通过电子时钟综合设计,使学生学会利用 8051 定时器时间计时处理功能,了解按键扫描及控制 LED 数码管显示原理,掌握单片机和按键以及 LED 数码管硬件电路设计及控制程序的设计方法。思考按键消除抖动、LED 动态显示与静态显示的特点,从而提高学生解决实际问题的能力。三、设计任务及要求利用实验平台上4 个LED 数码管, 设计带有闹铃功能的数字时钟,要求: 1 在4 位数码管上显示当前时间。显示
9、格式“时时分分” 2 由LED 闪动做秒显示。 3 利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。四、工作原理及设计思路利用单片机定时器完成计时功能,定时器0 计时中断程序每隔5ms 中断一次并当作一个计数,每中断一次计数加1,当计数200 次时,则表示1s 到了,秒变量加1,同理再判断是否1min 钟到了,再判断是否1h 到了。为了将时间在LED 数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要数据锁存器等较多硬件,可采用动态显示法实现LED 显示。闹铃声由交流蜂鸣器产生,当P1.7 输出不同频率的方波,.蜂鸣器便会发出
10、不同的声音。 五、硬件接线设计5.1 系统硬件框图 4位八段显示器 MCS8051 晶振 段码驱 复位电路 位码驱 蜂鸣器 按键5.2 单片机晶振配置和复位电路设计 5.3 按键电路 5.4 蜂鸣器驱动电路 5.5 显示模块电路 六 系统综述6.1 上电界面电子表上电后自动初始化,从 0000 开始走时,显示正常走时界面,此时闹钟默认关掉。按下key_mode键,可依次切换到调时界面、调闹钟界面、正常走时界面,如此循环往复。上电初始化后,调时初值为0000,闹钟初值为0730.。6.2 调时界面调时界面,从左至右依次显示时、分,数字右下角小点代表调整位到达位置。在调时界面下,按下key_mov
11、e键可以移动调整位,数字下标小点用以指示当前操作的数位,按下key_add键可以对调整位进行加数操作。当调时完成后,电子表按设定时间更新并走时。6.3 闹钟设定界面闹钟设定界面,从左至右依次显示时、分,数字右下角小点代表调整位到达位置。在闹钟设定界面下,按下key_move键可以移动调整位,数字下标小点用以指示当前操作的数位,按下key_add键可以对调整位进行加数操作。6.4 正常走时界面正常走时界面,从左至右依次显示时、分,调换模式可以显示秒。在正常走时界面下,按下key_add键会在时分模式下加一;按下key_move键可使小数点发生移动;按下key_mode键可依次切换到秒钟模式、闹钟
12、设定模式、正常走时模式,循环往复。6.5 闹钟响应当正常走时到达闹铃设定值后,闹铃响应,正常情况下蜂鸣器连续播放音乐直至按键停止播放,闹铃响应后自动等待下次响应。七、软件部分7.1 主函数流程图 开始 初始化定时器T0循环中断计时 主循环 键盘扫描,LED灯闪烁 结束 闹钟响应 显示响应 闹钟判定 定时器T1循环中断计时 开始7.2 定时器T1中断服务程序流程图 T1重装初值Time+1Time <=Music? shows+1shows%15=0? 显示时间Alarm_en=0 ? 停止7.3 定时器T0中断服务程序流程图 开始 T0重装初值 t+1 t=20? t=0,sec+1se
13、c=60? sec=0,min+1min=60 ? min=0,hour+1hour=60 ? hour=0 结束7.4 键盘扫描程序流程图开 始键盘扫描有键按下?键盘抖动? key_move key_addkey_modemov+1moshi+1add( );moshi>2?mov>2?alarm_en=0;mov=0moshi=0结 束 第二章 参数计算一、 定时器T01.1 定时器T0背景知识数字电子钟设计中主要使用定时器 T0 ,利用 ET0 中断进行计时时间的自增,从而实现计时功能。51 单片机有两个通用定时/计数器 T0 和 T1 。两者均可配置为定时器或计数器,用作“
14、定时器”功能时,每经过一个机器周期,寄存器值加1;用作“计数器”功能时,寄存器在对应的外部输入管脚 T0/T1 上每发生一次1到0的跳变时加1。1.方式控制寄存器TMODT1T0D7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M0TMOD用以设定通用定时/计数器 T0 和 T1工作方式。GATE位为门控位,GATE=1时,T0、T1分别受INT0、INT1引脚输入电平控制,常用于测量对应正脉冲的宽度;C/用选选择定时、计数功能。本次设计选择T0和T1做定时器用,工作在方式1,故 TMOD = 0X11;2.控制寄存器TCONT1T0D7D6D5D4D3D2D1D0TF1TR
15、1TF0TR0IE1IT1IE0IT0TR0用于开/关定时器T0,TF0为T0溢出标志位。3.中断允许控制寄存器IED7D6D5D4D3D2D1D0EA/ESET1EX1ET0EX0EA为总中断允许位,ET0为T0中断允许位。1.2 定时器T0初值计算初值计算公式:X = 2n foc/12 *TX定时器初值 n定时器位数(方式0:13位,方式1: 16位,方式2: 8位)fosc单片机主频(本次设计取12MHz)T所需定时时间设定时时间为50ms,即T=50ms,fosc=12MHz,选工作方式1,带入公式求解得X=3CB0H,所以TH0 = 0X3C,TL0 = 0XB0。同理可求得TH1
16、=0XD8,TL0=0XEF。1.3 定时器T0初始化程序 TMOD = 0x11; /选定时器T0,工作方式1 TH0 = 0X3C; TL0 = 0XB0; /50ms定时初值 ET0 = 1; /定时器TO使能位打开 EA = 1; /总中断允许位打开 TR0 = 1; /打开定时器T0开始计时二、数码管驱动码2.1 位选码LED连接如图所示,为4位共阳数码管,从右至左,依次循环扫描,可得段码驱动数组如下:unsigned char wei=0xf7,0xfb,0xfd,0xfe;/位选,共阳,从右至左2.2 段选码八段共阳数码管,当位选端为高电平时,给段选端低电平即可点亮对应段,再由点
17、亮的段组合成字符。定义如下段码驱动数组,即可依次显示字符 0 1 2 3 4 5 6 7 8 9 - 灭 .unsigned char duan=0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82, 0XF8,0X80,0X90,0XBF,0XFF,0X7F; 第三章 结 论思考题:1 如何利用定时器完成计时功能? 答:通过定时器0进行计时,溢出后t加一然后继续从初始值开始计时,t每加一次时间为50毫秒,当t加20次后代表一秒。具体功能可参照附件中的程序。2 LED静态显示及动态显示的工作过程是怎样的? 答:(1)静态显示方式:静态显示方式是指当显示器显示某一字符时,发光二极
18、管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。由于单片机本身提供的I/O口有限,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。 静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。 (2)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的
19、位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。感想与收获说真的,很久没有这样连续几天除了吃饭睡觉只专注于一件事。以前不是没有写过代码,学过java,考过二级,寒假自己开发小游戏,大创用STM32控制电机但跟这五天相比,无论是投入的精力还是收获的经验都是小巫见大巫。
20、最后的成品基本实现了课程设计所要求的全部内容,但相较于一个真正的电子时钟还有一些功能需要完善。我想简单谈谈设计过程中遇到的问题和解决的方案。首先要实现时分秒的显示至少需要六个数码管,但单片机只有四个,我考虑过再焊接两个上去,但太不美观,遂作罢。于是我在最初设计的时间/闹钟模式中又添了一个秒数模式,变成时分/秒数/闹钟三个模式。之后我才注意到课程设计并没有要求秒数显示,而是要求LED灯每秒闪烁一次。我在网上搜了一些代码,LED灯的秒闪程序有很多但都太复杂,于是我想既然T0每50ms溢出一次,溢出20次秒数进一,那么t除以20取余,010内灭,1120内亮,就可以实现LED的秒闪功能。关键代码如下
21、:if(t%20<=10) LED=1; if(t%20>10) LED=0; 在实现了普通计时和闹钟功能后,要为闹钟添加音乐,此时要启动定时中断T1。这时候就会出现一系列问题。开始忘记了使TMOD=0X01改为0X11,使得T1在工作方式0,计时变短频率变快,所以不管放什么曲子听到的都是一段RAP最大的问题是要在闹钟响应时屏幕保持显示。播放曲子时用了两个循环,小循环是播放一个音调do,大循环是播放完do后播放另一个音调ri,由此设置一段计时-频率对应表就可以得到一段乐音。现在我想把显示时间的程序show()放进去,只能放两个地方,大循环里面小循环外面,或者小循环里面。如果放小循环
22、外面,放完一个do后要执行show()再放ri,就会造成数码管随着音乐节拍显示。放在小循环里面呢?音调会突然变得很低沉。我分析了一下,这是因为扫描四个数码管是动态扫描,为了获得最佳的扫描效果就必然有延时,而音调是有频率决定的,而我们又是用计时来控制频率,现在有了延时,时间增加,频率降低,所以曲子变得低沉。这样一番分析,似乎无法在播放音乐时显示时间。但我又想到用T1中断来代替延时。也就是,T1每溢出一次我就让数码管进一位显示,这样基本可以实现显示时间的效果,而如果设置成T1每溢出30次让数码管进一位显示,就可以实现滚屏效果。关键代码如下:if(shows%30=0) /闹钟响应时产生滚屏效果 t
23、emp20=sec2%10; temp21=sec2/10; temp22=min2%10; temp23=min2/10; temp24=hour2%10; temp25=hour2/10; i+; if(i=4)i=0; P2=weii; P0=duantemp2i+2; delay(10); 当然还有很多细节问题这里就不一一列举。总之,我以为写此类代码必须要有整体框架,每个方法调用的位置和每个变量出现的位置都要在心里形成一张网络一个地图,否则在做出改动时很容易出现不可预料的后果。此次课程设计毫无疑问我收获颇丰,我对计时中断有了更深入的了解,对51单片机的开发掌握了基本的能力。参考文献 1
24、戴胜华,单片机原理及应用技术,北京交通大学出版社 2王为青、程国钢,单片机KeilCX51应用开发技术M,北京:人民邮电出版社,2007 3张靖武、周灵彬,单片机系统的Proteus设计与仿真,北京:电子工业出版社,2007 附 录完整程序代码如下 #include <reg51.h>sbit CE573=P25;sbit BUZZER=P24;sbit LED=P11;sbit key1 = P33;sbit key3 = P34;sbit key2 = P35;sbit key4 = P32;unsigned char T1_Times = 0;unsigned char co
25、de Music = /语音 0x18, 0x30, 0x1C, 0x10, 0x20, 0x40, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x18, 0x40, 0x1C, 0x20, 0x20, 0x20, 0x1C, 0x20, 0x18, 0x20, 0x20, 0x80, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x2
26、0, 0x30, 0x80, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x20, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x2
27、0, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0x20, 0x30, 0x1C, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x15, 0x1F, 0x05, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x2
28、0, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x30, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x40, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x13, 0x60, 0x18, 0x20, 0x15, 0x40, 0x13, 0x40, 0x18, 0x80, 0x00 ;#define uchar unsigned char#define uint unsigned in
29、t/*定义数码管驱动码*uchar duan=0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XBF,0XFF,0X7F; /段选,0 1 2 3 4 5 6 7 8 9 - 灭 .uchar wei=0xf7,0xfb,0xfd,0xfe;/位选,共阳,从右至左/*定义变量*uchar t=0,sec=0,min=0,hour=0,i=0;/正常走时时间变量uchar sec1=0,min1=0,hour1=0;uchar sec2=0,min2=30,hour2=7; /闹钟设定值变量uchar alarm_flag=0; /闹钟定时到
30、达标志变量uchar moshi=0,mov=0; /模式值,调整位uchar Tone=-1; uchar shows=0;/显示缓冲区,依次为正常、调时、闹钟设定、调整位带点标记、秒钟uchar temp8,temp18,temp28,temp38, temps2;/*软件延时程序*void delay(uint ii)/T0延时 while(-ii); void Delay1( int times ) /T1延时 for( ; times > 0 ; times -= 2 ) /*函数声明*void initialize(void); /初始化void show(void); /正
31、常走时显示void showsec(void); /显示秒钟void show2(void); /闹钟设定显示void show3(void); /调整位标记void show4(void); /闹钟开关标记void keyscan(void); /键盘扫描void add(void); /调时调闹钟加数程序void alarm_judge(void); /闹钟定时到达判定void beep(void); /闹钟响铃程序void led(void); /LED闪烁void main() /主函数 initialize(); while(1) led(); keyscan(); alarm_ju
32、dge(); switch(moshi) case 0:show();show3();break; /显示时分 case 1:showsec();break; /显示秒钟 case 2:show2();show3();break;/显示闹钟 if(alarm_flag=1 ) /定时时间到达 beep(); TR1=0; hour=hour2;min=min2;/if(alarm_flag=0 )BUZZER=1; /*定时器初始化*void initialize(void) TMOD = 0x11; /0x11! TR0=1;/PT0=1;PT1=0; /中断优先 (不需要) TH0 = 0
33、X3C; TL0 = 0XB0; /50ms ET0 = 1; EA = 1;BUZZER=1; /初始化时关掉蜂鸣器 alarm_flag=0;CE573=1;/使能锁存器/*定时器T0中断服务程序*void Timer0(void) interrupt 1 TL0 = 0XB0; TH0 = 0X3C; t+; if(t=20) / (50ms*20=1s) t=0; sec+; if(sec=60) / 秒为60,则清零,分加1 sec=0; min+; if(min=60) / 分为60,则清零,时加1 min=0; hour+; if(hour=24) / 时为24,则清零 hour
34、=0; if(sec1=60) sec1=0; min1+; if(min1=60) min1=0; hour1+; if(hour1=24) hour1=0; if(sec2=60) sec2=0; min2+; if(min2=60) min2=0; hour2+; if(hour2=24) hour2=0; /*定时器T1中断服务程序*void INT_T1(void) interrupt 3 shows+; T1_Times +; TH1 = 0xd8; /10ms TL1 = 0xef; if(shows%30=0) /闹钟响应时产生滚屏效果 temp20=sec2%10; temp
35、21=sec2/10; temp22=min2%10; temp23=min2/10; temp24=hour2%10; temp25=hour2/10; i+; if(i=4)i=0; P2=weii; P0=duantemp2i+2; delay(10); /keyscan(); /if(alarm_flag=0) /hour=hour2;min=min2;sec=sec2; /*LED闪烁显示程序*void led(void) if(alarm_flag=0) /闹钟未响闪烁一个灯 if(t%20<=10) LED=1; if(t%20>10) LED=0; if(alarm
36、_flag=1) /闹钟响应时闪烁八个灯 if(t%20<=10) P1=0xff; if(t%20>10) P1=0; /*正常时分显示程序*void show(void) uchar i=0; temp0=sec%10;temp1=sec/10; temp2=min%10; temp3=min/10;temp4=hour%10;temp5=hour/10; for(i=0;i<4;i+) P2=weii; P0=duantempi+2; delay(500); /*正常秒钟显示程序*void showsec(void) uchar i=0; temps0=sec%10;t
37、emps1=sec/10; for(i=0;i<2;i+) P2=weii; P0=duantempsi; delay(500); /*闹钟设定模式显示程序*void show2(void) uchar i=0; temp20=sec2%10; temp21=sec2/10; temp22=min2%10; temp23=min2/10; temp24=hour2%10; temp25=hour2/10; for(i=0;i<4;i+) P2=weii; P0=duantemp2i+2; delay(100); /*调整位标记显示程序*void show3(void) uchar
38、movv=0; switch(mov) case 0:movv=0;break; case 1:movv=2;break; P2=weimovv; P0=duan12; delay(100); /*键盘扫描程序*void keyscan(void) if(key1=1&&key2=1&&key3=1&&key4=1) return; if(key1=0) /key_mode键 delay(10);alarm_flag=0; /key1可停止闹钟(长按)if(key1=0) moshi+;if(moshi>=3) moshi=0; while(key1=0) / key_mode键按下到弹起期间 switch(moshi) case 0:show()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 京火计划-内容种草全链解决方案
- 施工现场安全试题及答案
- 文言字词测试题及答案
- 汽修类单招试题及答案
- 信号与系统试题及答案
- 电缆证考试题及答案
- 2024年纺织品设计师证书的应试方法试题及答案
- 国际美术设计师考试中的备考方法与技巧试题及答案
- 督灸相关试题及答案详解
- 助理广告师广告设计原则试题及答案
- 2025至2030中国二亚砜(dmso)市场深度调研及投资建议研究报告
- 铲车装载机知识培训课件
- 2025年辽宁省葫芦岛市绥中县中考一模语文试题含答案
- 家政经理培训课件
- 2024-2025学年高一下学期期中考试化学试卷
- 四川省南充市高级中学2024-2025学年高二下学期期中考试 化学(含答案)
- 国际教育规划合同8篇
- 浙江省宁波市三锋教研联盟2024-2025学年高一下学期4月期中化学试卷(含答案)
- 整装定制合同协议
- 产品研发项目管理制度
- 2025年全国中学生汉字听写大会比赛题库及解析(共八套)
评论
0/150
提交评论