ZKS-51实验指导书(5)

2020-06-28 11:14

2、正弦波

设置地址指针指 向正弦波数据表 根据地址指针取一 个数据送D/A转换 地址指针加1, 指向下一个数据 是 32个数取完? 否 五、参考程序 DA-1.ASM 1、锯齿波(CS连地址译码器Y2) ORG 00H

MOV DPTR, #0290H ;D/A转换器的地址 MOV A, #0 ;设置初值

START: MOVX @DPTR, A ;送出数据,进行转换 INC A ;数据加1 SJMP START

2、正弦波(CS连地址译码器Y2)DA-2.ASM ORG 00H

START: MOV R4, #0H ;R4为计数器

DA_S: MOV DPTR, #TABLE ;DPTR指向正弦波数据表 MOV A, R4 ;送正弦波数据表偏移量 MOVC A, @A+DPTR ;从数据表中取一个数据 MOV DPTR, #0290H ;DPTR指向D/A转换器的地址 MOVX @DPTR, A ;送出转换数据并启动DA转换 INC R4 ;计数器加1

CJNE R4, #32, DA_S ;判断32个数据是否送完 SJMP START

TABLE: db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh ;正弦波数据表

db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96h db 80h,66h,4eh,38h,25h,15h,09h,04h db 00h,04h,09h,15h,25h,38h,4eh,66h

46

实验十七 扩展并行接口8255

(总线模式)

一、实验目的

掌握8051单片机扩展并行接口8255的方法。 掌握可编程并行接口8255的编程方法及工作原理。 二、实验内容

1.实验电路如图, 8255C口接“逻辑电平开关”K0~K7,A口接“LED显示”L0~L7。8255CS接288H~28FH.

2. 编程从8255C口输入数据,再从A口输出.

3、接线:PC7~PC0 /8255 接 K7~K0 /逻辑电平开关 PA7~PA0 /8255 接 L7~L0 /LED显示 CS /8255 接 Y1 /IO地址

三、编程提示

1、8255控制寄存器端口地址 28BH

A口的地址 C口的地址 2、参考流程图:

开 始设置8255C口输入A口输出从C口输入数据将此数据自A口输出N

288H 28AH

有键按下吗?Y结 束

47

四、参考程序

;*******************************; ;* 8255方式0的C口输入,A口输出 *; ;*******************************; IO8255A EQU 0288H IO8255B EQU 0289H IO8255C EQU 028AH IO8255KZ EQU 028BH

ORG 0000H

ORG 0100H LJMP MAIN

MAIN: MOV DPTR,#IO8255KZ ;设8255为C口输入,A口输出 MOV A,#8BH

MOVX @DPTR,A

LOOP: MOV DPTR,#IO8255C ;从C口输入一数据 MOVX A,@DPTR

48

END

MOV DPTR,#IO8255A ;从A口输出刚才自C口所输入的数据 MOVX @DPTR,A LJMP LOOP

实验十八 扩展可编程定时器/计数器8253

(总线模式)

一、实验目的

掌握8051单片机扩展可编程定时器/计数器8253的方法。 掌握可编程定时器/计数器8253的方法。 二、实验内容

按下图虚线连接电路,将计数器0、计数器1、计数器2、分别设置为方式3,分别进行2、25、40分频,用逻辑笔观察OUT1输出电平的变化。

三、编程提示 1、

8253控制寄存器地址 计数器0地址 计数器1地址 CLK0连接时钟

2、参考流程图

283H 280H 281H 1MHZ

四、参考程序

AD8253A AD8253B

EQU EQU

0280H 0281H

49

;8253计数器0地址 ;8253计数器1地址

AD8253C ADRCTRL

CSEG LJMP ORG

EQU EQU AT 0000H MAIN 0100H SP,#60H PSW,#00H DIVI2 DIVI25 DIVI40 $

0282H 0283H

;8253计数器2地址 ;8253控制寄存器地址

MAIN: MOV

MOV LCALL LCALL LCALL SJMP

;使用计数器0对CLK0时钟(1MHz)进行2分频 ;使用计数器1对CLK1时钟(OUT0)进行25分频 ;使用计数器2对CLK2时钟(OUT1)进行40分频

;对CLK0(1MHz)进行2分频子程序;使用了DPTR、ACC

DPTR,#ADRCTRL A,#16H @DPTR,A

;写8253控制寄存器

DIVI2: MOV DIVI25:

DIVI40:

MOV MOVX MOV MOV MOVX RET

;控制字:选择0号计数器,仅读/输入低字节,选择方式3 ;采用16位2进制计数器

DPTR,#AD8253A;对1M时钟CLK0进行2分频 A,#2 @DPTR,A

;对CLK1时钟(OUT0)进行25分频子程序 ;使用了DPTR、ACC MOV MOV MOVX MOV MOV MOVX RET

;对CLK2时钟(OUT1)进行40分频子程序,最终得到的频率是500HZ MOV MOV MOVX MOV MOV MOVX RET END

50

DPTR,#ADRCTRL A,#96H @DPTR,A

;写8253控制寄存器

DPTR,#ADRCTRL A,#56H

;写8253控制寄存器

;控制字: 1号,仅读/输入低字节,方式3; 16位2进制计数器

@DPTR, A DPTR,#AD8253B A,#25 @DPTR,A

;对时钟CLK1(OUT0)进行25分频

;控制字: 1号,仅读/输入低字节,方式3; 16位2进制计数器

;对时钟CLK2(OUT1)进行40分频

DPTR,#AD8253C A,#40 @DPTR,A


ZKS-51实验指导书(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学生必背72首古诗

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: