实验三 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静态串行显示的更多相关文章

  1. 串行CPU设计

    一.概述 串行CPU工作流程 串行CPU的时序流程如下图所示:取指.译码.执行.回写. 其中,取指.回写是与存储器打交道:而译码与执行则是CPU内部自个儿的操作. 我们究竟想要CPU干什么?     ...

  2. 自制单片机之十五……可串行驱动LCD12864的应用

    在网上搜了一下,ST7920控制器的LCD产品可以提供8位,4位并行和串行接口可选,并行的控制接口的LCD较多,前面的贴子也介绍过,我们在这儿不说了,这儿我们讲的是串口控制LCD12864. 买了块S ...

  3. 自制单片机之六……串行I2C总线E2PROM AT24CXXX的应用

    这一篇介绍I2C存储器的使用.主要是介绍AT24CXX系列器件,它分为两类,主要是通过被存储容量地址来分的,一类是AT24C02-AT24C16,它的存储容量从256字节到2048字节.另一类是AT2 ...

  4. 十天学会单片机Day4串行口通信

    并行与串行基本通信方式 1.并行通信方式 通常是将数据字节的各位用多条数据线同时进行传送. 并行通信控制简单.传输速度快:由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难. 2.串行通 ...

  5. PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

      前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象 ...

  6. STM32L476应用开发之三:串行通讯实验

    在我们的项目需求中,有两个串口应用需求,一个是与炭氢传感器的通讯,另一个是与显示屏的通讯.鉴于此,我们需要实验串行通讯. 1.硬件设计 串行通讯一个采用RS232接口,另一个直接采用TTL方式.我们在 ...

  7. GCD中的dispatch_sync、dispatch_sync 分别与串行、并行队列组合执行小实验

    平常开发中会经常用gcd做一下多线程任务,但一直没有对同步.异步任务在串行.并行队列的执行情况做个全面的认识,今天写了个demo跑了下,还是有些新发现的. 代码如下: - (void)touchesB ...

  8. html中,纯数字或纯英文的一串字符超出父容器不会折行显示,如何解决?

    这种情况在软件使用过程中一般不会出现,只有测试人员在测试的时候手比较贱会给你弄一个这种数据,当然这也算是bug吧. 如图:“经营范围”的值严重超出父容器长度,并且没有像“服务信息”一样折行显示.这种情 ...

  9. 路由器基本配置实验,静态路由和动态RIP路由

    实验涉及命令以及知识补充 连线 PC和交换机FastEtherNet接口 交换机和路由器FastEtherNet接口 路由器和路由器Serial接口 serial是串行口,一般用于连接设备,不能连接电 ...

随机推荐

  1. 无法打开包括文件:“SDKDDKVer.h”: No such file or directory

    在已经装有Visual Studio 2010的系统中,同时安装Visual Studio 2012,安装过程很顺利,但到使用VS2013时,却出问题了. 本文主要介绍:VS中新建工程编译时出现,“无 ...

  2. Codeforces325 D【并查集维护连通性】

    参考:大牛blog 思路: 因为是环,所以可以复制一下图,先判断一下和他是不是和与他相邻的8个之一的一个障碍使得构成了一个环,环就是一个连通,用并查集维护即可: 如果没有就ans++,然后并把这个点加 ...

  3. POJ3020【二分匹配】

    思路: ---说给自己 一开始想的是从1-h*w标记整幅图,建图是星号和 {他,与他相连的星号} 建边,肯定要去匹配"*"啊,所以空格一定不会去造,然后就理解成了最小点覆盖,然而对 ...

  4. Nacos深入浅出(一)

    Nacos代码第一次给我的感觉有点小清新,下面就带大家抽丝剥茧看看源代码,看看阿里大神的东东: 建议大家先把Nacos跑起来,网上有很多教程,最好直接去git里面拉代码,在IDEA里面运行: cons ...

  5. C 语言实例 - 二进制与十进制相互转换

    C 语言实例 - 二进制与十进制相互转换 C 语言实例 C 语言实例 二进制转与十进制相互转换. 实例 - 二进制转换为十进制 #include <stdio.h> #include &l ...

  6. ZOJ 4033 CONTINUE...?(The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple)

    #include <iostream> #include <algorithm> using namespace std; ; int a[maxn]; int main(){ ...

  7. MyBatis逆向工程中domainObjectRenamingRule报错或无效

    使用domainObjectRenamingRule报错 在使用MyBatis逆向工程时报错如下: org.mybatis.generator.exception.XMLParserException ...

  8. cmd - 命令行窗口中文乱码

    问题 在cmd窗口中输入curl www.baidu.com可以看到有中文乱码的现象,这是因为默认使用的是GBK编码.另外,curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在 ...

  9. nginx 设置websocket支持

    #websocket======相关 proxy_read_timeout 60m; proxy_http_version 1.1; proxy_set_header Upgrade $http_up ...

  10. centos7安装chrome浏览器

    1.配置yum下载源: 在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo, 并且在该文件中添加如下内容: [google-chrome]name=googl ...