资源简介
附锯齿波 正弦波程序&protues仿真原理图 幅度频率可调

代码片段和文件信息
#include
unsigned code Tab [10]=
{0x030x9f0x250x0d0x990x490x410x1f0x010x09};
unsigned char data OA[4]={0x0d0x030x030x03}; //幅值初值为3000 mV
unsigned char data OF[4]={0xff0xff0x9f0x03}; //频率初值为0010 Hz
unsigned char NA0NA1NF2NF3keyval*Tabc;
float mngaofo;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
/******************************
函数功能:延时50ms去抖动
(3j+2)i=(166*3+2)*100=50000us
*******************************/
void delay50ms(void)
{
unsigned char ij;
for(i=0;i<100;i++)
for(j=0;j<166;j++);
}
/******************************
函数功能:键盘扫描子程序
*******************************/
unsigned char getkey()
{unsigned char xyz;
P1=0xff;
P1=0x0f;
if(P1!=0x0f)
{delay50ms();
if(P1!=0x0f)
{x=P1;
P1=0xf0;
y=P1;
z=x|y;
switch(z)
{case 0x7e:keyval=1;break;
case 0xbe:keyval=2;break;
case 0xde:keyval=3;break;
case 0xee:keyval=4;break;
case 0x7d:keyval=5;break;
case 0xbd:keyval=6;break;
case 0xdd:keyval=7;break;
case 0xed:keyval=8;break;
case 0xe7:keyval=16;break;
}
return(keyval);
}
}
return(0);
}
/******************************
函数功能:串行口输出
*******************************/
void CP(void)
{unsigned char i*p;
SCON=0;
p=Tabc+3;
for(i=0;i<4;i++)
{SBUF=*p;
while(!TI)
{;}
TI=0;
p--;
}
}
/*******************************************
函数功能:外中断T0的调频中断服务
********************************************/
int0() interrupt 0
{P3_2=1;
delay50ms();
if(!P3_2)
{keyval=0;
Tabc=OF;
CP();
while(keyval!=16)
{keyval=0;
while(keyval==0)
{
keyval=getkey();
}
delay50ms();
switch(keyval)
{case 1:NF2+=1;
if(NF2<=4&&NF2>=0)
{
Tabc[2]=Tab[NF2];
CP();
}
else
NF2=0;
break;
case 2:NF3+=1;
if(NF3<=9&&NF3>=0)
{
Tabc[3]=Tab[NF3];
CP();
}
else
NF3=0;
break;
case 5:NF2-=1;
if(NF2<=4&&NF2>=0)
{
Tabc[2]=Tab[NF2];
CP();
}
else
NF2=4;
break;
case 6:NF3-=1;
if(NF3<=9&&NF3>=0)
{
Tabc[3]=Tab[NF2];
CP();
}
else
NF2=9;
break;
}
delay50ms();
}
m=1000*NA0+100*NA1;
n=(10*NF2+NF3)*238;
fo=1000000/n/5;
g=m*256/5000/fo;
}
}
/********************************************
函数功能:外中断T1的调幅中断服务
*********************************************/
void int2(void) interrupt 2
{P3_3=1;
delay50ms();
if(!P3_3)
{keyval=0;
Tabc=OA;
CP();
while(keyval!=16)
{keyval=0;
while(keyval==0)
{
keyval=getkey();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-07-10 19:56 单片机课设\
文件 158462 2010-07-09 08:53 单片机课设\JIANKONG.DSN
文件 816 2010-07-09 13:54 单片机课设\JIANKONG.PWI
文件 4710 2010-07-09 13:02 单片机课设\juchibo.c
文件 8987 2010-07-09 13:02 单片机课设\juchibo.LST
文件 12399 2010-07-09 13:02 单片机课设\juchibo.OBJ
文件 11450 2010-07-09 13:02 单片机课设\juchubo
文件 6876 2010-07-09 13:02 单片机课设\juchubo.hex
文件 62 2010-07-09 13:02 单片机课设\juchubo.lnp
文件 17306 2010-07-09 13:02 单片机课设\juchubo.M51
文件 1078 2010-07-09 13:54 单片机课设\juchubo.Opt
文件 391 2010-07-09 13:54 单片机课设\juchubo.plg
文件 2158 2010-07-09 00:35 单片机课设\juchubo.Uv2
文件 1078 2010-07-09 10:49 单片机课设\juchubo_Opt.Bak
文件 2158 2010-07-09 00:08 单片机课设\juchubo_Uv2.Bak
文件 4296 2010-07-07 10:16 单片机课设\keshesin3.c
文件 158478 2010-07-08 23:27 单片机课设\Last Loaded JIANKONG.DBK
文件 121219 2010-07-07 23:14 单片机课设\Last Loaded ZC.DBK
文件 6376 2005-03-22 15:22 单片机课设\STARTUP.A51
文件 14065 2010-07-09 13:02 单片机课设\STARTUP.LST
文件 758 2010-07-09 13:02 单片机课设\STARTUP.OBJ
文件 121228 2010-07-09 08:37 单片机课设\ZC.DSN
文件 792 2010-07-09 08:37 单片机课设\ZC.PWI
文件 279 2010-07-05 19:03 单片机课设\具体设计.txt
相关资源
- STC8951系列单片机中方指南
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 数字频率合成dds正弦波基于FPGA的DDS产
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- 浙江工业大学2005-2006学年单片机习题
- 单片机与PC机串口通讯仿真
- 毕业设计 单片机 对讲机 protues仿真
评论
共有 条评论