简介:适合数据单片机论文写作的大学硕士及相关本科毕业论文,相关数据单片机开题报告范文和学术职称论文参考文献下载。
学年论文
(课程论文,课程设计)
题 目: 单片机最小系统设计
学号姓名: 200508059010 李振东
所在系院: 电子电气工程学院
专业年级: 电子信息科学与技术2005级
指导教师: 谭 菊
2017年 12 月 16日
单片机最小系统设计
05电信 李振东 指导老师 谭菊
摘 要
以ADC0809和8051为核心,该系统有三个部分:数据采集,数据处理和显示,终端接收.具体包括控制,显示,A/D转换器,电平转换接口等.设计中用ADC0809进行8路数据的采样,利用MCS-51单片机的串行口发送和接收数据.显示部分由8155,75452和LED数码显示器构成.硬件设计应用电子设计自动化工具,软件设计采用模块化编程方法.?由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,MCS-51系列单片机以其论文范文的性能,成熟的技术及高可靠性和高性能论文范文比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流.目前,可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统,各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统.单片机扩展系统是在以MCS-51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便,组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量.单片机以其功能强,体积小,可靠性高,造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大.本课题设计主要在MCS-51单片机上进行系统扩展,它包括程序存储器(ROM)扩展,数据存储器(RAM)扩展,I/O口扩展,定时/计数器扩展,中断系统扩展以及其它特殊功能扩展等.本文详述了在基本型单片机8051芯片的基础上,根据实际应用需要扩展必要的接口芯片资源,设计一个单片机通用系统的过程,并说明设计原理.1).确定系统功能与性能
由需求调查可以确定出单片机应用系统的设计目标,包括系统功能与性能.系统功能主要有数据采集,数据处理,输出控制等.
(2). 确定系统基本结构
单片机应用系统结构一般是以单片机为核心外部扩展相关电路的形式.确定了系统中的单片机,存储器分配及输入/输出方式就可大体确定出单片机应用系统的基本组成.
1)单片机
在系统详细方案设计时,先要确定单片机的型号.所选单片机的型号不同,组成的系统结构也就不同.
2)存储器分配
不同的单片机具有不同的存储器组织.MCS-51单片机的程序存储器与数据存储器空间相互独立,工作寄存器与内部数据存储器共用一个存储空间,I/O端口则与外部数据存储器共用一个存储空间.
(3) I/O通道划分
单片机应用系统中通道的数目及类型直接决定系统结构.设计中应根据被控对象所要求的输入/输出信号的数目及类型,确定整个应用系统的通道数目及类型.
(4).I/O方式的确定
采用不同的输入/输出方式,对单片机应用系统的硬,软要求是不同的.在单片机应用系统中,常用的I/O 方式主要有无条件传送方式(程序同步方式),查询方式和中断方式.这三种方式对硬件要求和软件结构各不相同,而且存在着明显的优缺点差异.在一个实际应用系统中,选择哪一种I/O方式,要根据具体的外设工作情况和应用系统的性能技术指标综合考虑.一般来说,无条件传送方式只适用于数据变化非常缓慢的外设,这种外设的数据可视为常态数据;中断方式处理器效率较高,但硬件结构稍复杂一些;而询问方式硬件论文范文较低,但处理器效率比较低,速度比较慢.在一般小型的应用系统中,由于速度要求不高,控制的对象也较少,此时,大多采用询问方式.
3. 单片机应用系统的一般调试方法
硬件调试是利用开发系统,基本测试仪器(万用表,示波器等),通过执行开发系统有关命令或运行适当的测试程序(也可以是与硬件有关的部分用户程序段),检查用户系统硬件中存在的故障.
单片机应用系统中大部分电路安装在印制电路板上,因此对每一块加工好的印制电路板要进行仔细的检查.检查它的印制线是否有断线,是否有毛刺,是否与其它线或焊盘粘连,焊盘有否脱落,过孔是否有未金属化现象等.如印制板无质量问题,则将集成芯片的插座焊接在印制板上,并检查其焊点是否有毛刺,是否与其它印制线或焊盘连接,焊点是否光亮饱满无虚焊.对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线(包括集成芯片引脚)是否完整无损.通过目测查出一些明显的器件,设备故障并及时排除.
从宏观来说,单片机应用系统中的软件与硬件是密切相关,相辅相成的.软件是硬件的灵魂,没有软件,系统将无法工作;同时,大多数软件的运行又依赖于硬件,没有相应的硬件支持,软件的功能便荡然无存.因此,将两者完全孤立开来是不可能的.然而,并不是用户程序的全部都依赖于硬件,当软件对被测试参数进行加工处理或作某项事务处理时,往往是与硬件无关的,这样,就可以通过对用户程序的仔细分析,把与硬件无关的,功能相对独立的程序段抽取出来,形成与硬件无关和依赖于硬件的两大类用户程序块.这一划分工作在软件设计时就应充分考虑.
4.单片机应用系统开发设计流程图
5.设计原理图
6.设计PCB
7.设计调试程序
BITCNT DATA 30H ;数据位计数器
BYTECNT DATA 31H ;数据字节计数器
COMMAND DATA 32H ;命令字节地址
RCVDAT DATA 40H ;接收数据缓冲区
XMTDAT DATA 50H ;发送数据缓冲区
;端口位定义
IO_DATA EQU P3.6 ;数据传送总线
SCLK EQU P3.7 ;时钟控制总线
RST EQU P3.5 ;复位总线
RS EQU P1.4
RE EQU P1.5
E EQU P1.6
ORG 0000H
AJMP START
ORG 0033H
START: MOV SP, #60H
MAIN:
;................................
;设置1602
LCALL DELAY ;延时一段时间
LCALL DRIVE_1602 ;初始化1602
LCALL XIANSHI_ZIFU ;显示提示字符串
;-------------------------------------
;设置1302
LCALL KAISHI ;时钟停止位操作把秒寄存器第7位设置位0时,起始时钟开始
LCALL NO_CHONGDIAN ;禁止充电操作
LCALL WRITE_ENABLE ;写保护寄存器操作
LCALL WRITE_MOREBYTE ;多字节传送方式
LCALL WRITE_NOABLE ;禁止写
Z: LCALL READ_MOREBYTE;读出多字节方式
;................................................................
;显示时间
;显示秒等程序
MOV R2, #8DH
LCALL XIANSHI1
;显示字符3程序
MOV R5, #8CH
LCALL ZIFU3
;显示分程序
MOV R2, #8AH
LCALL XIANSHI1
;显示字符3程序
MOV R5, #89H
LCALL ZIFU3
;显示时程序
MOV R2, #87H
LCALL XIANSHI1
;显示日程序
MOV R2, #0CAH
LCALL XIANSHI1
;显示字符3程序
MOV R5, #0C9H
LCALL ZIFU3
;显示月程序
MOV R2, #0C7H
LCALL XIANSHI1
单片机串口发送数据:国钟带你学习单片机视频教程从入门到应用开发设计5-3数据分解数码管数据显示及按键防
AJMP Z;...................................
;显示时间日月子程序
XIANSHI1:
MOV DPTR,#RCVDAT
MOV A,#00H
MOVC A,@A+DPTR
MOV B,#10
DIV AB
ADD A,#30H
MOV P0,R2
LCALL ENABLE
MOV P0,A
SETB RS
CLR RE
CLR E
LCALL DELAY
SETB E
MOV A,B
ADD A,#30H
MOV P0,A
MOV P0,A
SETB RS
CLR RE
CLR E
LCALL DELAY
SETB E
INC RCVDAT
RET
;字符3的子程序
ZIFU3: MOV P0,R5 ;第一行起始字符地址
LCALL ENABLE
MOV A,#":"
MOV P0,A
SETB RS ;写数据时序
CLR RE
CLR E
LCALL DELAY
SETB E
;1602子程序
ENABLE:CLR RS ;写指令子程序
CLR RE
CLR E
LCALL DELAY
SETB E
RET
DISP: MOV R1, #5 ;准备显示一行5个字符
LOOP: MOV A, #00H ;将ACC清零
MOVC A, @A+DPTR ;查表取得要显示的数据
LCALL DISP1 ;写入一个数据
INC DPTR ;数据表指针加1,准备取下一个数据
DJNZ R1, LOOP ;一行没有显示完就继续
RET
DISP1: MOV P0,A ;写1字节数据到显示端口
SETB RS ;写数据时序
CLR RE
CLR E
LCALL DELAY
SETB E
RET
;初始化1602
DRIVE_1602:
MOV P0, #01H ;写指令01H,清屏
LCALL ENABLE
MOV P0, #38H ;写指令38H,设定LCD16*2显示,5*7点阵,8位数据接口
LCALL ENABLE
MOV P0, #0CH ;写指令0FH,显示开,光标开,闪烁开
LCALL ENABLE
MOV P0, #06H ;写指令06H,光标输入方式增量位移
LCALL ENABLE
RET
;显示提示字符串
XIANSHI_ZIFU:
MOV P0, #80H ;第一行起始字符地址
LCALL ENABLE
MOV DPTR, #TABLE1 ;第一行显示字符表头地址
LCALL DISP ;显示第一行数据
MOV P0, #0C0H ;第二行起始字符地址
LCALL ENABLE
MOV DPTR, #TABLE2 ;第二行显示字符表头地址
LCALL DISP ;显示第二行数据
RET
DELAY: MOV R7, #5 ;延时子程序
D1: MOV R6, #2
D2: DJNZ R6, D2
DJNZ R7, D1
RET
;......................................
;设置1302子程序
;禁止充电操作
NO_CHONGDIAN: MOV COMMAND, #90H ;命令字90H
MOV BYTECNT, #1 ;单字节传送
MOV R0, #XMTDAT ;数据地址覆给R0
MOV XMTDAT, #00H ;内容为0
ACALL SEND_BYTE ;调用写入数据子程序
RET
;写保护寄存器操作
WRITE_ENABLE: MOV COMMAND, #8EH ;写命令字节位8E
MOV BYTECNT, #1 ;单字节传送模式
MOV R0, #XMTDAT ;数据地址覆给R0
MOV XMTDAT, #00H ;数据内容位0(写入允许)
ACALL SEND_BYTE ;调用写入数据子程序
RET ;返回调用本子程序
;时钟停止位操作把秒寄存器第7位设置位0时,起始时钟开始
KAISHI:MOV COMMAND, #80H ;写命令字节位80
MOV BYTECNT, #1 ;单字节传送模式
MOV R0, #XMTDAT ;数据地址覆给R0
MOV XMTDAT, #00H ;芯片允许工作(数据位0)
ACALL SEND_BYTE ;调用写入数据子程序
RET
;禁止写保护寄存器操作
WRITE_NOABLE: MOV COMMAND, #8EH ;写命令字节位8E
MOV BYTECNT, #1 ;单字节传送模式
MOV R0, #XMTDAT ;数据地址覆给R0
MOV XMTDAT, #80H ;数据内容位0(写入允许)
ACALL SEND_BYTE ;调用写入数据子程序
RET ;返回调用本子程序
;多字节传送方式
;向DS1302中写入2007年,2月3日,星期六,13时,59分,50秒
WRITE_MOREBYTE: MOV COMMAND, #0BEH ;命令字位BE
MOV BYTECNT, #8 ;多字节写入
MOV XMTDAT, #00 ;秒
MOV XMTDAT+1, #59 ;分
MOV XMTDAT+2, #13 ;时
MOV XMTDAT+3, #03 ;月
MOV XMTDAT+5, #06 ;星期
MOV XMTDAT+6, #07 ;年
MOV XMTDAT+7, #00 ;
ACALL SEND_BYTE ;调用写入数据子程序
RET
;读出多字节方式
READ_MOREBYTE: MOV COMMAND, #0BFH ;命令字节BF
MOV BYTECNT, #8 ;多字节读出
MOV R1,#RCVDAT ;数据地址覆给R1
ACALL RECEIVE_BYTE ;调用读出数据子程序
RET
;发送数据程序
;名称:SEND_BYTE
;描述:发送(BYTECNT)个字节给控制器DS1302
;所发送数据的字节数在BYTECNT中,发送的数据在XMTDAT缓冲区
SEND_BYTE: CLR RST ;复位引脚位低电平,所有数据传送终止
NOP
CLR SCLK ;清时钟总线
NOP
SETB RST ;复位引脚位高电平,逻辑控制有效
NOP
MOV A,COMMAND ;准备发送命令字节
MOV BITCNT,#08H ;传送位数为8
S_BYTE0:RRC A ;将最低位传送给进位位
MOV IO_DATA,C ;位传送至数据总线
NOP
SETB SCLK ;时钟上升沿,发送数据有效
NOP
CLR SCLK ;清时钟总线
DJNZ BITCNT,S_BYTE0;位传送未完毕则继续
NOP
S_BYTE1:MOV A,@R0 ;发送数据,过程与传送命令相同
MOV BITCNT,#08H ;
S_BYTE2:RRC A
MOV IO_DATA,C
NOP
SETB SCLK
NOP
CLR SCLK
DJNZ BITCNT,S_BYTE2
INC R0 ;发送数据的内存地址加1
DJNZ BYTECNT,S_BYTE1 ;字节传送未完毕则继续
NOP
CLR RST ;逻辑操作完毕,清RST
RET
;接受数据程序
;名称:RECEIVE_BYTE
;描述:接受(BYTECNT)个字节从控制器DS1302
;所发送数据的字节数在BYTECNT中,发送的数据在XMTDAT缓冲区
RECEIVE_BYTE: CLR RST ;复位引脚为低电平,所有数据传送终止
NOP
CLR SCLK ;清时钟总线
NOP
SETB RST ;复位引脚为高电平,逻辑控制有效
MOV A,COMMAND ;准备发送命令字节
MOV BITCNT, #08H ;传送位数为8
R_BYTE0: RRC A ;将最低位传送给进位位C
MOV IO_DATA,C ;位传送至数据总线
NOP
SETB SCLK ;时钟上升沿,发送数据有效
NOP
CLR SCLK ;清时钟总线
DJNZ BITCNT,R_BYTE0;位传送未完毕则继续
NOP
R_BYTE1: CLR A ;准备接受数据:清类加器
CLR C ;清进位位C
MOV BITCNT,#08H ;接受位数为8
R_BYTE2: NOP
MOV C,IO_DATA ;数据总线上的数据传送给C
RRC A ;从最低位接受数据
SETB SCLK ;时钟总线置高
NOP
CLR SCLK ;时钟下降沿接受数据有效
DJNZ BITCNT,R_BYTE2 ;位接受未完毕则继续
MOV @R1,A ;接受到的完整数据字节放入接受缓冲区
INC R1 ;接受内存地址加1
DJNZ BYTECNT,R_BYTE1 ;字节接受未完毕则继续
NOP
CLR RST ;逻辑操作完毕,清RST
RET
;-------------------------------------------
TABLE1: DB "TIME:"
TABLE2: DB "DATE:"
TABLE3: DB ":"
END
单片机最小系统设计 200508059010 李振东
2017-2017学年课程设计论文
2
3
2017-2017学年第二学期课程设计论文
总结:这篇数据单片机论文范文为免费优秀学术论文范文,可用于相关写作参考。
单片机串口发送数据引用文献:
[1] 单片机和大数据学术论文怎么写 关于单片机和大数据类学士学位论文范文10000字
[2] 大数据营销学论文选题 大数据营销专业论文题目怎么拟
[3] 新颖的单片机控制系统论文选题 单片机控制系统毕业论文题目怎么定