资源简介
功能全部实现;误差很小;
利用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\ob
文件 778 2018-11-29 09:45 工程源码\Project\ob
文件 2921 2018-12-01 09:24 工程源码\Project\ob
文件 10371 2018-12-01 09:24 工程源码\Project\ob
文件 5497 2018-12-01 09:24 工程源码\Project\ob
文件 834 2018-11-29 09:45 工程源码\Project\ob
文件 29820 2018-12-27 13:05 工程源码\Project\ob
文件 1171 2018-12-27 13:05 工程源码\Project\ob
文件 9577 2018-12-27 13:05 工程源码\Project\ob
文件 186 2018-12-27 13:05 工程源码\Project\ob
文件 2972 2018-12-27 13:05 工程源码\Project\ob
文件 9064 2018-12-27 13:05 工程源码\Project\ob
文件 5599 2018-12-27 13:05 工程源码\Project\ob
............此处省略72个文件信息
- 上一篇:MFC校园导航
- 下一篇:VC MFC CAN 通信程序支持周立功
相关资源
- C语言景区景点查询系统包含19484条景
- 基于vc++6.0的rs232串口通信课程设计
- 编译原理课程实验报告词法分析器及
- 东北大学C++课程设计实验、代码及实
- c++课程设计模拟计算器含源代码、文
- 伪距单点定位 GPS课程设计实验论文
- 课程设计—仓库管理系统C++篇 源码
- C++图书管理系统课程设计
- C++黑白棋游戏完全代码
- C++ 多级目录文件管理系统
- c++数据结构课程设计-校园最短路径采
- C++课程设计 学籍管理系统82049
- C++课程设计报告(人事管理系统).
- 运动会计分系统c++,包括课程设计文
- C++图书信息管理系统
- Visual C++课程设计 屏幕保护程序的开发
- 数据库课程设计---超市收银系统
- 网上交易平台C++,mysql课程设计
- C++课程设计-图书信息管理系统含源码
- MFC教师课程管理系统+mysql
- 用c++编写的停车场管理程序
- 基于MATLAB图像处理课程设计
- MFC课程设计图书管理系统实验报告内
- 操作系统课程设计之死锁检测
- 操作系统课程设计 哲学家进餐问题完
- VC++MP3播放器课程设计实验报告
- 2010-2011华南理工大学操作系统课程设
- C++课程设计《日程管理系统》
- 课程设计源码.zip
- 校园导游系统c语言代码及课程设计文
评论
共有 条评论