您现在的位置:首页 >> 2014单片机前沿技术 >> 单片机实验2014,2014年单片机期末考试,北京2014 单片机 培训,2014蓝桥杯 单片机

单片机实验2014,2014年单片机期末考试,北京2014 单片机 培训,2014蓝桥杯 单片机

时间:2013-05-12 来源: 泥巴往事网

【摘要】: 本文介绍的单片机实验箱属于实践教学设备.该实验箱包括安装在实验箱内的核心电路板、程序下载器、数据电源复用线.实验箱上的各模块与单片机并口直接相连,...

单片机实验 实验一 顺序结构程序 实验二 数据区传送子程序 实验三 简单 I/O 口控制实验 实验四 信号灯控制 实验五 脉冲计数实验 实验六 并口扩展芯片 8255 控制交通灯 实验七 点阵 LED 显示实验 实验八 AD 转换实验 实验九 电脑时钟(定时器,中断综合实验) 实验十 步进电机控制实验 实验十一 LCD 液晶显示屏实验 实验一 顺序结构程序设计 一、实验目的 掌握汇编语言设计和调试方法。

二、实验内容 1.拼字程序:把 2000H 的内容拆开,高位送 2001H 低位,低位送 2002H 低位,2001H、2002H 高位清零,一般本程序用于把数据送显示缓冲区时用。

2.拼字程序:把 2000H、2001H 的低位分别送入 2002H 高低位,一般本程序用于把 显示缓冲区的数据取出拼装成—个字节。

3. 求和程序:将 30H 和 31H 单元中存放的 2 个一字节 BCD 码组合成一个 2 位的 BCD 码存入 32H 单元,31H 单元中的数为低 4 位。

三、实验步骤 用连续或单步方式运行程序,检查 2000—2002H 中内容变化情况。 四、思考 如何用断点方式调试本程序。 1 实验二 数据传送程序 一)实验目的:

1)掌握单片机汇编语言程序设计和调试方法 2)掌握单片机内部 RAM,外部 RAM,ROM 中数据操作方法 二)实验内容及步骤:

1)再将内部 RAM50H 单元开始的十个数传到 40H 为始址的内部 RAM 中 2)再将内部 RAM 50H 单元开始的十个数送到 1000H 为始址的外部 RAM 中 3)再将 ROM 的 2000H 单元开始的十个数传送到以 70H 为始址的内部 RAM 中 实验三 简单 I/O 口控制实验 一、实验目的 (1)学习 P1 口的使用方法; (2)学习延时子程序的编写。 二、实验预备知识 (1)P1 口对准双向口,每一位都可独立地定义为输出线或输入线。

(2)本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期 数*循环次数,在系统时间允许的情况下可以采用此方法。 三、实验内容 P1 作为输出口,接八只发光二极管,编写程序,使发光二极管左(右)循环点亮。 四、程序框图 五、实验电路 2 六、实验步骤 P1.O-P1.7 用插针连至 L1-L8,运行程序后,观察发光二极管闪亮移位情况。 七、思考 改变延时常数,使发光二极管闪亮时间改变。

修改程序,使发光二极管闪亮移位方向改变。 实验四 一、实验目的 信号灯控制 进一步了解 P1 口的使用,学习汇编语言编程方法与调试技巧。 二、实验内容 P1.0 开关接 5V 时,右转弯灯闪亮,P1.1 开关接 5V 时左转弯灯闪亮, P1.O、P1.1 开 关同时接 5V 或接地时,转弯灯均不闪亮。 三、程序框图 3 四、实验电路 五、实验步骤 P1.0 接 K1 P1.1 接 K2 P1.4-P1.7 接 L1 L5 L9 L13 连续运行本程序,应看到转弯灯正确 闪亮,在用单步方式调试本程序时需修改延时子程序,(例可把延时程序第一个字节改 成返回指令 22H),以便观察 实验五 脉冲计数实验 一、实验目的:

1)掌握定时计数器的使用。

2)学习延迟程序的编写和使用。

3)熟悉 proteus 仿真软件的使用方法。

二、实验内容:

1)开始时,显示“00”,第一次按下 SP1 后就开始计时。

2)第二次按下 SP1 后,计时停止。

3) 第三次按下 SP1 时,计时归零。

三、主程序流程图 4 四、中断服务程序流程图如下: 五、参考程序如下:

TCNTA EQU 30H TCNTB EQU 31H SEC EQU 32H 5 KEYCNT EQU 33H SP1 BIT P3.5 ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV KEYCNT,#00H MOV SEC,#00H MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A MOV TMOD,#02H SETB ET0 SETB EA WT: JB SP1,WT LCALL DELY10MS JB SP1,WT INC KEYCNT MOV A,KEYCNT CJNE A,#01H,KN1 SETB TR0 MOV TH0,#06H MOV TL0,#06H MOV TCNTA,#00H MOV TCNTB,#00H LJMP DKN KN1: CJNE A,#02H,KN2 CLR TR0 LJMP DKN KN2: CJNE A,#03H,DKN MOV SEC,#00H MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A 6 MOV A,B MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A MOV KEYCNT,#00H DKN: JNB SP1,$ LJMP WT DELY10MS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET INT_T0: INC TCNTA MOV A,TCNTA CJNE A,#100,NEXT MOV TCNTA,#00H INC TCNTB MOV A,TCNTB CJNE A,#4,NEXT MOV TCNTB,#00H INC SEC MOV A,SEC CJNE A,#100,DONE MOV SEC,#00H DONE: MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A NEXT: RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 实验六 并口扩展芯片 8255 控制交通灯 一、实验目的 进一步了解 8255 芯片的结构及编程方法,学习模拟交通控制的实现方法。

二、实验内容 7 用 8255 做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 四、参考程序如下:

;交通灯 ORG 0030H JOD0:MOV SP,#60H MOV DPTR,#0FFDBH MOV A,#88H ;8255 初始化 MOVX @DPTR,A MOV DPTR,#0FFD8H MOV A,#0B6H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;点亮 4 个红灯 MOV R2,#25H ;延时 LCALL DELY JOD3:MOV DPTR,#0FFD8H MOV A,#75H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;东西绿灯亮,南北红灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数 JOD1:MOV DPTR,#0FFD8H MOV A,#0F3H 8 MOVX @DPTR,A INC DPTR MOV A,#0CH MOVX @DPTR,A ;东西黄灯亮,南北红灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0F7H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;南北红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD1 ;闪烁次数未到继续 MOV DPTR,#0FFD8H MOV A,#0AEH MOVX @DPTR,A INC DPTR MOV A,#0BH MOVX @DPTR,A ;东西红灯亮,南北绿灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数 JOD2:MOV DPTR,#0FFD8H MOV A,#9EH MOVX @DPTR,A INC DPTR MOV A,#07H MOVX @DPTR,A ;东西红灯亮,南北黄灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0BEH MOVX @DPTR,A INC DPTR MOV A,#0FH MOVX @DPTR,A ;东西红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD2 ;闪烁次数未到继续 LJMP JOD3 ORG 0213H DELY:PUSH 02H 9 DEL2:PUSH 02H DEL3:PUSH 02H DEL4:DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RET END 实验七 一、实验要求 点阵 LED 显示实验 利用实验系统提供的显示设备,动态显示一行数据。 二、实验目的 ⑴了解数码管动态显示的原理; ⑵了解用总线方式控制数码管显示。 三、实验说明 本实验系统提供了八段码 LED 显示电路,学生只要按地址输出相应数据,就可以实现 对显示器的控制。 四、程序框图 实验八 AD 转换实验 一、实验目的 1.掌握 A/D 转换与单片机的接口方法 2.了解 A/D 芯片 0809 性能及编程方法 3.通过实验了解单片机如何进行数据采集 二、实验内容 1.利用 proteus 软件仿真,实现 A/D 转换实验。 10 C1 30PF C2 30PF X1 U1 19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 R1 CRYSTAL 18 XTAL2 C3 9 10uF R9 10k 29 30 31 RST PULLUP PSEN ALE EA U3(CLOCK) D0 D1 D2 D3 D4 D5 D6 D7 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51 RV1 26 27 28 1 2 3 4 5 25 24 23 22 12 16 50% U3 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 ADD A ADD B ADD C ALE VREF(+) VREF(-) ADC0808 CLOCK START EOC OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 10 6 7 21 20 19 18 8 15 14 17 D7 D6 D5 D4 D3 D2 D1 D0 1k D[0..7] OE 9 2.实验要求通过电位器提供模拟量的输入,编写程序,将模拟量转换成数字量,通过数码管 显示出来。

三、参考程序如下:

LED_0 EQU 30H ;存放三个数码管的段码 LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H ST BIT P3.2 OE BIT P3.0 EOC BIT P3.1 ORG 00H START: MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE SETB P3.4 SETB P3.5 CLR P3.6 WAIT: CLR ST 11 ;存放转换后的数据 ;送段码表首地址 ;选择 ADC0808 的通道 3 SETB ST CLR ST JNB EOC,$ SETB OE MOV ADC,P1 CLR OE ;MOV A,ADC ;MOV B,#100 ;DIV AB ;MOV LED_2,A ;MOV A,B ;MOV B,#10 ;DIV AB ;MOV LED_1,A ;MOV LED_0,B lcall intov LCALL DISP SJMP WAIT ;启动转换 ;等待转换结束 ;允许输出 ;暂存转换结果 ;关闭输出 ;将 AD 转换结果转换成 BCD 码 ;显示 AD 转换结果 intov: ;mov a,led_1 ;m;ov b,#10 ;mul ab ;add a,led_0 ;mov r1,a ;mov a,led_2 ;mov b,#100 ;mul ab ;add a,r1 mov dptr,#tab mov a,adc movc a,@a+dptr mov b,#2 div ab mov r1,b mov b,#10 div ab mov led_2,a mov led_1,b cjne r1,#01,kk1 mov led_0,#05 back: ret kk1: mov led_0,#00 ajmp back 12 DISP: mov dptr,#table MOV A,LED_0 MOVC A,@A+DPTR CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3 mov dptr,#table MOV A,LED_1 MOVC A,@A+DPTR CLR P2.2 MOV P0,A LCALL DELAY SETB P2.2 mov dptr,#table MOV A,LED_2 MOVC A,@A+DPTR setb acc.7 CLR P2.1 MOV P0,A LCALL DELAY SETB P2.1 RET DELAY: MOV R6,#10 D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET ;数码显示子程序 ;延时 5 毫秒 TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH tab:db 0, db 4, 0, db 8, 0, db 0, 12, db 0, 16, db 0, 20, db 0, 24, db 0, 28, 0 0, 0, 0, 0, 0, 0, 0, , 5, 9, 13, 17, 0, 0, 0, 0 0, 0, 0, 0, 21, 25, 29, , 6, 0, 0, 0, 0, 0, 0, 1, 0, 10, 14, 18, 22, 26, 0, 0, 0, 0, 0, 0, 0, 0, 30, 2, 7, 11, 15, 19, 0, 0, 0, 0, 0, 0 0 0 0 23 27 31 13 3, 0 db 0, db 0, db 0, db 43, db 47, db 51, db 55, db 59, db 0, db 0, db 0, db 0, db 0, db 0, db 0, db 0, db 94, db 98, END 0, 0, 0, 0, 0, 0, 0, 0, 63, 67, 71, 75, 79, 0, 0, 0, 0, 0, 32, 36, 40, 44, 48, 0, 0, 0, 0, 0, 0, 0, 0, 83, 87, 91, 95, 99, 0, 0, 0, 0, 0, 52, 56, 60, 64, 68, 0, 0, 0, 0, 0, 0, 0, 0, 33, 37, 0, 0, 0, 0, 0, 0, 0, 0, 72, 76, 80, 84, 88, 0, 0, 0, 0, 0, 0, 0, 41, 0, 45, 0, 49, 0, 53, 0, 57, 0, 0, 61, 0, 65, 0, 69, 0, 73, 0, 77, 0, 0, 0, 0, 0, 0, 92, 0, 96, 0, 100, 0, 34, 38, 42, 46, 50, 0, 0, 0, 0, 0, 0, 0, 81, 85, 89, 93, 97, 0, 0, 0, 0, 0, 0, 54, 58, 62, 66, 70, 0, 0, 0, 0, 0, 0, 0, 0 35 39 0 0 0 0 0 0 0 0 74 78 82 86 90 0 0 实验九 电脑时钟(定时器、中断综合实验) 一、实验目的 熟悉 MCS-51 定时器,串行口和中断初始化编程方法,了解定时器的应用实时程序的设计与调试技巧。 二、实验内容 编写程序,从本实验系统键盘上输入时间初值,用定时器产生 0.1S 定时中断,对时钟计数器计数,并 将数值实时地送数码管显示。 三、程序框图 14 四、实验步骤 连续运行程序,在键盘上输入时间初值,按执行键 EXEC 执行,数码管上实时显示时间值。 五、思考 (1)电子钟走时精度和程序中那些常数有关? (2)修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。 六、参考程序 ORG 0000H LJMP START ORG 000BH LJMP T0_INT ORG 0030H START: MOV 50H,#00H ;

时的低位字符码 MOV 51H,#00H ;

时的高位字符码 MOV 52H,#00H ;

“-”的字符码 MOV 53H,#00H ;

分的低位字符码 MOV 54H,#00H ;

分的高位字符码 MOV 55H,#00H ;

“-”的字符码 MOV 56H,#00H ;

秒的低位字符码 MOV 57H,#00H ;

秒的高位字符码 MOV 5FH,#00H ;

存放小时的单元 MOV 5EH,#00H ;

存放分钟的单元 MOV 5DH,#00H ;

存放秒的单元 MOV 5CH,#00H;存放 T0 中断次数,50 次为 1 秒 MOV SP,#60H;

设置堆栈栈顶 MOV TH0,#??? ;设置 T0 定时器初值 MOV TL0,#??? MOV TMOD,#00000001H;T0 工作在定时 方式,工作方式 0 SETB ET0 ;开放 T0 中断 SETB EA ;开放总中断 SETB TR0 ;启动定时器 T0 LOOP: mov P2,#11111110H MOV R0,#50H loop1: MOV R7,#08H LOOP2: MOV A,@R0 MOV P1,A LCALL DELAY INC R0 MOV A,P2 RL A MOV P2,A DJNZ R7, LOOP2 LJMP LOOP DELAY: DELAY1: DELAY2: DELAY3: T0_INT: T0_INT1: T0_INT2: T0_INT3: T0_INT4: T0_END: SJMP $ MOV R6,#2 ;延时程序 MOV R5,#10 MOV R4,#100 DJNZ R4,DELAY3 DJNZ R5,DELAY2 DJNZ R6,DELAY1 RET CLR TR0 PUSH ACC MOV A,5CH CJNE A,#50H,T0_INT1 MOV 5CH,#00H MOV A,5DH CJNE A,#59H,T0_INT2 MOV 5DH,#00H MOV A,5EH CJNE A,#59H,T0_INT3 MOV 5EH,#00H MOV A,5FH CJNE A,#23H,T0_INT4 MOV 5FH,#00H LJMP T0_END INC 5CH LJMP T0_END INC 5DH LJMP T0_END INC 5EH LJMP T0_END INC 5FH MOV A,5FH MOV B,#10 DIV AB MOV 51H,A MOV A,B MOV 50H,A MOV A,5EH 15 MOV B,#10 DIV AB MOV 54H,A MOV A,B MOV 53H,A MOV A,5DH MOV B,#10 DIV AB MOV 57H,A MOV A,B MOV 56H,A POP ACC MOV TH0,#??? MOV TL0,#??? SETB TR0 RETI 16 实验十 一、实验目的 1.了解步进电机控制的基本原理。

2.掌握步进电机转动编程方法。 步进电机控制实验 二、实验内容 从键盘上输入正、反转命令,转速参数和转动步数显示在显示器上,CPU 再读取显示器 上显示的正、反转命令,转速级数(16 级)和转动步数后执行。转动步数减为零时停止转 动。 三、实验电路图 四、参考程序 ORG 0000H ljmp main ORG 000BH LJMP COUNT0 ORG 001BH LJMP COUNT1 ORG 0100H MOV P0,#0FFH ;输送脉冲口, SETB P1.2 ;

MOV R0,#1 ;延时变化变量 MOV P0,#0FCH LCALL DELAY MAIN: LOOP1: 17 MOV P0,#0F6H LCALL DELAY MOV P0,#0F3H LCALL DELAY MOV P0,#0F9H LCALL DELAY JNB P1.2,LOOP2 MOV TMOD,#01010101B MOV TH0,#0FFH MOV TL0,#0FFH MOV TH1,#0FFH MOV TL1,#0FFH SETB TR0 SETB TR1 SETB ET0 SETB ET1 SETB EA MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR MOV P2,A JMP LOOP1 LOOP2: MOV P0,#0FCH LCALL DELAY MOV P0,#0F9H LCALL DELAY MOV P0,#0F3H LCALL DELAY MOV P0,#0F6H LCALL DELAY JB P1.2,LOOP1 MOV TMOD,#01010101B MOV TH0,#0FFH MOV TL0,#0FFH MOV TH1,#0FFH MOV TL1,#0FFH SETB TR0 SETB TR1 SETB ET0 SETB ET1 SETB EA MOV DPTR,#TABLE MOV A,R0 MOVC A,@A+DPTR 18 MOV P2,A JMP LOOP2 SJMP $ COUNT0: MOV TH0,#0FFH MOV TL0,#0FFH CJNE R0,#9,L4 JMP L5 L4: INC R0 ;减速中断 L5: setb TR0 RETI COUNT1: MOV TH1,#0FFH ;加速中断 MOV TL1,#0FFH CJNE R0,#1,L6 JMP L7 L6: DEC R0 L7: setb TR1 RETI DELAY: MOV A,R0 ;延时 MOV R1,A L1: MOV R2,#50 L2: MOV R3,#250 L3: DJNZ R3,L3 DJNZ R2,L2 DJNZ R1,L1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 显示程序查表,共阴 END ; 实验十一 LCD 液晶显示屏实验 一、实验目的 ⑴掌握单片机扩展液晶显示接口的设计与编程。

⑵利用字符式液晶显示器显示字符。 二、实验内容 编制程序,在液晶显示器上显示:

学生所在的院系的汉语拼音字母和学生的名字。分两行显示。 三、实验电路 19 四、参考程序 DAT1 DAT2 COM C_ADD D_ADD EQU 30H ;第一参数单元 EQU 31H;第二参数单元 EQU 32H;指令代码单元 EQU 0100H;指令通道地址 EQU 0000H;数据通道地址 org 0000h ljmp main org 0030h ;主程序 MAIN: MOV SP,#60H;

lcall delay;上电延时 LCALL INT;初始化 LCALL CLEAR;清缓冲区 TEST: LCALL hgnu_disp;显示"WELCOM TO HGNU"

LCALL PL_XW_ZKB;显示 "P_L :"

"X_W :"

"ZKB:"

sjmp test ;上电延时子程序 delay: MOV R6,#50H;

MOV R7,#00H;

DELY1: NOP 20 DJNZ R7,DELY1;上电延时 DJNZ R6,DELY1;

ret ;读状态字子程序 R_ST: MOV DPTR,#C_ADD;设置指令通道 MOVX A,@DPTR;

RET ;判断状态位 STA1,STA0 子程序(读写指令和数据),在指令的读,写 ;数据之前这两个标志必须同时为“1” ST01: LCALL R_ST;

JNB ACC.0,ST01;

JNB ACC.1,ST01;

RET ;判断状位 STA2 子程序(数据自动读状态) ,该位 ;在数据自动操作过程中取代 STA0 和 STA1 有效。在连续读过程中每读一次 ;之前都要确认 STA2=1 ST2: LCALL R_ST;

JNB ACC.2,ST2;

RET ;判断 STA3 子程序(数据自动写状态) ST3: LCALL R_ST;

JNB ACC.3,ST3;

RET ;判断状态位 STA6 子程序(屏读/屏拷贝状态) ST6: LCALL R_ST;

JB ACC.6,ERR;

RET ERR: LJMP ST6;;出错处理 ;写指令和写数据子程序 .. ;双字节参数指令写入入口 PR1: LCALL ST01;判断状态位 STA1,STA0 MOV A,DAT1;取第一参数单元数据 LCALL PR13;写入参数 ;单字节参数指令写入入口 PR11: LCALL ST01;判断状态位 STA1,STA0 MOV A,DAT2;取第二参数单元数据 LCALL PR13;写入参数 ;无参数指令写入入口 PR12: LCALL ST01;无参数指令写入入口 MOV A,COM;取指令代码单元数据 MOV DPTR,#c_ADD;设置指令通道地址/数据写入入口 LJMP PR14;写入指令代码 PR13: MOV DPTR,#D_ADD;设置数据通道地址/数据写入入口 PR14: MOVX @DPTR,A;写入操作 21 RET ;读数据子程序 PR2: LCALL ST01;判断状态位 MOV DPTR,#D_ADD;设置数据通道地址 MOVX A,@DPTR;读数据操作 MOV DAT2,A;数据存入第二参数/数据单元 RET ;初始化子程序 INT: ;显示区域设置 MOV DAT1,#00H;设置文本显示区首地址 MOV DAT2,#00h;

MOV COM,#40H;

LCALL PR1;双字节参数指令写入入口 MOV DAT1,#16;设置文本显示区域宽度 MOV DAT2,#00H;即一行显示所占字节数 MOV COM,#41H;

LCALL PR1;双字节参数指令写入入口 MOV DAT1,#00H;设置显示区域首地址 MOV DAT2,#00H;或文本属性区域首地址 MOV COM,#42H;

LCALL PR1;双字节参数指令写入入口 MOV DAT1,#10H;设置图形显示区域宽度 MOV DAT2,#00H;或为文本属性区域狂宽度 MOV COM,#43H;即一行显示所占字节数 LCALL PR1;双字节参数指令写入入口 ;显示光标设置 MOV COM,#0A1H;光标形状设置 LCALL PR12;

;设置光标初始位置,是字符行和字符列,第 0 行第 15 列 MOV DAT1,#0;光标行位置 MOV DAT2,#0;

光标列位置 MOV COM,#21H;

LCALL PR1;双字节参数指令写入入口 ;显示方式设置,使用内部字符发生器 MOV COM,#80H;显示方式设置,逻辑“或”合成 LCALL PR12;无参数指令写入入口+ ;显示开关方式 MOV COM,#97H;仅用文本显示 LCALL PR12;无参数指令写入入口 RET ;写数据子程序,8*8 点阵 ;R6 中装入显示位置的列数(字符的个数) ,每行 16 个字符,R7 中装入显示位置距左上角 的字符行数 ;5FH 单元中装入待显示的字符码 22 DISP: mov b,r7 mov a,#16 mul ab mov r7,a CLR C mov a,R6 ADD A,R7 MOV R6,A;R7*16+R6 MOV DAT1,R6;

设置显示 RAM 首地址,水平方向字符数 MOV DAT2,#00H;固定送 00H MOV COM,#24H;地址指针指令 LCALL PR1;

MOV dat2,5fH;取要显示的字符 MOV COM,#0c4H;数据写,地址不变 LCALL PR11;写入数据 RET ;清显示缓冲区(16*8 单元) clear: MOV 5FH,#00H MOV R5,#0 CLEAR0: MOV R4,#0 CLEAR1: MOV A,R5 MOV R7,A MOV A,R4 MOV R6,A CLEAR2: LCALL DISP INC R4 CJNE R4,#16,CLEAR1 mov r4,#00h INC R5 CJNE R5,#8,CLEAR0 CLEAR9: RET ;显示频率、相位、占空比、相位差等字符。

(P_L : X_W : ZKB:) ;

PL_XW_ZKB:MOV R7,#3 MOV R6,#0 MOV 5fh,#30H;"P"

LCALL DISP MOV R7,#3 MOV R6,#1 MOV 5fh,#3FH;"_"

LCALL DISP MOV R7,#3 MOV R6,#2 MOV 5fh,#2CH;"L" 23 LCALL DISP MOV R7,#3 MOV R6,#3 MOV 5fh,#1AH;": "

LCALL DISP MOV R7,#5 MOV R6,#0 MOV 5fh,#38H;"X"

LCALL DISP MOV R7,#5 MOV R6,#1 MOV 5fh,#3FH;"_"

LCALL DISP MOV R7,#5 MOV R6,#2 MOV 5fh,#37H;"W"

LCALL DISP MOV R7,#5 MOV R6,#3 MOV 5fh,#1AH;": "

LCALL DISP MOV R7,#7 MOV R6,#0 MOV 5fh,#3AH;"Z"

LCALL DISP MOV R7,#7 MOV R6,#1 MOV 5fh,#2BH;"K"

LCALL DISP MOV R7,#7 MOV R6,#2 MOV 5fh,#22H;"B "

LCALL DISP MOV R7,#7 MOV R6,#3 MOV 5fh,#1AH;": "

LCALL DISP RET ;顶行显示"黄冈师院物科院“的英文名称。

;"welcome to hgnu!"

hgnu_DISP: MOV R7,#0;显示位置的行列数 MOV R6,#0 MOV 5fh,#37H;"W"

LCALL DISP 24 MOV R7,#0 MOV R6,#1 MOV 5fh,#25H;"E"

LCALL DISP MOV R7,#0 MOV R6,#2 MOV 5fh,#2CH;"L"

LCALL DISP MOV R7,#0 MOV R6,#3 MOV 5fh,#23H;"C"

LCALL DISP MOV R7,#0 MOV R6,#4 MOV 5fh,#2FH;"0"

LCALL DISP MOV R7,#0 MOV R6,#5 MOV 5fh,#2DH;"M"

LCALL DISP MOV R7,#0 MOV R6,#6 MOV 5fh,#25H;"E"

LCALL DISP MOV R7,#0 MOV R6,#7 MOV 5fh,#00H;"

"

LCALL DISP MOV R7,#0 MOV R6,#8 MOV 5fh,#34H;"T"

LCALL DISP MOV R7,#0 MOV R6,#9 MOV 5fh,#2FH;"O"

LCALL DISP MOV R7,#0 MOV R6,#10 MOV 5fh,#00H;"

"

LCALL DISP MOV R7,#0 MOV R6,#11 MOV 5fh,#28H;"H"

LCALL DISP 25 MOV R7,#0 MOV R6,#12 MOV 5fh,#27H;"G"

LCALL DISP MOV R7,#0 MOV R6,#13 MOV 5fh,#2EH;"N"

LCALL DISP MOV R7,#0 MOV R6,#14 MOV 5fh,#35H;"U"

LCALL DISP RET tab: db 10h,11h,12h,13h,14h,15h,16h,17h,18h,19h;"0-----9"

db 21h,22h,23h,24h,25h,26h;"A-----F"

end 26

《单片机原理及应用实验》实验教学大纲 一、课程的基本信息 课程名称:单片机原理及应用实验 课程类别:实践课程 学分/学时:1/20 适用对象:电子信息工程专业 开课单位/教研...

报告编号(No):2741 【出版机构】: 中研智业研究院 【报告名称】: 2014-2019年中国三合一单片机实验箱行业市场发展预测及投资战略规划报告 【关键字】: 三合一单片机实...

【摘要】: 针对传统单片机实验教学的弊端和实际教学过程中遇到的问题,对单片机实验教学进行了探索,提出实现实验设备多样化、重视课外时间、更新实验内容、注意课程知识...

 
  • 泥巴往事网(www.nbwtv.com) © 2014 版权所有 All Rights Reserved.