AD转换及数码管显示单片机课程设计说明书Word格式文档下载.docx
《AD转换及数码管显示单片机课程设计说明书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《AD转换及数码管显示单片机课程设计说明书Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
STC89C51RC/RD+系列单片机是宏景科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟机器周期和6时钟机器周期可任意选择,最新的D版内部集成MAX810专用复位电路。
特点:
(1).增强型6时钟机器周期和12时钟机器周期8051CPU
(2).工作电压:
5.5V—3.4V(5V单片机)
(3).工作频率范围:
0—40MHz,相当于普通8051的0—80MHz.实际工作频率可达48MHz.
(4).用户应用程序空间4K/8K/16K/16K/20K/32K/64K字节
(5).片上集成1280字节、512字节RAM
(6).通用I/O口(32、36个),复位后:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
(7).EEPROM功能
(8).看门狗
(9).内部集成MAX810专用复位电路(D版才有),外部晶振20M以下时,可省外部复位电路
(10).共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用
(11).外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒
(12).通用异步串行口(UART),还可用定时器软件实现多个UART
(13).工作温度范围:
0—7℃/—40~+85℃
图1-1STC89C51RC/RD单片机
1.2电源电路
本例在Vcc端加载+5V电源。
1.3时钟电路
时钟电路的两端接到单片机的18(XTAL2)和19(XTAL1)引脚,晶振采用12MHZ,两端各接一个30pF的电容。
如图1—3所示
图1-3时钟电路
1.4复位电路
复位电路复位电路有两种:
上电自动复位和上电/按键手动复位。
在这里我采用上电自动复位,如图所示一般R1选10K欧姆,C3选10uF,C3另一端施加+5V电源。
图1-4复位电路
第2章硬件设计
2.1数码管
本题用的是四位一体8段共阳极数码管。
其中引脚12、9、8、6为共阳端;
11、7、4、2、1、10、5、3、分别控制A、B、C、D、E、F、G、DP的二极管的亮灭。
如图所示
图2-1四位一体8段共阳极数码管
2.2A/D转换器
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
1.ADC0809的内部逻辑结构
由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
图2-2-1ADC0809的内部逻辑结构
2.ADC0809引脚结构如图2-2-2
ADC0809各脚功能如下:
D7-D0:
8位数字量输出引脚。
IN0-IN7:
8位模拟量输入引脚。
VCC:
+5V工作电压。
GND:
地。
REF(+):
参考电压正端。
REF(-):
参考电压负端。
START:
A/D转换启动信号输入端。
ALE:
地址锁存允许信号输入端。
(以上两种信号用于启动A/D转换).
EOC:
转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
OE:
输出允许控制端,用以打开三态数据输出锁存器。
CLK:
时钟信号输入端(一般为500KHz)。
A、B、C:
地址输入线。
图2-2-2ADC0809的引脚结构
3.ADC0809应用说明
(1).ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2).初始化时,使ST和OE信号全为低电平。
(3).送要转换的哪一通道的地址到A,B,C端口上。
(4).在ST端给出一个至少有100ns宽的正脉冲信号。
(5).是否转换完毕,我们根据EOC信号来判断。
(6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
2.2.1电路设计
本设计采用8位A/D转换芯片ADC0809,通道4输入模拟信号。
经A/D转换后由P1口输入单片机,再通过P0口输出、数码管显示。
数码管共阳端则由P2口控制显示。
为了防止电流过大烧毁数码管,故在P0口处接入A331G9引脚型号的排阻。
图1-1ADC0/809模数转换与显示电路
第3章软件设计
3.1程序流程图
3.2程序设计:
本例使用KeiluVision2进行C语言编译。
KeiluVision2是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
C语言代码:
//名称:
ADC0809模数转换与显示
//说明:
ADC0809采用通道4输入的模拟量,转换后的结果显示在数码管上。
/#include<
reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
//数码管段定义
ucharcodeLEDData[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
//ADC0809引脚定义
sbitOE=P1^0;
sbitEOC=P1^1;
sbitST=P1^2;
sbitCLK=P1^3;
//延时子程序
voidDelayMS(uintms)
uchari;
while(ms--)
{
for(i=0;
i<
120;
i++);
}
}
//显示结果
voidDisplay_Result(uchard)
P2=0x08;
//第4只管显示个位数
P0=~LEDData[d%10];
DelayMS(5);
P2=0x07;
//第3只管显示十位数
P0=~LEDData[d%100/10];
P2=0x02;
//第2只管显示百位数
P0=~LEDData[d/100];
voidmain()
TMOD=0x02;
TH0=0x14;
TL0=0x00;
IE=0x82;
TR0=1;
P1=0x4f;
//选择ADC0809的通道4
while
(1)
ST=0;
ST=1;
//启动转换
while(EOC==0);
//等待转换结束
OE=1;
//允许输出
Display_Result(P3);
//显示A/D转换结果
OE=0;
//关闭输出
//T0定时器中断给ADC0809提供时钟信号
voidTimer0_INT()interrupt1
CLK=!
CLK;
//ADC0809时钟信号
}
第4章应用系统实现
4.1硬件连接
4.1.1单片机最小系统连接
将STC89C51RC单片机安装在面包板合适位置,然后依次连接好单片机最小系统个硬件。
4.1.2ADC0809模数转换器的连接
首先用导线依次将P0口与ADC0809上的OE、EIOC、START(ALE与其短接)、OLK、ADDA、ADDB、ADDC接口相连接;
再将P3引脚依次与OUT1~OUT8引脚相连接。
最后Vcc与Ref(+)引脚接+5V电压,GND与Ref(—)引脚接地。
再次检查确保线路连接无误。
4.1.3四位一体8段共阳极数码管的连接
先将排阻共阳端接入+5V电源,再将剩余8只引脚依次与P0口引脚相连,然后把数码管上A、B、C、D、E、F、G、DP的LED灯对应的引脚(编号为11、7、4、2、1、10、5、3)依次通过导线与P0口引脚相连。
数码管的共阳端9、8、6号引脚则通过导线与P2.1、P2.2、P2.3引脚相连。
4.1.4电位器的连接
将三脚电位器的两端分别接电源和接地线,中间引脚则通过导线与模数转换器IN4引脚相连。
4.2程序下载
本题通过USB—TTL/USBSTCISP将程序烧录到单片机内。
4.2.1产品介绍
自主开发的USB-TTL/STC-ISP在线编程器使用USB接口,为笔记本电脑用户
解决没有串口而不方便编程STC系列单片机的问题,本下载器低价格、高性能,是工厂、学
校、个人等开发STC系列单片机的首选优秀工具。
1.支持USB1.1或USB2.0通信;
2.全面支持WIN98、WINME、WIN2000、WINXP、VISTA、WIN7等操作系统;
3.采用USB口供电,板内带有500mA自恢复保险丝或保险电阻,保护电脑主板不被意
外烧毁;
4.在对芯片编程时可以使用目标系统本身电源,也可以使用编程器从USB口取电供给
目标板,但应保证目标标电流不大于500mA,以免不能正常编程;
5.编程完成不影响目标板的程序运行;
6.支持STC全系列芯片烧录;
7.编程器提供3.3V与5V的电压输出接口;
8.速度比并口编程更快更稳定,更方便笔记本电脑用户使用;
9.采用进口原装芯片,能进行高速稳定编程;
4.2.2驱动安装及硬件连接
1.解压USB-TTL客户包,首先安装驱动程序,XP用户安装“PL-2303WinXPDriver
Installer”,Vista或Win7用户安装“PL-2303Vista&
Win7DriverInstaller”;
双击相应的驱动程序进入安装过程,所有选项全部默认直接下一步直到安装完成;
2.安装完驱动程序后,将USB-TTL插入电脑,电脑会提示发现新硬件,此时别动电脑,电
脑会自动安装完驱动程序并提示安装完成;
3.此时电脑设备管理器中会出现相应的串口设备,注意记住COM号,下图例为COM4,如果
电脑自动分配超过COM9,应手动将其改回COM9以下,手动更改右击这个串口设备在属
性里面可以找到更改串口号的地方;
4.至此驱动程序安装完成。
4.2.3上位机软件
从客户包中可以找到相应的STC烧录软件,其分为中文版及英文版两种,自行选择使用:
选择相应的软选,双击将其解压至指定文件夹后,打开相应文件夹,找到“STC_ISP_V483”,
双击将其运行:
运行软件界面如下:
4.2.4烧录文件
烧录软件设置:
1.选择单片机型号:
2.加载需要烧录的文件,应为hex或bin格式:
3.设置串口号及波特率:
注意此步的串口号即是以上在设备管理里面对应的串口号,必须对应,波特率采用
默认无须设置。
4.以上软件设置基本完成,其它高级设置请自行摸索或查阅相关资料。
连接您的目标板系统:
5.软件设置完后,需要将编程器与您的目标板相连接,STC系列单片机都是通过串口烧录
程序,即是串口TXD及RXD两条数据线,另加上GND及VCC即可。
如果你的目标板有其
它的电源供电,可以不接编程器的VCC线,只需TXD、RXD、GND三根即可。
如果没有其
它的电源供电,需接编程器的VCC线,请注意应接至5V插针,且保证您的目标板需要
的电流不得超过300mA为佳。
6.您的目标板的单片机型号应与软件设置的型号一致,以及必须保证你的目标板能够正常
工作,例如供电合理及晶振电路、复位电路正常等。
烧录程序
7.软件设置好及硬件连接好后,即可进行编程烧录,STC下载有严格的步序要求,请按如
下顺序下载程序:
a.下载前,请将软件及硬件都设置好与连接好,并且您的目标板不需要供电,即为关
电状态,如果是使用编程器的VCC,下载前请拔掉VCC这根线,也就是让您的目标
板是断电状态;
b.点击软件的下载按钮:
c.待软件提示请给MCU上电时,此时即可给您的目标板上电,打开电源开关或者插上
编程器的VCC线,正常情况下,到此软件会自动完成下载与校验,并且您的系统会
运行起你烧录进去程序;
d.如果c步供电源后,软件没有反应仍然显示请给MCU上电的话,说明您将TXD与RXD
两根线插反了,这两根线是相对而言的,如果出来这种情况,可以将您的系统电源
关断或拔掉VCC线,再将TXD与RXD两线对换,之后再按c步通电,正常情况下便
能自动烧录完成。
8.STC编程烧录应严格遵守第7步所讲的步序,即先设置软件连接硬件,在电源关闭状态
点击下载,在软件提示上电后开通电源,才能完成烧录过程。
最后提醒,下载步骤请严格按照“使用实例”中的第7步进行!
参考文献
[1]马斌,韩忠华,王长涛,夏兴华.单片机原理及应用:
C语言程序设计与实现[M].北京:
人民邮电出版社,2009
[2]张有德,赵志英,涂时亮.单片机原理、应用与实验(第五版)[M].上海:
复旦大学出版社,2006