基于单片机简易计算机设计.docx
《基于单片机简易计算机设计.docx》由会员分享,可在线阅读,更多相关《基于单片机简易计算机设计.docx(34页珍藏版)》请在冰豆网上搜索。
![基于单片机简易计算机设计.docx](https://file1.bdocx.com/fileroot1/2023-1/31/812d3254-6a30-4a79-bb2f-f9c4398f1622/812d3254-6a30-4a79-bb2f-f9c4398f16221.gif)
基于单片机简易计算机设计
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。
计算机在人们的日常生活中是比较常见的电子产品之一。
可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用JHC-51单片机、LCD显示器、控制按键为元件来设计的计算器。
利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。
掌握Microsoft应用程序开发环境,常用的LCD显示器的使用方法和一般键盘的使用方法。
本系统的设计说明重点介绍如下几方面的内容:
1)基于单片机简易计算器的基本功能,同时对键盘及数码管动态显示原理进行了简单的阐述;
2)介绍系统的总体设计、给出系统的整体流程框图,并对其进行功能模块划分及所采用的元器件进行了详细说明;
3)对系统各功能模块的软、硬件实现进行了详细的设计说明。
关键词:
51单片机;LCD;控制按键;计算机。
Sbstract
Summaryinrecentyears,withrapiddevelopmentofscienceandtechnology,aredeepeningtheapplicationofsingle-chip,drivingtraditionalcontroltechnologyincreasinglyupdates.Inreal-timedetectionandcontrolofsinglechipcomputerapplicationsystem,MCUisoftenusedasacorepart,butonlySCMknowledgeisnotenough,itshouldbeaccordingtothespecificcombinationofhardware,softwareandhardware,tobeperfect.Computersinpeople'severydaylifeisoneofthemorecommonelectronicproducts.Butit'sstillindevelopment,willoccurinthefuturemorepowerfulcomputer,basedontheconcept,thedesignisbyJHC-51single-chip,LCDmonitors,controlkeystodesignforthecomponentcalculator.Takeadvantageofthisdesignexperiencewithsingle-chipmicro-controllersandc-languageprogramming,onitsresourcesandthevariousfunctionsoftheI/Oportsandbasicunderstandingofthepurpose.MasteringMicrosoftapplicationdevelopmentenvironment,acommonusageoftheLCDmonitorandgeneralusageofthekeyboard.
Thissystemdesignspecificationfocusesonthefollowingcontents:
1)simplecalculatorbasedonsinglechipmicrocomputerbasicfunctions,keyboardandatthesametimethedigitaldynamicshowedasimpleexpositionofprinciples;
2)describestheoveralldesignofthesystem,givingoverallflowdiagramofthesystem,andfunctionmodulepartitionandusedbythecomponentsforadetaileddescription;
3)onallfunctionalmodulesofthesystemsoftwareandhardwareimplementationofadetaileddesignspecification.
Keywords:
51single-chipcomputer;LCD;controlkeys,computer.
1.单片机开发板概述
1.11单片机发展现状
单片机的发展趋势:
低功耗CMOS化;微型单片化;主流与多品种共存;单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:
1)低功耗CMOS化
MCS-51系列的8051推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。
所以这种工艺将是今后一段时期单片机发展的主要途径。
2)微型单片化
现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。
现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。
3)主流与多品种共存
现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。
所以C8051为核心的单片机占据了半壁江山。
而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。
此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。
在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。
1.12计算器系统现状
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件通过人工或机器设备组成。
低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。
高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序和数据。
键盘是计算器的输入部件,一般采用接触式或传感式。
为减小计算器的尺寸,一键常常有多种功能。
显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。
除显示计算结果外,还常有溢出指示、错误指示等。
计算器电源采用交流转换器或电池,电池可用交流转换器或太阳能转换器再充电。
为节省电能,计算器都采用CMOS工艺制作的大规模集成电路(见互补金属-氧化物-半导体集成电路),并在内部装有定时不操作自动断电电路。
计算器可选用的外围设备有微型打印机、盒式磁带机和磁卡机等。
1.13简易计算器系统简介
本计算器是以MCS-51系列8051单片机为核心构成的简易计算器系统。
该系统通过单片机控制,实现对4*4键盘扫描进行实时的按键检测,并把检测数据存储下来。
整个计算器系统的工作过程为:
首先存储单元初始化,显示初始值和键盘扫描,判断按键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送入数码管动态显示。
整个系统可分为三个主要功能模块:
功能模块一,实时键盘扫描;功能模块二,数据转换为了数码管显示;功能模块三,数码管动态显示。
1.2本款51单片机学习开发板,拥有丰富的资源和例程。
每个例程都做了详细的注释。
本板的单片机I/O口全部引出,拔去上面的跳线帽就是一个最小系统,方便再次开发使用。
本款51单片机开发板套件的标准配置为:
1、STCLY5A-L2A学习板一块
2、USB线一条
3、串口线一条
4、STC芯片一块
5、光盘一张
图1-151单片机开发板套件
板上资源列表
图1-2LY5A-V2单片机
1.10个5色环电阻(1k)
2.8个红色发光二极管(3mm)
3.7个5色环电阻(5.1k)
4.6个三极管S8550
5.5个独石电容105
6.2个瓷片电容104
7.3个短接帽
8.3个3p圆孔座
9.2个瓷片电容22P
10.2个双排针6P
11.1个单片机STC89C52
12.1个PCB板L2A
13.1个MAX232
14.1个IC锁紧座40P
15.2个晶阵(12M+11.0592M)
16.1个USB接口母座
17.1个ISP座10P
18.1个普通IC座16P
19.1个DC5V蜂鸣器
20.1个继电器DC5V
21.1个肖特基二极管1N5819
22.1个单排线16P
23.1个电解电容100uF
24.1个自锁开关6脚
图1-3汇编语言
图1-4C语言
二制作过程
焊接
2.1焊前准备:
1、对照电路图和元件清单仔细查对元器件。
(各元件图请看光盘内图片、)
2、仔细分析电路图,预设各个元器件的摆放位置和焊接顺序。
3、准备好制作工具,万用表、镊子、吸锡器、斜口钳、剥线钳、烙铁、焊锡等。
4、插上烙铁,预热。
并将烙铁头镀上焊锡以防止烙铁头氧化。
2.2焊接步骤:
2.21固定单片机插座。
最好安放在电路板的中心位置,以方便其它外围器件的安装。
焊接时,把插座稳定插入电路板中,贴紧。
焊接时,先焊两对角以固定插座,然后把其它针脚依次焊接好。
事先弄清楚焊好后单片机如何插放在插座上,以分清插座各脚序号。
单片机各脚序号如下图,针脚放在桌上,从半圆凹槽左端第一脚逆时针是1—40号脚。
2.22焊接插针。
插针的焊接在电路图中未表示出来,我们在这里安装插针,是为了方便扩展单片机的外围器件。
当我们做了其它功能模块时,只需在其它电路板上焊好模块,把需要连接到单片机上的端口用导线引出,然后插在插针上,岂不很方便!
这也大大提高了单片机的使用率。
在插座旁并排焊接三排插针。
第九脚,也就是你安放单片机时对应的第九脚不接插针,此脚是做复位开关用的。
除此之外,第18、19、20脚也不用焊插针,第18、19是接晶振用的,20脚接电源负极。
还有,第40脚旁焊一根(旁还有一根),40脚接电源正极,上方接负极,此种焊接有利于给其它功能模块供电。
焊盘面如图连接,直接用焊锡接上即可。
为了方便扩展功能,用插针帽可以选择片上和片外功能模块。
2.23焊接晶振
晶振在强力碰撞容易损坏,所以焊接时要注意。
晶振不分级,把晶振两脚直接和19、20脚连接。
再把两个瓷片电容按电路图接好。
注意:
两电容相接的脚要接地。
此时还没有焊电源模块,所以暂时搁置在那儿。
2.24焊接电源模块
看清电路图。
此电路才用的是双电源供电,一个是电池供电,另一个是电脑USB供电。
电池供电是四节5号电池串接,提供电压是1.5*4=6V,但单片机供电是标准的5V,所以要加7805稳压模块。
电脑USB供电就是5V,不需要7805进行稳压,但要买一根连接线。
,因为7805稳压方式是降压式的,对USB稳压时,输出电压是二点几伏,不能给单片机供电,一定要记住这一点。
JP2是开关,R10下的发光二极管是电源指示灯。
电池供电接口是两针2.54(2.54是两脚间距),注意公母口的正负极要对应。
USB正负极是固定的,把USB接口“四脚朝天”放置,并且口的朝向面对自己,中间四个脚从左到右是1234,1脚是负极(接地),4脚是正极。
注意:
由于USB针脚规格和此电路板不是很相符,所以在安装时要用螺丝刀把两旁孔扩大。
1、焊接流水灯
按电路图焊接,这个非常简单。
要注意的是要分清二极管的极性。
电阻的安装有图示两种,看情况自己选择。
二极管的阴极接在单片机插座1—8脚的第三排插针上。
电阻都是1K。
2、接复位开关
当单片机运行时,第9脚RST接收到高点位时,单片机就会无条件复位。
还有,当给单片机通电瞬间,电流在瞬间升高,电容对变化的电流导通,9脚(RST)是高电位,单片机复位。
即在给单片机上电时,单片机复位,叫做上电复位。
在焊接此电路时,注意电容极性。
电容值是22uF,电阻值是10K。
2.3焊接数码管
数码管管脚如图(四位共阴),正放着,从左下第一脚开始,逆时针依次为1—12。
对应的脚是1—E,2—D,3—DP,4—C,5—G,6—COM4,7—B,8—COM3,9—COM2,10—F,11—A,12—COM1。
在电路图中,数码管左下端有ABCDEFGDP字母,把它们所对应的数码管上的脚与单片机上32—39脚相连。
例如第一个39/G,就是把单片机39脚与数码管5脚相连。
数码管右下端有1234,它们就是COM1、2、3、4。
注:
都与第三排排针相连。
数码管的各个引脚可以自己用万用表测出。
单片机32—39脚右边有接VCC的9脚器件是470*8的阻排,阻排上一端有白点的脚接VCC,它与另外任一脚间阻值是470Ω。
注:
与第三排排针相连。
2.4其它元器件焊接
除上面数码管外,还有DS18B20数字温度传感器、蜂鸣器、两外部中断按键和四个按键。
还有31脚(EA)要接VCC,是单片机片内程序存储器选择输入信号端/编程电压输入端。
(详细请看光盘内单片机教程)经过上面的讲解,这些都可以自己按照电路图焊接完成。
但在焊接时要注意一下几点:
在焊DS18B20时,不要把它和7805焊在一起。
因为7805工作时会散热,
1对DS18B20测温会产生影响。
DS18B20的讲解请参看光盘资料——《常用电子元器件》。
2在焊蜂鸣器时,一定要注意蜂鸣器的正负极。
3在焊按键时,一定要把按键的四个脚分清,哪两组在内部是短接的。
这个可以用万用表直接测出来。
4所有和单片机相连的脚都连在第三排排针上。
2.5、简易串口通信的焊接
这个电路不是很复杂,但看起来让人眼花缭乱。
所以在焊接此电路时一定要细心再细心,一边焊一边用万用表检查,看几个节点是否连接真确。
左端
与单片机连接的端口是P3.0(10脚)和P3.1(11脚)。
右下角是三针2.54,它右边的235的意思是与DB9母头上的2、3、5针相连,数字在DB9母头上都有标示。
2.6、串口线的制作
①将DB9母头固定,把三根导线与母头上2、3、5针脚焊接在一起。
②将导线另一端剥皮2—3mm,并把铜芯弯折。
将导线卡在三针2.54母口的卡簧的卡槽里,用尖嘴钳压紧(见左图),最后把对应卡簧插入母口塑壳里。
最好先把三针2.54的公母口对应好,把导线顺序排好,这样做出来的串口线很美观。
③DB9母口塑壳的安装。
(见下图)
2.7、线路的检查
一切都做好后,把所有插针帽插在1、2排插针上,然后对线路进行检测。
1单片机测试。
给实验板接上电源(电池或USB供电),打开开关,看八位流水灯是否三个三个的依次亮灭(STC单片机在P1口有这样的自检程序)。
如果有,说明单片机基本接线正常(电源、晶振、复位);如果没有,则要仔细从电源模块检查起,电源正负极性是否正确,每个模块中要接VCC的和接低的是否接上,特别是晶振和复位开关处。
单片机的20脚是否接地,四十脚是否接VCC。
2下载线测试。
把电源线和下载线连接好,按照光盘内“程序”文件夹里“STC|—ISP软件的使用”说明向单片机烧录光盘内的程序。
如能下载成功,说明下载线和下载电路做的不错!
恭喜!
否则要仔细检查电路和下载线了。
3单片机片上模块测试。
将光盘内的程序烧录到单片机里,看各模块能否正常运行。
3通信
3.1当我们把51单片机板焊接好之后,接下来就要给焊接板通电,首先连接好USB插口、MAX232电平转换插口,按下电源开关,红灯指示就会亮,其次右击我的电脑,左击管理(G),双击设备管理器,再右边框里寻找端口→USB-SER14LCH340(COM3)。
如下图所示:
图1-通讯端口
3.2打开桌面上的软件文件夹,双击STC-ISPT下载软件(STC51套餐)→STC芯片下载软件绿色版→STC-ISP-V480,左击→打开程序文件→桌面→JHC-51-A学习板→程序目录→简易计算机。
如下图所示:
图1-
3.3打开简易计算机之后,打开HEX文件,关闭焊接板电源,如下图所示:
3.4选择COM串口,关闭电源,点击Download/下载,如下图所示:
4原理
2.简易计算器设计基本原理
根据功能和指示要求,本系统选用以MCS-51单片机为主控机。
通过扩展必要的外围接口电路,实现对计算器的设计。
12.1MCS-51系列单片机简介
8051是MCS-51系列单片机的典型产品,以这一代表性的机型进行系统的讲解。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,其内部结构如图2.1所示,现在分别加以说明:
图2.18051内部结构图
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM):
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
定时/计数器:
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断,用于控制程序转向。
并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2和P3),用于对外部数据的传输。
全双工串行口:
8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
下图是MCS-51系列单片机的内部结构示意图2.2。
图2.2MCS-51内部结构图
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直插DIP结构,下图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在对这些引脚的功能加以说明:
如图2.3所示。
图2.3双列直插式封装引脚图
Pin9:
RESET/Vpc复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。
如图1-7所示的电路图,
4.1现实生活中人们熟知的计算器,其功能主要如下:
1、键盘输入;
2、数值显示;
3、加、减、乘、除四则运算;
4、对错误的控制及提示;
系统总框图
5程序源代码:
DISPBUFEQU30H;显示缓冲区首地址定义
54ORG0000H;主程序的入口地址
START:
MOVDISPBUF,#0C0H;4个数码管显示“0000”字形数据
MOVDISPBUF+1,#0C0H
MOVDISPBUF+2,#0C0H
MOVDISPBUF+3,#0C0H
MOV37H,#00H;数值初始化
MOV27H,#00H
MOV26H,#00H
MOV25H,#00H
MOV24H,#00H
MOV23H,#00H
MOVR3,#00H
MOVR5,#00H
MOVR4,#00H
LOOP:
LCALLKEY;调用键盘扫描子程序
MOVR6,27H
CJNER6,#00H,START;清除键判断
MOVR6,26H
CJNER6,#00H,FA;显示数据转换子程序选择
LCALLCONV;调用数码管显示数据转换子程序
FA:
LCALLDISPSCAN;调用数码管动态显示子程序
SJMPLOOP
KEY:
MOVP2,#0FH;键盘扫描子程序
MOVA,P2
ANLA,#0FH
CJNEA,#0FH,K10
RET
K10:
JBP2.0,K20
K11:
MOVP2,#0EFH
JBP2.0,K12
CJNER5,#00H,L1
MOVR4,#00H
INCR5
MOVR3,#1H
L1:
LJMPCEND
K12:
MOVP2,#0DFH
JBP2.0,K13
CJNER5,#00H,L2
MOVR4,#00H
INCR5
MOVR3,#2H
L2:
LJMPCEND
K13:
MOVP2,#0BFH
JBP2.0,K14
CJNER5,#00H,L3
MOVR4,#00H
INCR5
MOVR3,#3H
L3:
LJMPCEND
K14:
MOVP2,#7FH
JBP2.0,KIL
CJNER5,#00H,L4
MOVR4,#00H