实验三 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. Codeforces Round #269 (Div. 2) A,B,C,D

    CodeForces - 471A 首先要有四个数相等,然后剩下两个数不同就是Bear,否则就是Elephant. #include <bits/stdc++.h> using names ...

  2. bzoj 5120: [2017国家集训队测试]无限之环【最小费用最大流】

    玄妙的建图-- 这种平衡度数的题按套路是先黑白染色然后分别连ST点,相邻格子连黑向白连费用1流量0的边,然后考虑费用怎么表示 把一个点拆成五个,上下左右中,中间点黑白染色连ST, 对于连S的点,中点连 ...

  3. perl 安装LOG4perl 模块

    环境信息 ubuntu 12.04 64位 桌面版 Log-Log4perl 的介绍网址:http://search.cpan.org/~mschilli/Log-Log4perl-1.49/lib/ ...

  4. bzoj3427:[POI2013]BAJ-Bytecomputer

    传送门 很显然有一个结论:最大不过1,最小不过-1 然后dp,设\(f[i][j]\)为满足前\(i\)个不下降,当前放的是\(j-2\),转移就比较好想了 具体方程看代码吧,终于有一个自己会写的题了 ...

  5. 10M光纤与下载速度KB/s、MB/s的换算

    我们经常听说谁开的宽带是4M或10M或20M等等.那这和我们所说的网速“多少MB/s”.“多少KB/s”等同吗? 其实这不是一个概念. 在宽带运营商那里开的宽带,比如4M,其实是说4M bit/s,即 ...

  6. [题解]数学期望_luogu_P1850_换教室

    数学期望dp,题面第一次见很吓人,然而从CCF语翻译成人话就简单多了, 开始一般会想到用 f [ i ] [ j ]表示前 i 个课程申请 j 次的期望,然而其实会发现转移的时候还和上一次的情况有关( ...

  7. rpm与yum安装软件包

    首先,禁止用yum卸载删除软件包: 而应该使用rpm删除软件包 rpm qa | grep 软件包名 rpm -e --nodeps 要卸载的软件包

  8. OS 内存泄漏 导致 整个aix主机block

    问题 aix 主机 1.数据库主机使用vmstat 监控,隔几分钟 就是block 爆满. cpu 没有瓶颈,I/O 显示本地磁盘hdisk0和hdisk 1 是爆满. vmstat 同时显示大量pa ...

  9. Python基础之collection

    collection-系列 cellection是作为字典.元组(列表与元组可互相转换)的扩充,在此需要导入cellection 一.计数器(counter) counter是对字典类型的补充,用户获 ...

  10. 本地连接远程Oracle数据库

    由于项目开发测试,需要在本地连接远程的Oracle数据库 之前搭过环境,但是重装了系统,现在又重新装一遍 软件安装 连接远程Oracle需要两个软件: 一个Oracle客户端,instantclien ...