完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.参考教程:
清翔51单片机教程 2.基本原理 : 1)数码管位数:几个数码管连在一起,就是几位。 2)数码管共级:共阴极-数码管中间的线是GND。共阳极-数码管中间的线是VCC。用万用表测:黑表笔放GND(中间)处,红表笔放a处,若a灯亮起则是共阴极。 3)控制每段的亮灭,亮输入高电平,灭低电频。例:数码管显示数字1。对应二进制排列:00000110. |
|
|
|
关于静态显示:
每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直达送入新字形码为止。 1)锁存器原理 2)位选和段选 用两个锁存器分别进行位选和位选。 位选流程: ①P27赋高定平(也就是位选锁存器的LE脚打开)-——使得输入端D与输出端Q能够互通数据。 ②输入端D(也就是P0口)输入数据–控制数码管每位的点亮和熄灭。 ③P27赋低电平(也就是位选锁存器的LE脚关闭)——使得输入端D与输出端不互通数据,Q端的位选数据被保存。 段选流程: ①P26赋高定平(也就是段选锁存器的LE脚打开)-——使得输入端D与输出端Q能够互通数据。 ②输入端D(也就是P0口)输入数据–控制数码管每位的点亮和熄灭。 ③P26赋低电平(也就是段选锁存器的LE脚关闭)——使得输入端D与输出端不互通数据,Q端的位选数据被保存。 |
|
|
|
参考C代码:
#include 《reg52.h》 #include 《intrins.h》//标准库函数 #define uint unsigned int #define uchar unsigned char ***it DU = P2^6; //数码管段选 ***it WE = P2^7; //数码管位选 void main()//main函数自身会循环 { WE = 1;//打开位选锁存器 P0 = 0XFE;//1111 1110 WE = 0;//锁存位选数据 DU = 1;//打开段选锁存器 P0 = 0X06;//0000 0110 DU = 0;//锁存段选数据 } 显示效果: |
|
|
|
只有小组成员才能发言,加入小组>>
2597 浏览 0 评论
794浏览 1评论
239浏览 1评论
558浏览 0评论
305浏览 0评论
515浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 04:51 , Processed in 0.966846 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号