- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH3信息的窗口-PIC单片机IO口
信息的窗口-数码显示屏
本文通 2个8*8点阵屏显示各种数字、字符来学习PIC单片机的I/O口结构特点及其使用方法,如图1所示是用这个点阵来显示3456的示意图。
图1 点阵显示3456
一、使用PIC单片机实现流水灯
为熟悉PIC单片机I/O口的结构,我们先从一个简单的例子开始,即用PIC单片机控制点阵屏中的一些LED做个流水灯。
1.PIC单片机的I/O口
任何单片机都带有用于信号输入和输出的引脚,不同类型的单片机其引脚的结构也各不相同。80C51单片机一般是准双向I/O口结构,在作为输入或都输出使用时,不需要特别的设置。而PIC单片机的I/O口结构要比51机复杂一些,一个典型I/O端口既可以设置为数字信号输出,又可以作为数字信号输入,是一个标准的双向端口,在使用时需要先设定好其工作方向。
PIC单片机的作为输出时,可以提供很强的负载驱动能力,高电平输出时的拉电流和低电平输出时的灌入电流都可以达到25mA;作为输入时,端口呈现极高的输入阻抗,由端口引入的输入漏电流不超过1uA,对输入的信号来说此端口基本可视为开路或浮空状态。每一个端口都有TRISx寄存器和PORTx(x的值可以是A、B、C等端口名字),其中TRISx就是端口方向设置寄存器,它的各个位分别与引脚对应。将TRISx的各个位分别设置为1和0可以令对应的引脚作为输入或者输出来使用。
值得一提的是PIC单片机的所有I/O引脚在出现任何条件的复位后,将自动回到高阻抗输入状态(TRISx寄存器内数据位位为1),这意味着给引脚接上拉或下拉电阻即可获得确定的高/低电平。如果用单片机来控制机器设备,这一点是非常关键的。
2.点阵块的结构
所谓LED点阵,一般是指由多个LED等间距构成的一种模块,图2所示是某8×8点阵LED显示模块的外形图。
图2 8×8点阵LED显示模块外形图
这种点阵显示器内部也有两种接法,如图3(a)和3(b)所示。以图3(a)为例,从图中可以看到,该模块共有8行8列共16个引脚,每个发光二极管放置在行线和列线的交叉点上,共64个发光二极管。当行置“1”,列置“0”时,该列与该行交叉点上的LED被点亮。而图3(b)所示电路则正好相反,当行置“0”,列置“1”时交叉点上的LED被点亮。为讲解统一,以下均以图3(a)所示电路图为例来说明。
(a) (b)
图3 8×8LED点阵显示器的电路连接图
如果将列1引脚13置为高电平,那么只要控制第1~8行LED的阴极,就能让LED按要求点亮,下面我们就以此电路为例来制作一个键控流水灯。
3、流水灯的实现
如图2是实现流水灯的电路原理图。图中U1使用PIC16F877A,点阵块的型号是SD411988, J1是编程和调试插座。端口RD通过8只限流电阻连接点阵块的行,而PORTB和PORTC分别接2个点阵块的列。K1~K4是4个按键,PZ1和PZ2分别是10K和100K的排阻,这是利用PIC单片机的特点,使用同一I/O口分时作为输入和输出使用而连接的键盘,用于下一个任务。其余元件直接按图上标注参数来选择。
图2 PIC单片机驱动点阵块
如图3所示是使用万能板制作的实物。
图3 实物图
程序1 流水灯
#include pic.h
typedef unsigned char uchar;
typedef unsigned int uint;
__CONFIG(HSWDTDISLVPDIS);
//配置文件,设置为HS方式振荡,禁止看门狗,低压编程关闭
void mDelay(unsigned int DelayTime)
{ unsigned int j=0;
for(;DelayTime0;DelayTime--)
{ for(j=0;j272;j++) {;} }
}
void main()
{ uchar VOutDat=0xfe;
uchar HOutDat=0x01;
TRISD=0; //PORTD设为输出
TRISB=0; //PORTB设为输出
while(1)
{ PORTD=VOutDat; //将数据送到PORTD端口
PORTB=HOutDat;
mDelay(1000); //延时1000毫秒
VOutDat= (VOutDat1)|(VOutDat7); //左移,为下一次显示作准备
HOutDat=(HoutDat1)|(HoutDat7);
}
}
【程序实现】建立名为message1的工程,选择PIC16F877A作为控制芯片。输入上面的程序,并命名为messag1.c,将此文件加入工程,编译链接通,将messag1.hex写入芯片,通电即可
您可能关注的文档
- 1计算机系统组成习题.doc
- 2003集群笔记_w2K3+MSCS+SQL2005安装过程.doc
- 2004级医疗五年制妇产科课后测评题.doc
- 2004美国ST段抬高心梗治疗指南.doc
- 2005年欧洲泌尿外科年会泌尿系结石诊疗指.doc
- 2005年版中国药典内毒素检测.doc
- 2006中级工技能鉴定.doc
- 2006年企业白皮书.doc
- 2007年4月三级笔试超级模拟试2.doc
- 2008-2009年吉林大学汽车设计标准答案A.doc
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
文档评论(0)