【单片机实验】6LED静态串行显示
实验三 6LED静态串行显示
一、实验目的
1、掌握数字、字符转换成由数码管显示的八段码的软件译码方法及译码过程;
2、静态显示的原理和相关程序的编写。
二、实验电路
静态显示 电路如图3-2所示。显示器由6个LED数码管组成。输入只有三个信号,它们是串行数据输入SER和移位脉冲信号SRCLK,锁存信号RCLK。6个串行输入/并行输出锁存移位寄存器芯片74HC595首尾相连。每片的并行输出作为LED数码管的段码。
74HC595的引脚如图3-1
74HC595为8位串入并出移位寄存器。
QA--QH: 八位并行输出端,可以直接驱动数码管的8个段。
: 级联输出端。接下一个74HC595的SER端。
SER: 串行数据输入端。,SRCLK为移位时钟脉冲,上升沿移入一位;RCLK为锁存时钟脉冲,上升沿锁存。
(10脚): 低电平时将移位寄存器的数据清零。通常将它接Vcc。
:输出使能端,一般接地。
图3-1 74HC595介绍
三、实验内容及步骤
内容:
单片机的P2.0作数据串行输出接口,P2.1作移位脉冲输出,P2.2作数据锁存输出。程序功能使静态显示单元的数码管显示123456.
步骤:
1、 根据硬件连接电路,编写程序并编译生成*.hex文件;
2、打开实验箱电源;
3、参照STC12C5A60S2下载说明中STC_ISP软件使用说明,给单片机下载程序;
4、用信号线分别将单片机最小系统单元的P2.0、P2.1、P2.2与静态显示单元的SER、SRCLK、RCLK对应相连;
5、打开静态显示单元开关;
6、观察数码管显示情况,静态数码管显示123456。若显示结果不正确,请修改该程序,重复以上操作。
#include <reg51.h>
#include <intrins.h> unsigned char buf1 [] = { ,,,,, };
unsigned char buf2 [];
unsigned char code table[] = { 0x3F , 0x06 , 0x5B , 0x4F , 0x66 ,
0x6D , 0x7D , 0x07 , 0x7F , 0x6F };
sbit ser = P2 ^ ;
sbit srclk = P2 ^ ;
sbit rclk = P2 ^ ;
void main () {
unsigned char i , j , temp1 ,temp2 ;
while () {
srclk = ;
rclk = ;
for ( i = ; i < ; i++ ){
buf2[i] = table[ buf1[i] ];
temp1 = buf2[i];
for ( j = ; j < ; j++ ){
srclk = ;
temp2 = ( temp1 & 0x80 );
if ( temp2 ){
ser = ;
}else {
ser = ;
}
srclk = ;
_nop_();
temp1 <<= ;
rclk = ;
}
}
rclk = ;
} }
【单片机实验】6LED静态串行显示的更多相关文章
- 串行CPU设计
一.概述 串行CPU工作流程 串行CPU的时序流程如下图所示:取指.译码.执行.回写. 其中,取指.回写是与存储器打交道:而译码与执行则是CPU内部自个儿的操作. 我们究竟想要CPU干什么? ...
- 自制单片机之十五……可串行驱动LCD12864的应用
在网上搜了一下,ST7920控制器的LCD产品可以提供8位,4位并行和串行接口可选,并行的控制接口的LCD较多,前面的贴子也介绍过,我们在这儿不说了,这儿我们讲的是串口控制LCD12864. 买了块S ...
- 自制单片机之六……串行I2C总线E2PROM AT24CXXX的应用
这一篇介绍I2C存储器的使用.主要是介绍AT24CXX系列器件,它分为两类,主要是通过被存储容量地址来分的,一类是AT24C02-AT24C16,它的存储容量从256字节到2048字节.另一类是AT2 ...
- 十天学会单片机Day4串行口通信
并行与串行基本通信方式 1.并行通信方式 通常是将数据字节的各位用多条数据线同时进行传送. 并行通信控制简单.传输速度快:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难. 2.串行通 ...
- PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结
前 言 OOP 学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1 PHP中的抽象 ...
- STM32L476应用开发之三:串行通讯实验
在我们的项目需求中,有两个串口应用需求,一个是与炭氢传感器的通讯,另一个是与显示屏的通讯.鉴于此,我们需要实验串行通讯. 1.硬件设计 串行通讯一个采用RS232接口,另一个直接采用TTL方式.我们在 ...
- GCD中的dispatch_sync、dispatch_sync 分别与串行、并行队列组合执行小实验
平常开发中会经常用gcd做一下多线程任务,但一直没有对同步.异步任务在串行.并行队列的执行情况做个全面的认识,今天写了个demo跑了下,还是有些新发现的. 代码如下: - (void)touchesB ...
- html中,纯数字或纯英文的一串字符超出父容器不会折行显示,如何解决?
这种情况在软件使用过程中一般不会出现,只有测试人员在测试的时候手比较贱会给你弄一个这种数据,当然这也算是bug吧. 如图:“经营范围”的值严重超出父容器长度,并且没有像“服务信息”一样折行显示.这种情 ...
- 路由器基本配置实验,静态路由和动态RIP路由
实验涉及命令以及知识补充 连线 PC和交换机FastEtherNet接口 交换机和路由器FastEtherNet接口 路由器和路由器Serial接口 serial是串行口,一般用于连接设备,不能连接电 ...
随机推荐
- JAVA企业级开发--jsp,el,jstl(14)
三. EL表达式语言 EL 全名为Expression Language.表达式语言.jsp2.0之后才引入的. EL主要作用:替代:<%= %> out.print(); 获取数 ...
- 创建Python本地副本
创建本地副本后可以避免解释器找不到模块的情况. 1. 创建一个测试用的pl.py def printTest(): print("this is a test") 2. 将pl.p ...
- Linux环境下Nginx及负载均衡
Nginx 简介 Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 服务.前向代理作为客户端的代理,服务端只知道代理的 IP 地址而不知道客 ...
- Codeforces Round #439 (Div. 2)C - The Intriguing Obsession(简单dp)
传送门 题意 给出三个集合,每个集合的元素数量为a,b,c,现在需要连边,满足集合内元素不可达或最短路为3,求可行方案数 分析 设dp[i][j]为a集合元素为i个,b集合元素为j个的可行方案,易知( ...
- shader实例(二十二)TexGen-球面贴图SphereMap
http://blog.sina.com.cn/s/blog_89d90b7c0102vfqz.html 球面贴图一般用于环境反射,如下图(左边为球面贴图,右边为正常贴图),一个镜面水晶球在这只猫的前 ...
- Unity(2) 脚本简单操作
生命周期(按顺序排列) Awake():脚本唤醒,系统执行的第一个方法,在脚本声明周期内只执行一次,初始化一般可以在这里 Start():Awake之后,Update之前,只执行一次,一般在awake ...
- AVAudioPlayer 如何在页面呈现之后按需初始化
在页面中按需初始化 AVAudioPlayer 很多时候我们需要根据页面上内容的情况创建 AVAudioPlayer 对象,已达到降低无谓资源占用等目的.下面我们来看一段代码看起来正确的代码: ove ...
- 理解:return、break、continue区别
1.return:结束该方法的执行 2.continue:结束当前流程中的continue一下的代码,如果是for循环会再次执行下一个条件 3.break:完全终止当前执行流程,如果是for循环,那么 ...
- [NOIP2014]无线网站发射器选址
Description 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网.假设该城市的布局为由严格平行的129条东西向街道和129条南北向街道所形成的网格状, ...
- python使用C扩展
CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码 开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/C API.每 ...