数码管静态驱动活页教材_第1页
数码管静态驱动活页教材_第2页
数码管静态驱动活页教材_第3页
数码管静态驱动活页教材_第4页
数码管静态驱动活页教材_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微控制器控制技术理实一体化教材项目三 交通灯控制系统徐广振潍坊职业学院Micro Controller Unit (MCU) Control TechnologyIntegration of Theory & Practice of Teaching MaterialsThe third project Traffic lights control systemGuangzhen XuWeifang vocational college任务二 数码管静态驱动(IO扩展)明确任务:本任务要求静态显示2位数据,显然需要2个数码管。如果按照任务一微控制器直接驱动数码管静态显示方式,那么需要16个口,

2、是对微控制器资源的浪费。本任务采用I/O扩展技术实现数码管静态驱动显示2位数据,也可以依次类推显示更多位数据。知识链接:一、74HC164简介74HC164是高速硅门CMOS器件,与低功耗肖特基型TTL器件的引脚兼容。74HC164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(A或B)之一串行输入。任何一输入端都可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。74HC164主要用于数字电路和LED显示控制电路中。时钟(CLK)每次有低到高时,数据右移一位,输入到Q0,Q0是两个数据输入端(A和B)

3、的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。清零(CLR)输入端上的一个低电平将使其他所有输入端都无效,同时非同步的清除寄存器,强制所有的输出为低电平。 图3.474HC164引脚图及说明图3.5 74HC164内部功能图图3.6 74HC164逻辑图注:H-高电平,L-低电平,-无效,-上升沿,QAn-上升沿前状态。图3.7 74HC164时序图二、74HC164驱动程序74HC164为高位先输入低位最后输入的左移型串行输入方式。并且CLK上升沿传递数据,所以数据更新在CLK低电平时。输入输入端A和B连接在一起作为数据输入DAT。单字节输出驱动程序参照。sbit DAT=P10; /

4、可以更换其他端口sbit CLK=P11; /可以更换其他端口sbit CLR=P12; /可以更换其他端口/*输出一个字节数据*/void send_byte_164(unsigned char dat_byte) unsigned char temp, i;temp=dat_byte;for(i=0;i8;i+) /传输8位CLK=0;DAT=temp&0x80; /去高位数据,低电平更新数据CLK=1; /上升沿,送出数据temp=1;/ 准备下一位数据任务实施:1.设计搭建硬件电路按照任务要求设计并搭建仿真环境和硬件电路。输出口可以任意选择。图3.8 74HC164驱动数码管应用原理图

5、2.搭建软件编程环境建立工程文件,保存在桌面组号命名的文件夹内,配置工程参数,包括晶振频率12MHz、HEX文件输出配置。新建文件添加文件,准备编程。3.软件设计与编程实现(1)数码管显示一个00-99任意两位数字通过编程实现,来认识74HC164驱动数码管工作效果,显示处理技巧。#include / 包含头文件sbit DAT=P10; /可以更换其他端口sbit CLK=P11; /可以更换其他端口sbit CLR=P12; /可以更换其他端口unsigned char SMG =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共阳数

6、码管09编码/*输出一个字节数据*/void send_byte_164(unsigned char dat_byte) unsigned char temp, i;temp=dat_byte;for(i=0;i8;i+) /传输8位CLK=0;DAT=temp&0x80; /去高位数据,低电平更新数据CLK=1; /上升沿,送出数据temp=1;/ 准备下一位数据void main(void) unsigned char count, ge, shi;CLR=0;CLR=1;count = 20; /00-99的任意整数ge = count%10; /个位shi = count/10; /十

7、位send_byte_164(SMGshi);send_byte_164(SMGge); /显示数据while(1);思考:如果是数码管与164硬件连接是QA-QH,对应h-a,不修改数码显示数据前提下怎么处理才能正常显示?(2)循环显示00-99数字让数码管显示的数据动起来,同时进一步理解74HC164驱动程序设计,数码管编码数组的构建方法及数码管显示数据处理技巧。#include / 包含头文件sbit DAT=P10; /可以更换其他端口sbit CLK=P11; /可以更换其他端口sbit CLR=P12; /可以更换其他端口unsigned char SMG=0xc0,0xf9,0x

8、a4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共阳数码管09编码void delay(void)unsigned char i,j;for(i=250;i0;i-)for(j=250;j0;j-);/*输出一个字节数据*/void send_byte_164(unsigned char dat_byte) unsigned char temp, i;temp=dat_byte;for(i=0;i8;i+) /传输8位CLK=0;DAT=temp&0x80; /去高位数据,低电平更新数据CLK=1; /上升沿,送出数据temp=99) count = 0;ge = count%10; /个位shi = count/10; /十位send_byte_164(SMGshi);send_byte_164(SMGge); /显示数据delay( );思考:如果是数码管扩展更多,数据怎样处理显示?4.对上述程序分别编译下载利用仿真软件Proteus先行进行调试,成功后,再插接上下载器。打开下载软件,选择对应芯片型号,调入HEX。自动化下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论