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参考 ...
随机推荐
- [转载][记录]shell 批量修改文件名
参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...
- 搭建scala开发环境
下载scala 2.11.5 安装eclipse LUNA版本 安装scala IDE插件:http://download.scala-ide.org/sdk/lithium/e44/scala211 ...
- Ubuntu 16.04 - 64bit 解压 rar 报错 Parsing Filters not supported
Ubuntu 16.04 - 64bit 解压rar 文件报错: 错误如下图: 原因: 未安装解压命令 unrar 参考博客: Error - "Parsing Filters not s ...
- CPrintDialog 构造函数参数详解
CPrintDialog 构造Windows打印或打印设置对话框(两者不同) 打印对话框 ...
- Appium Python Driver Api
- 禁用Linux bash rm --force
防止无意的Linux bash rm --force 二.禁用rm -rf 因为rm -rf 删除文件的时候,经常会不小心将系统文件或者多个有用的目录删除掉.有两种方法:1,每次删除都用-i(inte ...
- HDU分类
原地址:http://www.byywee.com/page/M0/S607/607452.html 总结了一下ACM STEPS的各章内容,趁便附上我的Steps题号(每人的不一样). 别的,此文首 ...
- OpenJudge 2803 碎纸机 / Poj 1416 Shredding Company
1.链接地址: http://poj.org/problem?id=1416 http://bailian.openjudge.cn/practice/2803 2.题目: 总时间限制: 1000ms ...
- N个数随机相加得出固定值的排列组合
static double[] iArr = new double[10] { 1,2,3,4,5,6,7,8,9,10 }; static Stack<double> stack = n ...
- 【JSP&Servlet学习笔记】5.Servlet进阶AIP、过滤器与监听器
Servlet接口上,与生命周期及请求服务相关的三个方法是init().service()与destory()方法.当Web容器加载Servlet类并实例化之后,会生成ServletConfig对象并 ...