


免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与应用课程设计 课题名称: 数字时钟的设计与实现 班级:08电子信息工程 学号: 姓名: 指导教师: 信息工程系题目:数字时钟的设计与实现一功能要求: 1用单片机和6位LED数码管显示时、分、秒,实现从00时00分00秒-23时59分59秒循环运行。 2用按键实现时、分、秒的调整。 3整点提醒:0、1、223和短蜂鸣。 4省电功能:关闭显示。 5定时设定提醒:时间到时发出五次蜂鸣声 6秒表功能:显示XX分XX秒XX 按“复位” 键:显示00分00秒00; 按“启动” 键:从00分00秒00开始计时 按“停止” 键:显示实际计时XX分XX秒XX。二硬件设计要求: 1用伟福6000实验装置上8255的A囗作显示段码锁存器 ,B囗作位码锁存器,利用发的实验器材6位LED数码管显示时、分、秒。 2利用伟福6000实验装置上8255的B囗的6根位码输出线和8255C囗中的PC0作按键的输入囗线,实现最多6个按键的识别,作为实现上述功能要求的硬件保证。 3伟福6000实验装置上提供给该课题的硬件是:AT89C51单片机(包括P1囗、P3囗)、8位可编程並行I/O囗8255(包括A囗、B囗、C囗)、地址译码电路、蜂码器及直流电源。 4本次设计提供给各组的器材有:(1)印刷电路板一块(2)7406集成电路3片(3)LED数码管6个(4)1K排阻2个,4.7K电阻一个。(5)40芯IC插座2个、14芯IC插座3个 (6)按键6个(7)焊锡、导线若干。三软件设计(仅供参考): 1主程序流桯图 2显示子程序的设计:(1)釆用十进制BCD(2)显示缓冲区的分配(3)要显示的数据送显示缓冲区(4)把显示的数据置换出段码(5)送段码和位码,进行显示(6)延时3定时中断服务子程序的设计(1)利用定时器T0定时10毫秒,累计到1秒时秒计数加1,累计到60秒时分计数加1,累计到60分时时计数加1,累计到24小时从头开始。(2)注意保护现场和恢复现场(3)注意设置毫秒、秒、分、时的存放单元四、软件仿真仿真部分由Protues实现。Protues可以嵌入单片机的二进制代码,便于程序调试。本次仿真的电路图如下所示:其中,按键为输入电路,为行列式设计,行线接入8255芯片的PC0口,列线分别对应接入8255芯片的PB0PB3口,与数码管的位选线共享端口。数码管为输出电路。本次实验一共要使用6个数码管,以动态显示方式轮番输出字符,6个数码管的段码线相互并联后接入8255芯片的PA端口,a、b、c、d、e、f、g端口分别连接PA0PA6端口,在8255芯片引脚和段码线之间分别一一串联7406芯片、并联一个排阻以提供激励,使数码管发亮。位选线则以数码管的接地线组成,从时十位、时个位、分十位、分个位、秒十位、秒个位分别接入8255芯片的PB0PB5端口,其中PB0PB3这四个端口分别并联上四个按键。同理,每个引脚和8255芯片之间都一一串联上7406芯片和并联上排阻。位选线负责选取某一时间片要显示哪一个数码管,显示间隔由源程序决定。五、焊接本次实验由于没有提供8051芯片、8255芯片。上述芯片均由伟福实验箱提供,焊接的时候需要在万用板上面预留PA、PB接线口。另外,万用板上面同时需要预留电源的正负极、PC0口接线,共计17个接线口。由于万用板的大小的限制及芯片引脚定义的影响,实际上的电路图不会和仿真软件的电路图完全一致,不过大体上还是一样的。还有,本次焊接实际上需要比较多的电线,尤其是数码管部分,由于相邻引脚非常贴近,在焊接的时候要非常留心,谨防相邻两点短路。在焊接完成后,由于背板上面线路众多,需要用胶纸固定整理,防止导线脱落。焊接完成后, 万用板上面已经有相应的接线,于是进行硬件实现部分。六、硬件实现本次硬件实现部分由伟福Lab6000实验箱提供8051芯片和8255芯片,分别连接万用板相应的接线。由伟福的Wave6000软件向实验箱上面的8051芯片烧入时钟的程序。另外,电源的正负极也是由Lab6000提供。电路板中有6个按键,不过实际上使用的有4个,就是离PA、PB连接端口较远的4个起作用,离PA、PB连接端口较近的两个没有定义。从远离端口的按键开始依次编号K1、K2、K3、K4,每个按键都有如下功能:1)当先按K1的时候,系统就进入调节时间状态,数码管上就显示时钟。K2、K3、K4的功能依次为选择调整的单元(时、分、秒),单元数值加1,退出调整状态,单元数值减1;2)当先按K2的时候,系统不作出任何反应,等待用户按K1、K3、K4;3)当先按K3的时候,系统就进入省电模式,数码管熄灭,然后按K1、K2、K3、K4任意一键即可点亮数码管并还原到上次的显示状态;4)当先按K4的时候,系统就进入秒表状态,数码管上面就显示秒表。K1、K2、K3、K4的功能依次为切换至时钟、显示暂停变化(内部继续计时)或者数码管继续变化、复位清零、暂停计时。七、程序所有程序如下所示 ORG 0000H AJMP MAIN ORG 000BH ;T0的中断入口 AJMP IT0PMAIN : MOV SP,#70H ;设置堆栈 MOV 36H,#00H ; 秒 MOV 37H,#00H ; 分 MOV 38H,#00H ; 时 MOV 43H,#99H ;给闹钟一个初值 MOV A,#89H ;工作方式 MOV DPTR,#0FF7FH ; MOVX DPTR,A ;工作方式 MOV TMOD,#01H ;设T0为方式1 初始状态 MOV 39H,#100 ;装入中断次数 SETB ET0 ;允许T0申请中断 SETB EA ;总中断允许 MOV TH0,#0D8H ;给T0装入计数初值 MOV TL0,#0F0H ;START: SETB TR0 ;启动T0 MOV 3AH,#36H ;给数据处理一个初值 LCALL DATAT ;数据处理 LCALL DISPLAY ;显示 MOV A,38H ;判断闹钟的时 CJNE A,43H,KEYI ;不相等就跳 MOV A,37H ;判断闹钟的分 CJNE A,42H,KEYI ; MOV A,36H ;判断闹钟的秒 CJNE A,41H,KEYI ; CLR P1.0 ;启动蜂鸣KEYI: LCALL KS1 ;判断有没键按下 判断键按下? JZ LK1 ;有按下,是抖动? LJMP START ;回主程序LK1: LCALL DIR ;停一下 防抖动 LCALL DIR ; LCALL KS1 ;再检查有没键按下 JZ LK2 ;有按下则扫描并处理 LJMP START ;回主程序LK2: ACALL LK ;扫描键 扫描 MOV 40H,#00H ;按键次数LK3: LCALL KS1 ;是否松手 松手检测 JZ LK3 ; MOV A,3DH ;扫描得来的键位 JB Acc.0,CHTIMEI ;从左到右数键1 调时 主 菜单 JB Acc.1,CLOCKI ; 闹钟 JB Acc.2,SAVEI ; 省电 JB Acc.3,WATCHI ; 秒表 LJMP START ;CHTIMEI:LJMP CHTIME ;调时 入口地址CLOCKI :LJMP CLOCK ;闹钟 入口地址SAVEI :LJMP SAVE ;省电 入口地址WATCHI :LJMP WATCH ;秒表 入口地址CHTIME: CLR TR0 ;暂停时钟时钟 调时-功能 MOV 3AH,#36H ;给数据处理一个初值 LCALL DATAT ;数据处理 LCALL DISPLAY ;显示 LCALL KS1 ;判断有没键按下 判断键按下? JZ LK4 ;有按下,是抖动? LJMP CHTIME ;返回调时LK4: LCALL DIR ;停一下 调时防抖动 LCALL DIR ; LCALL KS1 ;再检查有没键按下 JZ LK6 ;有按下则扫描并处理 LJMP CHTIME ;返回调时LK6: LCALL LK ;扫描键LK5: LCALL KS1 ;是否松手 JZ LK5 ; MOV A,3DH ;扫描得来的键位 JB Acc.0,XUANW ;从左到右数键1 选位 调时菜单 JB Acc.1,ADDBCD ; 加1 JB Acc.2,OUT ; 退出 JB Acc.3,SUBCD ; 减1 LJMP CHTIME ;返回调时XUANW: MOV A,#36H ;选位的初值 调时选位 INC 40H ;累加偏移量 ADD A,40H ; CJNE A,#39H,CHTIME ;判断是否选位过度OUT: LJMP START ;回主程序 调时退出ADDBCD: MOV A,#36H ;操行位初值 调时加1 ADD A,40H ;求出操作位 MOV R0,A ; INC R0 ;+1 LJMP CHTIME ;返回调时SUBCD: MOV A,#36H ;操行位初值 调时减1 ADD A,40H ;求出操作位 MOV R0,A ; DEC R0 ;-1 LJMP CHTIME ;返回调时CLOCK: MOV 41H,#00H ;闹钟初值 闹钟-功能 MOV 42H,#00H ; MOV 43H,#00H ;CLOCK1: MOV 3AH,#41H ;给数据处理一个初值 LCALL DATAT ;数据处理 LCALL DISPLAY ;显示 LCALL KS1 ;判断有没键按下 判断键按下? JZ LK14 ;有按下,是抖动? LJMP CLOCK1 ;返回闹钟LK14: LCALL DIR ;停一下 闹钟防抖动 LCALL DIR ; LCALL KS1 ;再检查有没键按下 JZ LK16 ;有按下则扫描并处理 LJMP CLOCK1 ;返回闹钟LK16: LCALL LK ;扫描键LK15: LCALL KS1 ;是否松手 JZ LK15 ; MOV A,3DH ;扫描得来的键位 JB Acc.0,XUANW1 ;从左到右数键1 选位 闹钟菜单 JB Acc.1,ADDBCD1 ; 加1 JB Acc.2,OUT1 ; 退出 JB Acc.3,SUBCD1 ; 减1 LJMP CLOCK1 ;返回闹钟XUANW1: MOV A,#41H ;选位的初值 闹钟选位 INC 40H ;累加偏移量 ADD A,40H ;判断是否选位过度 CJNE A,#44H,CLOCK1 ;返回闹钟OUT1: LJMP START ;回主程序 闹钟退出ADDBCD1:MOV A,#41H ;操行位初值 闹钟加1 ADD A,40H ;求出操作位 MOV R0,A ; INC R0 ;+1 LJMP CLOCK1 ;返回闹钟SUBCD1: MOV A,#41H ;操行位初值 调时减1 ADD A,40H ;求出操作位 MOV R0,A ; DEC R0 ;-1 LJMP CLOCK1 ;返回闹钟SAVE: MOV A,#0FFH ;段码置1 省电-功能 MOV DPTR,#0FF7CH ; MOVX DPTR,A ; 黑屏省电 LCALL KS1 ;判断有没键按下 判断键按下? JZ LK24 ;有按下,是抖动? LJMP SAVE ;返回省电LK24: LCALL DIR ;停一下 省电防抖动 LCALL DIR ; LCALL KS1 ;再检查有没键按下 JZ LK25 ;有按下则扫描并处理 LJMP SAVE ;返回省电LK25: LCALL KS1 ;是否松手 松手检测 JZ LK25 ; LJMP START ;回主程序 省电退出WATCH: MOV 44H,#00H ;秒表初值 秒表-功能 MOV 45H,#00H ; MOV 46H,#00H ;GOO: MOV A,45H ;继点和暂停的保存 MOV 49H,A ; MOV A,46H ; MOV 4AH,A ; MOV A,44H ; MOV 48H,A ; CJNE A,#100,STOP ;是否到1秒,未到则返回 MOV 44H,#00H ;脉动清0 INC 45H ;增加秒 MOV A,45H ; CJNE A,#60,STOP ;是否到60秒,未到则返回 MOV 45H,#00H ;秒单元清0 INC 46H ;增加分STOP: MOV 3AH,#44H ;给数据处理一个初值 LCALL DATAT ;数据处理 LCALL DISPLAY ;显示 LCALL KS1 ;判断有没键按下 判断键按下? JZ LK34 ;有按下,是抖动? LJMP GOO ;返回秒表LK34: LCALL DIR ;停一下 防抖动 LCALL DIR ; LCALL KS1 ;再检查有没键按下 JZ LK36 ;有按下则扫描并处理 LJMP GOO ;返回秒表LK36: LCALL LK ;扫描键LK35: LCALL KS1 ;是否松手 JZ LK35 ; MOV A,3DH ;扫描得来的键位 JB Acc.1,HOLDON ;从左到右数键2 继点 秒表菜单 JB Acc.2,WATCH ; 秒表复位 JB Acc.3,STOPI ; 连续暂停OUT3: LJMP START ;回主程序 秒表退出GOON1: MOV 3AH,#44H ;给数据处理一个初值 秒表连续 LCALL DATAT ;数据处理 MOV A,45H ;继点和连续暂停的保存 MOV 49H,A ; MOV A,46H ; MOV 4AH,A ; MOV A,44H ; MOV 48H,A ;STOPI: MOV A,44H ; 秒表暂停 CJNE A,#100,GOON ;是否到1秒,未到则返回 MOV 44H,#00H ;脉动清0 INC 45H ;增秒 MOV A,45H ; CJNE A,#60,GOON ;是否到60秒,未到则返回 MOV 45H,#00H ;秒单元清0 INC 46H ;增分GOON: LCALL DISPLAY ;显示 LCALL KS1 ;判断有没键按下 判断键按下? JZ LK44 ;有按下,是抖动? LJMP STOPI ;返回秒表暂停LK44: LCALL DIR ;停一下 防抖动 LCALL DIR ; LCALL KS1 ;再检查有没键按下 JZ LK46 ;有按下则扫描并处理 LJMP STOPI ;返回秒表暂停LK46: LCALL LK ;扫描键LK45: LCALL KS1 ;是否松手 JZ LK45 ; MOV A,3DH ;扫描得来的键位 JB Acc.1,HOLDON ;从左到右数键2 继点 (秒表之连续暂停菜单) JB Acc.2,WATCH1 ; 复位 JB Acc.3,GOON1 ; 连续暂停之连续暂停 LJMP START ; 退出WATCH1: LJMP WATCH ; 连续暂停的秒表复位HOLDON: MOV A,48H ;把保存值放回秒表 秒表继点 MOV 44H,A ; MOV A,49H ; MOV 45H,A ; MOV A,4AH ; MOV 46H,A ; LJMP GOO ;返回秒表KS1: MOV DPTR,#0FF7DH ;给PB送0 ;子程序之测键按下否 MOV A,#03FH ; MOVX DPTR,A ; INC DPTR ;到PC口 MOVX A,DPTR ;取PC值 ANL A,#01H ;只取第一位 RET ;返回LK: MOV A,#20H ;给初始位选码 ;子程序之扫描键LK9: MOV 3DH,A ;保存位选码 MOV DPTR,#0FF7DH ; MOVX DPTR,A ;位选码给PB口 INC DPTR ;到PC口 MOVX A,DPTR ;把PC给A JNB Acc.0,LK8 ;扫到键就跳 MOV A,3DH ;恢复位码 RR A ;右移 CJNE A,#7FH,LK9 ;扫了6次?LK8: MOV A,3DH ;恢复位选码 RET ;返回DATAT: MOV R0,3AH ; ;子程序之数据处理 MOV A,R0 ; MOV B,#10 ; DIV AB ; MOV 30H,B ; MOV 31H,A ; INC 3AH ; MOV R0,3AH ; MOV A,R0 ; MOV B,#10 ; DIV AB ; MOV 32H,B ; MOV 33H,A ; INC 3AH ; MOV R0,3AH ; MOV A,R0 ; MOV B,#10 ; DIV AB ; MOV 34H,B ; MOV 35H,A ;DISPLAY:MOV A,#20H ;初始化 ;子程序之显示 MOV R0,#30H ;显示初地址ld0: MOV 3BH,A ;保存位选 MOV DPTR,#0FF7DH ; MOVX DPTR,A ;位选码给PB口 MOV A,R0 ; MOV DPTR,#TAB ;取表地址 MOVC A,A+DPTR ;查表 MOV DPTR,#0FF7CH ; MOVX DPTR,A ;段选给PA MOV 3CH,#0FFH ;显示的延时del1: DJNZ 3CH,del1 ; INC R0 ; MOV A,3BH ;恢复位选 RR A ; JNB Acc.7,ld0 ;判断是否显示了6次 RET ;返回DIR: MOV 3EH,#0AH ; ;子程序之延时DIR1: MOV 3FH,#0F0H ;DIR2: DJNZ 3FH,DIR2 ; DJNZ 3EH,DIR1 ; RET ;返回TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;LED的字模 DB 92H,82H,0F8H,80H,90H ;0123456789IT0P : PUSH A ;保存A ;时钟中断 MOV TH0,#0D8H ;重装初值 MOV TL0,#0F0H ; INC 44H ;脉动 DJNZ 39H,RETURN ;1秒未到,返回 MOV 39H,#100 ;重置中断次数 INC 36H ;增加秒 MOV A,36H ; CJNE A,#60,RETURN ;是否到60秒,未到则返回 MOV 36H,#00H ;秒单元清0 SETB P1.0 ;停蜂鸣 INC 37H ;增加分 MOV A,37H ; CJNE A,#60,RETURN ;是否到60分,未到则返回 MOV 37H,#00H ;分单元清0 CLR P1.0 ;整点蜂鸣 INC 38H ;增加时 MOV A,38H ;恢复A中的时 CJNE A,#24,RETURN ;是否到24时,未到则返回 MOV 38H,#00H ;时单元清0RETURN: POP A ;恢复A RETI ;中断返回 END八、心得感想XX1(电路图):电路图的时候其实也并非简单,为了焊接方便,在了解了电路原理以后,我需要多次重新排版,一次次地连线,然后将每次重新排版的电路图保存下来比较,最后才得出最简单的连接图。XX2(焊接):我觉得焊接最首先要做的就是了解芯片的用途,引脚,把电路图看明白,大体回路怎样连线有个谱,怎样编排电路元件才使焊接最容易,这都要对引脚的接法熟悉才行,在焊接时每一步都很重要,我都先会把芯片和数码管的反面图画出来,先找引脚,然后用线连起来,焊接时我最怕两条回路的焊锡连在一起,焊接时我经常把锡焊的太大块以至产生不少错误,不过一熟悉了就会比较快了,不过一焊久了,就会感到烦,特别是焊错时,所以我觉得焊接时心态很重要,这也让我明白做事要认真,特别是我们这个专业,耐心要很好,哪怕错了都要慢慢找,直到纠正过来,虽然过程很辛苦,但焊好那一刻真的感到很满意,因为毕竟是自己做的。XX3(焊接):做了焊接以后,我发现动手能力完全不同于平时的课本学习体验的,是一种实践。有助于对理论知识的理解。而在操作过程中,熟悉了就能生巧。XX杰(软件):一程序的基础程序的基础很重要。程序的基础是指程序中所包含的子程序和中断程序。写一个程序通常要从基本的做起然后不断地累加上去。每加一层,都要以之前的为基础。所以如果之前的是正确的,但现在不正确,那就容易显现出问题,方便修改。如先写显示,再写显示时钟,接着写按键测量和扫描,最后才是功能的实现。每更加一种,我都会确保之前的为正确。所以程序的基础很重要。这个程序的基础包括有数据处理,显示程序,按键检测,按键扫描,延时程序还有时钟的中断。虽然程序中防抖动和松手检测没有写成子程序,但也是程序的基础。数据的处理。这个我先后重写了3次。每次都以不同方式来处理数据。当然,每一次的重写,我都产生了新的处理方法,而且简化了处理,重点是处理要的是灵活性和通用性。处理数据的程序不是固定只处理几个内存单元。处理数据的程序具有相当的灵活性。它可以随着给出初值的不同,而改变所要处理的区域,从而得出不同而又所需的数据。这对后来秒表的数据处理和秒表内部功能影响很大。所以数据处理的方式是整个程序的核心。显示程序。显示程序与数据处理的原理很不同。显示程序要的是固定的内存单元才具有通用性。而在固定的内存单元中体验出灵活性就需要数据处理的带动。数据处理完了,就会给固定的单元传送数值。显示程序通过对数值的识别,进而显示出不同的数字。通常检查一般的错误,就从LED的显示中得出,从而再进行相应的措施。所以显示程序是整个程序的基础。按键检测是一个调用得最频繁的子程序。是判断是否有键按下的子程序。所以也是一个相当基础和重要的程序。这是按键扫描前提,是防抖动和松手检测的重要组成部分。按键扫描是判断按了哪个键,从而选择进入不同功能的操作。它是控制程序流向的关键。所以它所找出的值都要用一个内存单元来存放,防止丢失。延时程序是用来放在防抖动当中的,为了区别抖动与按下的重要手段。防抖动是由两个按键检测和一个延时程序来实现的(当然少不了包括跳转)。防抖动是在现实环境中必需的,所以也必需写上去。松手检测只是一个按键检测(当然少不了包括跳转)。它是判断按了几次的重要部件。没有它,程序根本没法判断是按了几次,更不能判断应该跳到哪个程序入口。时钟的中断是时钟和秒表的“动力”。是数据的来源。是开始的开始。 二程序具用的功能 程序的主体功能有整点蜂鸣,调时,闹钟,省电,秒表。整点蜂鸣这个是在整个程序中占用语句最少的一个功能。它主要实现的是到整点时蜂鸣。那么我顺着它的意思,把它寄放在时钟中断中。当时加一时,蜂鸣自动启动,当过一分钟蜂鸣自动消除。调时。是第一个要通过按键来实现的功能。所以要想实现调时,前提是程序的基础必需正确。而调时所包括的分功能有选位,加1,退出,减1。它是通过调整存储时间的内存单元的值来实现的。它是K1键。1选位。进入调时功能后,选位键才被激活。它和调时一样都是K1键。当进入调时时,默认是改变秒的位。如果选位键被按下一次,就会变为改变分的位;按下两次,就会变为改变时的位;按下三次就默认完成调时并退出调时返回主程序。这是由40H单元来存放按了几次,并相应求出要选位的内存单元。2加1。进入调时功能后,加1键才被激活。它是K2键。它是使选中的位相应加1。3退出。进入调时功能后,退出键才被激活。它是K3键。它是从调时中快速返回到主程序的出口。换句话说就是可以调整到一半就可以返回主程序,不必等选位完成。4减1。进入调时功能后,减1键才被激活。它是K4键。它是使选中的位相应减1。闹钟。闹钟原理与调时原理相似。都是改变某些内存单元的值。不同的是,这些被改变的值是固定用来和时钟的值作比较的。当数值相同时就激发蜂鸣。可以通过调整闹钟设定的秒数来控制蜂鸣时间的长短。而闹钟所包括的分功能有选位,加1,退出,减1。它是K2键。1选位。进入闹钟功能后,选位键才被激活。它是K1键。当进入闹钟时,默认是改变秒的位。如果选位键被按下一次,就会变为改变分的位;按下两次,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件中大括号的使用
- 2025年摄影测量员技能鉴定模拟题及解析
- 2025年管理咨询师职业资格考试试题及答案解析
- 小学生简笔画教学课件
- 2025年自动化控制工程师高级面试题
- 课件上传解析失败的原因
- 2025年美容整形咨询师初级培训课程与模拟题
- 课件、看书、诗歌、文案简短
- 2025年安全创新知识竞赛题及答案
- 初中有效教学讲座课件
- 2022版义务教育艺术课程标准美术新课标学习解读课件
- 注射泵操作使用课件
- 【A公司轮胎出口业务的营销策略探究开题报告8000字(论文)】
- 2024年山东省东营市中考语文试卷真题(含答案解析)
- 云南省昆明市五华区云南师范大学附属小学2024届小升初考试数学试卷含解析
- DZ∕T 0248-2014 岩石地球化学测量技术规程(正式版)
- 某某信访案件化解方案
- +【高中语文】文章修改(教学课件)+高二语文+(统编版+选择性必修下册)
- 四年级四年级下册阅读理解20篇(附带答案解析)经典
- 水泥托盘项目方案
- 办公用品售后服务方案
评论
0/150
提交评论