基于单片机的信号发生器例程
2008-09-07 18:57
267 查看
#include<reg51.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
void delays(void);
uchar kbscan(void);
sbit A0=P2^1;
sbit A1=P2^2;
uchar key;
void delays(void)
{
uchar i;
for(i=300;i>0;i--);
}
// kbscan(void) 键扫描函数
uchar kbscan(void)
{
uchar sccode,recode;
P1=0xf0; /*发全"0"行扫描码,列线输入*/
if((P1&0xf0)!=0xf0) /*若有键按下*/
{
delays(); /*延时去抖动*/
if((P1&0xf0)!=0xf0)
{
sccode=0xfe; /*逐行扫描初值*/
while((sccode&0x10)!=0)
{
P1=sccode; /*输出行扫描码*/
if((P1&0xf0)!=0xf0) /*本行有键按下*/
{
recode=(P1&0xf0)|0x0f;
return((~sccode)+(~recode)); /*返回特征字节码*/
}
else sccode=(sccode<<1)|0x01; /*行扫描码左移一位*/
}
}
}
return(0); /*无键按下,返回值为0*/
}
void main(void)
{
uchar key;
while(1)
{
key=kbscan(); /*键扫描函数*/
delays(); /*键消抖的延时函数*/
if (key==0x7e) // 正弦波
{
A0=0;
A1=1;
}
if (key==0xbe) // 矩形波
{
A0=0;
A1=0;
}
if (key==0xbe) // 三角波
{
A0=1;
A1=0;
}
}
}
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
void delays(void);
uchar kbscan(void);
sbit A0=P2^1;
sbit A1=P2^2;
uchar key;
void delays(void)
{
uchar i;
for(i=300;i>0;i--);
}
// kbscan(void) 键扫描函数
uchar kbscan(void)
{
uchar sccode,recode;
P1=0xf0; /*发全"0"行扫描码,列线输入*/
if((P1&0xf0)!=0xf0) /*若有键按下*/
{
delays(); /*延时去抖动*/
if((P1&0xf0)!=0xf0)
{
sccode=0xfe; /*逐行扫描初值*/
while((sccode&0x10)!=0)
{
P1=sccode; /*输出行扫描码*/
if((P1&0xf0)!=0xf0) /*本行有键按下*/
{
recode=(P1&0xf0)|0x0f;
return((~sccode)+(~recode)); /*返回特征字节码*/
}
else sccode=(sccode<<1)|0x01; /*行扫描码左移一位*/
}
}
}
return(0); /*无键按下,返回值为0*/
}
void main(void)
{
uchar key;
while(1)
{
key=kbscan(); /*键扫描函数*/
delays(); /*键消抖的延时函数*/
if (key==0x7e) // 正弦波
{
A0=0;
A1=1;
}
if (key==0xbe) // 矩形波
{
A0=0;
A1=0;
}
if (key==0xbe) // 三角波
{
A0=1;
A1=0;
}
}
}
相关文章推荐
- 基于单片机的信号发生器设计
- 基于ATMEGAL16单片机的信号发生器
- 基于单片机的modbus例程详细
- 基于FPGA的高精度数字信号发生器
- 基于STM32的函数信号发生器设计(上:硬件设计)
- 基于单片机的交通灯信号控制器设计
- 基于labview和fpga的信号发生器
- 基于labview虚拟函数信号发生器的设计 最好有源程序
- 基于STM32的函数信号发生器设计(下:软件设计)
- 基于LabVIEW的虚拟函数信号发生器的相关资料
- 低频信号发生器的例程
- 基于声卡的数字信号发生器与数字电子琴的实现
- [置顶]基于51单片机+DAC0832的信号发生器
- 基于Labview的信号发生器的设计
- 17.7 单片机信号发生器程序
- 基于51系列单片机的PAL标准行同步信号发生器
- 基于51单片机+DAC0832的信号发生器
- 基于单片机的韦根信号的接收
- 用单片机开发信号发生器
- STM32F303X单片机USB例程详细解析1