一、 实验目的
1、 2、
熟悉方波信号的程序设计方法; 掌握定时器中断的实现方法。
二、 实验内容
用AT89C51单片机产生“嘀、嘀、嘀„„”报警声从P1.0端口输出,产生
频率1KHz。
三、 实验步骤及图形截屏
1、进入Keil C51软件的操作环境,编辑源程序并对源文件进行编译,源程序如下:
TCOUNT EQU 30H FLAG BIT 00H
ORG 00H ;程序起始地址为00H SJMP START
ORG 0BH ;起始地址为0BH LJMP INT_T0 ;长转移至INT_T0
START: CLR FLAG ;标志位清零
MOV TCOUNT,#00H MOV TCOUNT,#00H MOV TMOD,#01H
MOV TH0,#(65536-1000)/256 ;定时器设初值 MOV TL0,#(65536-1000)MOD 256
MOV IE,#82H ;开中断 SETB TR0 ;启动定时器 SJMP $
INT_T0: MOV TH0,#(65536-1000)/256 ;中断程序
MOV TL0,#(65536-1000)MOD 256 INC TCOUNT MOV A,TCOUNT
CJNE A,#250,I1 ;是否计满0.25秒 CPL FLAG ;未满0.25时标志位高低电平跳变 MOV TCOUNT,#00H
I1: JB FLAG,I2 ;检查标志位,为1时转I2
CPL P1.0 ;标志位为为0时,P1.0高低电平跳变 SJMP RETUNE
I2: CLR P1.0 ;送P1.0端口输出 RETUNE: RETI
END
2、进入Proteus系统,
①拾取元件,元件清单如下:
元件名称 AT89C51 CAP CAP-ELEC RES CRYSTAL SOUNDER 2N1711 ②画出实验电路原理图,如图7-1所示。 元件数量 1 3 1 3 1 1 1
图7-1 报警电路原理图
3、 运行、调试程序和结果检查。在运行时可以听到“嘀、嘀、嘀„„”的报警声,程序运行正常。可以通过“DEBUG”中的菜单命令来观察各寄存器、存储器的值的变化,如图7-2a,7-2b,7-2c,7-2d所示:
图7-2a 报警电路运行效果
图7-2b 内部寄存器值变化 图7-2c寄存器变化
图7-2d 标志寄存器变化
实验八 数字电压表的设计
一、 实验目的
1、熟悉单片机与A/D转换芯片的接口方法;
2、了解A/D转换芯片的转换性能及编程方法; 3、通过实验了解单片机如何进行数据采集。
二、 实验内容
1、使用模数转换芯片ADC0808将电压变化以数字信号的形式输入到
AT89C51的P1口。
2、单片机根据输入信号的变化将其对应的数值在LED数码管上显示出来。
三、 实验步骤及图像截屏
1、进入Keil C51软件的操作环境,编辑源程序并对源文件进行编译,源程
序如下:
LED_0 EQU 30H MOV A,ADC LED_1 EQU 31H MOV B,#100 LED_2 EQU 32H DIV AB ADC EQU 35H MOV LED_2,A CLOCK BIT P2.4 MOV A,B ST BIT P2.5 MOV B,#10 EOC BIT P2.6 DIV AB
OE BIT P2.7 MOV LED_1,A ORG 00H MOV LED_0,B SJMP START LCALL DISP ORG 0BH SJMP WAIT LJMP INT_T0 INT_T0: CPL CLOCK START: MOV LED_0,#00H RETI
MOV LED_1,#00H DISP: MOV A,LED_0 MOV LED_2,#00H MOVC A,@A+DPTR MOV DPTR,#TABLE CLR P2.3 MOV TMOD,#02H MOV P0,A MOV TH0,#245 LCALL DELAY MOV TL0,#00H SETB P2.3 MOV IE,#82H MOV A,LED_1 SETB TR0 MOVC A,@A+DPTR
WAIT: CLR ST CLR P2.2
SETB ST MOV P0,A CLR ST LCALL DELAY JNB EOC,$ SETB P2.2 SETB OE MOV A,LED_2 MOV ADC,P1 MOVC A,@A+DPTR CLR OE 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
TABLE: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END
2、进入Proteus系统
①拾取元件,元件清单如下: 元件名称 元件数量 AT89C51 1 CAP 2 CAP-ELEC 1 RES 9 CRYSTAL 1 ADC0808 1 POT-HG 1 7SEG-MP×4-CC-BLUE 1 ②画出实验电路原理图,如图8-1所示。
图8-1 数字电压表电路图
3、运行、调试程序和结果检查。如图8-2所示:
图8-2 数字电压表运行结果
调节RV1可以改变数码管显示值的大小,当RV1值增大时显示值增大,RV1值减小时显示值减小,数码管显示值在0—255之间变化。
因篇幅问题不能全部显示,请点此查看更多更全内容