单片机课程设计doc.docx

上传人:scccc 文档编号:12422500 上传时间:2021-12-03 格式:DOCX 页数:24 大小:35.33KB
返回 下载 相关 举报
单片机课程设计doc.docx_第1页
第1页 / 共24页
单片机课程设计doc.docx_第2页
第2页 / 共24页
单片机课程设计doc.docx_第3页
第3页 / 共24页
单片机课程设计doc.docx_第4页
第4页 / 共24页
单片机课程设计doc.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《单片机课程设计doc.docx》由会员分享,可在线阅读,更多相关《单片机课程设计doc.docx(24页珍藏版)》请在三一文库上搜索。

1、单片机课程设计简易电子琴 1、 课设要求所设计简易电子琴能够单曲循环,且能暂停播放,能够实现按键发音功能,能够让点阵LED显示播放声音音调的高低.2、 设计思路首先,本实验主要依靠单片机开发板上的喇叭来发出声音,不同的音调对应不同的频率,喇叭发出声音需要正弦波驱动,由于单片机只能输出方波,所以不能用单片机直接驱动喇叭,但是开发板上有自带的喇叭驱动模块,能够将方波转换成同频率的正弦波,所以本次实验的核心模块是让单片机的两个定时器相互配合,改变单片机输出方波的频率和时间,让喇叭发出不同频率,不同节拍的声音,最后形成一首完整的歌曲.其次,按键发音功能也是靠两定时器相互配合实现,只是加了一个计算键值的

2、模块,将所得键值转换成输出的频率来发声.最后,LED显示音调功能是把歌曲的不同音调转换成点阵不同的行点亮来实现.下面将详细介绍各模块的程序及其功能.三、硬件连接: 本次课设使用上海朗译科技公司的型号为LY-51S单片机开发板,单片机型号为STC89RD541.单片机P1.0口接喇叭输入口(J42B1插针)2.P1.1口接独立按键区K3插针3.P1.2口接独立按键区K4插针4.P3.2口(INT0)接独立按键区K1插针5.P3.3口(INT1)接独立按键区K2插针6.P3.7,P3.6,P3.5分别接于J4的SER(数据输入),SRCLK(移位时钟),RCLK(锁存输出)7.P1.7,P1.6,

3、P1.5分别接于J5的SER(数据输入),SRCLK(移位时钟),RCLK(锁存输出)8.P0口接于J6排针控制共阳极数码管9.P1口接于J24排针控制矩阵键盘四、程序模块:(1)发音模块:将单片机P1.0口接于喇叭的输入口,发音由定时器T0来完成,让定时器T0工作在方式1,每次定时器T0溢出中断时,取反一次P1.0口,这样就可以发出各种频率的方波.程序如下TINT0:PUSH PSW PUSH ACC MOV TH0,40H MOV TL0,41H CPL P1.0 POP ACC POP PSW由于定时器0工作在方式一时不能自动装入初值,所以每次中断发生后需要装入初值,由于方式1是16位定

4、时,所以初值需要两个存储单元,初值放在40H和41H存储单元中,这两个单元中的不同内容对应不同频率,初值对应频率表如下,高位在前,低位在后 1 2 3 DB 0F8H,94h,0F9H,5CH,0FAH,15H, 4 5 6 7 DB 0FAH,68H,0FBH,05H,0FBH,90H,0FCH,0CH 1 2 3 4 DB 0FCH,4AH,0FCH,0AEH,0FDH,0AH,0FDH,34H, 5 6 7 DB 0FDH,82H,0FDH,0C8H,0FEH,06H 12 22 32 DB 0FEH,25H,0FEH,57H,0FEH,85H该表由标准音标频率计算而得.至于在40H和4

5、1H中该装入什么初值,在下一个模块中介绍.(2)发音时长模块:发音时长有定时器T1决定,本次实验中播放单曲时单位时长为0.25s,既歌曲谱中每个音调只响0.25s.定时器T1工作在方式2,模块程序如下:TINT1:PUSH PSW PUSH ACC DJNZ R1,REBACK MOV R1,#40 DJNZ R2,REBACK MOV R2,#25 LCALL DISP1 MOV A,#00H CLR C MOV A,43H ADD A,#1 MOV 43H,A MOV A,#00H ADDC A,42H MOV 42H,A MOV A,#00H MOV DPH,42H MOV DPL,43

6、H MOVC A,A+DPTR MOV 44H,A MOV R0,A LCALL DISP CJNE A,#00H,STOP CLR TR0 AJMP REBACK CJNE A,#0FFH,GOON MOV 42H,#1FH MOV 43H,#0FFH AJMP REBACKGOON: SETB TR0 MOV A,44H RL A MOV R7,A MOV DPTR,#PITCH MOVC A,A+DPTR MOV 40H,A INC R7 MOV A,R7 MOVC A,A+DPTR MOV 41H,AREBACK:POP ACC POP PSW RETI程序中第行到第行,保证了执行完这

7、几行程序中,某个音调已经响了0.25s,因为定时器T1每次中断为250us.第三行为点阵显示音调高低子程序,44H存放音调,作为点阵的显示依据.后续将做介绍.第行到第行为读取乐谱中下一个音调部分,42H和43H为音调指针,两者合看作一个16位寄存器,存储待装入DPTR的数据,这里定义为"DPTR",在上一个音调响完一个单位时间后,"DPTR"加1,指向下一个音调,并将"DPTR"中地址装入DPTR,并在表#SCORE(起始为2000H)中读出下一个音调,并存入44H中.第行到第行作用是,原歌曲中需要停顿的部分,在#score表中均为0

8、,通过看A中内容是否为0,来判断是否需要停顿,如果为0,就停止定时器0,喇叭将不发声.#0FFH是歌曲结束标志,当A中内容为#0FFH时,将"DPTR"赋值1FFFH,待下一次中断来临时,"DPTR" 加一后可以回到乐谱#SCORE初始位置2000H,以便实现循环播放.第行到第行是将从#SCORE中读出的真实音调转换成定时器T0所需要的各音调对应的定时器初值.因为在音调-初值表#PITCH中,每个音调占两个字节,所以将A中包含的音调乘了2,发送到R7,R7在这里作为#PITCH表指针,#PITCH表中每个音调的初值高位在前,地位在后,在读取完高位并发送到

9、40H后,R7加1,读取地位,然后将读取的数据发送到41H.在下一个单位时间内鸣响. 行为点阵显示作用,后续将做介绍.(3) 单曲循环初始化模块: 本次课设定为按下P1.1口对应的按键K3时,单片机从主菜单进入单曲循环模式,按键为低电平有效,并且对定时器,外部中断等进行初始化设定,程序如下: SINGCYCLE:NOP JNB P1.1,NEXT LJMP MAINNEXT: LCALL DISPNONE CLR 20H SETB 21H SETB EX1 SETB ET0 SETB ET1 MOV P0,#0F9H MOV TMOD,#21H MOV R1,#40 MOV R2,#25 MO

10、V TH1,#00H MOV TL1,#06H MOV TH0,#0FDH MOV TL0,#0AH MOV 40H,#20H MOV 41H,#00H CLR P1.0SINGCYCLE1:JB 21H,RETURN1 LJMP MAINRETURN1: AJMP SINGCYCLE1其中第行到第行为判断K3键是否按下,按下后则继续执行,未按下则返回主菜单.第行为让点阵不显示程序,因为在主菜单中加入了欢迎界面,所以在这里停止LED的欢迎界面.第行第行为标志位,20H为暂停/播放标志位,用于外部中断1子程序检验和控制,当20H=0时,表示当前单片机正在暂停状态,此时如果外部中断1发生,则会启动

11、定时器T0,定时器T1,如果20H=1的时候,中断1发生,则会停止定时器T0,T1,实现暂停播放功能.第行为置位单曲循环模式标志位,主要是实现返回主菜单功能,在行间循环等待定时器中断时,会检验21H,若21H=0,则会跳出循环,返回主菜单,21H会由外部中断0清零.第-行为开启中断,EX1为暂停/播放中断允许位.行是让共阳极数码管显示1,表示单曲循环模式.第-行依次为设置播放单位时长的定时器初值,设置音调初值,设置乐谱指针初值并启动定时器.执行完成后进入-行循环等待中断. (4)按键发音初始化模块:按键发音的主要原理是:利用开发板的16键矩阵键盘,赋予每个按键一个键值,利用反转法来计算按下的键

12、的键值,既行输出4个1,列输出4个0,且行为高四位,列为低四位,然后读取行,有键按下则行中有1位为0,然后在让行输出0,列输出1,读取列,有间按下时,列中有一位为0,然后这8位二进制数就与16个键一一对应了.然后根据这8位二进制数编码一个对应的音调,就可以实现按键发音了.按键发音模式初始化程序如下:SINGPRESS:NOP JNB P1.3,NEXTA LJMP MAINNEXTA: SETB 22H MOV TMOD,#21H MOV P0,#0A4H SETB ET0SINGPRESS1:LCALL DISPNONE MOV P1,#0F0H NOP MOV A,P2 ANL A,#0F

13、0H MOV 30H,A MOV P2,#0FH NOP MOV A,P2 ANL A,#0FH ORL A,30H MOV 20H,A CJNE A,#0FFH,CALCULATE JB 22H,RETURN2 LJMP MAINCALCULATE:LCALL KEYVALUERETURN2: AJMP SINGPRESS1程序第-行与单曲循环初始化类似,只是标志位改成了22H,然后让共阳极数码管显示2,并且按键发音只用到1个定时器,所以只允许T0中断.第-, 行既反转法检测被按下的按键部分,然后将被按下按键对应的8位二进制数存放入20H单元,因为20H可以位寻址,便于计算键值,好转换成相应

14、的音调,具体程序将在下一模块展示. (5)按键发音KEYVALUE子程序:该子程序主要功能是:计算出被按下按键的键值,寻找键值对应的音调,让后让喇叭播放一定时间该音调,并且在点阵上显示该音调的相对高低.具体程序如下:KEYVALUE: PUSH PSW PUSH ACCMOV R7,#00H JB 00H,PLUS4 MOV A,R7 ADD A,#0 MOV R7,APLUS4: JB 01H,PLUS8 MOV A,R7 ADD A,#4 MOV R7,APLUS8: JB 02H,PLUS12 MOV A,R7 ADD A,#8 MOV R7,APLUS12: JB 03H,PLUS41

15、 MOV A,R7 ADD A,#12 MOV R7,APLUS41: JB 04H,PLUS3 MOV A,R7 ADD A,#4 MOV R7,APLUS3: JB 05H,PLUS2 MOV A,R7 ADD A,#3 MOV R7,APLUS2: JB 06H,PLUS1 MOV A,R7 ADD A,#2 MOV R7,APLUS1: JB 07H,NEXTA MOV A,R7 ADD A,#1 MOV R7,ANEXTA: MOV R0,A RL A MOV R7,A MOV DPTR,#PITCH MOVC A,A+DPTR MOV 40H,A MOV TH0,A INC R7

16、MOV A,R7 MOVC A,A+DPTR MOV 41H,A MOV TL0,A LCALL DISP MOV R7,#00H SETB TR0 LCALL DELAY_100MS POP ACC POP PSW RET矩阵键盘的行对应20H的0-3位,列对应20H的4-7位-行既计算键值,把2进制代码转换成十进制数,2进制数在20H中,计算结果在R7中,首先检验被按下按键所处行,因为每一行有4个按键,所以被按下按键如果在第一行就在R7中加0,如果在第二行就加4,第三行加8,第四行加12,在确定所处行之后再检验04H-07H位,如果在第1列就加1,第2列加2,第三列加3,第四列加4,最后得

17、到R7中最终的10进制数作为对应按键的键值,既音调.例如,如果20H中数据为10110111B,则R7中为(14)10,表示M14被按下.在这里键值与简谱的对应关系为M1=1=中音C,M2=2=中音D,以此类推.在确定键值后,在PITCH表中找到键值对应的双字节定时器T0的初值,然后把这两个字节数据送到TH0,40H,TL0,41H.同时根据键值的大小决定LED点阵的显示内容,正如-行程序所示.第行决定了键按下后喇叭响的时间,这里设置为100ms.执行完成后返回,同时关闭喇叭.等待下一次按键发生. (7)主菜单程序: MAIN:MOV SP,#54H SETB EA SETB EX0 MOV

18、P0,#0C0H LCALL DISPWELCOME JNB P1.1,MODE1 NOP JNB P1.2,MODE2 NOP LCALL DELAY_100MS AJMP MAINMODE1:LJMP SINGCYCLEMODE2:LJMP SINGPRESS 主菜单循环过程中,加入1延时程序主要是避免点阵LED在显示欢迎界面时刷新过快导致某些LED误点亮. (8)点阵LED欢迎界面程序 LED点阵某个LED点亮的条件是列为高电平,行为低电平,LED点阵列为公共端,由1个595驱动,既对列串行输入8位数据,决定哪几列点亮.因为该点阵是双色的,所以由两个595级联来驱动,一个驱动红色LED,

19、一个驱动绿色LED,所以对行需要串行输入16位数据来决定哪一行哪种颜色点亮.下述程序中,50H存放带点亮列,51H存放绿色带点亮行,52H存放红色带点亮行.因为595具有锁存功能,所以点阵为静态显示,但是下述程序执行一次,改变一次显示内容,最终可以看到一个动态的欢迎界面.DISPWELCOME: PUSH PSW PUSH ACCMOV R2,#00HDISPWELCOME1:JB 2FH,WHICH MOV DPTR,#WELCOME AJMP ROLLWHICH:MOV DPTR,#WELCOME1ROLL: MOV A,R2 MOVC A,A+DPTR MOV 50H,A INC R2

20、MOV A,R2 MOVC A,A+DPTR MOV 51H,A INC R2 MOV A,R2 MOVC A,A+DPTR MOV 52H,A NOP MOV A,51H NOP MOV R5,#8J510: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J510 MOV R5,#8 MOV A,52H NOPJ520: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J520 NOP SETB P1.5 NOP CLR P1.5 NOP MOV A,50H NOP MOV R5,#8J40:

21、RLC A MOV P3.7,C SETB P3.6 NOP CLR P3.6 DJNZ R5,J40 SETB P3.5 NOP CLR P3.5 NOP INC R2 CJNE R2,#60,RETURN0 MOV R2,#00H CPL 2FHRETURN0: POP ACC POP PSWRET 因为欢迎界面中需要两种不同颜色的LED,所以-行为选择显示的颜色,有2FH作为标志位,当需要显示红色时,从表#welcome中读取数据,红色显示完后,取反2FH,既从#welcome1读取数据. -行为将待显示内容输入寄存器并显示的程序,因为刷新显示时,需要改变50H,51H,52H的值,所以

22、#welcome(或#welcome1)表中从头开始数每三个字节为一个显示画面.R2为数据指针,每运送完行或列就自加1,由于一种颜色的欢迎界面由20个画面组成,所以#welcome(或#welcome1)中有60个字节数据,R2在显示完成后也会为60,因此在-行中判断R2是否为60,为60则表明一种颜色的界面已经完成.取反标志位2FH,进入另一种颜色的欢迎界面. (9)点阵显示音调高低程序:该子程序比欢迎程序要简单,因为只需让所有列都点亮,然后改变点亮行就可以显示音调的相对高低了.所以50H,52H均为高电平.点亮行数据51H的值由R0中存储的简谱决定.在单曲循环发音时长模块既T1中断程序的第

23、行,按键发音KEYVALUE子程序的第行,分别是将乐谱中的简谱或者计算出按键对应的简谱存入R0,在调用该子程序时,以R0为指针,再#DISPPITCH表中找到对应的行寄存器的内容,然后输送给51H.子程序如下:DISP: PUSH PSW PUSH ACC MOV A,R0 MOV DPTR,#DISPPITCH MOVC A,A+DPTR MOV 51H,A MOV 50H,#0FFH MOV 52H,#0FFH NOP MOV R5,#8 MOV A,51HJ51: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J51 MOV R5,#8

24、MOV A,52HJ52: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J52 NOP SETB P1.5 NOP CLR P1.5 MOV A,50H MOV R5,#8J4: RLC A MOV P3.7,C SETB P3.6 NOP CLR P3.6 DJNZ R5,J4 SETB P3.5 NOP CLR P3.5 POP ACC POP PSW RET-行就是确定51H的值,既哪几行点亮.后续程序与前面相同. (10)熄灭点阵子程序:熄灭程序更为简单,只需要将50H,51H,52H分别赋值0FFH,再输送到3片595,则点阵熄灭,

25、子程序如下:DISPNONE: PUSH PSW PUSH ACCMOV 50H,#0FFH MOV 51H,#0FFH MOV 52H,#0FFH NOP MOV R5,#8 MOV A,51HJ51N: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J51N MOV R5,#8 MOV A,52HJ52N: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J52N NOP SETB P1.5 NOP CLR P1.5 MOV A,50H MOV R5,#8J4N: RLC A MOV P3.7

26、,C SETB P3.6 NOP CLR P3.6 DJNZ 44H,J4N SETB P3.5 NOP CLR P3.5 POP ACC POP PSW RET (11)播放/暂停程序:播放暂停由外部中断1控制,只在单曲循环模式有效,通过检验标志位20H来实现,程序如下:OUTINT1: PUSH PSW PUSH ACC JB 20H,PAUSE SETB 20H SETB TR0 SETB TR1 AJMP RETURNAPAUSE:CLR 20H CLR TR1 CLR TR0RETURNA: POP ACC POP PSW RETI-行既检验喇叭处于播放状态还是停止状态,若20H=0

27、,则会将20H置位,启动定时器T0,T1,开始播放音乐.若20H=1,则会跳转到,置零20 H位,停止T0、T1,喇叭暂停播放,最后返回单曲循环初始化程序部分等待. (12)返回主菜单程序:该功能由外部中断0实现,因为外部中断0在任何时刻都有效,所以只需在外部中断0子程序中清零单曲循环,按键发音的模式标志位21H,22H即可,这样在各自的循环等待定时器中断的过程中检查到21H或22H为0,则会自动返回主菜单.程序如下:OUTINT0:PUSH PSW PUSH ACC CLR 21H CLR 22HCLR TR0CLR TR1POP ACCPOP PSWRETI(13)延时子程序:DELAY_

28、100MS:PUSH PSW PUSH ACC MOV R3,#250 MOV R4,#40MOV R6,#10D_100MS1: DJNZ R3,D_100MS1 MOV R3,#250 DJNZ R4,D_100MS1MOV R4,#40DJNZ R6,D_100MS1MOV R6,#10POP ACCPOP PSWRETDELAY_200MS:PUSH PSW PUSH ACC MOV R3,#250 MOV R4,#40MOV R6,#20D_200MS1: DJNZ R3,D_200MS1 MOV R3,#250 DJNZ R4,D_200MS1MOV R4,#40DJNZ R6,D

29、_200MS1MOV R6,#20POP ACCPOP PSWRET上述13个模块化程序相互配合实现了本次课设要求的功能.附录:完整程序ORG 0000HAJMP MAINORG 0003HLJMP OUTINT0ORG 000BHLJMP TINT0ORG 0013HLJMP OUTINT1ORG 001BHLJMP TINT1ORG 0030HMAIN:MOV SP,#54H SETB EA SETB EX0 CLR ET0 CLR ET1 CLR EX1 CLR TR0 CLR TR1 MOV P0,#0C0H MOV R2,#00HMAIN1:LCALL DISPWELCOME JNB

30、 P1.1,MODE1 NOP JNB P1.2,MODE2 NOP LCALL DELAY_100MS AJMP MAIN1MODE1:LJMP SINGCYCLEMODE2:LJMP SINGPRESSSINGCYCLE:NOP JNB P1.1,NEXT LJMP MAINNEXT: LCALL DISPNONE CLR 20H SETB 21H SETB EX1 SETB ET0 SETB ET1 MOV P0,#0F9H MOV TMOD,#21H MOV R1,#40 MOV R2,#25 MOV TH1,#00H MOV TL1,#06H MOV TH0,#0FCH MOV TL

31、0,#0AEH MOV 42H,#20H MOV 43H,#00H CLR P1.0SINGCYCLE1:JB 21H,RETURN1 LJMP MAINRETURN1: AJMP SINGCYCLE1SINGPRESS:NOP JNB P1.2,NEXTA LJMP MAINNEXTA: SETB 22H MOV TMOD,#11H MOV P0,#0A4H SETB ET0SINGPRESS1:LCALL DISPNONE MOV P2,#0F0H NOP MOV A,P2 ANL A,#0F0H MOV 30H,A MOV P2,#0FH NOP MOV A,P2 ANL A,#0FH

32、ORL A,30H MOV 20H,A CJNE A,#0FFH,CALCULATE CLR TR0 JB 22H,RETURN2 LJMP MAINCALCULATE:LCALL KEYVALUERETURN2: AJMP SINGPRESS1KEYVALUE: PUSH PSW PUSH ACC MOV R7,#00H JB 00H,PLUS4 MOV A,R7 ADD A,#0 MOV R7,APLUS4: JB 01H,PLUS8 MOV A,R7 ADD A,#4 MOV R7,APLUS8: JB 02H,PLUS12 MOV A,R7 ADD A,#8 MOV R7,APLUS1

33、2: JB 03H,PLUS41 MOV A,R7 ADD A,#12 MOV R7,APLUS41: JB 04H,PLUS3 MOV A,R7 ADD A,#4 MOV R7,APLUS3: JB 05H,PLUS2 MOV A,R7 ADD A,#3 MOV R7,APLUS2: JB 06H,PLUS1 MOV A,R7 ADD A,#2 MOV R7,APLUS1: JB 07H,RETURNB MOV A,R7 ADD A,#1 MOV R7,ARETURNB: MOV R0,A RL A MOV R7,A MOV DPTR,#PITCH MOVC A,A+DPTR MOV 40H

34、,A INC R7 MOV A,R7 MOVC A,A+DPTR MOV 41H,A LCALL DISP MOV R7,#00H SETB TR0 LCALL DELAY_100MS POP ACC POP PSW RETTINT0:PUSH PSW PUSH ACC MOV TH0,40H MOV TL0,41H CPL P1.0 POP ACC POP PSW RETITINT1:PUSH PSW PUSH ACC DJNZ R1,REBACK MOV R1,#40 DJNZ R2,REBACK MOV R2,#25 MOV A,#00H CLR C MOV A,43H ADD A,#1

35、 MOV 43H,A MOV A,#00H ADDC A,42H MOV 42H,A MOV A,#00H MOV DPH,42H MOV DPL,43H MOVC A,A+DPTR MOV 44H,A MOV R0,A LCALL DISP CJNE A,#00H,REPEAT CLR TR0 AJMP REBACKREPEAT:CJNE A,#99H,GOON MOV 42H,#1FH MOV 43H,#0FFH AJMP REBACKGOON: SETB TR0 MOV 44H,A RL A MOV R7,A MOV DPTR,#PITCH MOVC A,A+DPTR MOV 40H,A

36、 INC R7 MOV A,R7 MOVC A,A+DPTR MOV 41H,AREBACK:POP ACC POP PSW RETIDISPWELCOME: PUSH PSW PUSH ACCDISPWELCOME1:JB 2FH,WHICH MOV DPTR,#WELCOME AJMP ROLLWHICH:MOV DPTR,#WELCOME1ROLL: MOV A,R2 MOVC A,A+DPTR MOV 50H,A INC R2 MOV A,R2 MOVC A,A+DPTR MOV 51H,A INC R2 MOV A,R2 MOVC A,A+DPTR MOV 52H,A NOP MOV

37、 A,51H NOP MOV R5,#8J510: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J510 MOV R5,#8 MOV A,52H NOPJ520: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J520 NOP SETB P1.5 NOP CLR P1.5 NOP MOV A,50H NOP MOV R5,#8J40: RLC A MOV P3.7,C SETB P3.6 NOP CLR P3.6 DJNZ R5,J40 SETB P3.5 NOP CLR P3.5 NOP INC R2 CJNE R2,#60,RETURN0 MOV R2,#00H CPL 2FHRETURN0:POP ACC POP PSW RETDISP: PUSH PSW PUSH ACC MOV A,R0 MOV DPTR,#DISPPITCH MOVC A,A+DPTR MOV 51H,A MOV 50H,#0FFH MOV 52H,#0FFH NOP MOV R5,#8 MOV A,51HJ51: RLC A MOV P1.7,C SETB P1.6 NOP CLR P1.6 DJNZ R5,J51 MOV R5,#8 MOV A,52HJ52: RLC A MO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1