单片机课程设计实验---单片机间串行通信
《单片机原理及应用》
课程设计报告
课程设计题目:单片机间串行通信原理专业班级:2012级电子信息科学与技术学生姓名:罗滨志
学号:120802010051
成绩:
2014 年12 月27日
目录
摘要 (1)
1 设计任务 (1)
1.1 功能要求 (2)
1.2 总体方案及工作原理 (2)
2 系统硬件设计 (2)
2.1 器件选择 (2)
2.1.1主要器件的型号 (2)
2.1.2 AT89C51 (3)
2.1.3键盘输入电路 (5)
2.1.4晶振电路方案 (6)
2.1.5数码管显示 (6)
2.1.6复位电路方案 (6)
2.2 硬件原理图 (7)
3 系统软件设计 (7)
3.1基本原理 (8)
3.2系统软件设计流程图 (8)
3.3 按键程序设计 (9)
3.3.1串口通信程序设计: (10)
3.3.2 显示程序设计: (10)
3.4软件清单 (10)
3.4.1发送端程序 (10)
3.4.2接收端程序 (9)
4实验步骤 (14)
4.1实验程序调试 (14)
4.1.1发送端程序调试 (14)
4.1.2接收端程序调试 (15)
4.2实验仿真 (16)
5设计总结 (17)
6参考文献: (17)
摘要
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而AT89C51单片机是各单片机中最为典型和最有代表性的一种,本设计是基于MCS51系列单片机中AT89C51所设计的一种具有一个全双工的串行通信口,可以实现单片机与单片机之间点对点串行通信,主从通信以及上,下位机互相通信等。本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,由单片机与键盘控制数码管的显示,修改设置LED显示由按键开关控制,通过硬件电路制作以及软件程序的编制,设计制作一个简单的单片机间串行通信。
关键词:单片机 AT89C51 串行通信
1 设计任务
单片机间串行通信,是工业自动化、智能终端、通信管理等领域传统且重要的通讯手段。
此次设计单片机串行通信,就是为了了解单片机的工作原理,从而学会制作数字钟。本次课程设计通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理与应用及C51程序设计》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
1.1 功能要求
设计一个单片机与单片机之间点对点串行通信的应用电路,要求按下发送端单片机键盘上的按钮,该键的键号通过串行异步通信传送到接收端单片机中,并在LED上显示出来,其晶振频率为6MHZ。
1.2 总体方案及工作原理
本设计2个相同单片机之间通过串口进行通信,通过按键输入要发送的数据,该数据为数字,并可在数码管上显示出来,设置完后通过串口通信发送给另一个单片机,另一个单片机接收到后在数码管上显示出来,2个单片机可以互相发送数据,通过2个单片机系统的数码管显示的数字可以判断串口通信发送的数据的正确性。系统设计框图如图2-1所示。本设计主要由按键输入电路、单片机控制电路和数码管显示电路组成,2个单片机的电路图完全相同,实现的功能也相同,所以本文只介绍其中一块单片机电路的设计方法和串口通信的原理。
整个串行通信的工作原理是:在正常的供电状态下,首先利用发送端单片机读入键盘输入的数据,在将读入的数据传送到接收端,由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键调整状态,进行按键调整。
2 系统硬件设计
2.1 器件选择
2.1.1主要器件的型号
元件名称数量
AT89C51芯片 2
7SEG-MPX2-CA数码管 1
6MHZ晶振(CRYSTAL) 1
10uF电解电容(CAP-ELEC) 1
30pF普通电容(CAP) 2
74LS06六驱动器 2
200R电阻(RES) 2
10K电阻(RES) 1
5.1K电阻(RES) 4
按钮(BUTTON) 16
BUS 2
2.1.2 AT89C51
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM-FALSH PROGRAMMABLE AND ERASABLE READ ONLY MEORY)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机,单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。其基本结构如图1
图 1 AT89C51单片机的基本结构
AT89C51 是一个低电压,高性能CMOS 8 位单片机,片内含8kB 的可反复擦写的Flash 只读程序存储器和256B 的随机存取数据存储器(RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,与标准MCS-51 指令系统及8052 产品引脚兼容,片内置有通用8 位中央处理器(CPU)和Flash 存储单元。
图2 AT 89C51单片机的引脚
VCC/GND:供电电源。
P0口:可以被定义为数据/地址的低八位,能够用于外部程序/数据存储器。在FIASH 编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:标准输入输出I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:既可用于标准输入输出I/O,也可用于外部程序存储器或数据存储器访问时的高八位地址。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:既可以作标准输入输出I/O,也可作为AT89C51的一些特殊功能口,管脚备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.1.3键盘输入电路
键盘输入电路由发送端单片机接口“P0.0/P0.1/P0.2/ P0.3/ P0.4/ P0.5/ P0.6/ P0.7/四个按键—组串联”构成,按下S1按键,LED显示器显示相应键盘值,同理其余15个按键如此。
图3 键盘输入原理图
2.1.4晶振电路方案
晶振电路的功能在于给单片机提供振荡时钟信号,使单片机正常工作。本设计中采用了常用的晶振电路组成方案,具体如下图所示。
图4晶振电路
2.1.5数码管显示
引脚接口
A P1.0
B P1.1
C P1.2
D P1.3
E P1.4
F P1.5
G P1.6
DP P1.7
1 R8
2 R9
2.1.6复位电路方案
复位电路的功能在于对单片机进行复位从而达到对整个电路复位的功能。要达到目的则要求在复位按键按下后在RST引脚上要出现一个维持2个机器周期高电平[4]。考虑到可以利用电容的电压不能突变(需要一定的充放电时间),于是采用如下复位电路。
图5复位电路
2.2 硬件原理图
3 系统软件设计
3.1基本原理
它是利用单片机的全双工的串行通信口,实现单片机与单片机之间点对点串行通信,主从通信以及上,下位互相通信。然后数码管把他们的内容在相应的位置显示出来。在具体的设计时按键采用中断方式工作,对LED显示的在中断程序中实现,在发送端程序只是对键盘输入数据的定义初始化,调用显示程序和控制程序的初始化。
本设计的软件程序包括发送端程序、接收端程序、中断子程序、时钟显示子程序等等。另外电路中有按键控制程序。
3.2系统软件设计流程图
本系统软件设计分为发送机和接收机,发送机程序设计流程图如图6所示,接收机程序设计流程图如图7所示。
图6 发送端流程图图7 接收端流程图数据发送完成?
结束
开始
初始化
读取数据
送数码管显示
数据发送至串口
扫描按键
N
Y
数据接收完成?
开始
初始化
读取数据
送数码管显示
N
Y
触发串口中断?
N
Y
3.3 按键程序设计
单片机读取按键值的方法有两种:查询方式和中断方式。查询方式是利用键盘程序不断查询是否有按键按下,有按下则进入相应按键的子程序进行数据处理,没有则一直循环查询;中断方式是将按键动作与单片机的中断系统联系起来,有按键按下时,就引起单片机中断,使系统进入中断处理程序。本设计中有16个按键,且主要程序就是按键的处理,所以采用查询方式来处理读取按键值程序。
设计按键程序时,首先应注意的是按键的机械触点效应,原理上,按键按下时,单片机端口为低电平,但是由于按键的机械触点效应,按键在断开和闭合瞬间会有抖动过程,这个过程会出现一系列的负脉冲,这样会让单片机引起误判,因次,必须采取措施去掉按键抖动的影响。去按键抖动常用的有两种方法:硬件方法和软件方法。硬件方法一般是并接电容,或者加R-S触发器;软件去抖动一般采用延时的方法,按键抖动的过程一般持续5-10ms的时间,在判断按键状态时,只要加一个5-10ms的延时程序,再次判断按键是否状态不变,即可实现去抖动的作用。本设计中选用软件延时的方法去按键抖动。
3.3.1串口通信程序设计:
AT89C51的串行口是一个全双工的异步串行通信口,可以同时进行接收数据和发送数据,因为口内的接受缓冲器和发送缓冲器在物理上是隔离的,即是完全独立的。可以通过访问特殊功能寄存器SBUF,来访问接收缓冲器和发送缓冲器。接收缓冲器还具有双缓冲的功能,即它在接收第一个数据字节后,能接受第二个数据字节,但是,在它完成接收第二个数据字节之后,若第一个字节仍未取走,那么该字节数据将丢失。对串行口的控制主要包括对状态控制寄存器SCON、控制寄存器PCON、和串行数据寄存器SBUF的设置。
3.3.2显示程序设计:
根据数码管的驱动方式不同,数码管送显方式有两种:静态送显和动态送显。静态显示驱动:静态驱动也称直流驱动,在静态显示驱动方式下,数码管的共阴极或共阳极共同接地或接电源,每个数码管的段选线与8位的单片机并口连接。静态显示驱动方式占用的单片机I/O端口比较多,一般在实用中不采用。
动态显示驱动:数码管动态显示方式是将所有的段选线并联在一起,由一个8位I/O口来控制,再利用单片机的其他I/O口来作为数码管的位选线。当单片机输出显示数字的译码时,哪个数码管显示由单片机对位选通电路的控制来选择,所
以将欲显示的数码管的位选通端选通,该数码管就会显示,其它数码管均不会亮。通过轮流控制各个数码管的选通端使数码管轮流显示。在显示过程中,每个数码管的显示时间为1-2ms,由于人们的视觉暂留现象及发光二极管的余晖效应,只要扫描的速度够快,给人的印象就是同时点亮的,而且不会有闪烁感。
3.4软件清单
3.4.1发送端程序
ORG 0000H
AJMP START
ORG 0030H
START: MOV SP,#50H设置堆栈区为:50H---7FH
CLR EA 关中断
MOV TMOD,#20H T1方式2
MOV TH1,#0E7H 波特率设置为:625bps
MOV TL1,#0E7H
MOV PCON,#0
SETB TR1
MOV SCON,#40H 设串口为方式1
LOOP: NOP
ACALL KEYSCAN 调用键盘扫描程序KEYSCAN
MOV A,R7
CJNE A,#0FFH,EXIT1 有按键按下,转EXIT1 执行
SJMP LOOP 主程序循环
EXIT1: MOV SBUF,A 发送键号
JNB TI,$
CLR TI
SJMP LOOP 主程序循环
NOP
KEYSCAN: MOV P0,#0F0H 键盘扫描程序KEYSCAN,返回值存R7中
MOV A,P0 有键按下返回相应键号,无键按下返回FFH,应键号
CPL A
ANL A,#0F0H
JZ NOKEY 无按键按下,转NOKEY执行
ACALL DEL10MS 调用延时10ms程序,软件去抖动
MOV A,P0
CPL A
ANL A,#0F0H
JZ NOKEY
MOV R3,A 闭合键列线状态送R3
MOV R4,#11111110B 从P0.0=0开始扫描
MOV R0,#4 循环扫描4次
KLOOP1: MOV P0,R4
ACALL DEL1MS
MOV A,P0
CPL A
ANL A,#0F0H
JNZ KEYNUM
MOV A,R4
RL A
MOV R4,A 闭合键行线状态送R4
DJNZ R0,KLOOP1
SJMP NOKEY
KEYNUM: MOV A,R3 计算列号,结果存在R3中SWAP A
MOV R3,#0
MOV R0,#4
KLOOP2: RRC A
JC COL
INC R3
DJNZ R0,KLOOP2
SJMP NOKEY
COL: MOV A,R4 计算列号,结果存在R4中MOV R4,#0
MOV R0,#4
KLOOP3: RRC A
JNC ADDKEY
INC R4
DJNZ R0,KLOOP3
SJMP NOKEY
ADDKEY: MOV A,R4 计算键号,键号=行号*4+列号RL A
RL A
ADD A,R3
MOV R7,A 键号存R7中
KLOOP4: MOV P0,#0F0H 等待按键释放
MOV A,P0
CPL A
ANL A,#0F0H
JNZ KLOOP4
RET
NOKEY: MOV R7,#0FFH 无键按下,FFH存R7中RET 返回
NOP
DEL1MS: MOV R6,#125 延时1ms子程序
DEL: NOP
NOP
DJNZ R6,DEL
RET
DEL10MS: MOV R6,#5 延时10ms子程序
DEL2: MOV R5,#125
DEL1: NOP
NOP
DJNZ R5,DEL1
DJNZ R6,DEL2
RET
END
3.4.2接收端程序
ORG 0000H
AJMP START
ORG 0023H
AJMP SIO 调转到串行口中断执行
ORG 0030H
START: MOV SP,#50H 设置堆栈区为:50H---7FH MOV A,#10 设置显示初始字符为P
MOV 30H,A
INC A
MOV 31H,A
MOV TMOD,#20H T1工作方式2
MOV TH1,#0E7H 波特率设置625bps
MOV TL1,#0E7H
MOV PCON,#0
SETB TR1
MOV IP,#10H 设置串行口中断为高优先级
MOV IE,#90H 开串行口中断
MOV SCON,#50H 设串口为方式1
LOOP: NOP
ACALL DISP 调用显示子程序DISP
SJMP LOOP 主程序循环
DISP: MOV DPTR,#DISPTAB 显示子程序DISP
MOV A,30H
MOVC A,@A+DPTR
MOV P1,A
CLR P3.4
ACALL DEL1MS
MOV A,#0FFH
MOV P1,A
SETB P3.4
MOV A,31H
MOVC A,@A+DPTR
MOV P1,A
CLR P3.5
ACALL DEL1MS
MOV A,#0FFH
MOV P1,A
SETB P3.5
RET
SIO: PUSH PSW 串行口中断服务程序SIO
PUSH ACC
JNB RI,EXIT
CLR RI
MOV A,SBUF 接收发送端传送来的数据
MOV B,#10 将键号分解成两位存于31H和30H中
DIV AB
JNZ EXIT2
MOV A,#11
EXIT2: MOV 31H,A
MOV A,B
MOV 30H,A
EXIT: NOP
CLR TI
POP ACC
POP PSW
RETI 中断返回
DEL1MS: MOV R6,#125 延时1ms子程序
DEL: NOP
NOP
DJNZ R6,DEL
RET
DISPTAB: DB 0C0H,0F9H,0A4H 显示段码表,0,1,2
DB 0B0H,99H,92H 3,4,5
DB 82H,0F8H,80H 6,7,8
DB 90H,8CH,0FFH 9,P,熄灭
END
4 实验步骤
4.1实验程序调试
4.1.1发送端程序调试
在Keil软件中输入实验发送端参考程序,调试如图8所示:
图8发送端程序调试图
如图8发送端程序调试图可以看出程序调试无错误,所以将调试无错误的发送端程序转换为HEX文件;
4.1.2接收端程序调试
在Keil软件中输入实验接收端参考程序,调试如图9所示:
图9接收端程序调试图
如图9接收端程序调试图可以看出程序调试无错误,所以将调试无错误的接收端程序转换为HEX文件;
4.2实验仿真
按照单片机间串行通信实验原理图在Proteus软件中连接相应源器件如图10
图10实验原理图
将首先转换好的发送端与接收端的HEX文件下载到相应的芯片中,在Proteus中仿真图形如图11
51单片机串口调试实验(C语言)
//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 /****************************************************************************** * * 实验名: 串口实验 * 使用的IO : P2 * 实验效果: 将接收到发送回电脑上面。 * 注意: ******************************************************************************* / #include
单片机课程设计报告实验报告
课程设计报告 学号: 1328403028 姓名:张帅华 班级: 13电子信息工程指导老师:邓晶 苏州大学电子信息学院 2016年4月
摘要 随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。 关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01
目录 摘要 (1) 目录 (2) 第1章基于DS18B20的数字温度计设计 (3) 1.1 设计要求 (3) 1.2 系统组成 (3) 1.3 系统设计 (3) 1.3.1 硬件设计 (3) 1.3.2软件设计 (4) 1.4 设计结果 (6) 第2章基于AT24C02的电子密码锁设计 (7) 2.1 设计要求 (7) 2.2 系统组成 (7) 2.3 系统设计 (8) 2.3.1 硬件设计 (8) 2.3.2 软件设计 (9) 2.4 设计结果 (9) 第3章基于DS1302的电子日历的设计 (11) 3.1 系统功能 (11) 3.2 系统组成 (11) 3.3 系统设计 (11) 3.3.1 硬件设计 (11) 3.3.2 软件设计 (13) 3.4 设计结果 (14) 第4章基于NRF24L01的无线通信系统的设计 (15) 4.1 系统功能 (15) 4.2 系统组成 (15) 4.3 系统设计 (15) 4.3.1 硬件设计 (15) 4.3.2 软件设计 (16) 4.4 设计结果 (16) 总结 (17)
单片机课程设计报告模板资料
哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 2015年10月14日
1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法: (2)问题说明: 解决方法: 2、教师现场提的问题记录在此(不少于2个问题)。
目录 1 设计任务 (1) 2设计方案 (2) 2.1任务分析 (2) 2.2方案设计 (2) 3 系统硬件设计 (3) 3.1时钟电路设计 (3) 3.2复位电路设计 (3) 3.3 灯控制电路设计 (3) 3.4 倒计时显示电路设计 (4) 3.5 按键控制电路设计 (5) 4 系统软件设计 (6) 4.1 1S定时 (6) 4.2 定时程序流程 (6) 4.3交通灯的设计流程图 (6) 4.4定时器0 及中断响应 (7) 5仿真与性能分析 (8) 6心得体会 (9) 参考文献 (10) 附录1 系统原理图 .......................................................................错误!未定义书签。附录2 系统PCB图 .....................................................................错误!未定义书签。附录3 程序清单 .. (11) II
1 设计任务 支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图1.1所示。设东西向为主干道,南北为支干道。 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。
单片机课程设计完整版样本
课程设计( 论文) 课程名称单片机 题目名称简易密码锁的设计学院高等技术学院 专业班级高1 1 0 9 学号3869 学生姓名刘欢 指导教师胡立强 11月28 日 目录
一,任务目的 (3) 二,任务要求 (3) 三,电路与元器件 (4) 四,程序设计 (5) 五,程序运行测试 (6) 六,任务小结 (7) 七,心得体会 (8) 八,参考文献 (9) 1.任务目的
经过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作, 让读者理解C语言中数组的基本概念和应用技术, 并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。 2.任务要求 在一些智能门控管理系统, 需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分: 按键、数码显示和电控开锁驱动电路, 三者的对应关系如图表3.16所示。 表3.16 简易密码锁状态 简易密码锁的基本功能如下: 4个按键, 分别代表数字0,1,2,3: 密码在程序中事先设定, 为0-3之间的一个数字; 上电复位后, 密码锁初始状态为关闭, 密码管显示符号”—”; 当按下数字键后, 若与事先设定的密码相同, 则数码管显示字符”P”, 打开锁, 3秒后恢复锁定状态, 等待下一次密码的输入, 否则显示字符”E”持续3秒, 保持锁定状态并等待下次输入。 3.电路与元器件 根据任务要求, 用一位LED数码管作为显示器件, 显示密码锁的状态信息, 数码管采用静态连接方式; 4个按键连接到P0口的低四位
P0.0-P0.3引脚, 设P0.0连接数字”0”按键、P0.1连接数字”1”按键, 依次类推; 锁的开、关电路用P3.0控制的一个发光二极管代替, 发光二极管点亮表示锁打开, 熄灭表示锁定。根据以上分析, 采用如图3.21所示的连接电路。 图3.21 简易密码锁电路 简易密码锁电路所需元器件清单如表3.17所示。 元器件名称参数数量元器件名 称 参数数量 插座DIP40 1 电阻103 1 单片机AT89SC51 1 电解电容22UF 1
单片机课程设计51实验报告DOC
福建工程学院软件学院 题目:51开发洗衣机 班级:物联网工程1202 成员: 座号:04 28 指导老师: 日期:年月日课设报告
目录 1摘要 (1) 2.设计需求 (1) 2.1功能需求 (1) 2.1.1 基本功能 (1) 2.1.2扩展功能 (1) 2.2 设计要求 (2) 2.2.1 单片机芯片部件功能 (2) 2.2.2 LCD数码显示管部件功能 (2) 2.2.3 按键部件功能 (2) 2.2.4 蜂鸣器部件功能 (2) 3硬件设计及描述 (2) 3.1总体描述 (2) 3.2系统总体框图 (3) 3.3Proteus电路图 (3) 3.4各部分硬件介绍 (4) 3.4.1晶振Protues仿真 (4) 3.4.2LCDProtues仿真 (5) 3.4.3 按键Protues仿真 (5) 3.4.4上拉电阻Protues仿真 (6) 3.4.5C51芯片Protues仿真 (6) 3.4.6上电复位电路Protues仿真 (8) 3.4.7蜂鸣器Protues仿真 (9) 4 软件设计流程及描述 (10) 4.1程序流程图 (10) 4.2函数模块及功能 (10) 5功能实现 (11) 5.1程序烧入上电调试 (11) 5.2时间递增跳变 (12) 5.3比分更变 (13) 5.4比赛得分复位 (14) 5.5比赛时间复位 (14) 6 心得体会 (15) 7源程序代码: (16)
1摘要 是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。赛程计时用倒计时来计时。在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。 这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。 本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。 2.设计需求 2.1功能需求 2.1.1 基本功能 (1)屏上显示比赛已运行时间 (2)屏上显示A队和B队的得分 (3)屏上显示上下半场(H-L) (4)通过按键控制比分的增减 2.1.2扩展功能 (1)按键实现比赛场次的更换 (2)按键实现比赛计时的复位 (3)按键实现比赛比分的复位 (4)在比赛结束时,蜂鸣器在主裁判的控制下响起
智能小车单片机课程设计报告
题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限
x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..
单片机课程设计报告电子密码锁完整版
单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日
目录 3.总体设计 (2)
4 密码比较模块 (6) (6) (8) (9) 附录 (10)
摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确
单片机串行通信实验
单片机实验报告 实验名称:串行通信实验 姓名:高知明 学号:110404320 班级:通信3 实验时间:2014-6-11 南京理工大学紫金学院电光系
一、实验目的(四号+黑体) 1、理解单片机串行口的工作原理; 2、学习使用单片机的TXD\RXD口; 3、了解MAX232芯片的作用; 二、实验原理 MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以发送、接收数据。他有两个相互独立的接收、发送缓冲器,这两个缓冲器同名(SBUF),共用一个地址号(99H)。发送缓冲器只能写入,不能读出,接受缓冲器只能读出,不能写入。要发送的字节数据直接写入发送缓冲器。SBUF=a;当UART接收到数据后,CPU从接收缓冲器中读取数据,a=SBUF;串行口内部有两个移位寄存器,一个用于串行发送,一个用于串行接收。定时器T1作为波特率发生器,波特率发生器的溢出信号昨接受或发送移位寄存器的位移时钟。TI与RI分别为发送完数据的中断标志,用来想CPU发中断请求。 三、实验内容 1、发送信号 1)C51程序: #include