8051单片机数字电压表设计.docx
- 文档编号:8784205
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:47
- 大小:338.35KB
8051单片机数字电压表设计.docx
《8051单片机数字电压表设计.docx》由会员分享,可在线阅读,更多相关《8051单片机数字电压表设计.docx(47页珍藏版)》请在冰豆网上搜索。
8051单片机数字电压表设计
桂林电子科技大学
单片机最小应用系统
设
计
报
告
单片机最小应用系统设计报告
一、设计题目………………………………………………………1
二、设计目的………………………………………………………1
三、系统硬件图……………………………………………………1
四、程序流程图……………………………………………………4
五、系统说明与分析
5.1设计思路…………………………………………………5
5.2LED显示部分……………………………………………5
5.3最小系统控制部分………………………………………6
5.3.1单片机的I/O接口………………………………………7
5.3.2单片机使用的外围电路…………………………………8
5.4电路板的制作……………………………………………10
5.5系统连线说明分析.…………………………………….11
5.6系统调试…………………………………………………12
六、源程序………………………………………………………12
七、总结…………………………………………………………15
八、参考文献……………………………………………………15
一、设计题目
数字电压表设计。
用8051单片机和ADC0809组成一个数字电压表。
要求能够测量0-5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。
二、设计目的
1.掌握单片机8051的性能及使用方法;
2.掌握使用单片机编程的方法;
3.了解七段数码显示数字的原理;
4.掌握多位数字的显示技术;
5.掌握ADC0809模/数转换的应用;
三、系统硬件图
1、数字电压表系统的硬件电路原理图如下:
图1电路原理图
2、数字电压表系统的硬件电路PCB图如下:
图2PCB图
四、程序流程图
数字电压表程序框图如下:
五、系统说明与分析
5.1设计思路
本题要求输入0~99v的模拟电压,结果用LED显示。
由于计算机读入的只能是数字量,因此首先要用模/数转换器ADC0809将采集到的数据转换成数字量送入8031进行处理。
再者,用LED显示结果时就要考虑8031与LED的接口问题。
在程序中要完成的还有输入量于输出量的对应问题。
ADC0809是八位的模/数转换器,数字范围为0~255,而输出要求0~100。
因此,模拟量与数字输出的变化比为100/255。
在计算机乘法中不能给一个数直接乘以0.4,所以在处理输入值时就必须计算输入值*4/10。
算得的值不必再进行其他转换便可通过LED显示。
5.2LED显示部分
ACD0809是典型的8位8通道逐次逼近式A/D转换器,为28引脚双列直插式封装。
可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存译码电路,其转换时间为100微秒左右。
A/D转换用于实现模拟量到数字量的转换。
按转换原理可分为四种,即:
计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。
目前使用较多的为后三种。
双积分式A/D转换器具有高精度、抗干扰性好、价格低廉等特点,但速度较慢,经常应用于对速度要求不高的仪表中;逐次逼近式A/D转换器在精度、速度和价格上都适中,是目前最常用的A/D转换器;并行式A/D转换器是一种用编码技术实现的高速A/D转换器其速度最快,价格也最高,使用于要求较高的场合。
综上,本设计选用逐次逼近式8位A/D转换芯片ADC0809。
ADC0809的主要技术特性和指标:
·分辨率:
8位。
·转换时间:
取决于芯片时钟频率。
·单一电源:
+5V。
·模拟输入电压范围:
单极性0~5V,双极性+5V或+10V。
·具有可控三态输出锁存器。
·启动转换控制脉冲式(正脉冲),上升沿使内部所有寄存器清“0”,下降沿使A/D转换器开始。
LED显示器
通常所说的LED显示器有七个发光二极管组成,因此也称之为七段LED显示器。
此外,显示器中还有一个圆点型发光二极管,用于显示小数点。
5.3最小系统控制部分
最小系统的控制器由单片机AT89S51实现,它是单片机MCS-51高性能8位机系列的一种,广泛应用于各种小型控制系统中,其引脚图如图3所示。
图3
AT89S51单片机是AMTEL公司生产的MCS-51系列的兼容产品,与MCS-51指令系统兼容,系统结构相同,CMOS工艺制造并带有非易失性Flash程序存储器。
全部支持12时钟和6时钟操作。
AT8S51包含128字节RAM、32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路)。
功能结构如图4所示:
图4AT89S51单片机功能结构图
5.3.1单片机的I/O接口
接口电路是单片机必不可少的组成部分,并行输入输出接口是CPU和外部进行信息交换的主要通道。
MSC-51系列单片有4个8位并行双向I/O口P0~P3,共32根I/O线。
每一根线能独立用作输入或输出。
单片机可以外接键盘、显示器等外围设备.还可以进行系统扩展,以解决硬件资源不足问题。
4个并行口都是双向口,既可以输入又可以输出。
P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。
这4个I/O口结构基本相同,但仍存在差别。
本次实验所用单片机的输入输出接口有P0口和P2口。
现简要介绍如下:
(1)P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
(2)P2口的位结构比P1多了一个控制转换部分,结构与P0口基本相似,如5图所示。
P2口改P0推拉式输出驱动电路为上拉电阻式,当控制信号s为低电平,作I/O口使用时,多路开关MUX使锁存器输出端Q与输出驱动输入端接通,构成一个准双向口。
此外,当外部扩展存储器时,P2口常做高8位地址线使用。
图5P2口的位结构
本实验系统应用P2口作为输出信号控制口,驱动报警电路,使之按希望的方式工作。
5.3.2单片机使用的外围电路
单片机应用系统中,除了基本计算机系统单元电路外.还需配备完整的外围电路、以完成复位、掉电保护、提供时钟、节电等功能。
(1)时钟电路:
单片机内部有一个高增益的反相放大器,通过XTAL1和XTAL2引脚外接石英振于或陶瓷振子、微调电容组成振荡器如图6所示。
该振荡器发出的脉冲直接送入内部时钟电路。
振荡器若外接的是石英扳子,微调电容通常选择30pF;外接陶瓷娠子时选样47pF。
振荡频率范围选择1.2—12M。
MCS5-51系列单片机也可以采用外接时钟,这时XTAL2脚用来输入外部时钟信号(XTAL2脚为内部时钟电路的输入端),XTALl脚则接地如图6-b所示。
对于CHM05工艺制造的80C51单片机,则应从XTALl脚输入外部时钟信号,XTAL2脚悬空。
本单片机最小系统设计时采用的是外接石英晶体震荡电路。
采用此电路的优点是不用外接时钟,手动制板比较容易制板,调试方便,不容易出错。
(2)复位电路:
复位使单片机处于起始状态,并从此状态开始运行MCS5-51单片机RST引脚为复位端,该引脚连续保持2个机器周期(24个时钟振荡周期)以上的高电平。
可使单片机复位。
本论文使用的是外部复位电路,单片机在启动后要从复位状态开始运行,因此上电时要完成复位工作,称上电复位,如图7-a所示。
上电瞬间电容两端的电压不能发生突变,只RST端为高电平+5v,上电后电容通过及RC电路放电RST端电压逐渐下降,直至低电平0V,如图7-c所示。
适当选择R、C的值,使RST端的高I电平维持2个机器周期以上即可完成复位。
单片机L在运行过程中,出于本身或外并干扰的原因会导致出错。
这时可按复位键以重新开始远行,按键复位可分为按键电平复位或按健脉冲复位,如图7-b所示。
按键脉冲复位和上电平复值的原理是一样的,都是利用RC电路的放电原理,如图7-d所示。
让RST端能保持一段时间的高电平,以完成复位,按键电平复位时,按键时间也应保持在两个机器周期以上。
图6(a)外接石英晶体振荡电路图6(b)外接时钟电路
(a)上电复位(b)按键电平复位
(c)RC放电过程(d)电平复位过程
图7单片机常用复位电路
本实验由于设计的系统简单且对控制系统精度的要求不高而采取了按键电路复位,电路图7(b)所示。
这种时钟电路的优点是手动复位操作可以给调试带来很大的方便,且电气连接简单。
根据要求所最小系统所选用的器件有单片机AT89S51一个、电容30pf的两个、晶振12M一个、100pf电容一个、1K电阻一个。
最小系统原理图如图8所示:
图8最小系统控制原理图
从上图可以看到除了最基本的外围电路,在单片机PO接口处还加了一个1K上拉电阻R10,此电阻作为上拉电阻使用。
上拉电阻就是把不确定的信号通过一个电阻钳位在高电平,此电阻还起到限流的作用。
使用时将比较器LM324的输出端与P0口及上拉电阻的一端相连,上拉电阻的另一端与电源VCC相连。
上拉电阻的作用为:
1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OC门电路必须加上拉电阻,以提高输出的高电平值。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力。
管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
在最小系统中使用上拉电阻可以有效提高单片机的带负载能力,从而让单片机很容易的接收到比较器输出端发出的中断信号。
另外上拉电阻的选型原则包括:
1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。
综合考虑以上三点,通常在1k到10k之间选取。
故本次设计采用1K的上拉电阻。
5.4电路板的制作
ProtelDXP功能强大,为我们进行电子电路原理图和印制板图的设计提供了良好的操作环境。
用ProtelDXP进行电路设计分为两大部分:
原理图的设计和电路板的设计。
原理图的设计实在SCH系统中进行的,电路原理图是印刷板电路设计的基础,只有设计好原理图才有可能进行下一步的电路板设计。
用protelDXP进行电路板设计的第一步是其原理图的设计。
显然,原理图决定整个电路的基本功能,也是接下来生成网表和设计印刷板电路的基础。
具体步骤如下:
(1)图面设置:
ProtelDXP允许用户根据电路的规模设置图面的大小,按照偏好和习惯设置图面的样式。
实际上,设置图面就是设置了一个工作平面,以后的工作就要在这个平面上进行。
所以图面应该设置得足够大,为进一步工作提供一个足够大的工作空间。
(2)放置元件:
所谓放置元件就是从元件库中选取所需得元件,将其布置到图面上合适的位置,有时还要重定义元件的编号、封装。
元件的封装很重要,要根据元件的实际尺寸和实际封装来决定,要是元件没封装好,将会给以后电路板的制作带来很大的麻烦。
这些都是下一步工作的基础。
ProtelDXP为用户提供了一个非完备的元件库,并且允许用户对这个元件库进行编辑或者新建自己的元件库。
电路板的制作过程
(1)打印:
将生成的PCB图打印到热转印纸上,需注意线不能太窄,墨要加重,否则制板时容易断线,如果在操作过程中断了线,可用电烙铁将锡带过。
(2)熨烫:
将热转印纸覆在铜板上,用电熨斗进行熨烫,关键要注意熨烫的时间,不能太久,也不能时间太短,否则,太久会把铜板烫坏,不够的话墨迹覆不上去。
(3)腐蚀:
把铜板放到三氯化铁溶液中腐蚀,需注意溶液浓度要较高,最好用热水配置,这样腐蚀更快,一般3分钟即可。
如果时间过长,需剩下的铜线也可能被腐蚀。
(4)打孔:
打孔时注意钻头尺寸,本次用的钻头大小是1mm的,最需注意的地方是集成块的管脚,如果打孔误差大,管座就很难插上。
(5)放置元件:
放置前应先打磨一下打孔后留下的毛刺,并均匀地涂上松香水(目的是防止铜线氧化,易于焊锡覆着焊盘,但多涂会导致焊接时焊点变黑,影响美观)。
放置元件时注意集成块的管脚,二极管和电解电容的正负,这些都是平时比较容易出错的地方。
(6)焊接:
焊接技术比较难掌握,焊锡、烙铁与焊盘的位置关系,焊锡熔化时间
长短,松香水的浓度,烙铁的温度等等,都是影响焊点美观的因素。
(7)检查:
检查是否有虚焊,集成块管脚位置是否正确,电源引线位置是否恰当等。
检查完毕就能进行调试了。
5.5系统连线说明分析
a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。
b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。
c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。
d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。
e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。
f) 把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。
g) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。
h) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。
i) 把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。
5.6系统调试
通过单步执行检测程序的运行情况。
在调试计算程序的时候,由电位器给输入一个值,通过计算的到它经过A/D转换后的数字量。
设置PC,单步执行。
每执行一步,在数据监测窗口和程序监测窗口观察它的变化情况,看是否与自己计算出的结果相符。
如不同,则思考是哪个地方出现了问题,修改后继续执行,知道输出结果与计算结果相同为止。
当程序中有跳转指令时,通过单步执行可以看到条件满足时它跳到哪一步,条件不满足时程序跳到哪一步,从而达到想要的结果。
LED的显示程序在调试中出错是相对较少的。
给输出分配好段控口和位控口之后,它基本就能按8031的处理结果显示。
六、源程序
#include
unsignedcharcodedispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsignedchardispbuf[8]={10,10,10,10,0,0,0,0};
unsignedchardispcount;
unsignedchargetdata;
unsignedinttemp;
unsignedchari;
sbitST=P3^0;
sbitOE=P3^1;
sbitEOC=P3^2;
sbitCLK=P3^3;
voidmain(void)
{
ST=0;
OE=0;
ET0=1;
ET1=1;
EA=1;
TMOD=0x12;
TH0=216;
TL0=216;
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
TR1=1;
TR0=1;
ST=1;
ST=0;
while
(1)
{
if(EOC==1)
{
OE=1;
getdata=P0;
OE=0;
temp=getdata*235;
temp=temp/128;
i=5;
dispbuf[0]=10;
dispbuf[1]=10;
dispbuf[2]=10;
dispbuf[3]=10;
dispbuf[4]=10;
dispbuf[5]=0;
dispbuf[6]=0;
dispbuf[7]=0;
while(temp/10)
{ dispbuf[i]=temp%10;
temp=temp/10;
i++;
}
dispbuf[i]=temp;
ST=1;
ST=0;
}
}
}
voidt0(void)interrupt1using0
{
CLK=~CLK;
}
voidt1(void)interrupt3using0
{
TH1=(65536-4000)/256;
TL1=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
if(dispcount==7)
{
P1=P1|0x80;
}
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}
七、总结
1、在设计系统过程中,学会用ProtelDXP画原理图和PCB图。
2、自己动手制作电路板,了解了电路板的设计及手工制作过程,提高动手能力。
3、调试程序过程中,针对遇到的问题,寻找解决方法,掌握了C语言编制单片机程序。
4、感谢在整个设计单片机最小系统过程中给我很大帮助的导师,师兄和同学。
八、参考文献
[1]孙安青.AT89S51单片机实验及实践教程[M].
[2]耿长清.俞宁.单片机应用技术[M].北京:
化学工业出版社,2002.
[3]李广弟.朱月秀.王秀山.单片机基础[M].北京:
北京航空航天大学出版社,2003.
[4]黎文模.ProtelDXP电路设计与实例精解[M].北京:
人民邮电出版社,2006.
[5]胡汉才.单片机原理及其接口技术[M].北京:
清华大学出版社,2004.
[6]李志杰.刘卓华.一种新型家庭报警系统[J].工程技术.2007,10:
49-50.
以下是附加文档,不需要
的朋友下载后删除,谢谢
顶岗实习总结专题13篇
第一篇:
顶岗实习总结
为了进一步巩固理论知识,将理论与实践有机地结合起来,按照学校的计划要求,本人进行了为期个月的顶岗实习。
这个月里的时间里,经过我个人的实践和努力学习,在同事们的指导和帮助下,对村的概况和村委会有了一定的了解,对村村委会的日常工作及内部制度有了初步的认识,同时,在与其他工作人员交谈过程中学到了许多难能可贵经验和知识。
通过这次实践,使我对村委会实务有所了解,也为我今后的顺利工作打下了良好的基础。
一、实习工作情况
村是一个(此处可添加一些你实习的那个村和村委会的介绍)我到村村委会后,先了解了村的发展史以及村委会各个机构的设置情况,村委会的规模、人员数量等,做一些力所能及的工作,帮忙清理卫生,做一些后勤工作;再了解村的文化历史,认识了一些同事,村委会给我安排了一个特定的指导人;然后在村委会学习了解其他人员工作情况,实习期间我努力将自己在学校所学的理论知识向实践方面转化,尽量做到理论与实践相结合。
在实习期间我遵守了工作纪律,不迟到、不早退,认真完成领导交办的工作。
我在村委会主要是负责管理日常信件的工作,这个工作看似轻松,却是责任重大,来不得办点马虎。
一封信件没有及时收发,很有可能造成工作的失误、严重的甚至会造成巨大的经济损失。
很感谢村委会对我这个实习生的信任,委派了如此重要的工作给我。
在实习过程中,在信件收发管理上,我一直亲力亲为,片刻都不敢马虎。
为了做好信件的管理工作,我请教村委会的老同事、上网查阅相关资料,整理出了一套信函管理的具体方法。
每次邮递员送来的信件,我都要亲自检查有无开封、损坏的函件,如果发现有损坏的函件,我马上联络接收人亲自来查收。
需要到邮局领取的函件,我都亲自到邮局领取,并把信函分别发放到每个收件人的手里。
对于收到的所有信函,我都分门别类的登记,标注好收发人的单位、姓名还有来函日期等等。
我对工作的认真负责,受到了村委会领导和同事们的一致好评,在他们的鼓励下,我的工作干劲更足了。
在工作之余,我还经常去村民家里,帮助他们做一些我力所能及的事情,也让我收获了很多知识,学会了许多技能。
我学会了一些常见农作物的生长特征,也学会了怎么给农作物施肥,洒药。
这些,都将是我今后人生道路上的宝贵财富。
短短个月的实习生活很快就过去了,这次实习是我从学校踏入社会的第一步。
在这里,我感受到了村民们的纯朴,也体会到了农村生活的不易,更加深刻的认识到了作为当代大学生身上肩负的使命。
在这次实习生活中,村委会的叔叔、阿姨们对我十分的照顾,在工作中,在生活上都给予了我很多的帮助,也对我寄予了很高的期望。
通过这次实习,锻炼了我的做事能力,养成了对人对事的责任心,也坚定了我加强学习,提升自我价值的信心。
二、发现的问题和建议
在此次在村村委会顶岗实习的工作中,确实让我学到了不少书本以外的知识,同时我也发现了不少问题。
第一,该村村委会的工作人员文化水平相对偏低,在村务工作的处理上,方式方法比较粗放。
第二,村委会工作人员思想比较守旧,缺乏对新事物、新观念的学习和认识。
第三,村委会的现代化办公水平还比较低,虽然配备了电脑等现代化办公工具,但是实际的利用程度很低。
第四,村委会人员由于不是国家编制,工作人员的工作热情和工作态度不是很积极。
三、实习的心得体会
刚开始去村村委会实习的时候,我的心情充满了激动、兴奋、期盼、喜悦。
我相信,只要我认真学习,好好把握,做好每一件事,实习肯定会有成绩。
但后来很多东西看似简单,其实要做好它很不容易。
通过实践我深有感触,实习期虽然很短,却使我懂得了很多。
不仅是进行了一次良好的校外实习......
本文来自公务员之家,查看正文请使用公务员之家站内搜索查看正文。
第二篇:
会计顶岗实习工作总结
从我踏进实习单位的那一刻起,我就知道我将经历一段特殊的不平凡的并且充满收获的人生旅程,那旅程必定在我的生命中写下浓墨重彩的一笔,必定会在我的生命中留下绚烂多彩的回忆,必定会给我带来生命中无与伦比的财富。
一、实习目的
毕业实习是我们大学期间的最后一门课程,不知不觉我们的大学时光就要结束了,在这个时候,我们非常希望通过实践来检验自己掌握的知识的正确性。
在这个时候,我来到圣鹿源生物科技股份有限公司在这里进行我的毕业实习。
二、实习内容及过程
为了达到毕业实习的预期目的。
在学校与社会这个承前启后的实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8051 单片机 数字 电压表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)