生产实习AT89C51最小系统波形发生设计.docx
- 文档编号:8242219
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:36
- 大小:1.31MB
生产实习AT89C51最小系统波形发生设计.docx
《生产实习AT89C51最小系统波形发生设计.docx》由会员分享,可在线阅读,更多相关《生产实习AT89C51最小系统波形发生设计.docx(36页珍藏版)》请在冰豆网上搜索。
生产实习AT89C51最小系统波形发生设计
学号09700103
实习报告
生产实习
起止日期:
2012年6月18日至2012年7月13日
学生姓名
张玉
班级
09电信一班
成绩
指导教师(签字)
计算机与信息工程学院
2012年7月13日
目录
第一章生产实习的内容和目的1
1.1生产实习的内容1
1.2生产实习的目的1
第二章单片机最小系统2
2.1单片机原理图2
2.2主要芯片简介2
2.2.1AT89S522
2.2.2MAX2323
2.2.378L054
2.3最小系统板4
2.4元件清单5
第三章单片机开发板的焊接与调试6
3.1焊接中出现的问题6
3.2焊接注意事项6
3.3单片机开发板功能调试6
3.3.1调试方法6
3.3.2点灯程序7
3.3.3流水灯调试程序7
3.3.4定时调试程序8
3.3.5中断调试程序9
3.3.6串口程序11
第四章基于AT89S52单片机的应用设计12
4.1波形发生器原理图12
4.2主要芯片介绍12
4.2.1DAC083212
4.2.2uA74113
4.3波形发生器的硬件实现13
4.4波形发生器调试程序14
4.4.1矩形波调试程序14
4.4.2锯齿波调试程序15
4.4.3三角波调试程序15
4.4.4正弦波调试程序16
4.4.5按键控制总程序16
4.5结果实现18
4.5.1仿真结果18
4.5.2实物示波器结果显示20
4.6元件清单21
第五章双机通信22
5.1双机通信原理22
5.2双机通信硬件22
5.3双机通信调试程序23
第六章实习总结27
6.1实习中遇到的问题、解决方法及问题产生的原因27
6.2心得体会27
第一章生产实习的内容和目的
1.1生产实习的内容
基于主控芯片AT89S52单片机的定时器、中断、串口、8KFlashROM、扩展外部4个按键,8位LED、时钟电路等外设,焊接制作一个具有最小功能的最小系统板。
然后在已有的单片机基础上利用KeiluVision2软件编写程序,并借助ISP编程下载软件将源程序“烧”进芯片,实现点灯,闪烁灯,流水灯,按键,外部中断,定时中断,LCD1602液晶显示以及串口的调试。
除此之外,以最小系统板作控制中心,以DAC0832芯片和μA741芯片作外扩设备主控芯片的简易开发板的焊接与搭接,并辅助以程序控制实现矩形波、锯齿波、方波、正弦波的调试输出。
1.2生产实习的目的
生产实习是本专业教学计划的一个不可缺少的部分,本次实习是在学生学完所有基础课及技术基础课和大部分专业课后进行的。
使学生能将所学的理论和实践相结合,巩固消化所学的知识,培养实践操作技能。
本次为期4周的实习是在理论知识的基础上,通过完成一个简易基于S52单片机的多功能最小系统板及其应用,以理论辅助实践,充分把理论与实际相结合,从实际出发分析、研究和解决问题。
在单片机板的焊接,程序的调试,以及相关仪器的使用等方面得到了一定的提高,为今后从事本专业的开发研究打下基础。
第二章单片机最小系统
2.1单片机原理图
基于单片机理论知识的学习,首先绘出单片机最小系统的的原理图,如下图1所示:
图1单片机最小系统的原理图
2.2主要芯片简介
2.2.1AT89S52
AT89S52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52为8位通用微处理器,功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化与主板CPU通信等。
AT89S52主要功能特性:
1、兼容MCS51指令系统
2、8k可反复擦写(大于1000次)FlashROM;
3、32个双向I/O口;
4、256x8bit内部RAM;
5、3个16位可编程定时/计数器中断;
6、时钟频率0-24MHz;
7、2个串行中断,可编程UART串行通道;
8、2个外部中断源,共8个中断源;
9、2个读写中断口线,3级加密位;
10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
其引脚图如图2所示:
主要管脚功能说明有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和GND(20脚)为供电端口,分别接+5V电源的正负端。
P0口:
是一个8位漏极开路的双向I/O口,也被作为低8位地址/数据复用。
P1口:
是一个具有内部上拉电阻的8位双向I/O口。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
是一个具有内部上拉电阻的8位双向I/O口,也接收高8位地址字节和一些控制信号。
P3口:
是一个具有内部上拉电阻的8位双向I/O口,亦作AT89S52特殊功能(第二功能)使用。
ALE/PROG:
地址锁存控制信号
图2AT89S52的引脚图PSEN:
外部程序存储器选通信号
EA/VPP:
访问外部程序存储器控制信号
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端
XTAL2:
振荡器反相放大器的输出端
2.2.2MAX232
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
其管脚图如图3所示:
引脚介绍:
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
图3MAX232管脚图
第三部分是供电。
15脚GND、16脚VCC(+5v)。
主要特点:
1、符合所有的RS-232C技术标准
2、只需要单一+5V电源供电
3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-
4、功耗低,典型供电电流5mA
5、内部集成2个RS-232C驱动器
6、内部集成两个RS-232C接收器
2.2.378L05
78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合.象牵涉到单点稳压场合需要限制噪声和解决分布问题的在-卡调节.此外它们还可以和其它功率转移器件一起构成大电流的稳压电源如可驱动输出电流高达100毫安的稳压器。
本次实习是利用其输出稳定电压5.0V这个特性给单片机供电。
其特性:
输出电流可达150mA;输出电压5.0V;输出精度可达4%;简单的外围电路;静电防护ESD可达2.7KV。
78L05的引脚图及
图478L05管脚图各管脚功能如图4所示:
2.3最小系统板
焊接好的单片机最小系统板成品如图5所示:
图5最小系统板硬件
2.4元件清单
焊接最小系统板所需元件清单如下表1所示:
表1:
元件清单
元件
规格
数量
电容1(C11C7)
0.1μF(104)
2
电容2(C1—C5)
1μF(电解)
5
电容3(C8C9)
22pF
2
电容4(C6)
22μF(电解)
1
电容5(C10C12)
33μF/25V(电解)
2
电阻1(R1—R10)
1K
10
电阻2(R11)
200Ω
1
电位器
103
2
40针接插器
40PIN
1
16针接插器
16PIN
1
MAX232
MAX232
1
单片机
AT89S52
1
晶振11.0592
CRYSTAL
1
JUMPER
JUMPER
2
10针JTAG
CON10
1
按键
SW—PB
5
发光二级管(红)
8
发光二级管(绿)
1
串口
DB9
1
三端集成稳压器
78L05
1
8脚开关
SWDIP—8
1
第三章单片机开发板的焊接与调试
3.1焊接中出现的问题
1)锡线直接从烙铁头上加入,加锡过多,形成锡珠;
2)锡表面不光滑,起皱,烙铁温度过高,焊接时间长;
3)受热不均匀、锡过多或者导线过长导致线路短路,进而调试容易烧坏芯片;
4)温度过高,导线融化,容易使电路短接,出现危险。
3.2焊接注意事项
一般焊接的顺序是:
是先小后大、先轻后重、先里后外、先低后高、先普通后特殊的次序焊装。
即先焊分立元件,后焊集成块。
集成电路若不使用插座,直接焊到印制板上,安全焊接顺序为:
地端→输出端→电源端→输入端。
焊接完毕,必须及时对板面进行彻底清洗。
3.3单片机开发板功能调试
3.3.1调试方法
利用keil软件,编写调试程序的步骤如下:
一、建Project工程
1.“Project”-“NewProject”-写文件名和文件类型并保存-在弹出的对话框中,在Atmel下拉菜单中选择AT89S52元件,点“确定”
2.建源文件
“File”-“New”-写程序-写与Project工程同名的文件名,若用的是C语言,后缀为.c,若用的是汇编语言,后缀为.asm,然后保存
3.将源文件添加至工程Project
“Target”-“SourceGroup”-“Addfilesto..”-找出源文件,点击Add添加
4.编译
“Target”-右键-Option-Output-选中“Creat”,即生成.Hex文件
“Target”-右键-BuildTarget
二、ISP编程下载软件Progisp.exe
“擦除”-“调入flash”-选择源文件生成的.Hex文件-“自动”,即将程序烧入单片机。
根据编写程序的初衷,对单片机进行相应的操作,通过观察现象即可实现对单片机的调试。
3.3.2点灯程序
功能:
单片机P1.0口对应的LED灯循环闪烁
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitShow_LED=P1^0;
voidDelay(uintdel)//延时函数
{
uinti,j;
for(i=0;i for(j=0;j<1827;j++) ; } voidMain(void)//主函数Main() { P1=0xff;//关闭所有LED while (1) { Show_LED=1;//灯灭 Delay(20);//延时0.2s Show_LED=0;//灯亮 Delay(20); } } 3.3.3流水灯调试程序 功能: 取表法使P1做单一灯变换,左移两次,右移两次,闪烁两次(延时0.2秒) #include unsignedcharconst dofly[]={0xfe,0xfd,0xfb,0xf7,0xef,0xcf,0xbf,0x7f,0xfe,0xfd,0xfb,0xf7,0xef,0xcf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0x00, 0xff,0x00}; unsignedcharnum; voidInit_Timer0() { TMOD=0x01; TH0=0x4c; TL0=0x0d0; EA=1; ET0=1; TR0=1; } voidTimer0_isr()interrupt1 { TH0=0x4c; TL0=0x0d0; num++; } main() { unsignedchari; Init_Timer0(); while (1) { P1=dofly[i]; if(num==4) { i++; if(i==36) i=0; num=0; } } } 3.3.4定时调试程序 功能: P1.0--P1.3四个灯循环闪烁,产生2秒的定时,闪烁0.2秒; #include unsignedcharconsttable[]={0xfe,0xfd,0xfb,0xf7}; unsignedcharCount; voidTime0_Init()//定时初始化,11.0592MZ晶振,50ms { TMOD=0x01; TH0=0x4c; TL0=0x0d0; EA=1; ET0=1; TR0=1; } voidTime0_Int()interrupt1//定时器中断,中断实现count加一; { TH0=0x4c; TL0=0x0d0; Count++; } main()//主函数mian(); { unsignedchari; Time0_Init(); while (1) { P1=table[i]; while (1) { if(Count==4)//当Count为4时,闪烁时间4*50MS=0.2S; { P1=0xff; break; } } while (1) { if(Count==40)//当Count为40时,定时时间40*50MS=2秒; {i++; Count=0; if(i==4) i=0; break; } } } } 3.3.5中断调试程序 功能: 按键控制中断: 外部中断0端口P3.2按键,8个LED灯从左到右逐次闪亮;外部中断1端口P3.3按键,8个LED灯从右到左逐次闪亮。 #include #defineucharunsignedchar #defineuintunsignedint sbitKEY1=P3^2; sbitKEY2=P3^3; ucharCount=0; ucharcodetable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xcf,0xbf,0x7f}; voidDelay(uintdel) { uinti,j; for(i=0;i for(j=0;j<1827;j++); } voidOutside_Init(void) { EX0=1;//开外部中断0 IT0=1;//负边沿触发 EX1=1;//开外部中断1 IT1=1;//负边沿触发 EA=1;//开总中断 } voidOutside_Int1(void)interrupt0using1 { Delay (2); if(KEY1==0) { Count++; } Delay(30); } voidOutside_Int2(void)interrupt2using1 { Delay (2); if(KEY2==0) { Count--; } Delay(30); } voidMain(void) {Outside_Init(); while (1) { P1=table[Count%8]; Delay (2); } } 3.3.6串口程序 #include unsignedcharflag,a; voidmain() { TMOD=0x20;//设置定时器1为工作方式2 TH1=0xfd; TL1=0xfd; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; while (1) {if(flag==1) { ES=0; flag=0; SBUF=a; while(! TI); TI=0; ES=1; } } } voidser()interrupt4 {RI=0; a=SBUF; flag=1;} 第四章基于AT89S52单片机的应用设计 设计内容: 设计8051单片机构成的波形发生器,可控制输出三角波、锯齿波、方波、正弦波等波形。 主要元器件: 单片机、D/A转换器0832、运算放大器μA741 4.1波形发生器原理图 原理图如图6所示: 图6波形发生器原理图 4.2主要芯片介绍 4.2.1DAC0832 DAC0832是8分辨率的D/A转换集成芯片。 与微处理器完全兼容。 这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。 D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。 DAC0832的主要特性参数如下: 分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线性度;单一电源供电(+5V~+15V);低功耗,20mW。 DAC0832的工作方式: 根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式: 直通方式、单缓冲方式和双缓冲方式。 DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。 D/A转换结果采用电流形式输出。 若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。 运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。 DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。 其管脚图如右图7所示: 图7DAC0832管脚图 4.2.2uA741 741型运算放大器具有广泛的模拟应用。 宽范围的共模电压和无阻塞功能可用于电压跟随器。 高增益和宽范围的工作电压特点在积分器、加法器和一般反馈应用中能使电路具有优良性能。 此外,它还具有如下特点: (1)无频率补偿要求; (2)短路保护;(3)失调电压调零;(4)大的共模、差模电压范围;(5)低功耗。 引脚定义: 1和5为偏置端(调零端),2为正向输入端,3为反向输入端,4接地,6为输出,7接电源,8为空脚。 管脚如左图8所示: 图8uA741引脚图 4.3波形发生器的硬件实现 根据原理图可知,在第一阶段焊接的单片机基础上,还需要一块新的开发板、2个15K电阻,1个7.5K电阻,1个15针的单排针、15根插线、若干细线、1片DAC0832和2片uA741及对应的IC插座。 由此可焊接出成品如图9所示: 图9波形发生器发生装置 4.4波形发生器调试程序 4.4.1矩形波调试程序 #include #include #include #defineDAC08320XBYTE[0x77FF] #defineuintunsignedint voidmain(void) { uinti; while (1) { for(i=0;i<360;i++) { if(i<180) { DAC08320=0; } else { DAC08320=255; } } } } 4.4.2锯齿波调试程序 #include #include #include #defineDAC08321XBYTE[0x6FFF] #defineuintunsignedint voidmain(void) { uinti,b=255; while (1) { for(i=0;i<360;i++) { if(b>0) { DAC08321=b--; } else b=255; } } } 4.4.3三角波调试程序 #include #include #include #defineDAC08322XBYTE[0x5FFF] #defineuintunsignedint voidmain(void) { uinti,c=0; while (1) { for(i=0;i<360;i++) { if(i<180) DAC08322=c++; else DAC08322=c--; } } } 4.4.4正弦波调试程序 #include #include #include #defineDAC08323XBYTE[0x3fff] #definepi3.14 #defineuintunsignedint voidmain(void) { uinti,d=0; while (1) { for(i=0;i<360;i++) { if(i<180) { d=127*sin(i*pi/180)+127;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生产 实习 AT89C51 最小 系统 波形 发生 设计