产生波形实验(DA转换)
2013-07-29 14:38
148 查看
/*DA转换实验 例如产生锯齿波*/
#include <reg52.h>
unsigned char xdata ad_cs0 _at_ 0xc000;
unsigned char xdata ad_cs1 _at_ 0xc001 ;
unsigned char xdata key_seg _at_ 0xd004;
unsigned char xdata key_bit _at_ 0xd002;
sbit EOC=P3^2;
unsigned char disp_ram[6];
unsigned char seg7[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71,0,0x80};
unsigned char scan[]={0x01,0x02,0x04,0x08,0x10,0x20};
void delay()
{
unsigned char i,j;
for (i=0;i<200;i++)
for (j=0;j<2;j++);
}
void main()
{
unsigned char i=0;
unsigned char ad_value;
unsigned char tmp,a;
disp_ram[0]=17;
disp_ram[1]=16;
disp_ram[2]=16;
disp_ram[3]=16;
disp_ram[4]=16;
disp_ram[5]=16;
ad_cs0=0;
while(1)
{
key_bit=scan[i];
a=seg7[disp_ram[i]];
if (i==5)
a=a|0x80;
key_seg=a;
delay();
i++;
i=i%6 ;
if (EOC)
{
ad_value=ad_cs0;
disp_ram[5]=ad_value*5/256;
tmp=(ad_value*5)%256;
disp_ram[4]=tmp/100;
disp_ram[3]=(tmp%100)/10;
}
ad_cs0=0;
} ;
}
DA转换 Code
#include <reg52.h>
unsigned char xdata ad_cs0 _at_ 0xc000;
unsigned char xdata ad_cs1 _at_ 0xc001 ;
unsigned char xdata key_seg _at_ 0xd004;
unsigned char xdata key_bit _at_ 0xd002;
sbit EOC=P3^2;
unsigned char disp_ram[6];
unsigned char seg7[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71,0,0x80};
unsigned char scan[]={0x01,0x02,0x04,0x08,0x10,0x20};
void delay()
{
unsigned char i,j;
for (i=0;i<200;i++)
for (j=0;j<2;j++);
}
void main()
{
unsigned char i=0;
unsigned char ad_value;
unsigned char tmp,a;
disp_ram[0]=17;
disp_ram[1]=16;
disp_ram[2]=16;
disp_ram[3]=16;
disp_ram[4]=16;
disp_ram[5]=16;
ad_cs0=0;
while(1)
{
key_bit=scan[i];
a=seg7[disp_ram[i]];
if (i==5)
a=a|0x80;
key_seg=a;
delay();
i++;
i=i%6 ;
if (EOC)
{
ad_value=ad_cs0;
disp_ram[5]=ad_value*5/256;
tmp=(ad_value*5)%256;
disp_ram[4]=tmp/100;
disp_ram[3]=(tmp%100)/10;
}
ad_cs0=0;
} ;
}
DA转换 Code
相关文章推荐
- 产生波形实验(DA转换)
- 产生波形实验(DA转换)
- 怎样用单片机和DA转换产生一个正弦波.
- FPGA基础实验:用计数器读取ROM数据产生信号波形(直接数字频率合成DDS)
- 【实验二】图像文件的读写和转换
- Packet Tracer 5.2实验(十四) 网络地址转换NAT配置
- 实验三:计数器、波形仿真、SignalTap
- 实验二 第一题 模拟分页式存储管理中硬件的地址转换和产生缺页中断
- PHP函数ip2long转换IP时数值太大产生负数的解决办法
- 关于在帧中继fr环境下的NAT网络地址转换的实验
- Matlab数据转换成波形
- 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
- C#中 父类与子类相互强制转换之实验
- DNS编程实验--域名与IP的相互转换
- pcf8951 ad/da(iic)转换模块 在 esp8266下的实现
- System.Data.SqlClient.SqlException: 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
- Mysql Blob类型 转换为java String 时产生乱码的解决办法
- 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
- sqlserver 数据类型转换小实验
- Java编程:随机产生一个50到200之间的正整数,如果该数为奇数则求它的平方根并转换成float型后再输出;如果该数为偶数则求它的平方再输出。