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 View的绘制机制流程深入详解(二)
本系列文章主要着重深入介绍Android View的绘制机制及流程,第二篇主要介绍并分析Android视图的绘制的原理和流程.主要从 onMeasure().onLayout()和onDraw()这三 ...
- PHP代码安全学习笔记V1.0
PHP代码安全学习笔记V1.0http://www.docin.com/p-778369487.html
- c++ 拷贝构造练习
#include<iostream> using namespace std; class Vector { private: int *dwp; int size; void clone ...
- hadoop的相关资料链接
hadoop的资料整理博客 http://www.itpub.net/thread-1588509-1-1.html
- 关于Integer类中parseInt()和valueOf()方法的区别以及int和String类性的转换.以及String类valueOf()方法
Integer类中的. 关于parseInt()方法的API文档. 返回的是int类型的 关于valueOf()方法的API文档 返回的是Integer类型的. 关于intValue()方法的API ...
- 哇!今天找到一个非常好用的自动补全插件-necomplete.vim
看别人说的什么xpcomplete,snipte,拿来都不会用,这个necomplete.vim还挺好用的,不用去按C-X,C-O进行补全,把关键字自动的列出来,调用的是用户自定义补全,^u^n^p的 ...
- C#实现快速排序法
现在有数组{ 3, 6, 2, 1, 9, 5, 4, 7 }; 然后用快速排序法把他们排序 1.首先 ,取出3作为比较数据 2.从最右边往左边比较找到第一个比3小的数据,把3在数组中的位置赋值为那个 ...
- 使用Javascript获得网页中通过GET方法提交的参数
下面我将写出一个函数,用来获取GET方法提交的参数 function getParameter(parameterName) { var string = window.location.search ...
- zz存储系统中缓存的三种类型
三种基本类型的缓存:绕写式(write-around),直写式(write-through)和回写式(write-back). 绕写式(write-around)缓存意味着所有数据首先被写入到硬盘区, ...
- GetDeviceCaps() 参数
GetDeviceCaps 检测设备指定信息 参数: #define DRIVERVERSION 0 /* 设备驱动版本 */ #define TECHNOLOGY 2 /* Device class ...