S51单片机开发板设计
单片机应设计实训报告
姓 名:
学 号:
班 级: XX级电子信息工程专业科班
学 院: 计算机电子信息工程学院
时 间: 2010年X月X日——X月X日
指导教师:
目录
.前言 2
二.单片机模块简介 2
1总体设计方案 2
2硬件模块简介 3
21 S51单片机控制模块 3
22 键盘模块 4
23 DS1302时钟模块 4
24 串口通信模块 5
25 LED数码显示流水灯模块 5
26载线模块 6
27 蜂鸣器模块 6
28 模块 7
三.开发板(串口通信模块)设计原理介绍 7
1.实验项目求 7
11元器件功介绍 7
12串口通信原理 8
2.原理图绘制 10
2.1串口通信模块仿真电路设计 10
3.程序编写 11
31 keil操作程 11
32程序框图 12
33USB模块电路原理图绘制 12
四.印刷板焊接流程 14
焊接流程 14
五.调试遭遇问题解决方法 14
1.调试 14
11程序载 14
12开发板调试 15
2.问题解决 15
六.总结体会 15
附录: 16
串口通信C语言源程序 16
.前言
年着科技飞速发展单片机应正断深入时带动传统控制检测技术日益更新实时检测动控制单片机应系统中单片机作核心部件仅单片机方面知识够应根具体硬件结构软硬件结合加完善
次实训目学单片机基理知识进进行单片机开发实践扩展更运实际软硬件开发中次单片机实训目:
(1)掌握单片机相关理知识
学单片机相关寄存器配置单片机部结构特点存储器组织外部接口中断串口功功寄存器相关配置确定软硬件设计总体方案
(2)掌握硬件设计软件设计基知识学会基设计软件总体设计方案单片机进行软硬件开发
Protel中单片机功模块进行外部电路设计实现模块功前提充分合理利单片机部资源外围接口求限度发挥单片机功
学会Keil C进行编辑编译仿真调试实现单片机进行C语言开发
Proteus台单片机外围功模块进行软件仿真验证功
(3)开发板板资源硬件实现载器制作
软硬件设计仿真验证功误Protel绘制PCB进行加工焊接元器件制作出S51开发板载器
二.单片机模块简介
1总体设计方案
开发板分十模块分:S51单片机控制器模块键盘模块DS1302时钟模块数码模块LCDCPS364BR模块ARK点阵模块载器模块流水灯模块蜂鸣器模块电源模块中S51单片机作核心控制器键盘模块单片机输入特定编码信息 DS1302时钟模块实现实时时钟数码模块显示简单数字字母LCD模块显示字母数字符号点阵模块显示图符号汉字载器模块实现S51单片机ISP线编程流水灯模块显示单片机IO口电变化蜂鸣器模块发出声音总体硬件电路图1示:
图1 总体硬件电路
2硬件模块简介
21 S51单片机控制模块
S51单片机系统包括:MCU复位电路晶振电路S51系列单片机部具128字节RAM5中断源32条IO口线216位定时器4KB程序存储器全双工异步串行口具ISP线编程功该单片机需烧写器开发板ISP线编程 S51单片机兼容C51单片机外具工作频率033MHz高工作频率 原理图图2示:
图2 控制模块
22 键盘模块
键模块通外部中断INT1实现键功通软件编程识键K0K3四键进实现相关功例数码显示字符数字加减LED灯速度变换等原理图图3示:
23 DS1302时钟模块
DS1302 引脚图4示:
图3 键模块 图4 DS1302引脚图
Vcc1备电源Vcc2电源电源关闭情况保持时钟连续运行DS1302Vcc1Vcc2两者中较者供电Vcc2高Vcc1 + 0 2V时Vcc2DS1302供电Vcc2低Vcc1时DS1302Vcc1 供电X1X2振荡源外接32 768 kHz晶振IO串行数输入输出端(双)SCL K时钟输入端RST复位片选线通RST输入驱动置高电启动数传送RST输入两种功:RST接通控制逻辑允许址命令序列送入移位寄存器RST提供终止单字节字节数传送手段RST高电时数传送初始化允许DS1302进行操作果传送程中置RST低电会终止次数传送I O引脚变高阻态电运行时Vcc高2 5V前RST必须保持低电SCL K低电时RST置高电DS1302时钟模块原理图图5示:
图5 DS1302时钟原理图
单片机DS1302通P11P12P13相连分时钟信号线输入输出线复位信号线DS1302晶振引脚连接32768HZ晶振
24 串口通信模块
串口通信模块原理图图6示:
图6 串口通信模块原理图
单片机MAX232通P30P31相连分发送线接收线外单片机MAX232
25 LED数码显示流水灯模块
LED显示器静态显示动态显示两种显示方式
LED静态显示方式:LED显示器工作静态显示方式时位阴极(阳极)连接起接(+5V)位段选线(a~dp)分8位锁存器输出相连LED显示字符确定相应锁存器输出维持变直显示字符止
LED动态显示方式:位LED显示时位段选线相应联起8位IO口控制形成段选线路复位阳极阴极分相应IO线控制实现位分时选通位LED够显示出位相应显示字符必须采扫描显示方式段选线输出相应位显示字节段码
流水灯模块包含8LED灯单片机P0口接10K拉电阻八LED负极次连接单片机P0口8引脚八LED正极次510欧姆排阻八端子相连 LED数码流水灯模块原理图图7:
图8 LCD数码流水灯模块
26载线模块
载器模块实现USB信号转换通SPI协议传输信号实现单片机编程载模块原理图图9示:
图9 载线接口模块 图10 蜂鸣器模块
27 蜂鸣器模块
单片机P14Q1基极通1K欧姆电阻连接P14高电时Q1导通Q1发射极集电极导通发射极拉低电蜂鸣器两端出现电位差蜂鸣器发声P14低电时Q1导通蜂鸣器两端没电流流蜂鸣器发声
28 模块
I2C EEPROM模块程序数存储器扩展功片外扩展64KB址0000~FFFFH存储芯片支持电科擦写
电源模块通整流电桥实现交直流转换功直接供单片机
原理图图11图12示:
图11 电源模块 图12 I2C EEPROM模块
三.开发板(串口通信模块)设计原理介绍
1.实验项目求
实验务通串口通信实现单片机数发收双机通信功通数码循环显示0~F表现实现程
11元器件功介绍
AT89S51 At89s51 种低功耗高性CMOS8位微控制器具 8K 系统编程Flash 存储器Atmel 公司高密度非 易失性存储器技术制造工业80C51 产品指令引脚完全兼容片Flash允许程序存储器系统编程适常规编程器单芯片拥灵巧8 位CPU系统编程FlashAT89S51众嵌入式控制应系统提供高灵活超效解决方案AT89S51具标准功:8k字节Flash256字节RAM32 位IO口线门狗定时器2数指针三16位定时器计数器6量2级中断结构全双工串行口 片晶振时钟电路外AT89S51 降0Hz 静态逻辑操作支持2种软件选择节电模式空闲模式CPU停止工作允许RAM定时器计数器串口中断继续工 作掉电保护方式RAM容保存振荡器冻结单片机切工作停止直中断硬件复位止8位微控制器 8K 字节系统编程 Flash AT89S51
RS232:RS232电子工业协会(Electronic Industries AssociationEIA) 制定异步传输标准接口般双工通信仅需条信号线实现条发送线条接收线条线
RS232TTL电路间需进行电逻辑关系变换实现种变换方法分立元件集成电路芯片MAX232芯片完成TTL←→RS232双电转换
MAX232:MAX232芯片RS232标准接口芯片+5v单电源供电PC机单片机串口进行通讯电转换芯片部结构基分三部分:
第部分电荷泵电路123456脚4电容构成功产生+12v12v两电源提供RS232串口电需
第二部分数转换通道7891011121314脚构成两数通道中13脚(R1IN)12脚(R1OUT)11脚(T1IN)14脚(T1OUT)第数通道8脚(R2IN)9脚(R2OUT)10脚(T2IN)7脚(T2OUT)第二数通道TTLCMOS数T1INT2IN输入转换成RS232数T1OUTT2OUT送电脑DP9插头DP9插头RS232数R1INR2IN输入转换成TTLCMOS数R1OUTR2OUT输出
第三部分供电15脚DNG16脚VCC(+5V)
图13 RS232芯片引脚图 图14 MAX232芯片引脚图
12串口通信原理
S51单片机部全双工串行接收发射缓器(SBUFF)两物理独立接收发射器接收发射数接收缓器读出写入发送缓器写入读出址99H通信口网络通信实现串行异步通信构成步移位寄存器果串行口输入输出引脚加电转换器方便构成标准RS232接口
S51单片机串行口专寄存器SBUF串行口收发缓器寻址专寄存器中包含接收器发射器寄存器实现全双工通信两寄存器具址(99H)S51串行数传输简单缓器写入数发送数接收缓器读出数接收数串行通信寄存器SCON控制寄存器寻址专寄存器串行数通信控制
数通信传输方式:常数通信传输方式单工半双工全双工工方式串行通信两种通信形式包括异步通信步通信SCON控制寄存器寻址专寄存器串行数通信控制结构格式:
表1 寄存器SCON结构
SCON
D7
D6
D5
D4
D3
D2
D1
D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
位址
9FH
9EH
8DH
9CH
9BH
9AH
99H
98H
面控制位功介绍:
(1)SM0SM1:串行口工作方式控制位
(2)SM2:机通信控制位
机通信工作方式2方式3SM2位方式2方式3接收状态串行口工作方式23SM21时接收第9位数(RB8)1时接收前8位数送入SBUF置位RI发出中断申请否会收数放弃SM20时接收效停止位时启动RI没接收效停止位RI清0方式0中SM2应该0
REN:允许接收控制位软件置1时允许接收软件置0时许接收
TB8:方式3方式3中发送第9位数需时软件置位清零
TB8:方式2方式3中接收第9位数方式1时SM20RB8接收停止位方式0中RB8
TI:发送中断标志硬件方式0发送完第8位时置1方式中串行发送停止位开始时置1必须软件清0
RI:接收中断标志硬件方式0串行发射第8位结束时置1
B特殊功寄存器PCON
PCON:CHMOS型单片机电源控制设置专寄存器
2.原理图绘制
2.1串口通信模块仿真电路设计
(1)开ISIS7professional窗口执行菜单命令File new design新建DEFAULT命名单片机串口通信发收DSN
(2)器件选择钮单击P钮添加表示原件:
单片机 AT89S51
电容CAPELEC CAPPOL
MAX232 COMPIM
钮 BUTTON
数码 7SEGMPX4CA
74LS244
排阻 RX8
三极 NPN
晶振 CRYSTAL
(3)ISIS原理图编辑窗口中放置电源布线设置相应原件参数完成电骡图设计
(4)调试仿真:加载生成HEX文件进行调试观察否符合预期效果
仿真效果图图15示:
图15 仿真效果图
3.程序编写
31 keil操作程
1).开桌面keil软件:面新建工程选择project>new新建名字单片机串口通信工程保存事先创建文件夹点击保存钮出现选择器件型号话框:选择实验板芯片型号atmel>at89s51
点击确定建立完毕工程
2).添加代码文件工程中首先新建缀C源文件点击开发环境中file>new新建c文件然点击保存钮注意定保存缀C格式 开发环境中左边栏找source group1右击选中弹出添加文件话框图:单片机串口通信c选中点击ADD添加源文件工程中
3).点击钮编译代码果面错误提示修改次编译直利通编译止图16示:
图16 keil编译图
4).target1右击选择出现话框:选择output栏栏勾样编译通生成执行载文件(执行文件缀hex)次点击编译生成执行代码串口通信hex
32程序框图
单片机通MAX232单片机通讯程序流程图17示:
图17 单片机通MAX232PC机单片机通讯程序流程图
单片机通P30P31发送数单片机单片机接收数发送单片机通LED数码显示出
33USB模块电路原理图绘制
(1)D盘建立名Protel文件夹Protel文件夹中建立名USBddb设计数库文件新建原理图文件命名USBsch
(2)根提供usb原理图画出原理图电路中元器件Miscellaneous DevicesddbProtel DOS Schematic Librariesddb两元器件数库中找
(3)画完电路图中元件参数逐设置元件属性元件动编号进行电气规检查设置某元器件属性方法双击该元器件出现话框设置原理图图18示:
图18 usb原理图
(4)形成该电路网络表设计电路板做准备
(5)根仿真电路图画出印刷电路板图新建PCB文件设置PCB设计环境绘制印刷电路版框
(6)开PCB 库文件调入网络表文件修改零件封装布置零件封装位置进行动布局
(7)孔焊盘补泪滴放置覆铜区
敷铜效果图18示:
图18 PCB原理图
四.印刷板焊接流程
焊接流程
1 焊前准备
首先熟悉焊印制电路板装配图图纸配料检查元器件型号规格数量否符合图纸求做装配前元器件引线成型等准备工作
2 焊接序
元器件装焊序次:电阻器电容器二极三极集成电路功率元器件先
3 元器件焊接求
1 )电阻器焊接
图电阻器准确装规定位置量电阻器高低致焊完露印制电路板表面余引脚齐根剪
2 )电容器焊接
电容器图装规定位置注意极性电容器 + - 极接错
3 )二极焊接
二极焊接注意阳极阴极极性装错发光二极印刷版保持05cm距离
4 )三极焊接
注意 e b c 三引线位置插接正确焊接时间短焊接时镊子夹住引线脚利散热
5 )集成电路焊接
首先图纸求检查型号引脚位置否符合求焊接时先焊边二引脚定位然左右逐焊接
6)usb接口电源接口
找正确位置注意印刷版焊接牢固松动
五.调试遭遇问题解决方法
1.调试
11程序载:开发板PC机通载器连接+5V电源开发板供电PC机安装ISP线载器驱动开烧写器软件选择烧写单片机类型加载FLASH点击编程程序烧录单片机中
USB isp载:请安装开progisp167\软件 编程器接口选择USBaspusb默认选择器件类型AT89S52点击调入FLASH钮找刚生成LEDhex文件
usb载线头连接电脑U口外头连接实验板左方ISP载口(注意方)点击动编程成功
12开发板调试:
(1)键盘模块实验效果:烧写HEX文件单片机JP7插短路帽键盘某键LCD1602显示该键应键值
(2)DS1302时钟模块实验效果:烧写HEX文件单片机插LCD1602液晶显示秒分时
(3)数码模块实验效果:烧写LED动态显示HEX文件单片机J3端插短路帽数码显示0开始计数
(4)流水灯模块实验效果:烧写流水灯HEX文件单片机流水灯显示种花型
(5)蜂鸣器模块实验效果:烧写HEX文件单片机蜂鸣器定声音频率鸣
2.问题解决
(1)印刷版焊完法烧入程序总出错
分析判断单片机接口焊点虚焊致回电烙铁单片机口查询焊接遍问题解决够烧入程序
(2)数码显示乱码非完整数字
分析应该数码编码实际编码引脚相程序中数码显示代码重新编译通
六.总结体会
老师指导找资料书完成老师布置务通次实训设计单片机智仪器结构功更深认识理实践提高次实训真提高总结验说首先丰富知识面前没学通东西深入透彻学会学懂具体解样完成电路设计:流程图电路图焊接电路板检查电路板仿真烧片整套东西没浪费宝贵时间学难验
找资料解单片机89S51数码显示关知识学时钟电路控制电路设计原理懂时候问老师学学起探讨懂难点时仿佛感觉真正学应该学氛围搞较明白开始画设计流程图电路图长时间画出电路图学老师帮检查改正处问题方电路焊接较难细心稳重应件求技术工作克服困难终完成接检测费少劲发现解决问题解决完问题种成功感想没错误会学会检测电路方法做电路进步解做步满会什错误仿真时候遇马麻烦先数码亮全亮键没反应刚点成功感马没次陷入反复检测检测发现少问题解决仿真成功开始烧片烧片程算利烧插电路板显示成功接工作切算利老师学帮助完成
次实训设计总说成功中学发现少问题学进步错基础实训设计中学单片机AT89C51部结构工作原理解串口通信工作原理阳极数码工作原理巩固C语言力提高动手力学验提高分析问题力创新力理联系实际机会做出成果硬件设计方面树立信心事方面工作基础次实训设计收获
附录:
串口通信C语言源程序
********单片机发收程序**********
#include
#define uchar unsigned char
#define uint unsigned int
sbit P2_0P2^0
sbit P2_1P2^1
sbit P2_2P2^2
sbit P2_3P2^3
sbit P2_4P2^4
sbit P2_5P2^5
sbit P2_6P2^6
sbit P2_7P2^7
uchar code dsy[16]{0xc00xf90xa40xb00x990x920x820xf80x800x90
0x880x830xc60xa10x860x8e} *** 实验板数码编码 ***
signed int a
void delay(uint n) 延时程序
{uint j
uchar k
for(j0j<10000j++)
for(k0k
void main() 函数
{SCON0X50
PCON0X80
TMOD0X20
TH10XFF 串口初始化
TL10XFF
TR11
a0
EX11
EA1
P20X00
IP0X04
while(1)
{
SBUFdsy[a] 发送程序
while(TI)
TI0
P2_01
P2_11
P2_21
P2_31
P0dsy[a]
delay(10)
while(RI) 接收程序
RI0
P20X0F
P2_41
P2_51
P2_61
P2_71
P0SBUF
delay(10)
P20X00
delay(1)
}
}
void INT_0() interrupt 2 外部中断1
{
switch(P1)
{
case 0xfe{delay(1)
if(a<15) 键1加数
aa+1
else a0
break}
case 0xfd{delay(1)
if(a>0)
aa1
else a15
break } 键2 减数
defaultbreak
}
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档