- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MCS-51单片机的可调频率方波发生器课程设计报告 22ahu_精品
摘要
本实验是基于PHILIPS AT89C51 单片机所设计的,可以实现键位与数字动态显示的一种频率可调数字方波发生器。通过键盘键入(10HZ-10kHZ)随机频率,使用七段数码管显示,每一个数码管对应一个键位。单片机对各个键位进行扫描,确定键位的输入,然后数码管显示输入的数值,方波发生器输出以数码管显示的数值为频率的方波。
关键词:单片机 七段数码管 键盘电路 频率可调数字方波发生器一、目的和功能
1.1 目的:
设计一种频率范围限定且可调的数字方波发生器,产生特定频率的方波。
1.2功能:
假设键盘是4*4的键盘,当键盘输入范围在10hz-10khz的数字,单片机控制数码管显示该数值,并把该数值当做数字方波发生器的输入频率,单片机控制数字方波发生器以该数值作为频率显示方波,从而得到我们想要频率的方波。
二、硬件设计硬件设计思想静态显示方式:静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。由于单片机本身提供的I/O口有限,在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的约1ms,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。I/O口键盘是一组按键或开关的集合,键盘接口向计算机提供被按键的代码。特点:使用方便、结构复杂、成本高。
I/O口对于I/O口矩阵连接式键盘
三、软件
3.1 软件设计基本思想:
●键盘的不间断扫描。
●4个八段数码管的动态显示。
●方波发生器方波的输出
3.2 程序框图
3.3 程序功能
初始化后单片机产生初值,将初值以动态扫描的方式显示于八段数码管 ,同时还对键盘进行实时扫描,在扫描后,单片机读取键值,并将键值通过数码管模块显示出来,方波发生器输出该频率的方波。
四、总结
4.1 已达到的成果:硬件电路图和键盘及显示的程序。
4.2 未完成的部分:软件关于实行初值计算部分以及仿真。
4.3 设计感悟:这一次课程设计遇到了很多问题。硬件基本上是没有问题的,每个人都会做;但是程序是我们的弱点,还有就是分工合作,很多时候都是有分歧,还好最后还有水兵帮忙,使得我们的程序进一步完善。做完这个程序只是我们学做程序的开始吧,今后会继续加强我们在做程序上的功力。
附录一 程序代码
#include reg52.h
sbit out=P1^0;
#define uchar unsigned char
#define uint unsigned int
uchar TH,TL,c;
uchar keyscan();
void delay(uint z);
void main()
{
uchar s;
out=1;
EA=1;
ET0=1;
TR0=1;
while(1)
{
s=keyscan();
switch(s)
{
case 0x0e://10HZ
TH=0x3c;
TL=0xb0;TMOD=0X01;
break;
case 0x0d://100HZ
TH=0xec;
TL=0x78;TMOD=0X01;
break;
case 0x0b://1kHZ
TH=0xfe;
TL=0x0c;TMOD=0X01;
break;
case 0x07://10kHZ
TH=0xff;
TL=0xce;TMOD=0X01;
break;
}
}
}
void delay(uint z)
{
uint x,y;
for(x = z;x0;x--)
for(y = 124
您可能关注的文档
- 基于Java即时聊天系统的设计与实现毕业论文_精品.doc
- 城市停车场规划方法及其应用研究_精品.pdf
- 地下室SBS防水施工方案_精品.doc
- 大学英语四级词汇2000题及专四词汇与结构2000题笔记_精品.doc
- 基础教育课程改革的背景、 目标与任务_精品.ppt
- 基础护理学试题及答案(各章)_精品.doc
- 大型水利水电工程高陡边坡全生命周期性能演化与安全控制2011cb013500-g_精品.doc
- 备考最新电大城市管理学期末复习试题及答案 完整版_精品.doc
- 基于单片机的水塔水位自动控制装置论文设计_精品.doc
- 基于PLC和变频器的花式喷泉的设计 毕业设计说明书(论文)_精品.doc
文档评论(0)