单片机89C51——扫描键盘
- 格式:doc
- 大小:27.50 KB
- 文档页数:3
1.系统概述89C51单片机学习板是一款基于8位单片机处理芯片STC89C52RC的系统。
其功能强大,可以实现单片机开发的多种要求,学习、开发者可以根据需要选配多种常用模块,达到实验及教学的目的。
89C51单片机学习板功能强大,具有报警,跑马灯、串行通信(max232)、段码液晶(msm0801LCD)和字符液晶显示(LCD1602)、电机控制(L298)、A/D转换(TLC2543)、D/A 转换(TLC5615)、温度采集(DS1602)、数字信号合成(AD9851)、实时时钟电路(DS1302)、4—20mA输出、PWM输出(UC3842)、红外检测(KSM-603LM)控制等十七种功能,供学习者学习开发使用。
89C51-III单片机学习板采用的芯片都是常用芯片,使学习者对常用电子产品进一步学习理解。
2.系统原理2.1系统组成2.2主CPU电路主CPU电路选用STC89C52RC系列单片机,STC89C52RC是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes 的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。
STC89C52RC系列单片机是单时钟/ 机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/ 精简指令集结构,内部集成MAX810 专用复位电路。
STC89C51系列单片机的特点:(1)增强型1T 流水线/ 精简指令集结构8051 CPU(2)工作电压:3.4V-5.5V (5V 单片机)/ 2.0V-3.8V (3V 单片机)(3)工作频率范围:0 -35 MHz,相当于普通8051 的0~420MHz.实际工作频率可达48MHz.(4)用户应用程序空间12K / 10K / 8K / 6K / 4K / 2K 字节(5)片上集成512 字节RAM(6)通用I/O 口(27/23个),复位后为:准双向口/ 弱上拉(普通8051 传统I/O 口)可设置成四种模式:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/ 高阻,开漏每个I/O 口驱动能力均可达到20mA,但整个芯片最大不得超过55mA(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片(8)EEPROM 功能(9)看门狗(10)内部集成MAX810 专用复位电路(外部晶体20M 以下时,可省外部复位电路)(11)时钟源:外部高精度晶体/ 时钟,内部R/C 振荡器。
太原理工大学课程设计说明书课程名称:《单片机原理及其在煤矿中的应用》设计题目:医院病人呼叫器院系:矿业工程学院学生姓名:李国富学号:2011002813专业班级:采矿1109指导教师:曹金燕2013年12月27 日课程设计任务书病人呼叫器摘要:本设计是一个采用89C51单片机配以外围适当电路完成一个可供6 4个病房使用的呼叫系统。
该系统需运用单片机典型外围接口技术中的矩阵式键盘电路完成对病房的输入,由于病房较多,考虑到89C51单片机自身接口有限,需用可编程并行接口芯片8255A外扩I/O实现对矩阵式键盘的扫描与键值的读入。
MCS-51单片机受管脚的限制,P0口不仅要作数据总线口而且还提供低8位A0~A7,所以只能分时工作,故P0口输出的低8位地址数据必须用锁存器锁存。
本设计采用74LS373,其锁存控制信号由引脚ALE提供。
在ALE的下降沿将P0口输出的地址数据锁存。
本设计中单片机要实现三种功能:1)床位按钮的扫描与读入。
2)按钮按下时振铃三秒并显示房号。
3)护士响应后数码管灭,铃声停。
关键词:呼叫器/单片机/医院/显示/蜂鸣器目录1.设计背景 (5)2.课程名称及要求 (5)2.1课程名称 (5)2.2设计要求 (5)3.设计方案 (6)4.工作原理及工作流程 (6)5.KEIL软件程序编辑与调试 (8)6.各分模块设计及相关元器件的选用 (5)6.1单片机的选用 (11)6.274LS164简介 (14)6.374LS373简介 (14)6.48255A简介 ........................... 错误!未定义书签。
6.5按钮开关电路 ......................... 错误!未定义书签。
6.6声音报警电路......................... 错误!未定义书签。
6.7外部震荡电路......................... 错误!未定义书签。
五、编程题1. 试用DAC0832芯片双缓冲连接方式画出双极性电压输出电路,数字量每隔约100ms从0x00~0xFF循环变化,编写C语言程序。
要求单片机的P0口接DAC0832的数字量输入信号,单片机的P2.0、P2.1、P3.6分别接DAC0832的/XFER、/CS、/WR1/WR2。
DAC0832的IOUT2接地,IOUT1接一级运算放大器的反相输入端,ILE和VREF接+5V。
设晶振频率为12MHz。
设DAC0832的两级地址分别为0xFDFF和0xFEFF。
2. 试用DAC0832芯片双缓冲连接方式画出单极性电压输出电路,并编写C语言程序实现输出幅值为5V、频率约为10Hz的锯齿波。
要求单片机的P0口接DAC0832的数字量输入信号,单片机的P2.0、P2.1、P3.6分别接DAC0832的/XFER、/CS、/WR1/WR2。
DAC0832的IOUT2接地,IOUT1接运算放大器的反相输入端,ILE和VREF接+5V。
设晶振频率为12MHz。
设DAC0832的两级地址分别为0xFDFF和0xFEFF。
3. 试用DAC0832芯片双缓冲连接方式画出单极性电压输出电路,并编写C语言程序实现输出幅值为5V、频率约为10Hz的三角波。
要求单片机的P0口接DAC0832的数字量输入信号,单片机的P2.0、P2.1、P3.6分别接DAC0832的/XFER、/CS、/WR1/WR2。
DAC0832的IOUT2接地,IOUT1接运算放大器的反相输入端,ILE和VREF接+5V。
设晶振频率为12MHz。
设DAC0832的两级地址分别为0xFDFF和0xFEFF。
4. 试用DAC0832芯片双缓冲连接方式画出单极性电压输出电路,数字量每隔约100ms从0x00~0xFF循环变化,编写C语言程序。
要求单片机的P0口接DAC0832的数字量输入信号,单片机的P2.0、P2.1、P3.6分别接DAC0832的/XFER、/CS、/WR1/WR2。
89C51单片机简介1 89C51单片机简介 (1)2 时序 (2)3引脚及其功能 (2)4输入/输出(I/O)引脚P0口、P1口、P2口及P3口 (4)1 89C51单片机简介目前,89C51单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。
89C51是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:一个8位的微型处理器CPU;一个256K的片内数据存储器RAM;片内程序存储器ROM;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O 口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
最高允许振荡频率是12MHZ。
以上各个部分通过内部总线相连接。
下面简单介绍下其各个部分的功能。
中央处理器CPU是单片微型计算机的指挥、执行中心,由它读人用户程序,并逐条执行指令,它是由8位算术/逻辑运算部件(简称ALu)、定时/控制部件,若干寄存器A、B、B5w、5P以及16位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。
算术逻辑单元的硬件结构与典型微型机相似。
它具有对8位信息进行+、-、x、/ 四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。
控制器部件是由指令寄存器、程序计数器Pc、定时与控制电路等组成的。
指令寄存器中存放指令代码。
枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I/O接口电路,完成指令功能。
程序计数器Pc 程序计数器Pc用来存放下一条将要执行的指令,共16位.可对以K字节的程序存储器直接寻址c指令执行结束后,Pc计数器自动增加,指向下一条要执行的指令地址。
目录目录 (1)中文摘要 (2)第一章概述 (5)第二章系统总体方案设计 (6)第三章硬件电路设计 (10)3.1键盘电路设计 (10)3.2 LED显示电路 (12)3.3 开锁警电路 (15)第四章软件设计 (17)4.1 软件设计思路 (17)4.2各子程序设计 (17)第五章系统调试 (22)第六章心得体会 (23)第七章参考文献 (24)附录 (25)源程序清单 (25)中文摘要摘要:在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣,随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁得使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐替代传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的只能密码锁,它除了具有电子密码锁的功能外,还引进了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。
但是,这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。
而且指纹识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。
加上其成本较高,一定程度上限制了这类产品的普及和推广。
鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
基于以上思路,本次设计使用ATMEL公司的AT89C51实现—基于单片机的电子密码锁的设计,其主要具有如下功能:密码通过键盘输入,若密码正确,则将锁打开。
89C51单片机中文资料单片机是一种集成电路芯片,具有微型计算机的功能。
89C51是一种常用的单片机型号,广泛应用于各种电子设备中。
为了更好地了解和学习89C51单片机,中文资料是非常重要的。
本文将详细介绍89C51单片机中文资料的相关内容,包括资料的类型、获取渠道和推荐资源等。
一、资料类型1. 数据手册:数据手册是89C51单片机最基础的资料,它包含了该单片机的详细技术规格、引脚功能、寄存器和指令集等信息。
数据手册通常由芯片制造商提供,是学习和开发89C51单片机的必备资料。
2. 参考书籍:有很多关于89C51单片机的中文参考书籍,这些书籍通常包含了单片机的原理、应用实例、编程方法等内容。
通过阅读这些书籍可以更深入地了解89C51单片机的原理和应用。
3. 教学视频:教学视频是一种很直观的学习资料,通过观看视频可以更清晰地了解89C51单片机的使用方法和应用案例。
在一些在线学习平台上,可以找到一些优质的89C51单片机教学视频资源。
4. 开发板资料:开发板是学习和开发89C51单片机的重要工具,一些开发板厂商会提供相关的中文资料,包括开发板的使用说明、示例程序、实验教程等。
这些资料可以帮助初学者快速上手和实践。
二、获取渠道1. 芯片制造商官网:许多芯片制造商都会在官方网站上提供相关的中文资料下载,包括数据手册、应用笔记等。
通过访问官网,可以直接下载所需资料。
2. 电子书籍平台:一些电子书籍平台上有关于89C51单片机的中文书籍,可以通过搜索关键词找到相关资源。
购买电子书籍可以随时随地进行学习。
3. 在线学习平台:一些在线学习平台上有关于89C51单片机的教学视频和教程,可以通过注册账号免费观看。
这些平台通常提供了很多其他学习资源,方便学习者进行全面学习。
4. 开发板厂商官网:一些开发板厂商会在官网上提供相关的中文资料下载,包括开发板的使用手册、实验教程等。
购买开发板时,可以咨询厂商获取相关资料。
干式变压器温控系统中89c51单片机的应用[摘要]本文介绍了89c51单片机温控系统的电路设计、软件的设计以及其主要功能,展现出了它较于其它温控系统的优越性。
[关键词]单片机温控系统程序存储器温度传感器转换显示电路中图分类号:t352 144 文献标识码:a 文章编号:1009-914x (2013)07-0205-01随着科技在不断的进步,在电力方面对于精准的温度监测也是刻不容缓。
下面就关于89c51单片机温控系统的开发做出了一些探讨。
1、系统主要功能随时可以对传感器电缆进行断线测量,并用指示灯给出提示;巡回检测变压器绕组的温度,实时显示当前所测绕组的温度值;根据设定的门槛温度值进行判断,驱动显示电路、断电器及其报警装置进行相应的动作;对门槛温度值进行重新设定。
2、系统硬件电路设计系统主要有温度传感器、显示电路、控制电路、声音报警电路、键盘及通讯电路6大部分组成。
(1)主机电路特性及其在系统中的应用atmel公司的at89c51单片机是一个功能强大的微型计算机,它为许多单片机控制系统提1个极度灵敏并且有效的解决问题方法。
最典型特点是片内4k字节的flash,可作为片内可重复编程的程序存储器。
它具有以下特点:片内含128b的ram数据存储器;4个8位并行i/o端口;2个16位定时器/计数器;6个中断源;唤醒时间短;开发环境方便、高效,程序调试方便,在开发过程中易进行程序的修改且与mcs-51兼容。
在该系统中,模拟转换器选用外围设备tlc2543,将其温度测量值转换为数字信号。
干式变压器的温度即三相绕组的温度,因此,用1路pt100来测量变压器运行的环境温度,故选定3个序列通道a1,a2,a3,作为3路模拟信号的模数转换通道。
转换模式为序列通道重复转换模式。
以主时钟作为采样时钟,采样信号的输入来自于采样定时器。
基准电压选为内部基准电压5v。
(2)温度传感器(3)键盘接口电路的设计按照工艺要求以及节省空间的原则,设计了1×3独立式键盘,利用89c51的p1口来实现。
如用51系列P1口做键盘扫描:(当然有的单片机要考虑IO口的输入输出设置,51单片机为准双向IO口所以不需要考虑IO 方向的问题)
P1=0XF0;//先设置P1口为四个高电平,四个低电平;
if(P1!=0XF0)//如果P1口的电平发生变化说明有按键键
{
//这里要根据晶振延时,一般延时15MS左右,以消除键下时电平抖动
if((P1&0X80)==0)//p1.7引脚出现低电平,就是跟最高位IO连接的按键动作
{
P1=0X0F;//改变下电平,原先低电平改变为高,原先高电平则低,这是为了找到动作按键另一IO
if((P1&0X1)==0)//是不是P1.0与P1.7交叉按键动作
{
KEY=01;//设定键值
}
else if((P1&0X2)==0)//是不是P1.1与P1.7交叉按键动作
{
KEY=2;//设定键值
}
else if((P1&0X4)==0)//是不是P1.2与P1.7交叉按键动作
{
KEY=3//设定键值
}
else if((P1&0X8)==0)//是不是P1.3与P1.7交叉按键动作
{
KEY=4;//设定键值
}
}
else if((P1&0X40)==0)//P1.6引脚上的按键动作
{
P1=0X0F;//
if((P1&0X1)==0)//
{
KEY=5;//设定键值
}
else if((P1&0X2)==0)//
{
KEY=6;//设定键值
}
else if((P1&0X4)==0)//
{
KEY=7//设定键值
}
else if((P1&0X8)==0)//
{
KEY=8;//设定键值
}
else if((P1&0X20)==0)
{
P1=0X0F;//
if((P1&0X1)==0)//
{
KEY=9;//设定键值
}
else if((P1&0X2)==0)//
{
KEY=10;//设定键值
}
else if((P1&0X4)==0)//
{
KEY=11//设定键值
}
else if((P1&0X8)==0)//
{
KEY=12;//设定键值
}
}
else if((P1&0X10)==0)
{
P1=0X0F;//
if((P1&0X1)==0)//
{
KEY=13;//设定键值
}
else if((P1&0X2)==0)//
{
KEY=14;//设定键值
}
else if((P1&0X4)==0)//
{
KEY=15//设定键值
}
else if((P1&0X8)==0)//
{
KEY=16;//设定键值
}
}
}
程序可能不是很严紧,但其本原理就是这样了。