当前位置:文档之家› 01-基于HJ-2GAVR单片机学习笔记1- HJ-2G概述

01-基于HJ-2GAVR单片机学习笔记1- HJ-2G概述

01-基于HJ-2GAVR单片机学习笔记1- HJ-2G概述
01-基于HJ-2GAVR单片机学习笔记1- HJ-2G概述

第一章HJ-2G概述

1.1学习笔记说明(本学习笔记跟据慧净会员akuei2第一版修改而成,感谢akuei2对单片机事业的支持)下面引用原作者开始学习HJ-2G AVR单片机。

在还没有开始故事之前,听我的几个故事。在这个地球上,很遗憾打从我一出生我并不是好孩子而且还浪费了很多时间在少年时期,当我醒悟的时候自己已经是18岁了,原本我想一切都是太迟了,在那个年龄的阶段我的思想慢慢的步入黑暗,很多次我都尝试挣扎可是我却失败了(就像我在全国高中大考SPM上失败了)。中学毕业了,自己的成绩却不理想所以无法进入大学,可能是我的语言科失败,还是我国-马来西亚的土著政权的问题。在那一天我领着自己的临时成绩表面对自己的失败,我...我鼻子酸了起来...某个夜里,我向着自己承诺自己要努力,从此我踏上单片机的道路。

1.2HJ-2G概述(V

2.0版-主要功能简介)

HJ-2G开发板实物图v0.01

老实说HJ-2G上的资源也是挺丰富的,作为入门,提高到开拓真的已经很足够了。如果你问本人,它有什么好处?我会斩钉铁齿的回答~便宜(事实上,我加上邮费从中国飞来马来西亚,也不能算实际的便宜)。

1.2HJ-2G 板上资源介绍

1.2.1ATMEGA16

这个就是HJ-2G 的核心处理器了,全部的IO 口都引出了,尤其是VCC 和GND,这样在后期自己开发模块的时候真的很方便呀。我记得郭老师的开发板仅引出PA~PD 的IO 口而已?不清楚就...算了。这里就不详细介绍了,因为以后会慢慢认识的。

1.2.2锁存器,8位LED

作为所有学习单片机的入门,流水灯,跑马灯,8位LED 再也熟悉不过了。继承郭老师的TX-1C 开发板的传统,锁存器一是用来控制LED 二是用来扩展IO

口。

实物图

原理图

实物图原理图

1.2.3

锁存器,数码管

实物图

原理图

数码管的用处大家可想也是心知肚明了,就是“指示”(Indicate)。在这里锁存的用处仅是为了扩展IO 口,一个是段选锁存器一个是位选锁存器。(数码管的驱动方式真的很熟悉)。在这里说一点题外话,我在购买AVR 学习板之前浏览过很多的AVR 学习板,而数码管的驱动方式也是非常多,有的直接用IO 控制段选然后使用Transistor 控制位选,有的则使用74HC595来驱动,除此之外还有使用专用的芯片来驱动...驱动的方法总之就是各种各样了。如果你问我,到底哪一个好呢?我会回答,了解驱动数码管的原理才是最重要的。

1.2.4矩阵键盘,独立键盘

HJ-2G 矩阵键盘有是有可是独立键盘呢?呵呵,软件是无限的。在编程的过程中,仅要随便将PD4~PD7一种一个IO 设置为输出低电平,独立键盘就出现了,(注:V3.0版会增加独立键盘跳线)

实物图原理图

1.2.5液晶1602接口

从以上的实物图看来,左边的是调节别光亮度用的变位器,而右边是1602的接口。这个没有什么特别,就不详细的介绍了。

1.2.6串口接口,MAX232

串口接口和MAX232是串口(UASRT )实验必须用到的几个实物。试验中会慢慢了解的。

1.2.7DS1302时钟电路

看到以上的时钟电路就很安慰了,记得我使用TX-1C 学习时钟芯片(名字忘记了),并口的链接,老实说我还为找不到杜邦线而烦恼(我这里鸟不生蛋的地方没有卖什么杜邦线的,自己制作的杜邦线也是一个悲剧)。串口=

爱死。

实物图

原理图

实物图

原理图

实物图原理图

1.2.8电机驱动ULN2003

说实话HJ-2G 还集成了步进电机驱动芯片,我也吃了一“斤”,从郭老师那里购入电机模块老师说也挺贵的...关于电机应该也离不开PWM 吧?

1.2.9EEPROM 24C02

学习过c51的同学应该也不陌生了吧,有关IIC 的试验。

1.2.10继电器

实物图

HJ-2G 中还有常用的继电器电路,现在就可以写程序控制输出大电流的负载了。

1.2.11蜂鸣器

实物图

原理图

实物图(电池左边那个才是)

原理图

1.2.12红外一体化接收头1838

这个跟红外线解码试验有关系,可以做无线控制实验。

1.2.13DA5615-DA 转换芯片

原理图

最新的10位DA 串口模块,工业最常用的一种电路。

1.2.14各种接口

实物图

原理图

实物图

原理图

实物图

原理图

实物图原理图

ISP 下载接口JTAG

仿真接口

实物图

原理图

实物图原理图

PS2接口18B20接口

1.2.15复位电路&晶振接口

为什么说晶振也有接口呢?HJ-2G 的晶振没有直接焊在板子上,而是可以更换的~这样的设计真的很人性化~而且购买的时候还赠送12Mhz 的晶振。

1.2.16USB 下载模块&开关电路&USB 接口(板内已集成USB-ISP 下载器)

实物图

原理图

实物图

原理图

SHIT10湿温传感器接口LCD12864

接口

复位实物图

晶振实物图

原理图

USB

下载模块原理图

USB 接口&

开关电路原理图

实物图

很喜欢这USB下载模块,使用起来真的很方便,该电路我不熟悉就不多说了。

1.2.17人性化设计,还可以同时支持8051单片机实验

赠加AVR-51板后可以用来学习8051单片机了,AT89S52单片机直接支持在线下载程序,不需要另购下载器。

1.2.18本章最后说一说HJ-2G开发板相关共享资料。

一:发货标准=(标准配置+赠送配件)。

标准配置

HJ-2G开发板主机一片

赠送配件

1、USB供电线一条。

2、时钟电池一个。

3、备用跳帽(已装在学习板上)

4、开发板配套光盘一张(如果邮寄过程出现问题引起读不到数据时,用QQ邮箱传送相关资料给你,300M左右)。

5、慧净论坛会员加分

6、LCD1602液晶一块。

7、USB下载功能(已在HJ-2G上集成USBASP下载器),不需要另购下载线。

8、赠送4个铜柱,1个电源开关。

9、串口通信线一条。

选购配件

可以点击进入购买:温度传感器18B20、步进电机、LCD12864、以下是学51单片机配件(AVR-51转接板、AVR单片机下载线、51单片机IC)

一:HJ-2G资料共享(https://www.doczj.com/doc/666173728.html,/hjmcu)

1、HJ-2G AVR单片机仿真电路开发板下载

https://www.doczj.com/doc/666173728.html,/hjmcu/blog/item/130ae73ff52d0a3670cf6c2b.html

2、HJ-2G AVR单片机学习笔记下载

https://www.doczj.com/doc/666173728.html,/hjmcu/blog/item/2c1eeb8c7552fa19b31bba35.html

3、HJ-2G AVR单片机学习程序下载

https://www.doczj.com/doc/666173728.html,/hjmcu/blog/item/21ef2a10a9357375ca80c435.html

4、HJ-2G AVR单片机在线视频

https://www.doczj.com/doc/666173728.html,/hjmcu/blog/item/07d9c9db2fedfad0b6fd4835.html

5、邮购网址,HJ-2G原价380元,助学价只要198元

https://www.doczj.com/doc/666173728.html,/auction/item_detail-0db1-776af3bfc86b0aad1d24b10d82fd0aaf.htm

二:功能简介

HJ-2G AVR/51多功能二合一开发板,是慧净科技精心设计,用来免费助学的开发板,增加以下硬件电路重新设计的开发板、升级不升价、性价比更高,慧净助学价只要198元(原价380元),可以同网上共享的《10天学AVR单片视频》同步学习,HJ-2G比<10天学会AVR单片机视频>中还多了以下10个电路,(HJ-2G:精明人的选择)

1、步进电机驱动电路。(可以做机器人控制实验)这个电路系统别人买到70元。HJ-2G是免费赠送的。

2、直流电机驱动电路。

3、改良过的ISP,JTAG仿真接口(接错线不会烧坏下载器/仿真器)。

4、AT24C02内存电路。

5、红外线电路。

6、温湿传感器接口电路。

7、多功能复位电路。

8、支持51单片机实验(另加一个转接板,一个STC89C52单片机IC)。

9、支持AT89C52单片机的ISP接口电路。

10、内部集成USB下载电路笔记本可以直接使用(不需要花钱购买USB下载线了)。

三:硬件资源(超不超值自已看)

1、8个红色贴片LED发光管:(做交通灯、流水灯、信号输出指示等实验)。

2、6个高亮度共阴数码管:(做时钟,温度,湿度,电机马达转速显示实验)。

3、LCD1602液晶显示接口。

4、LCD12864汉显液晶显示接口。

5、继电器控制系统。

6、直流、步进电机控制系统。

7、集成三个573锁存器

8、EEPROM芯片AT24C02,可学习IIC总线的读写。

9、DS1302实时时钟模块(含纽扣电池座供电),可做电子钟和万年历等。

10、MAX232串口通讯模块,可以与计算机串行通信和硬件仿真,同时也可对STC单片机下载程序,还可以实现主从系统中多机互连,一口多用,非常方便。

11、JTAT仿真接口。

12、4X4距阵建盘,软件控制4个独立建盘,可做各种键盘控制扫描实验,实现对系统复杂的控制。

13、ISP下载接口,可实现对AT89S5X和AVR单片机下载程序

14、多功能复位电路。

15、可以更换晶振的接口。

16、蜂鸣器模块,可做各种发声,音乐,闹钟提醒实验。

17、USB下载功能(板内集成USBASP下载器),不需要另购下载线。

18、DS18B20温度传感器接口,可做温度测量显示实验和温度检测控制器等。

19、1838红外线,红外发射与接收模块,配合常用的遥控器,可做红外编码解码实验。

20、PS/2键盘和鼠标接口,可学习标准键盘鼠标的控制技术。

21、32个IO口全部引出,方便自己自由扩展。

22、USB供电接口。

23、锁紧插座装置,方便单片机的安装和卸取。

24、集成了最新的10位DA数模TLC5615转换器。

四:实验程序

60多个汇编与C语言参考程序源码,30多个配套程序源码,20多个头文件源码、可以直接用于项目开发,毕业设计,源码资料全部免费共享,可以到慧净论坛https://www.doczj.com/doc/666173728.html,下载,并配套有C51实验程序免费下载。

五:《慧净》祝你一生平安

断恶修缮,积功累德,种善因必有善果,每购一片板子都有你的一分功德、(宝贝成交金额的1元会自动捐赠给慈善机构)。慧净助学小店收入主要用来提供免费助学经费,赠给慈善机构费用,网站维护费,没有爆利,请放心购买,不想购买的,可以到慧净论坛HJMCU申请免费助学,免费送板活动,也可以下载我们的配套仿真电路,1分钱不花学会单片机。

六:慧净为你推荐的单片机开发板系列

1、HJ-1G51/AVR二合一单片机学习板98元简装版点击购买链接全功能版138元点击购买链接

2、HJ-2G AVR/51二合一单片机实验板198元点击购买链接

3、HJ-3G51/AVR三合一单片机开发板198元点击购买链接

4、HJ-ISP51/AVR下载编程器25元点击购买链接

5、HJ-JTAG AVR仿真器38元点击购买链接

51单片机P1口输入输出实验实验报告

实验一P1口输入输出实验 一实验目的 1 掌握P1口作为I/O口时的使用方法。 2 理解读引脚和读锁存器的区别。 二实验原理 由 AT89C51 组成的单片机系统,通常情况下 P0 口分时复用作为地址、数据总线, P2 口提供 A15-A8 即高 8 位地址, P3 口用作第二功能,只有 P1 口用作 I/O 口。 P1 口是 8 位准双向口,它的每一位都可独立地定义为输入或输出。既可作为 8 位的并行 I/O 口,也可作为 8 个不同的输入输出端。 P1 口的结构如图 2.1 所示,当其工作在输入方式时,对应锁存器必须先写 1 ,才能正确地读到引脚上的信号,否则,若对应锁存器的值为 0 ,执行读引脚指令时,读到的结果永远为 0 。每个 I/O 端口都有两种读入,即读锁存器和读引脚,读引脚指令一般都是以 I/O 端口为源操作数的指令,如 MOV C , P1.3 ,而读锁存器指令一般为“读 - 修改 - 写”指令,如 ANL P1.3 , C 指令,请同学们在实验中体会。图 2 中, P1.2 作为输出口, P1.3 作为输入口。

三实验内容与要求 1.编写程序实现当P1.3为低电平时(SW1闭合),发光管亮;P1.3为高电平时发光管灭。 修改程序在执行读P1.3之前,先执行CLR P1.3,观察结果是否正确,分析在第二种情况下程序为什么不能正确执行,理解读引脚和读锁存器区别。 四实验内容 实验程序: ORG 0000H MAIN: MOV SP,#60H ; 设置堆栈指针SP为60H MOV P1,#0FFH ;当P1口用作输入时,所有位对应的锁存器必须先置1 LOOP: ;CLR P1.3 MOV C,P1.3 ;读P1.3 JC LIGHT CLR P1.2 ;LED灭 SJMP LOOP LIGHT: SETB P1.2 ;LED 亮 SJMP LOOP RET END 若在执行读P1.3之前,先执行CLR P1.3,观察结果将会不正确。 五实验结论 1、当P1口用作输入时,所有位对应的锁存器必须先置1 2、在执行读P1.3之前,先执行CLR P1.3,观察结果不正确,程序不能正确执行,因为系统读取的是锁存器的状态。 3、读引脚和读锁存器区别:第一种方式是将引脚作为输入,那是真正地从外部引脚读进输入的值,第二种方式是该引脚处于输出状态时,有时需要改变这一位的状态,则并不需要真正地读引脚状态,而只是读入锁存器的状态,然后作某种变换后再输出。

基于单片机的毕业论文题目有哪些

基于单片机的毕业论文题目有哪些 很多物联网专业的学生对单片机非常感兴趣,不光是对专业的热爱,另外由于单片机是集成电路芯片,是控制整个流程最基础的环节,大多数理科生对这种控制式设计充满着好奇,下面,我们学术堂整理了多个基于单片机的毕业论文题目,欢迎各位借鉴。 基于单片机的毕业论文题目一: 1、基于单片机的压电加速度传感器低频信号采集系统的设计 2、基于单片机的超声测距系统 3、基于C8051F005单片机的两相混合式直线步进电机驱动系统的设计 4、基于单片机的工业在线数字图像检测系统研究与实现 5、基于FPGA的8051单片机IP核设计及应用 6、基于单片机的军需仓库温湿度测控系统研究 7、单片机多主机通信模式在粮库温湿度监控系统中的应用 8、基于单片机的中小水电站闸门控制系统 9、基于单片机的正弦逆变电源研制 10、单片机实验教学仿真系统的设计与开发 11、基于单片机的温湿度检测系统的设计 12、基于单片机的蓝牙接口设计及数据传输的实现 13、基于单片机的多功能温度检测系统的设计与研究 14、基于单片机的温度控制系统的研究 15、行为导向教学策略在职校单片机课程教学中的应用研究 16、逻辑电路与单片机的虚拟实验系统设计与实现

17、基于单片机的LED显示系统 18、基于单片机的校园安防系统 19、基于MSP430单片机的红外甲烷检测仪设计及实现 20、基于高性能单片机的无线LED彩灯控制系统的设计与实现 21、基于AVR单片机教学实验板的设计 22、基于单片机的阀岛控制系统的研究 23、基于AT89S51单片机实验开发系统设计 24、基于单片机和GPRS数据传输技术的研究 25、基于HCS12单片机的智能车底层控制系统研究 26、单片机GPRS智能终端及远程工业监控技术研究 27、基于单片机的MODBUS总线协议实现技术研究 28、基于单片机的室内智能通风控制系统研究 29、基于单片机的通用控制器设计与实现 30、基于单片机控制的PTCR阻温特性测试系统的设计与实现 31、Proteus在单片机教学中的应用 32、基于单片机的变频变压电源设计 33、基于单片机的监控系统控制部分的设计 34、基于单片机的葡萄园防盗报警系统设计 35、基于单片机的温度智能控制系统的设计与实现 36、基于单片机的远程抄表系统的设计与研究 37、基于单片机的温度测控系统在温室大棚中的设计与实现 38、基于单片机的高精度随钻测斜仪系统开发 39、基于16位单片机MC9S12DG128B智能车系统的设计 基于单片机的毕业论文题目二: 40、基于单片机的压力/液位控制系统的设计研究 41、单片机与Internet网络的通信应用研究 42、基于单片机控制的温室环境测控装置研究 43、具有新型接口的MCS-51单片机实验系统设计 44、基于单片机控制的直流恒流源的设计 45、基于单片机的模糊控制方法及应用研究 46、基于AT89S52单片机的煤矿瓦斯监测系统的研制 47、基于AT89C51单片机的脉象信号采集系统研究 48、基于DTMF技术的单片机远程通信系统研究 49、基于单片机的GPRS无线数据采集与传输系统的设计 50、基于单片机控制的柴油机喷油泵数据采集系统的设计与实现 51、基于谐振技术及MK单片机的多路升压器研究设计 52、基于单片机的数据串口通信 53、基于单片机的智能寻迹系统设计 54、压电式阀门定位器与单片机实验装置研制 55、基于单片机的微型电子琴研究与实现 56、基于单片机的恒温恒湿孵化器系统设计 57、基于16位单片机MC9S12XS128的两轮自平衡智能车的系统研究与开发

51单片机IO口使用经验绝对经典

绝对经典 按常规,在51端口(P1、P2、P3)某位用作输入时,必须先向对应的锁存器写入1,使FET截止。一般情况是这样,也有例外。所谓IO口内部与电源相连的上拉电阻而非一常规线性电阻,实质上,该电阻是由两个场效应管并联在一起:一个FET为负载管,其阻值固定;另一个FET 可工作在导通或截止两种状态(姑且叫可变FET)。使其总电阻值变化近似为0或阻值较大(20千欧--40千欧)两种情况。当和端口锁存器相连的FET由导通至截止时,该阻值近似为0,可将引脚快速上拉至高电平;当和锁存器相连的FET由截止至导通时,该电阻呈现较大阻值,限制了和端口锁存器相连的FET的导通电流。 51I/O口作为输入端和外部信号相连有时必须考虑上述特性,本人在设计LTP1245热敏打印头驱动板时,资料上推介热敏头“抬头”和“纸尽”信号由头中内嵌检测电路提供,MCU IO口采集该信号时需加缓冲(如74HC04)。当时本人认为51IO口上拉电阻为一较大阻值的固定电阻,对输入信号无影响,故未加缓冲电路(为降低成本能省则省)。可到调试PCBA时发现,“抬头”、“纸尽”状态变化时,采集信号只在3.90V--5.10V之间变化,应为低电平时无低电平输出。究其原因,打印头的“抬头”、“缺纸”信号输出为一光敏三极管的集电极输出,集电极和电源间原有一个负载电阻,饱和导通设计工作电流仅为450--1100微安,当该集电极直接和MCU IO口某位相连时,IO口上拉电阻和光敏三极管负载电阻并联,当IO口上拉时,上拉电阻极小致使光敏三极管直流负载线斜率陡然增大,工作状态进入放大区而非希望的饱和区。当时在不改硬件的条件下,我几乎无计可施,甚至想到了准备烧断IO口上拉电阻(前两天我曾发帖求救怎么烧断IO 口上拉电阻的方法)后来听网友建议该方法风险较大,所以总想用软件方法解决。 后来我的解决方法是:采样信号前不是先向对应锁存器写1,而是先写入0,再写入1,延时约10毫秒以上,然后再采样(当然此法只适应于采样频率很低的情况)。这样作的目的是:先写入0迫使IO口上拉电阻先为一较大值,此时如果外部光敏三极管本来处于截止状态,当完成上述一系列锁存器的写入过程后光敏管仍为截止态,IO口正确采样到高电平;此时如果外部

单片机io口理解

【转】单片机IO口设置推挽和开漏的区别(转自网易博客冷水泡茶的日志)2010-09-28 13:43 单片机IO口设置推挽和开漏的区别 一般情况下我们在电路设计编程过程中设置单片机,大多是按照固有的模式去做的,做了几年这一行了,也没碰到过什么问题。昨天就遇到了这样一个问题,电路结构如图一,在这种情况下STC单片机与410单片机通讯是没问题的 但是与PC就无法通讯了,STC收不到PC的命令,以前410的位置是用的STC的片子一直没问题,我想也许是驱动能力不够,在410TX端加了上拉,不过没起作用。 用示波器监视串口得到面的波形 这说明sp3232下拉得不够,于是加了下拉,还是没起作用。又把410端口内部的上拉去掉,结果还是一样。 最后请教老师,在410程序里将TX的工作方式由推挽式改为开漏式,一切ok~!

从网上查了推挽和开漏的区别,放在这里免得以后再到处找了,给自己保存了 我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。 我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。 再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。 对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。 另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况,因为上拉电

简单IO口扩展实验报告样本

计算机与信息技术学院综合性实验报告 专业:通信工程年级/班级:09级 2011—2012学年第一学期课程名称单片机原理及应用指导教师祝天龙 学号姓名张乐 0908224061 实验地点计科楼 214 实验时间周二第三节课 项目名称简单I/O口扩展(交通灯) 实验类型综合性 一、实验目的 1.学习在单片机系统中扩展简单I/O接口的方法。 2.学习数据输出程序的设计方法。 3.学习模拟交通灯控制的实现方法。 二、实验仪器或设备 CPU挂箱、AT89S51CPU模块 三、实验内容 扩展实验箱上的74LS273做为输出口,控制八个发光二极管亮灭,模拟交通灯管理。 四、总体设计(设计原理、设计方案及流程等) 首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(红)、L2(绿)、L3(黄)做为东西方向的指示灯,将L5(红)、L6(绿)、L7(黄)做为南北方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。 五、实验步骤(包括主要步骤、代码分析等) 1、实验箱244/273 PORT单元的O0~O7接实验箱上发光二极管L1~L8; 2、74LS273的片选CS273接片选信号CSO(CPLD ENCODER UNIT),此时74LS273的片选地址为CFA0H~CFA7H之间任选; 3、运行实验程序,观察LED显示情况是否与实验内容相符;

51单片机毕业设计论文

1.1核心芯片8051单片机 (2) 1.2 ADC0809转换芯片 (5) 1.2.1 ADC0809的逻辑结构 (5) 1.2.2 ADC0809 的通道选择 (6) 1.2.3 ADC0809的引脚图及各引脚作用 (6) 1.3 MC14499芯片 (8) 1.3.1.MC14499的结构及功能介绍 (8) 1.3.2 MC14499在单片机中的应用 (10) 1.4 74LS373芯片 (13) 1.5 LED数码管 (15) 1.5.1 LED数码管显示器的结构 (15) 1.5.2 LED数码管显示器的显示段码 (17) 1.5.3 LED显示器的参数 (18) 1.6 X25045 (18) 2 系统硬件设计 (20) 2.1系统设计原理和系统框图 (21) 2.1.1设计原理 (21) 2.1.2系统框图 (21) 2.2液位传感器设计 (22) 2.2.1 传感器原理 (22) 2.2.2 传感器的组成 (22) 2.2.3 测量原理 (23) 2.2.4 将电容转化成电信号部分 (24) 2.2.5 电信号放大电路设计 (25) 2.3 A/D0809模数转换 (25) 2.4 显示电路的设计 (27) 2.5 键盘电路 (29) 2.5.1矩阵式键盘的工作原理 (30) 2.5.2 硬件电路设计及电路图 (30) 2.6 继电器控制水泵加水电路 (31) 2.7 报警电路 (32) 2.8 电源电路 (33) 2.8.1 直流电源电路 (33) 2.8.2 备用电源切换电路 (34) 2.9看门狗电路 (35) 3 系统软件的设计 (38) 3.1 软件设计流程图 (38) 3.2矩阵键盘程序设计 (40) 3.2.1 程序设计内容 (40) 3.2.2系统程序 (40) 3.3 ADC0809模数转换流程图 (42) 4 结论 (45) 附录A (46)

单片机IO口定义

单片机I/O口定义 I/O端口又称为I/O接口,也叫做I/O通道或I/O通道。I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,是一个过渡的集成电路,用于信息传送过程中的速度匹配和增强它的负载能力。I/O端口右串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次可以传送一组(8位)二进制信息。 并行I/O端口 8051有四个并行I/O端口,分别命名为P0、P1、P2和P3,在这四个并行I/O端口中,每个端口都有双向I/O功能。即CPU即可以从四个并行I/O端口中的任何一个输出数据,又可以从它们那里输入数据。每个I/O端口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,四个数据输出锁存器和端口号P0、P1、P2和P3同名,皆为特殊功能寄存器SFR中的一个。因此,CPU数据从并行I/O端口输出时可以得到锁存,数据输入时可以得到缓冲。 四个并行I/O端口在结构上并不相同,因此它们在功能和用途上的差异较大。P0口和P2口内部均有一个受控制器控制的二选一选择电路,故它们除可以用作通用I/O口外,还具有特殊的功能。例如:P0可以输出片外存储器的低八位地址码和读写数据,P2口可以输出片外存储器的高八位地址码,等等。P1口常作为通用I/O口使用,为CPU传送用户数据;P3口除可以作为通用I/O口使用外,还具有第二功能。在四个并行I/O端口中,只有P0口是真正的双向I/O口,故它具有较大的负载能力,最多可以推动8个LSTTL门,其余3个

I/O口是准双向I/O口,只能推动4个LSTTL门。 四个并行I/O端口作为通用I/O使用时,共有写端口、读端口和读引脚三种操作方式,写端口实际上是输出数据,是把累加器A或其他寄存器中的数据传送到端口锁存器中,然后由端口自动从端口引脚线上输出。读端口不是真正的从外部输入数据,而是把端口锁存器中的输出数据读到CPU的累加器A中。读引脚才是真正的输入外部数据的操作,是从端口引脚线上读入外部的输入数据。端口的上述三种操作书架上是通过指令或程序来实现的。 串行I/O端口 8051有一个全双工的可编程串行I/O端口。这个串行I/O端口既可以在程序控制下把CPU中的8位并行数据编程串行数据逐行从发送数据线TXD发送出去,也可以把RXD线上串行接收到的数据变成8位并行数据送给CPU,而且这种串行发送和串行接收可以单独进行,也可以同时进行。 8051串行发送和串行接收利用了P3口的第二功能,即它利用P3.1引脚作为串行数据的发送线TDX和P3.0引脚作为串行数据的接收线RXD,串行口I/O口的电路结构还包括串行口控制寄存器SCON,电源及波特率选择寄存器PCON和串行数据缓冲器SBUF等,它们都属于SFR(特殊功能寄存器)。其中,PCON和SCON用于设置串行口工作方式和确定数据的发送和接收波特率,SBUF实际上有两个8位寄存器组成,一个工作方式和确定数据的发送和接收比特率,另一个用于存放接收到的数据,起着数据的缓冲作用。

实验三单片机IO口控制实验

实验三单片机I/O口控制实验 一、实验目的 利用单片机的P1口作I/O口,学会利用P1口作为输入和输出口。 二、实验设备及器件 PC机一台 https://www.doczj.com/doc/666173728.html,单片机仿真器、编程器、实验仪三合一综合开发平台一台 三、实验内容 1.编写一段程序,用P1口作为控制端口,使D1区的LED轮流亮。 2.编写一段程序,用P1.0~P1.6口控制LED,P1.7控制LED的亮和灭(P1.7接按键,按下时LED亮,不按时LED灭)。 四、实验要求 学会使用单片机的P1口作为I/O口,如果有时间用户也可以利用P3口作I/O口来做该试验。 五、实验步骤 1.用导线把A2区的J61接口与D1区的J52接口相连。原理如图所示。 2.先编写一个延时程序。 3.将LED轮流亮的程序编写完整并使用TKStudy ICE仿真器调试运行。 4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连。原理如上图所示。 5.编写P1.7控制LED的程序,并调试运行。(按下K1看是否全亮) 6.A2区J61接口的P1.7与D1区的J54的SW1相连。然后再使用TKStudy ICE仿真器运行程序,查看结果。 六、实验预习要求 仔细阅读实验箱介绍中的各个接口内容,理解该实验的硬件结构。还可以先把程序编好,然后在Keil C51环境下进行软件仿真。

七、实验参考程序 程序1: ORG 0000H LJMP Main ORG 0100H Main: MOV A,#0FFH CLR C MainLoop: CALL Delay RLC A MOV P1,A SJMP MainLoop Delay: MOV R7, #0 Loop: MOV R6, #0 DJNZ R6, $ DJNZ R6, $ DJNZ R6, $ DJNZ R7, Loop RET END 程序2: ORG 0000H LJMP Main ORG 0100H Main: JB P1.7,SETLED CLRLED: CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SJMP Main SETLED: SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3

51单片机毕业论文大全

mcu001 80386保护模式【论文+91页+4.2万+doc】 mcu002 ARM硬件电路板设计之外围接口电路研究【毕业论文+21页+1.2万+doc】 mcu003 CDMA通信系统中的接入信道部分进行仿真与分析【doc格式+45页+毕业论文1.6万】 mcu004 CDMA通信系统中的接入信道部分进行仿真与分析【论文+45页+1.7万+doc】 mcu005 CDMA系统的研究与MATLAB仿真【论文+41页+1.8万+doc】 mcu006 DS18B20温度采集【doc+毕业论文+45页1.9万】 mcu007 FIRA 5v5机器人足球赛进攻策略研究【毕业论文+45页+1.8万+doc】 mcu008 FIR数字滤波器设计与实现【论文+28页+0.7万+doc】 mcu009 FPGA实现差错控制编码技术【论文+31页+1.3万+doc】 mcu010 FPGA在数字滤波器设计中的应用【论文+9页+0.7万+doc】 mcu011 GPRS远程登陆数据终端设计【论文+55页+1.5万+doc】 mcu012 GPRS远程控制系统设计——信息收集与处理子系统【论文+16页+0.3万+doc】 mcu013 GPRS远程控制系统设——远程控制设计【论文+73页2.6万+doc】 mcu014 GPS汽车定位系统设计【论文+30页+1.35万+doc】 mcu015 GSM无线网络优化【论文+53页+2.6万+doc】 mcu016 I2C总线接口的数据采集系统【毕业论文+27页+0.85万+doc】 mcu017 IIR带通滤波器的VHDL描述及仿真【论文+doc+47页+2.1万字】 mcu018 LED显示屏动态显示和远程监控的实现【论文+11页+0.8万+doc】 mcu019 MCS-51单片机温度控制系统【论文+6页+0.2万+doc】 mcu020 MSN机器人程序的设计与实现【论文+0.8万+36页+doc】 mcu021 PLC在自动售货机中的运用【论文+26页+0.5万+doc】 mcu022 PT100温度巡检【毕业论文+22页+1万+doc】 mcu023 QPSK、QAM的调制通信仿真【毕业论文+43页+2万+doc】 mcu024 SPCE061A的教育机器人硬件平台设计【毕业论文+184页+1.37万+doc】 mcu025 USB接口的多路温湿度采集系统设备端设计【毕业论文+25页+0.9万+doc】 mcu026 USB摄像头驱动开发与研究【论文+28页+1.6万+doc】 mcu027 USB数据采集系统设计【论文+1.4万+46页+doc】 mcu028 Y2O3添加量对低居里点PTC热敏电阻器性能的影响【论文28页+1.7万+doc】 mcu029 π4-DQPSK信号的FPGA实现【论文+54页+2.5万+doc】 mcu030 板厚为6mm的0Cr18Ni9钢板采用焊条电弧焊的焊接工艺评定(拉伸)关于焊接的毕业论文【论文+1.3万+24页+doc】 mcu031 步进电机控制器设计与实现【毕业论文+30页+0.9万+doc】 mcu032 板卡式语音平台开发【论文+55页+2.3万+doc】 mcu033 采矿工程本科毕业论文【论文+6.3万+140页+doc】 mcu034 采用适用的跟踪来区分和监控站点活动【毕业论文+13页+0.8万+doc】 mcu035 仓库温湿度的监测系统【毕业论文+31页+1.4万+doc】 mcu036 常用电子元器件SQL查询系统设计【论文+33页+1.2万+doc】 mcu037 超声波明渠流量计【论文+84页+3.4万+doc】 mcu038 超声波明渠流量计的研究【论文+71页+2.1万+doc】 mcu039 车库电脑收费管理系统【论文+60页+2.3万+doc】 mcu040 传感器控制温度【毕业论文+33页+1.4万+doc】【论文+91页+4万+doc】 mcu041 串口通信与控制系统【毕业论文+38页+1.5万+doc】 mcu042 磁性物含量计设计【论文+95页+4.2万+doc】

单片机IO口结构与工作原理

一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。 下面,先分析组成P0口的各个部分: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到部数据总线上。 D锁存器:在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 多路开关:在51单片机中,不需要外扩展存储器时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(部没有ROM)的单片机或者编写的程序超过了单片机部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),V1管截止,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。 输出过程: 1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。 下图就是由部数据总线向P0口输出数据的流程图(红色箭头)。 2、地址输出过程 控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

单片机io口控制实验报告

单片机实验报告 实验名称:I/O口控制 姓名:张昊 学号:110404247 班级:通信2班 时间:2013.11.19 南京理工大学紫金学院电光系

一、实验目的 1、学习I/O口的使用。 2、学习延时子程序的编写和使用。 3、掌握单片机编程器的使用和芯片烧写方法。 二、实验原理 1、广告流水灯实验 (1)做单一灯的左移右移,八个发光二极管L1~L8分别接在单片机的P1.0~P1.7接口上,输出“0”的时候,发光二极管亮,开始时 P1.0->P1.1->P1.2->P1.3->...->P1.7->P1.6->...P1.0亮,重复循 环。 (2)系统板上硬件连线:把“单片机系统”A2区的J61接口的P1.0~P1.6端口与D1区的J52接口相连。要求:P1.0对应着L1,P1.1对应 L2,……,P1.7对应着L8。 P1口广告流水灯实验原理图如下

程序设计流程:流程图如下 2、模拟开关实验 (1)监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开, L1熄火。 (2)系统板上硬件连线:把“单片机系统”A2区的P1.0端口用导线连接到D1区的LED1端口上;把“单片机系统”A2区的P3.0端口用 导线连接到D1区的KEY1端口上; 实验原理图如下图

程序设计流程 二、实验内容 1、流水灯 #include sbit p10=P1^0; sbit p11=P1^1; sbit p12=P1^2; sbit p13=P1^3; sbit p14=P1^4; sbit p15=P1^5; sbit p16=P1^6; sbit p17=P1^7; unsigned char count=0; bit flag; void main() {

51单片机实验报告94890

《单片机与接口技术》实验报告 信息工程学院 2016年9月

辽东学院信息技术学院 《单片机与接口技术》实验报告 姓名:王瑛 学号: 0913140319 班级: B1403 专业:网络工程 层次:本科 2016年9月

目录 实验题目:实验环境的初识、使用及调试方法(第一章) 实验题目:单片机工程初步实验(第二章) 实验题目:基本指令实验(第三章)4 实验题目:定时器/计数器实验(第五章)4 实验题目:中断实验(第六章)4 实验题目:输入接口实验(第八章)4 实验题目:I/O口扩展实验(第九章)4 实验题目:串行通信实验(第十一章)4 实验题目:A/D,D/A转换实验(第十七章)4

实验题目:实验环境的初识、使用及调试方法实验 实验类型:验证性实验课时: 1 时间:2016年10月24日 一、实验内容和要求 了解单片机的基础知识 了解51单片机的组成和工作方法 掌握项目工程的建立、编辑、编译和下载的过程方法 熟练单片机开发调试工具和方法 二、实验结果及分析 单片机最小系统的构成: Keil集成开发环境:

STC-ISP:

实验题目:单片机工程初步实验 实验类型:验证性实验课时: 1 时间:2016 年10 月24 日一、实验内容和要求 点亮一个LED小灯 程序下载到单片机中 二、实验结果及分析 1、点亮一个LED小灯 点亮LED小灯的程序: #include //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; sbit ADDR0 = P1^0; //sbit必须小写,P必须大写 sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0; //点亮小灯 while (1); //程序停止 } 2、程序下载 首先,我们要把硬件连接好,把板子插到我们的电脑上,打开设备管理器查看所使用的COM 口,如图所示:

单片机毕业设计论文可参考范文

摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。本论文详细的阐述了功率测量系统的设计思路和具体设计步骤。依据单片机的接口技术的原理,以测量功率为主要设计意图。以单片机为核心,着重的介绍了51单片机在系统中的重要地位,以及其外围硬件电路的芯片结构特点、功能和管脚知识。集测量、显示等功能于一体,设计完整、结构清晰、操作简单。在本设计中,是采用对电路中电压和电流分别进行采样,再经模数转换器ADC0809,将模拟量变为对应的数字量,利用6合一的数码管显示电压和功率。本文详细论述了硬件电路的组成。利用单片机完成整个测量电路的测试控制、数据处理和显示输出。 关键词单片机模数转换功率表采样 正文 1 引言 近年来,随着电子技术、计算机技术和半导体技术的飞度发展,给电力系统测量也带来了巨大的革命。提高电能测量技术-改机械式功率表为智能型数字功率表已成为时代的要求。电力测量系统的智能型数字表通常是以单片机为核心,配置一定的外围电路和软件,能够实现多种功能。在软件和硬件的设计中,系统的抗干扰性和系统的实时性与准确度成了解决数字表的关键所在。单片机具有成本低、可靠性高、应用灵活的特点。由各具体行业的业内人士使用单片机来开发或改造一般仪表是一条可行的道路。在电工与电子技术应用中,经常要测量功率。它是利用通有电流的可动线圈在另一个通电线圈形成的磁场中产生转动力矩而工作的仪表,其显着缺点是结构复杂、过载能力较差,本身消耗功率较大,且易受外磁场的影响,同时这样的功率表一般都是多量程的,在测量过程中需有电压表和电流表配合选定电压和电流量程,在选择不同的电压和电流量程时,刻度盘上每一分格代表不同的瓦特数,读得格数需要进行换算才能得出所要测量的功率,致使测量很不方便。另外在功率测量中,经常遇到被测电路的功率因数很低的情况,这时必须采用专门的低功率因数功率表。基于功率表是电工仪表中最常用的一种仪表,目前常用的是指针式电动系功率表。而为了更为精确的显示测量结果,数字功率表的设计成为了必

51单片机IO口使用DE 经验

DANPAINJI 51单片机I/O口使用经验 字体大小: 小中大作者:来源:日期:2006-08-18 点击:364 按常规,在51端口(P1、P2、P3)某位用作输入时,必须先向对应的锁存器写入1,使FET 截止。一般情况是这样,也有例外。所谓IO口内部与电源相连的上拉电阻而非一常规线性电阻,实质上,该电阻是由两个场效应管并联在一起:一个FET为负载管,其阻值固定;另一个FET可工作在导通或截止两种状态(姑且叫可变FET)。使其总电阻值变化近似为0或阻值较大(20千欧--40千欧)两种情况。当和端口锁存器相连的FET由导通至截止时,该阻值近似为0,可将引脚快速上拉至高电平;当和锁存器相连的FET由截止至导通时,该电阻呈现较大阻值,限制了和端口锁存器相连的FET的导通电流。 51I/O口作为输入端和外部信号相连有时必须考虑上述特性,本人在设计LTP1245热敏打印头驱动板时,资料上推介热敏头“抬头”和“纸尽”信号由头中内嵌检测电路提供,MCU IO口采集该信号时需加缓冲(如74HC04)。当时本人认为51IO口上拉电阻为一较大阻值的固定电阻,对输入信号无影响,故未加缓冲电路(为降低成本能省则省)。可到调试PCBA时发现,“抬头”、“纸尽”状态变化时,采集信号只在3.90V--5.10V之间变化,应为低电平时无低电平输出。究其原因,打印头的“抬头”、“缺纸”信号输出为一光敏三极管的集电极输出,集电极和电源间原有一个负载电阻,饱和导通设计工作电流仅为450--1100微安,当该集电极直接和MCU IO口某位相连时,IO口上拉电阻和光敏三极管负载电阻并联,当IO口上拉时,上拉电阻极小致使光敏三极管直流负载线斜率陡然增大,工作状态进入放大区而非希望的饱和区。当时在不改硬件的条件下,我几乎无计可施,甚至想到了准备烧断IO口上拉电阻(前两天我曾发帖求救怎么烧断IO口上拉电阻的方法)后来听网友建议该方法风险较大,所以总想用软件方法解决。 后来我的解决方法是:采样信号前不是先向对应锁存器写1,而是先写入0,再写入1,延时约10毫秒以上,然后再采样(当然此法只适应于采样频率很低的情况)。这样作的目的是:先写入0迫使IO口上拉电阻先为一较大值,此时如果外部光敏三极管本来处于截止状态,当完成上述一系列锁存器的写入过程后光敏管仍为截止态,IO口正确采样到高电平;此时如果外部光敏三极管基极电流足够大有容许三极管饱和导通的条件(即基极吸收到充分光强),虽然采样一开始集电极被人为钳位在低电平,但当下一时隙和IO口相连的锁存器被写入1时,在IO口上拉电阻中的可变FET导通之前,光敏三极管已先进入饱和态而又把引脚钳位在实际输出的低电平,此时MCU IO口的上拉电阻仍为较大阻值,同时和原光敏三极管集电极负载电阻并联(考虑并联后阻值变化,原光敏三极管集电极负载电阻需增大到适当阻值)充当饱和导通后光敏三极管的负载电阻,事实上,IO口上拉电阻中的可变FET未来得及导通又被截止了,由此又保证了信号低电平的正确采样。经过波形测试问题得

单片机实验一,I/O端口实验报告(2)

单片机原理与接口技术实验 实验一 I/O端口实验(2) 系别:通信工程系 专业:通信工程系11级 学号:233201122041 姓名: 实验时间:2014年3月6日 撰写日期:2014年3月9日

实验一 I/O端口实验(2) 一、实验目的 1、掌握单片机通用I/O端口的使用方法; 2、掌握I/O端口数据输入/输出的方法。 二、实验内容(与本次实验报告标题括号中的数字对应) 2、当开关状态为0101(K5K6K7K8)时,四个灯循环右移;当开关状态为1010(K5K6K7K8)时,四个灯循环左移;当开关为其它状态时,在LED1~LED4上显示开关状态。程序运行时,拨动开关,显示立即跟着变化。【基础,周四下午每人做】 三、实验设计思路 对于该题,因为有3种情况,所以参考课本P68程序,在while循环结构内添加if-else条件判断语句,分别区分右移、左移、与开关状态一致3种情况。 四、电路原理图及接线说明 绘制本次实验用到的部分完整电路原理图如下: 开关K5K6K7K8与P2.0~P2.3相连线;

LED:1~8和P1.0~P1.7相连线。 五、实验流程图 见下图: 六、调试过程及实验现象 对于第该题,一开始运行灯全亮,经按F8逐步调试后,发现P2的值怎么也无法赋给变量b,导致无论如何拨动开关,b的值都不会改变,一直等于FF,使灯全亮。后来经助教指点方知是P2口没有设置为I/O模式,以致于无法将P2的值传输给b。修改设置后,一切运行正常。 七、总结 本次实验的实验难度不大,第一题参考课本的8位左移右移例子稍作修改便可运行,因为实验原理一样;但却因为一开始自己不够细心导致的一些软件设置

单片机IO口结构及工作原理

、Po端口的结构及工作原理 Po端口8位中的一位结构图见下图: 地址∕ttiκ I i O i XWwfr?? 内部总线 i?引脚 PO 口工作康理图 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成下面,先分析组成P0 口的各个部分: 先看输入缓冲器:在P0 口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这 个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。 D锁存器:在51单片机的32根I/O 口线中都是用一个D触发器来构成锁存器的。D 端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 多路开关:在51单片机中,不需要外扩展存储器时,P0 口可以作为通用的输入输出端口(即I/O)使用,对于8031 (内部没有ROM )的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0 口就作为,地址/数据? 总线使用。这个多路选择开关就是用于选择是做为普通I/O 口使用还是作为,数据/地址?总线使用的选择开关了。当多路开关与下面接通时,P0 口是作为普通的I/O 口使用的,当多路开关是与上面接通时,P0 口是作为,地址/数据?总线使用的。 输出驱动部份:P0 口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

Po 口作为I/O端口使用时,多路开关的控制信号为0 (低电平),V1管截止, 多路开关是与锁存器的Q非端相接的(即P0 口作为I/O 口线使用)。作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。 输出过程: 1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端 P0.X。这时多路开关的控制信号为低电平0, V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。下图就是由内部数据总线向P0 口输出数据的流程图(红色箭头)。 地址/数抵 控制信号(0. 1) PO. XWftKra 内部总线 ht t p://WWW Z Po口由内部致据忌址向31 Wtt出时的5t?≡ 2、地址输出过程 控制信号为1 ,地址信号为“(时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

单片机实验-IO口输入输出实验

实验二I/O口输入、输出实验 一、实验目的 1. 学习I/O口的使用方法。 2. 学习延时子程序、查表程序的编写和使用。 二、参考程序框图 led灯 500ms DJNZ R6,DE2; DJNZ R7,DE1; RET END 2、I/O口输入输出(方法一) ORG 0000H; START : MOV P2,#00H; //初始化 MOV P0,#00H; MOV P1,#0FFH; //p1 MOV DPTR,#TABLE; // MOV 50H,#0FEH; // L0 :MOV A,P1; //按键消抖 CJNE A,#0FFH,L1; AJMP L0; L1 :MOV A,P1; CJNE A,#0FFH,LL1; AJMP L0; LL1 :CJNE A,50H,LL2; //是否与地址50h中数据相等MOV P0,A; //相等输出对应led灯 MOV A,#00H; MOVC A,@A+DPTR;

MOV P2,A; //输出表格数据到数码管 LCALL DELAY; //延时 LJMP START; //返回程序开头 LL2 :XCH A,50H; //交换数据 RL A; //左移 XCH A,50H; //再次交换,此时地址50h中数据左移一位 INC DPTR; //表格数据地址加一 LJMP LL1; //返回继续比较 DELAY : MOV R7,#01H; //延时程序 DE1 : MOV R6,#28H; DE2 : MOV R5,#5AH; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET TABLE : ;//DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H; DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH; //表格数据 END 程序二(方法二) ORG 0000H MOV P2,#00H; //I./O口初始化 MOV P1,#0FFH; //P1口赋FFH初值 MOV P0,#00H; START : MOV P2,#00H; //P2清0; MOV P0,#00H; //P0清0; MOV R1 ,P1; MOV A,R1; //读P1口 CJNE A,#0FFH,L1; //是否有数据输入 AJMP START; //无输入则跳转,继续查询 LCALL DELAY; L1 : MOV R1,P1; //消除按键抖动 MOV A,R1; CJNE A, #0FFH,LL1; AJMP START; LL1 : CJNE A,#0FEH,LL2; //是否按键1输入 MOV P2,#06H; //是则P2输出相应的按键号码 CPL A; //A取反 MOV P0,A; //输出到P0口 LCALL DELAY; //延迟 AJMP LP; //跳转到LP LL2 : CJNE A,#0FDH,LL3; //是否按键2输入 MOV P2,#5BH; //以下同上 CPL A;

相关主题
文本预览
相关文档 最新文档