protues仿真 51点亮点阵
电路图

程序
/*==============================
点亮点阵心形
================================*/
#include <REGX51.H>
#include <intrins.h> #define uchar unsigned char
#define uint unsigned int sbit st_cpA = P1^;
sbit sh_cpA = P1^;
sbit dsA = P1^; sbit st_cpB = P1^;
sbit sh_cpB = P1^;
sbit dsB = P1^; void sendMessageA(uchar messageA);//发送一个字节到移位寄存器中 列
void outputMessageA();//输出到存储寄存器中
void sendMessageB(uchar messageB); //行
void outputMessageB();
void delay(uchar time_delay); uchar code rows[] = { 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80};
uchar code cols[] = { 0xc9, 0xb6, 0xbe, 0xdd,
0xeb, 0xf7, 0xff, 0xff};
void main()
{
uchar i = ;
while()
{
//扫描显示
for(i = ; i < ; i++)
{
sendMessageB(rows[i]);
outputMessageB();
sendMessageA(cols[i]);
outputMessageA();
//delay(5000);
}
}
} void sendMessageA(uchar messageA)
{
uchar i = ;
for(; i < ; i ++)
{
sh_cpA = ;
dsA = messageA & 0x80;//先写入最高位
messageA = messageA << ;//左移移位
sh_cpA = ;
}
}
void sendMessageB(uchar messageB)
{
uchar i = ;
for(; i < ; i ++)
{
sh_cpB = ;
dsB = messageB & 0x80;//先写入最高位
messageB = messageB << ;//左移移位
sh_cpB = ;
}
}
void outputMessageA()
{
st_cpA = ;
_nop_();
st_cpA = ;
}
void outputMessageB()
{
st_cpB = ;
_nop_();
st_cpB = ;
}
//延时函数
void delay(uchar time_delay)
{
uchar x,y;
for(x = time_delay; x > ; x --)
for(y = time_delay; y > ; y--)
{}
}
protues仿真 51点亮点阵的更多相关文章
- <模拟电子学习1>Multisim 12.0 结构和仿真51最小的单芯片系统
周围环境: 系统环境: win7 64位置 软件平台:Multisim 12.0 目的: 刚毕业,可是模电知识也忘得差点儿相同了,加之自己想搞搞硬件设计.假设仅仅是看模电书.不实践,还是终觉浅.当做兴 ...
- Proteus仿真—51单片机实现AC信号测频、显示、双机通信
文章目录 一.原理图部分 二.源码部分 单片机1 单片机2 在Proteus仿真软件里面使用STC89C52实现指定频率的AC信号的测频.显示.双机通信. 一.原理图部分 整体的电路图如示: DC-A ...
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
如图3,点阵屏分单色和彩色,点阵屏是由许多点组成的,在一个点上,只有一颗一种颜色的灯珠,这就是单色点阵屏,彩色的在一个点上有三颗灯珠,分别是RGB三原色. 图4你可能没看出来,那么大块黄色的就是点阵屏 ...
- 基于Proteus仿真的Arduino学习(2)——LED点阵探究A(LED点阵基础)
一.前言: 随着LED的普及,以LED点阵为基础的显示设置层出不穷.例如,公交车的线路提示牌.高速公路的信息提示牌,安装在大楼上的广告屏幕等.下面,我们将由简单到复杂地探索各种LED点阵的使用方法,同 ...
- android系统平台显示驱动开发简要:LCD基本原理篇『一』
平台信息:内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博客 ...
- S02_CH14_ EMIO_OLED 实验
S02_CH14_ EMIO_OLED 实验 本章将使用EMIO模拟OLED的时序来驱动OLED,本方案对米联系列Miz702,Miz702N和Miz701N全兼容. 14.1板载OLED硬件原理 M ...
- multisim&proteus&protel比较
Multisim有超强板级的模拟/数字电路板的设计工作.它包含了电路原理图的图形输入.电路硬件描述语言输入方式,具有丰富的仿真分析能力.高版本可 以进行单片机等MCU的仿真.Multisim有实际元器 ...
- 移植并修改成功的模拟iic读写EEPROM at24c02
2010-04-24 12:58:00 注:如果要读24c128或264,地址位为16位的.现在的地址位为8位. protues仿真图 源程序如下: #include <iom16v.h> ...
- Spring Boot文档
本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...
随机推荐
- Android(java)学习笔记130:ProgressBar使用的
首先我们看例程如下: 1.main.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <Line ...
- 对JavaScript对象数组按指定属性和排序方向进行排序
引子 在以数据为中心的信息系统中,以表格形式展示数据是在常见不过的方式了.对数据进行排序是必不可少的功能.排序可以分为按单个字段排序和按多个字段不同排序方向排序.单字段排序局限性较大,不能满足用户对数 ...
- nodejs中package.json文件模块依赖的版本格式
version 完全匹配 >version 大于这个版本 >=version大于或等于这个版本 <version 小于这个版本 <=version 小于等于这个版本 ~vers ...
- js回调函数callback()
<a id="btnSave" href="javascript:void(0)" class="easyui-linkbutton" ...
- jquery_ajax
一.调用 <script type="text/javascript" src="jquery-1.11.2.min.js"></script ...
- 你hack那么多啊,该怎么办
当我们通过javascript来操作css样式的时候,假如我们停留在css2的阶段,会发现操作起来并不是很困难.虽然存在一些浏览器兼容的问题,但我们通过封装自己的函数,不仅可以设置样式还能够获取样式. ...
- 【转载】最近在用Arrays的asList()生成的List时,List元素的个数时而不正确,数组转化为List,即Arrays.asList(intArray);
最近在用Arrays的asList()生成的List时,List元素的个数时而不正确. Java代码 //经多次测试,只要传递的基本类型的数组,生成List的元素个数均为1 char arrc = { ...
- Exchanger, Changing data between concurrent tasks
The Java concurrency API provides a synchronization utility that allows the interchange of data betw ...
- SQL日期操作及只获取日期的方法
datepart()函数的使用 * datepart()函数可以方便的取到时期中的各个部分*如日期:2006-07--02 18:15:36.513* ...
- CSS text-indent
text-indent 属性规定文本块中首行文本的缩进. 一个作用就是首行文本缩进,一般的文本都是首行缩进两个字符,这里就可以使用text-indent { text-indent: 2em; } 另 ...