资源简介
附锯齿波 正弦波程序&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
相关资源
- 利用51单片机实现了红外发射以及接受
- 51单片机LED16X16点阵滚动显示
- 基于AT89C51的八路抢答器
- 基于51单片机的空调遥控器C源程序
- 单片机课程设计数字时钟
- atmega128单片机的串口通讯程序
- 基于单片机的DAC0832正弦波 发生器 源
- 基于单片机的DAC0832波形发生器 源码
- 单片机多功能数字时钟报告1602LCD Ds
- 51单片机控制RDA5807收音机模块
- QUARTUS的fpga中生成正弦波实验报告
- STM32单片机WS2812B驱动程序灯效程序
- C8051F020单片机驱动CCD 1304
- 基于C51单片机的声光控灯
- 51单片机电子门铃设计
- DHT11液晶显示C程序+PCB原理图
- 电动牙刷开发例程stc15系列单片机
- M62429控制程序代码
- 一种基于单片机的正弦波输出逆变电
- 单片机游戏-推箱子游戏
- PIC单片机的EEPROM读写及说明
- PIC单片机控制风扇马达
- 基于51单片机的 4×4键盘及8位数码管显
- 基于51单片机的霹雳灯
- MC9s12单片机AD16库
- 8255控制数码管显示程序及图——单片
- 通信电路考试
- 51单片机贪吃蛇游戏程序
- 51单片机控制57步进电机启停,正反转
- NEC 78K0R单片机基本功能程序代码
评论
共有 条评论