单片机实验七
来源:互联网 发布:数组java99乘法表 编辑:程序博客网 时间:2024/06/05 08:08
实验7.1 实现D/A接口设计,编写程序输出方波、锯齿波、正弦波,使用示波器观察波形。
该试验必须要配合示波器才能验证,所以我在寝室的话并不能验证正确性,而且这个实验做的也是云里雾里的,因为理论的时候明明学了很多可以接的接口呀,但是实验时却什么都不用接,因为实验箱内部已经接好了。
锯齿波程序:汇编代码
D_1 EQU 8140HD_2 EQU 81C0HORG 0000HJMP STARTSTART:MOV SP,#30HMOV A,#00HBB:MOV DPTR,#D_1MOVX @DPTR,AMOV DPTR,#D_2MOVX @DPTR,AINC ASJMP BBEND
C语言代码:
#include<reg51.h>#include<absacc.h>#define D_1 XBYTE[0x8140]#define D_2 XBYTE[0x81c0]uchar a=0;main(){ while(1){ D_1=a; D_2=a; a++; }}
方波:汇编代码:
D_1 EQU 8140HD_2 EQU 81C0HORG 0000HJMP STARTSTART:MOV SP,#30HMOV A,#00HBB:MOV DPTR,#D_1MOVX @DPTR,AMOV DPTR,#D_2MOVX @DPTR,ACPL ACALL D500SJMP BBD500: ;延时500ms子程序 MOV R7,#17HDL1: MOV R6,#98HDL0: MOV R5,#46H DJNZ R5,$ DJNZ R6,DL0 DJNZ R7,DL1 RETEND
C语言代码:
#include<reg51.h>#include<absacc.h>#define D_1 XBYTE[0x8140]#define D_2 XBYTE[0x81c0]uchar a=0;void delay500ms(void){ unsigned char a,b,c; for(c=23;c>0;c--) for(b=152;b>0;b--) for(a=70;a>0;a--);}main(){ while(1){ D_1=a; D_2=a; a=~a; delay500ms(); }}
正弦波:汇编代码 利用查表法 太麻烦啦,我日后加上
C语言代码:
#include<reg51.h>#include<absacc.h>#include<math.h>#define D1 XBYTE[0x8140]#define D2 XBYTE[0x81C0]#define pi acos(-1)main(){ unsigned int a=0; unsigned char f=0; SP=0x30; while(1){ f=sin(a*pi/180)*100; D1=f+100; D2=f+100; a++; if(a==360) a=0; }}
阅读全文
0 0
- 单片机实验七
- FxCAD 实验七 8051单片机绘制
- 实验七
- 实验七
- 实验七
- 实验七
- 实验七
- 单片机小白学步系列(七) 准备实验板——萝卜青菜,各有所爱
- 实验七:OSPF实验
- 【单片机】编码键盘实验
- 【单片机】LED实验
- 51单片机定时器实验
- 单片机串口通信实验
- 单片机时钟实验
- 单片机实验报告
- 单片机控制继电器实验
- 51 单片机串口实验
- 简单的单片机实验
- HDFS分布式文件系统架构
- mavean项目启动 停止在 Initializing Spring root WebApplicationContext
- 解析C语言结构体,位段。
- 嵌入式面试问题(1)——HelloWorld
- Mysql基础—对数据库和表的基本操作
- 单片机实验七
- makefile 笔记
- 欧拉角与万向节死锁
- Codevs 4511 信息传递
- Java访问权限修饰词笔记
- Spring之再学习(3)
- HDU 1496 Equations (hash)
- js公共方法
- 密码学笔记1 密码学发展