资源简介

功能全部实现;误差很小; 利用51单片机IO口作输出,通过定时器的周期性中断输出一个占空比可调、频率可调的简易方波信号发生器,具体要求如下: 1、完成频率范围为0.1Hz~5KHz的方波发生器,要求如下: (1)占空比5%~95%连续可调; (2)可键盘输入信号发生的频率。 2、可完成脉宽范围为100μs~1s的脉冲信号发生器,要求如下: (1)可键盘输入发生脉冲宽度; (2)每按一次触发键,可发出一个单脉冲。 3、根据已经描述的C语言控制程序,运用Proteus画出硬件连接图,并将运用C语言描述的程序下载到Proteus虚拟单片机中,在Proteus中实现“简易方波信号发生器”的各项功能。

资源截图

代码片段和文件信息

#include “wy_key.h“
/*******************************************************************************
* Function Name  : Delay_us
* Description    : 延时函数
* Input          : 延时时间长度
* Output         : None
* Return         : None
* Attention      : None
*******************************************************************************/
void Delay_us(uchar z)
{
uint xy;
for(x=z;x>0;x--)
for(y=200;y>0;y--);                
}
/*******************************************************************************
* Function Name  : Keyboard_Read
* Description    : 矩阵键盘键值读取函数
* Input          : None
* Output         : None
* Return         : value:键值(0~15) 16:按键未摁下
* Attention      : None
*******************************************************************************/
uchar Keyboard_Read(void)
{
uchar a=0;
uchar value = 16;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)
{
Delay_us(20);
if(GPIO_KEY!=0x0f)
{
GPIO_KEY=0x0f;
switch(GPIO_KEY)
{
case(0x07): value=0;break;
case(0x0b): value=1;break;
case(0x0d): value=2;break;
case(0x0e): value=3;break;
}
GPIO_KEY=0Xf0;
switch(GPIO_KEY)
{
case(0x70): value=value; break;
case(0xb0): value=value+4; break;
case(0xd0): value=value+8; break;
case(0xe0): value=value+12; break;
}
while((a<50)&&(GPIO_KEY!=0xf0))  
{
Delay_us(20);
a++;
}
}
}
return value;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-14 08:05  Proteus仿真\
     文件       25195  2018-12-14 08:01  Proteus仿真\Backup Of 课程设计.pdsbak
     文件       25194  2018-12-12 10:43  Proteus仿真\Last Loaded 课程设计.pdsbak
     文件       25194  2018-12-14 08:05  Proteus仿真\课程设计.pdsprj
     文件        2420  2018-12-14 08:05  Proteus仿真\课程设计.pdsprj.WY.WY.workspace
     目录           0  2019-01-09 21:13  工程源码\
     目录           0  2019-01-09 21:11  工程源码\Project\
     目录           0  2019-01-09 21:11  工程源码\Project\Listings\
     文件         923  2018-11-29 09:45  工程源码\Project\Listings\impulse.lst
     文件        3968  2018-12-01 09:24  工程源码\Project\Listings\key.lst
     文件       12683  2018-12-01 09:24  工程源码\Project\Listings\main.lst
     文件        4903  2018-12-01 09:24  工程源码\Project\Listings\nixie_tube.lst
     文件         947  2018-11-29 09:45  工程源码\Project\Listings\square_wave.lst
     文件       28975  2018-12-27 13:05  工程源码\Project\Listings\Template.m51
     文件        3938  2018-12-27 13:05  工程源码\Project\Listings\wy_key.lst
     文件        6653  2018-12-27 13:05  工程源码\Project\Listings\wy_main.lst
     文件        5432  2018-12-27 13:05  工程源码\Project\Listings\wy_nixie_tube.lst
     文件       18387  2018-12-27 13:05  工程源码\Project\Listings\wy_topfile.lst
     目录           0  2019-01-09 21:11  工程源码\Project\objects\
     文件         778  2018-11-29 09:45  工程源码\Project\objects\impulse.obj
     文件        2921  2018-12-01 09:24  工程源码\Project\objects\key.obj
     文件       10371  2018-12-01 09:24  工程源码\Project\objects\main.obj
     文件        5497  2018-12-01 09:24  工程源码\Project\objects\nixie_tube.obj
     文件         834  2018-11-29 09:45  工程源码\Project\objects\square_wave.obj
     文件       29820  2018-12-27 13:05  工程源码\Project\objects\Template
     文件        1171  2018-12-27 13:05  工程源码\Project\objects\Template.build_log.htm
     文件        9577  2018-12-27 13:05  工程源码\Project\objects\Template.hex
     文件         186  2018-12-27 13:05  工程源码\Project\objects\Template.lnp
     文件        2972  2018-12-27 13:05  工程源码\Project\objects\wy_key.obj
     文件        9064  2018-12-27 13:05  工程源码\Project\objects\wy_main.obj
     文件        5599  2018-12-27 13:05  工程源码\Project\objects\wy_nixie_tube.obj
............此处省略72个文件信息

评论

共有 条评论