1、 1工业装备控制工程 课程设计设计说明书题目:注塑机注塑过程(动作)程序控制郝心仁提交日期: 2011 年 6 月 24 日 签名: 学 号 201230051399 学 院 机械与汽车工程学院任课教师 王老师 课程名称 工业装备控制工程 课程设计教师评语:成绩评定: 分 任课教师签名: 年 月 日2目录一、课程设计的任务 3二、课程设计的目的 3三、课程设计的要求 3四、设计方案的选型和创新点 3五、设计系统构成 41、注塑机的结构 42、注塑机控制系统的组成 5六、工作原理 51、注塑机的工作过程 5七、工作流程图 7八、注塑机油路图及注塑过程控制说明表 9九、程序设计 111、主程序 B
2、LMain.asm112、头文件 GP32ASM.H.233、子程序 253.1 MUSIC.asm .253.2 H08SCI.asm.293.3 GP32Init.asm323.4 SCIInit.asm 333.5 KB_Sub.asm 333.6 ADsub.asm.35十、调试步骤和方法 38十一、体会与建议 40十二、注塑机机筒温度控制(选做) 41十三、参考资料 443一、课程设计的任务利用“嵌入式在线编程集成开发系统”设计一个模拟“注塑机注塑过程(动作)控制”的控制系统程序。在规定时间内完成课程设计任务书要求,写出一份设计说明书及相应的设计程序、图纸等。二、课程设计的目的本课程
3、设计是配合电工基础与电子技术 、 自动控制原理 、 单片机设计技术 、 过程装备控制 、 液压与气动等课程的一个综合性课程设计,学时为两周,要求用微机设计一个控制系统。三、课程设计的要求用“嵌入式在线编程集成开发系统实验装置”模拟“注塑机注塑过程(动作)程序控制” 。程序的编写、调试、模拟等过程必须在“嵌入式在线编程集成开发系统实验装置”上完成,在“注塑机注塑过程(动作)程序控制模拟板”上检查、验收程序,最后完成注塑机注塑过程(动作顺序)控制说明表。四、设计方案的选型和创新点通过控制相应 LED 灯的亮、暗来表示注塑机相应动作状态,灯的闪烁表示正在执行该动作,而灯闪烁的频率则表示该动作的快慢,
4、并通过延时程序、开关输入量变化等来实现注塑机注塑过程动作顺序的控制。在完成注塑机注塑过程(动作)程序控制的基础上,我们添加了如下功能:1、 在注塑全程中监控行程开关的状态。若故障或是出错,比如合模时安全门被打开,系统开模、停止工作并报警。2、 在取出制品后,系统唱响音乐欢乐颂 ,表示完成一次注塑过程。3、 添加键盘控制模块,模拟实现注塑机的步进调试,半自动操作。键盘上的一个按键对应着一个注塑动作,通过按键可以对注塑动作进行逐个调试,看系统是否出现故障,也有利于出故障时的检测。同时,通4过改变微机程序,可以调节注塑中各动作的时机、时间,进而调整工艺效果,比如改变保压、冷却时间,比较其保压、冷却效
5、果,进而调试出合理的工艺参数。4、 添加 AD 转换模块,利用微机可将模拟量转换为数字量的功能,模拟监控注射时的压力,防止注射压力过高而损坏模具。当注射环节中压力过高时,系统开模报警,从而实现对模具的保护。五、设计系统构成1、注塑机的结构注塑机是将热塑性塑料或热固性塑料制成各种塑料制品的主要成型设备。一台通用型注塑机的工作过程如下:粒状或粉状塑料从注塑机的料斗被送进已加热了的具有一定温度的料筒中,经过加热熔化呈流动状态后,由螺杆推动而通过料筒前端的喷咀,注入闭合模具中,经过冷却固化后即成为塑料制品。一台通用注塑机主要包括四大部分:(1) 、注射部分它的主要作用是使塑料塑化成熔融状态,并以足约的
6、压力和速度将一定熔料注到模腔内。因此,注射装置应该具有塑化良好,计量精确性能,并且在注射时对熔料能提供压力和速度。注射装置一般由塑化部分(螺杆、料简和喷嘴等)、料斗、计量装置、螺杆传动装置及注射和注射座移动(射移)油缸等组成。(2) 、合模部分它是保证成型模具可靠地闭合和实现模具启闭动作,并顶出制品。因为在注射时,进入模腔中的熔料还具有一定的压力,这就要求合模(锁模)装置给予模具以足够的合紧力,以防止在熔料的压力下模具被打开从而导致制品溢边或使制品精度下降。合模装置主要由模板、拉杆(哥林柱)、合模机构(如机铰)、制品顶出装置和安全门、调模装置等组成。(3) 、液压系统注塑机是由塑料熔融、模具闭
7、合、注射入模、压力保持、制品固化,开模取出制品等工序组成的连续生产过程,液压和电气则是为了保证注塑机按工艺过程预定的要求(压力、速度、温度、时间及位置)和动作程序,准确无误地进5行工作而设置的动力和控制系统。液压部分主要有动力油泵、比例压力阀(控制压力变化)、比例流量阀(控制速度变化)、方向阀、管路、油箱等。(4) 、控制系统控制系统是控制注塑机生产周期的动作程序(顺序控制)及维持加工过程的温度、时间、压力及速度处于设定值(过程控制) 。电气部分主要由动力、动作程序和加热等控制所组成。2、注塑机控制系统的组成近年来由于微处理机迅速发展,在注塑机上的应用日益普遍,把注塑机的控制水平提高到一个崭新
8、的阶段。注塑机微处理芯片(CPU)组成部分:包括四则运算和逻辑运算单元(运算器)及控制单元(控制器)等功能。这些单元全都装在 23 片的大规模集成电路(LSI)芯片上。因此注塑机的微电脑控制系统也具有 LSI 所具有的体积小、成本低、集成度高的特点。本课程设计使用的是嵌入式在线编程集成开发系统实验装置,其硬件部分主要由 MC68HC908GP32 芯片及外围电路、LCD、键盘、模块化电源、串行口驱动电路、IC 插线及其它元件扩展槽、输出开关量接线排、输入开关量接线排等部分组成。其作用是通过 MC68HC908GP32 芯片的监控程序和 PC 机进行通信,完成芯片程序的写入、运行、断点调节。嵌入
9、式在线编程集成开发系统软件功能和应用详见嵌入式在线编程集成开发系统使用手册 。六、工作原理1、注塑机的工作过程每台注射机的动作程序可以不完全一样,但从所要完成的工艺内容即基本工序来看,其动作过程可大致表示成图 1.1 注塑机注射工艺动作过程所示的基本循环程序:在注塑机控制系统中,按照注塑工艺进行的动作,例如“关安全门” “锁模” “注射座(射台)前进” “注射” “保压” “冷却” “熔胶” “开模”“制品顶出”这些动作称为顺序控制。以工艺动作顺序解析如下:6图 1.1 注塑机注射工艺动作过程(1)合模和锁紧注塑机的成型周期一般从模具开始闭合时起。模具首先以低压力快速进行合模,当动模板(二板)
10、与定模板(头板)接近时,合模的动力系统应改切换成低压和低速,在确定模腔内无异物存在时,再切换成高压而将模具锁紧。(2)注射装置前移和注射在确定模具达到所要求的合紧力,注射座(射台)前移,使喷嘴与模具贴合,当喷嘴与模具完成贴合后,便可向注射油缸接入压力油。与注射油缸活塞相接的螺杆,则以高压高速将塑料熔料注入模腔。此时螺杆头部作用于熔料上的压力叫做注射压力,又称为射胶压力。(3)压力保持(保压)注入模腔的熔料,由于模具的冷却作用,使注入模腔内的熔料在冷却时产生收缩,为了注射制品质量达到要求,必须对熔料保持一定的压力进行补缩。此时螺杆作用于熔料上的压力称之为保压压力,在保压过程螺杆因补缩而有少量的前
11、移。(4)制品冷却和预塑化当保压进行到模腔的熔料失去浇口回流可能性时(即浇口封闭) ,注射油缸内的保压压力即可卸去(此时合模油缸内的高压也可撤除),使制品在模内冷却定型。此时,螺杆在液压马达的驱动下转动,将料斗送来的粒状或粉状的塑料向前输送,并使其塑化。由于螺杆头部熔料压力作用,使螺杆在转动的同时又产生后退。螺杆在塑化时的后移量,即表示了螺杆头部前面所积存的熔料积量。当螺杆回退到计量值时,螺杆即停止转动,准备下一次注射。制品冷却与螺杆塑化7在时间上是重叠的,在一般情况下,要求螺杆塑化计量时间少于制品冷却时间。(5)注射装置后退和开模顶出制品螺杆塑化计量完毕后,为了使喷嘴不致于因长时间和冷模接触
12、而形成冷料等缘故,经常需要喷嘴撤离模具,即注射装置后退,此动作进行与否或先后的程序,机器均可供选择。模腔内的熔料经冷却定型后,合模装置此时开模,并自动顶出制品。七、工作流程图在注塑机的自动控制中,既有时间顺序控制又有逻辑顺序控制,这种控制系统又称为程序控制系统。在顺序控制系统中,使控制系统完成某一操作的信号,称作为控制指令。注射机动作顺序控制是开环控制。例如下图。注射机动作顺序控制流程框图图中用方块表示注塑机动作顺序的输入、输出口信号,其中 P 为输出口、K 为行程开关输入。工作中注塑机动作与对应微机接口、键盘按键如下:注 塑 机动 作 合 模 注 射座前 移 注 射 保 压 冷 却 塑 化注
13、 射座后 退 开 模顶 出制 品 取 出制 品 报 警 音 乐 半 自动操 作 AD监 控对 应微 机 接 口 PTC.4PTB.1PTB.2PTB.3PTB.4PTB.5PTB.6PTB.7PTC.0PTC.1PTC.2PTC.3 / PTB.0对 应键 盘 按 键 1 2 3 4 5 5 6 7 8 9 0 / A /行 程 开 关 安 全 门 闭 合信 号 K1 模 具 高 压锁 紧 信 号 K2 注 射 信 号 K3 保 压 、 塑 化信 号 K4 开 模 信 号 K5 注 射 座 后 退完 成 信 号 K6对 应微 机 接 口 PTD.0 PTD.1 PTD.2 PTD.3 PTD.
14、4 PTD.5实验操作流程图如下:8硬件连接,写入程序程序初始化按 A,进入半自动操作按*,09,执行相应动作关闭安全门 K1=1,合模灯闪烁,由慢闪变快闪再到慢闪,表示合模“慢-快-慢”的速度变化反复检测高压锁紧信号( K2=1)吗?注射座前移闪烁,直到碰到行程开关(K3=1 )注射灯闪烁,直到碰到行程开关(K4=1)保压灯闪烁,持续 20 秒冷却灯闪烁,持续 30秒 塑化灯闪烁,直到碰到行程开关(K4=0)注射座后退灯闪烁,直到碰到行程开关(K6=1)开模灯闪烁, “慢-快-慢”碰到行程开关(K5=1)顶出制品灯闪烁,直到碰到行程开关(K5=0)K4 K5 同时为 0,顶出制品灯闪烁,然后
15、播放音乐欢乐颂 开模灯闪烁,喇叭报警,停止工作时间超过 20 秒注射压力超过设定值半自动操作中,行程开关故障出错都不是9八、注塑机油路图及注塑过程控制说明表注射机液压原理图1011九、程序设计1、主程序 BLMain.asm*程序说明: 灯闪烁,表示正在执行该动作* 灯闪烁频率快慢,表示该动作的速度快慢* 灯的亮、暗,表示该动作所处状态(维持或是完成)*功能说明: 键盘按键 09,执行相应注塑机的动作,实现步进调试* 按键*,系统初始化;按键 A,半自动化操作* 添加 AD 模块,模拟检测压力状况。注射压力过高时,开模报警* 对行程开关进行监控,若有故障出错,开模报警*硬件连接:PTB.0 接
16、 AD 口,PTD.05 按序接 6 个开关,* PTC.4,PTB.17,PTC03 按序接入灯或喇叭*头文件$include “GP32ASM.H“ ;头文件*内存变量ORG $0040 ;变量声明I1 RMB 1I2 RMB 1*主程序ORG $8000 ;程序起始MainInit:SEILDHX #$023FTXSJSR GP32initJSR SCIInit ;调串行口初始化子程序 SCIInit;A/D 初始化,用内部总线时钟,2 分频LDA #%00110000STA ADCLK;程序初始化LDA #%11111110 ;定义 PTB.0 输入,PTB.17 输出STA DDRB
17、LDA #%11000000 ;注射座后退、开模灯亮,其余灯灭STA PTBLDA #%11111 ;定义 PTC.04 输出STA DDRCLDA #%00000 ;灯灭,喇叭不响STA PTCLDA #%000000 ;定义 PTD.05 输入STA DDRDLDA #%000000 ;所有开关置零STA PTD12STA PTDPUEJSR KB_InitBCLR 1,INTKBSCRCLIMainLoop: ;空循环NOPNOPBRA MainLoopKB_INT:SEIPSHHBSET 1,INTKBSCROUT1:JSR KB_SCANCMP #$EE ;按 1,合模BNE OUT
18、2JMP HEMOOUT2:CMP #$DE ;按 2,注射座前移BNE OUT3JMP QIANYIOUT3:CMP #$BE ;按 3,注射BNE OUT4JMP ZHUSHEOUT4:CMP #$ED ;按 4,保压BNE OUT5JMP BAOYAOUT5:CMP #$DD ;按 5,冷却、塑化BNE OUT6JMP LENGQUESUHUAOUT6:CMP #$BD ;按 6,注射座后退BNE OUT7JMP HOUTUIOUT7:CMP #$EB ;按 7,开模BNE OUT8JMP KAIMOOUT8:13CMP #$DB ;按 8,顶出制品BNE OUT9JMP DINGCHU
19、OUT9:CMP #$BB ;按 9,取出制品BNE OUT10JMP QUCHUOUT10: CMP #$D7 ;按 0,报警BNE OUT11JMP BAOJINGOUT11:CMP #$7E ;按 A,半自动操作BNE OUT12JMP BANZIDONGOUT12:CMP #$E7 ;按*,系统初始化BNE OUT13JMP CHUSHIHUAOUT13:KB:JSR KB_InitBCLR 1,INTKBSCRPULH CLIRTICHUSHIHUA: ;系统初始化JMP MainInitHEMO: ;开模灯灭,合模灯闪烁,慢-快-慢,表示正在合模BCLR 7,PTBMAN1: ;慢
20、闪,5 秒LDX #!24MAN11:BCLR 4,PTCJSR DELAY1 ;延时子程序,延时 0.1 秒BSET 4,PTCJSR DELAY1DBNZX MAN11KUAI1: ;快闪,10 秒LDX #!96 KUAI11: 14BCLR 4,PTCJSR DELAY2 ;延时子程序,延时 0.05 秒BSET 4,PTCJSR DELAY2DBNZX KUAI11MAN2: ;慢闪,5 秒LDX #!24 MAN21:BCLR 4,PTCJSR DELAY1 ;延时子程序,延时 0.1 秒BSET 4,PTCJSR DELAY1DBNZX MAN21JMP KBQIANYI:BCL
21、R 6,PTB ;注射座后退灯灭,BSET 4,PTCLDX #!24 SHAN1: ;注射座前移灯闪烁 5 秒后亮着,表示注射座已前移至设定位置BCLR 1,PTBJSR DELAY1BSET 1,PTBJSR DELAY1DBNZX SHAN1JMP KBZHUSHE: ;注射灯闪烁 5 秒后变暗,表示注射完毕BSET 1,PTBLDX #!24 SHAN2:BSET 2,PTBJSR DELAY1BCLR 2,PTBJSR DELAY1DBNZX SHAN2JMP KBBAOYA: ;保压灯闪烁 10 秒(时间可调)后灭灯,表示保压结束BCLR 2,PTBLDX #!48 SHAN3:B
22、SET 3,PTBJSR DELAY115BCLR 3,PTBJSR DELAY1DBNZX SHAN3JMP KBLENGQUESUHUA: ;冷却、塑化灯同时亮,表示冷却、塑化同时进行BCLR 3,PTBBSET 4,PTBBSET 5,PTBJMP KBHOUTUI: ;注射座后退灯闪烁 5 秒后变暗,表示注射座后退至设定位置BCLR 1,PTBBCLR 5,PTBLDX #!24 SHAN5:BCLR 6,PTBJSR DELAY1BSET 6,PTBJSR DELAY1DBNZX SHAN5LDX #!12 ;等待冷却结束SHAN55:JSR DELAY1JSR DELAY1DBNZ
23、X SHAN55BCLR 4,PTBJMP KBKAIMO: ;开模灯闪烁, “慢-快-慢”BCLR 4,PTCBCLR 4,PTBMAN3:LDX #!24 MAN31: ;慢闪,5sBCLR 7,PTBJSR DELAY1BSET 7,PTBJSR DELAY1DBNZX MAN31KUAI2: ;快闪,10sLDX #!96 KUAI21: BCLR 7,PTB16JSR DELAY2BSET 7,PTBJSR DELAY2DBNZX KUAI21MAN4: ;慢闪,5sLDX #!24 MAN41:BCLR 7,PTBJSR DELAY1BSET 7,PTBJSR DELAY1DBNZ
24、X MAN41BSET 7,PTBJMP KBDINGCHU: ;顶出制品灯闪烁LDX #!10 MAN5: ;慢闪 2sBSET 0,PTCJSR DELAY1BCLR 0,PTCJSR DELAY1DBNZX MAN5JMP KBQUCHU: ;取出制品灯闪烁BCLR 0,PTCLDX #!24 SHAN6:BSET 1,PTCJSR DELAY1BCLR 1,PTCJSR DELAY1DBNZX SHAN6JMP KBBAOJING: ;喇叭报警,开模灯亮,喇叭响BCLR 4,PTCBSET 2,PTCLDX #!10MAN6:BCLR 7,PTBJSR DELAY1BSET 7,PTB
25、17JSR DELAY1DBNZX MAN6BCLR 2,PTCJMP MainInitBANZIDONG: ;半自动操作LDA #%11000000 ;注射座后退、开模灯亮,其余灯灭STA PTBLDA #%00000STA PTCLDA PTDCMP #%000001BEQ HEMO2CMP #%000000BEQ JIXU99JMP BAOJINGJIXU99:JMP BANZIDONGHEMO2: ;合模BCLR 7,PTBMAN12:LDX #!24MAN112: ;慢闪,5sLDA PTDCMP #%000001BNE BAOJINGBCLR 4,PTCJSR DELAY1BSET
26、 4,PTCJSR DELAY1DBNZX MAN112KUAI12: ;快闪,10sLDX #!96 KUAI112: LDA PTDCMP #%000001BNE BAOJINGBCLR 4,PTCJSR DELAY2BSET 4,PTCJSR DELAY2DBNZX KUAI112MAN22: ;慢闪,5sLDX #!24 18MAN212:LDA PTDCMP #%000011BEQ QIANYI2CMP #%000001BNE BAOJINGBCLR 4,PTCJSR DELAY1BSET 4,PTCJSR DELAY1DBNZX MAN212JMP BAOJINGQIANYI2:
27、;注射座前移BCLR 6,PTBBSET 4,PTCBCLR 1,PTBJSR DELAY1BSET 1,PTBJSR DELAY1LDA PTDCMP #%000111BEQ ZHUSHE2CMP #%000011BEQ JIXU22JMP BAOJINGJIXU22:JMP QIANYI2ZHUSHE2: ;注射LDA #$00 ;采集通道 0,并求 20 次的平均值LDX #!20JSR adave ;调 A/D 转换均值滤波子程序JSR SCISend1 ;串口发送转换结果CMP #!100BLS SBBJMP BAOJINGSBB:BSET 2,PTBJSR DELAY1BCLR 2
28、,PTBJSR DELAY1LDA PTDCMP #%00111119BEQ BAOYA2CMP #%000111BEQ JIXU23JMP BAOJINGJIXU23:JMP ZHUSHE2BAOYA2: ;保压BCLR 2,PTBLDX #!96 SHAN32:LDA PTDCMP #%001111BEQ JIXU24JMP BAOJINGJIXU24:BSET 3,PTBJSR DELAY1BCLR 3,PTBJSR DELAY1DBNZX SHAN32LENGQUE2: ;冷却BCLR 3,PTBLDHX #!300SUHUA2: ;塑化LDA PTDCMP #%000111BEQ H
29、OUTUI2CMP #%001111BEQ JIXU25JMP BAOJINGJIXU25:BCLR 4,PTBBCLR 5,PTB JSR DELAY1BSET 4,PTBBSET 5,PTB JSR DELAY1AIX #-$2JMP SUHUA2HOUTUI2: ;注射座后退BCLR 1,PTB20BCLR 5,PTBMAIN22:LDA PTDCMP #%100111BEQ DENGDAI2CMP #%000111BEQ JIXU26JMP BAOJINGJIXU26:BCLR 6,PTBBCLR 4,PTBJSR DELAY1BSET 6,PTBBSET 4,PTBJSR DELAY
30、1AIX #-$2JMP MAIN22DENGDAI2: ;等待冷却结束BSET 6,PTBBCLR 4,PTBJSR DELAY1BSET 4,PTBJSR DELAY1AIX #-$2CPHX #$0000 BNE DENGDAI2KAIMO2: ;开模BCLR 4,PTCBCLR 4,PTBMAN32:LDX #!24 MAN312: ;慢闪,5sBCLR 7,PTBJSR DELAY1BSET 7,PTBJSR DELAY1DBNZX MAN312KUAI22: ;快闪,10sLDX #!96 KUAI212: BCLR 7,PTBJSR DELAY221BSET 7,PTBJSR D
31、ELAY2DBNZX KUAI212MAN42: ;慢闪,5sLDX #!24 MAN412:BCLR 7,PTBJSR DELAY1BSET 7,PTBJSR DELAY1DBNZX MAN412BSET 7,PTBDINGCHU2: ;顶出制品LDA PTDCMP #%100111BEQ DINGCHU2CMP #%110111BEQ JIXU27JMP BAOJINGJIXU27:LDX #!15 MAN52: ;慢闪 3sBSET 0,PTCJSR DELAY1BCLR 0,PTCJSR DELAY1DBNZX MAN52QUCHU2:LDA PTDCMP #%110111BEQ QU
32、CHU2CMP #%100111BEQ JIXU28JMP BAOJINGJIXU28:BCLR 0,PTCLDX #!15 MAN62: ;慢闪 3sBSET 1,PTCJSR DELAY1BCLR 1,PTCJSR DELAY122DBNZX MAN62JMP MUSICJIESHULE: JMP KB*内部子程序存放处Delay1000: PSHA ;A 进栈(保护寄存器 A);延时 200*5=1000 个时钟周期 LDA #!200 ;循环次数Delay1000_1: NOP ;1 个时钟周期NOP ;1 个时钟周期DBNZA Delay1000_1 ;3 个时钟周期 PULA ;A
33、 出栈(恢复寄存器 A) RTSDELAY1: ;延时 0.1sMOV #!250,I1DELAY11:JSR DELAY1000DBNZ I1,DELAY11RTSDELAY2: ;延时 0.05sMOV #!125,I1DELAY21:JSR DELAY1000DBNZ I1,DELAY21RTSDELAY3: ;延时 20sMOV #!200,I1DELAY31:MOV #!250,I2DELAY32:JSR DELAY1000DBNZ I2,DELAY32DBNZ I1,DELAY31RTS*外部子程序存放处$INCLUDE “H08SCI.asm“ $INCLUDE “GP32ini
34、t.asm“23$INCLUDE “SCIInit.asm“$include “KB_Sub.asm“$include “MUSIC.asm“$INCLUDE “ADsub.asm“*中断向量 ORG $FFE0 ;中断向量DW KB_INTORG $FFFE ;复位向量DW MainInit2、头文件 GP32ASM.H*-*GP32ASM.H(GP32 头文件)MC68HC908GP32 MCU 映像寄存器名 *苏州大学 freescale MCUA 口数据寄存器PTB EQU $0001 ;B 口数据寄存器PTC EQU $0002 ;C 口数据寄存器PTD EQU $0003 ;D 口
35、数据寄存器DDRA EQU $0004 ;A 口数据方向寄存器DDRB EQU $0005 ;B 口数据方向寄存器DDRC EQU $0006 ;C 口数据方向寄存器DDRD EQU $0007 ;D 口数据方向寄存器PTE EQU $0008 ;E 口数据寄存器DDRE EQU $000C ;E 口数据方向寄存器PTAPUE EQU $000D ;A 口上拉允许寄存器PTCPUE EQU $000E ;C 口上拉允许寄存器PTDPUE EQU $000F ;D 口上拉允许寄存器*串行外设接口 SPISPCR EQU $0010 ;SPI 控制寄存器SPSCR EQU $0011 ;SPI 状
36、态和控制寄存器SPDR EQU $0012 ;SPI 数据寄存器*串行通信接口 SCISCC1 EQU $0013 ;SCI 控制寄存器 1SCC2 EQU $0014 ;SCI 控制寄存器 2SCC3 EQU $0015 ;SCI 控制寄存器 3SCS1 EQU $0016 ;SCI 状态寄存器 1SCS2 EQU $0017 ;SCI 状态寄存器 2SCDR EQU $0018 ;SCI 数据寄存器SCBR EQU $0019 ;SCI 波特率寄存器*键盘口INTKBSCR EQU $001A ;键盘状态和控制寄存器24INTKBIER EQU $001B ;键盘中断允许寄存器*时基模块T
37、BCR EQU $001C ;时基模块控制寄存器*中断请求INTSCR EQU $001D ;中断请求状态和控制寄存器*系统设置CONFIG2 EQU $001E ;系统设置寄存器 2CONFIG1 EQU $001F ;系统设置寄存器 1*定时器 1T1SC EQU $0020 ;定时器 1 状态和控制寄存器T1CNTH EQU $0021 ;定时器 1 控制寄存器(H)T1CNTL EQU $0022 ;定时器 1 控制寄存器(L)T1MODH EQU $0023 ;定时器 1 计数基数寄存器(H)T1MODL EQU $0024 ;定时器 1 计数基数寄存器(L)T1SC0 EQU $0
38、025 ;定时器 1 通道 0 状态和控制寄存器T1CH0H EQU $0026 ;定时器 1 通道 0 寄存器(H)T1CH0L EQU $0027 ;定时器 1 通道 0 寄存器(L)T1SC1 EQU $0028 ;定时器 1 通道 1 状态和控制寄存器T1CH1H EQU $0029 ;定时器 1 通道 1 寄存器(H)T1CH1L EQU $002A ;定时器 1 通道 1 寄存器(L)*定时器 2T2SC EQU $002B ;定时器 2 状态和控制寄存器T2CNTH EQU $002C ;定时器 2 控制寄存器(H)T2CNTL EQU $002D ;定时器 2 控制寄存器(L)
39、T2MODH EQU $002E ;定时器 2 计数基数寄存器(H)T2MODL EQU $002F ;定时器 2 计数基数寄存器(L)T2SC0 EQU $0030 ;定时器 2 通道 0 状态和控制寄存器T2CH0H EQU $0031 ;定时器 2 通道 0 寄存器(H)T2CH0L EQU $0032 ;定时器 2 通道 0 寄存器(L)T2SC1 EQU $0033 ;定时器 2 通道 1 状态和控制寄存器T2CH1H EQU $0034 ;定时器 2 通道 1 寄存器(H)T2CH1L EQU $0035 ;定时器 2 通道 1 寄存器(L)*PLLPCTL EQU $0036 ;
40、PLL 控制寄存器PBWC EQU $0037 ;PLL 带宽控制寄存器PMSH EQU $0038 ;PLL 乘数选择寄存器(H)PMSL EQU $0039 ;PLL 乘数选择寄存器(L)PMRS EQU $003A ;PLL VCO 选择寄存器PVRS EQU PMRS ;PMRS 的别名,有文献使用PRDS EQU $003B ;PLL 分频选择寄存器PMDS EQU PRDS ;PRDS 的别名,有文献使用*A/D 转换ADSCR EQU $003C ;A/D 转换状态和控制寄存器ADR EQU $003D ;A/D 转换数据寄存器25ADCLK EQU $003E ;A/D 转换输
41、入时钟寄存器*SIMSBSR EQU $FE00 ;SIM 断点状态寄存器SRSR EQU $FE01 ;SIM 复位状态寄存器SUBAR EQU $FE02 ;SIM 高字节地址寄存器SBFCR EQU $FE03 ;SIM 断点标志控制寄存器*中断状态INT1 EQU $FE04 ;中断状态寄存器 1INT2 EQU $FE05 ;中断状态寄存器 2INT3 EQU $FE06 ;中断状态寄存器 3*FLASH 控制FLCR EQU $FE08 ;FLASH 控制寄存器 *断点BRKH EQU $FE09 ;断点地址寄存器(H)BRKL EQU $FE0A ;断点地点寄存器(L)BRKSC
42、R EQU $FE0B ;断点状态与控制寄存器*LVILVISR EQU $FE0C ;LVI 状态寄存器*FLASH 区保护FLBPR EQU $FF7E ;FLASH 区保护寄存器*看门狗COPCTL EQU $FFFF ;COP 控制寄存器3、子程序3.1 MUSIC.asm(这个就自己写吧)3.2 H08SCI.asm*-*文件描述:本文件包含了串行通信子程序,分别为: * *(1)SCISend1:串行发送 A 中的 1 个字节 *(2)SCISendN:串行发送 N 个字节 *(3)SCIRe1:串行接收一个字节-A *(4)SCIReN:串行接收 N 个字节 *-*寄存器及相关位
43、定义ReSendStatusR EQU SCS1 ;SCI 状态寄存器 1 ReTestBit EQU 5 ;接收缓冲区满标志位 SendTestBit EQU 7 ;发送缓冲区空标志位 ReSendDataR EQU SCDR ;SCI 数据寄存器 *SCISend1:串行发送 A 中的 1 个字节-*功能描述:串行口发送 A 中的 1 个字节数据 *入 口:A=待发送的数据 *26*出 口:无 *堆栈深度:2 *-* SCISend1:BRCLR SendTestBit,ReSendStatusR,SCISend1STA ReSendDataRRTS *SCISendN:串行发送 N 个字
44、节-*功能描述:串行发送以 HX 为首地址的 N 个字节数据 *入 口:A=字节个数 HX=首地址 *出 口:无 *堆栈深度:2+2+1=5 *-*SCISendN:;在堆栈区开辟 1 个字节作临时变量 NAIS #-!1;若发送字节数为 0,退出STA !1,SP CMP #!0BEQ SCISendN_EXIT SCISendN_1:LDA ,X ;从存储器中取出待发送的数据JSR SCISend1AIX #!1DBNZ !1,SP,SCISendN_1 ;(N-1)不等于 0 转SCISendN_EXIT:;释放 1 个字节临时变量AIS #!1RTS*SCIRe1:串行接收一个字节-A
45、-*功能描述:(1) 串行接收 1 个字节的数据放在 A 中 * (2) 约 655350 时钟周期内收不到数返回 * 若时钟周期=0.4us 大约等待 2.6S *入 口:无 *出 口:A=接收的数据 C=是否收到数据标志 0 收到 1 未收到*堆栈深度:2+2=4 *-* SCIRe1:PSHH PSHX;等待接收一个字节数据LDHX #$FFFF ;循环次数SCIRe1_1:BRCLR ReTestBit,ReSendStatusR,SCIRe1_2 ;无数据,转27LDA ReSendDataR ;收到的数据放入 A 中CLC ;C=0 BRA SCIRe1_3 ;收到数据,退出 SCIRe1_2:NOPAIX #-$1CPHX #$0000BNE SCIRe1_1 ;等待时间到,未收到数据,令 c=1,A=FF,返回LDA #$FFSEC ;C=1 SCIRe1_3: PULXPULHRT