资源简介
功能全部实现;误差很小;
利用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语言课程设计
- c语言电子商务系统
- 尚观培训linux许巍老师关于c语言的课
- c语言小学生自然数四则运算测试程序
- C51单片机技术教程(304页)
- C51单片机交通
- 单片机电子密码锁
- 51单片机数码管四层电梯模拟系统
- 基于51单片机的温控系统
- 51单片机protues文件(KST-51.DSN)
- 宠物管理系统课程设计(源码+数据库
- 51单片机交通灯设计
- 基于51单片机的简易计算器
- c语言课程设计:客房登记系统源码
- 职工信息管理系统源码(控制台)
- 基于51单片机多路超声波报警设计
- 51单片机红外智能小车
- 8位竞赛抢答器的课程设计报告.docx
- C++MFC模块讲解,黑发程序员课程整理
- qt上位机采集51单片机温湿度数据
- VC++MFC课程设计的学生成绩管理系统
- C++实现21点游戏
- c++课程设计学生管理系统浙工大源码
- 基于51单片机射频RFID卡考勤上课上班
- 课程设计: MFC 学生信息管理系统
- dsp课程设计——语音加密.zip
- 广东工业大学数据结构课程设计航空
- 数据结构课程设计扑克牌排序
- c++课程设计宾馆客房管理系统
- c语言课程设计-职工信息管理系统-单
评论
共有 条评论