单片机双色点阵显示特定图形

发布者:鑫森淼焱最新更新时间:2018-05-12 来源: eefocus关键字:单片机  双色点阵显示 手机看文章 扫描二维码
随时随地手机看文章

/*-----------------------------------------------  

  名称:双色点阵  

  论坛:www.doflye.net  

  编写:shifang  

  修改:无  

  内容:使用hc595驱动双色点阵   

------------------------------------------------*/  

#include    //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义  

#include   

  

  

//unsigned char  segout[8]={0,1,2,3,4,5,6,7}; //8列  

unsigned char  segout[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //8列  

unsigned char code tab[]={  

                        0x08,0x1C,0x3E,0x7F,0x1C,0x1C,0x1C,0x1C,  

                        };  

  

  

/*------------------------------------------------  

                硬件端口定义  

------------------------------------------------*/  

sbit LATCH = P1^0;   

sbit SRCLK= P1^1;  

sbit SER  = P1^2;  

  

  

  

  

sbit LATCH_B = P2^2;  

sbit SRCLK_B= P2^1;  

sbit SER_B= P2^0;  

  

  

/*------------------------------------------------  

 uS延时函数,含有输入参数 unsigned char t,无返回值  

 unsigned char 是定义无符号字符变量,其值的范围是  

 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时  

 长度如下 T=tx2+5 uS   

------------------------------------------------*/  

void DelayUs2x(unsigned char t)  

{     

 while(--t);  

}  

/*------------------------------------------------  

 mS延时函数,含有输入参数 unsigned char t,无返回值  

 unsigned char 是定义无符号字符变量,其值的范围是  

 0~255 这里使用晶振12M,精确延时请使用汇编  

------------------------------------------------*/  

void DelayMs(unsigned char t)  

{  

       

 while(t--)  

 {  

     //大致延时1mS  

     DelayUs2x(245);  

DelayUs2x(245);  

 }  

}  

/*------------------------------------------------  

                发送字节程序  

------------------------------------------------*/  

void SendByte(unsigned char dat)  

{      

  unsigned char i;   

          

   for(i=0;i<8;i++)  

        {  

         SRCLK=0;  

         SER=dat&0x80;  

         dat<<=1;  

         SRCLK=1;  

         }  

           

}  

/*------------------------------------------------  

                发送双字节程序  

     595级联,n个595,就需要发送n字节后锁存  

------------------------------------------------*/  

void Send2Byte(unsigned char dat1,unsigned char dat2)  

{      

   SendByte(dat1);  

   SendByte(dat2);        

}  

/*------------------------------------------------  

                   595锁存程序  

 595级联发送数据后,锁存有效  

------------------------------------------------*/  

void Out595(void)  

{  

        LATCH=1;  

        _nop_();  

        LATCH=0;  

}  

  

  

/*------------------------------------------------  

                发送位码字节程序  

               使用另外一片单独595  

------------------------------------------------*/  

void SendSeg(unsigned char dat)  

{      

unsigned char i;   

          

   for(i=0;i<8;i++)  //发送字节  

        {  

         SRCLK_B=0;  

         SER_B=dat&0x80;  

         dat<<=1;  

         SRCLK_B=1;  

         }  

      LATCH_B=1;    //锁存  

      _nop_();  

      LATCH_B=0;  

           

           

}  

/*------------------------------------------------  

                   主程序  

------------------------------------------------*/  

void main()  

{  

unsigned char i,j,k;  

while(1)  

{  

  

  

              for(i=0;i<8;i++) //8列显示  

                  {  

                     SendSeg(segout[i]);  

  

Send2Byte(~tab[i],0xff);//固定位置显示箭头图形  

Out595();  

                     DelayMs(1);  

  

Send2Byte(0xff,0xff);//delay(10); //防止重影  

Out595();  

                  }  

            

        }  

}  


关键字:单片机  双色点阵显示 引用地址:单片机双色点阵显示特定图形

上一篇:单片机DS18b20 温度检测液晶显示
下一篇:单片机双色点阵显示1种颜色

推荐阅读最新更新时间:2024-03-16 16:02

PIC单片机CCP模块
CCP是Capture(捕捉)、Compare(比较)、PWM(脉宽调制)缩写。
[单片机]
PIC<font color='red'>单片机</font>CCP模块
哄抬芯价被惩处,囤货罚成“二百五”
芯片短缺,治标应急虽然可解燃眉之困,但最终仍需釜底抽薪。 “扫货,要意法半导体的ST/L9369-TR,两万片!” “英飞凌TLE4941求购,一万片起。” …… 混圈子久了,发现有些行业属性较深的微信群、QQ群,便成了缺芯公司派人搜刮的渠道之一。 有传闻指出,华强北有人囤积了大量芯片“捂盘”;也有说法称,许多汽车芯片来自港台渠道,因此跟深圳倒没有关系,但是的确受限。 “缺芯之后,不少渠道是非常规进货,”Y君这样告诉我,“包括走私,也有的是自己囤积居奇或者问囤积的人买。”我给他看了下广为求购的芯片编号,基本上都是ST/L9369-TR、TLE4941、L99LD21Q6TR、ST28565368之类,制程没有很高
[嵌入式]
哄抬芯价被惩处,囤货罚成“二百五”
【51单片机STC89C52】ESP8266 ESP-01S模块使用
一、部分AT指令 注意:AT指令,控制类勾选发送新行,传输数据时不需要 二、建立TCP服务器 注:ESP-01S和主机要在同一wifi网络下 三、编程实现设备模式接入路由器配置 1、编程分析 ESP-01S连接网络后重启自动连接网络,并且返回WIFI GOT IP。 这里暂不考虑联网失败,后面再通过AT指令再次联网就可以。 以设备模式接入路由器配置,发送AT+CWJAP= OnePlus9R , qwertyuiop 指令 入网成功返回WIFI GOT IP等,最终返回值为OK 入网失败返回值为FAIL 连接到 TCP server,发送AT+CIPSTART= TCP , 192.168.6
[单片机]
【51<font color='red'>单片机</font>STC89C52】ESP8266 ESP-01S模块使用
单片机8X8LED点阵显示“中国生日快乐”
硬件图如下图: 元件清单如下图(有些多余了): 程序如下(C语言): #include reg51.h unsigned char led1 ={0XEF,0XEF,0X83,0XAB,0XAB,0X83,0XEF,0XEF}; //中 unsigned char led2 ={0x01,0X7D,0X45,0X45,0X65,0X45,0X7D,0X01}; //国 unsigned char led3 ={0xF7,0XD7,0X80,0X77,0XC1,0XF7,0XF7,0X00}; //生 unsigned char led4 ={0x83,0XBB,0XBB,0X83,0XBB,0XBB,0X83,0XF
[单片机]
<font color='red'>单片机</font>8X8LED<font color='red'>点阵显示</font>“中国生日快乐”
16位MCU市场逐渐萎缩:正在重新定义的微控制器
在ARM核心的开放开发环境之下,研发人员利用32位元微控制器(MCU)开发应用的成本逐渐降低,芯片价格亦因为供应商众多而随之下降。尽管如此,8位元MCU具备更低廉的价格,加上低阶应用市场的规模依然庞大,因此,尽管32位元MCU出货量急起直追,仍未超越8位元MCU。相较之下,16位元MCU便成为被8位元与32位元MCU夹杀的产品。 盛群半导体业务行销中心副总经理蔡荣宗认为,以目前全球市场看来,尽管32位元MCU产值较高,然销售数量依然是以8位元MCU为大宗。16位元MCU则处于被夹杀的状态,由于8位元MCU的效能持续提升,目前已足以满足较为低阶的16位元MCU应用需求;32位元MCU的成本逐渐降低,则瓜分了高阶的16位元MCU市场。
[单片机]
基于单片机芯片的三相半控整流电路设计
整流电路广泛应用在直流电机调速,直流稳压电压等场合。而三相半控整流桥电路结构是一种常见的整流电路,其容易控制,成本较低。本文中介绍了一种基于 PIC690单片机与专用集成触发芯片TC787的三相半控整流电路,它结合专用集成触发芯片和数字触发器的优点 ,获得了高性能和高度对称的触发脉冲。它充分利用单片机内部资源 ,集相序自适应、系统参数在线调节和各种保护功能于一体,可用于对负载的恒电压控制。主电路采用了三相半控桥结构,直流侧采用LC滤波结构来提高输出的电压质量。 系统总体设计 本系统通过PIC690单片机作为主控制芯片,用晶闸管作为主要开关器件。设计的目标是保持输出的直流电压稳定,输出电压纹波小,交流输出测电流THD
[电源管理]
AVR单片机电压表程序
AVR电压表程序: #include iom16v.h #include macros.h #define uchar unsigned char #define uint unsigned int #define setb(val,bitn) (val|=(1 (bitn)))//设置某IO口某位为1 #define clr(val,bitn) (val&=~(1 (bitn)))//设置某IO口某位为0 #define get(val,bitn) (val&(1 (bitn)))//读取某位状态如 uchar shi=20,fen=39,miao,a=0xff,num; #pragma data:code//定义程序存在RO
[单片机]
8051单片机由什么组成 8051单片机有多少管脚
8051单片机介绍 8051单片机是一款广泛应用于嵌入式系统中的8位单片机,由Intel公司在1980年推出,是当时业界最先进的8位单片机之一,也是单片机领域的经典之作。 8051单片机具有较低的功耗、高度集成、强大的功能和易于编程等优点,广泛应用于各种嵌入式系统中,如家电控制、自动化设备、工业控制、仪器仪表、汽车电子、通讯设备、电子游戏等领域。 8051单片机内部包含了CPU、存储器、定时器、串行通信接口、并行输入输出端口等基本模块,同时还具有多种外设和扩展接口,可以根据不同应用需要进行灵活配置和扩展。 在编程方面,8051单片机支持多种编程语言和开发工具,如C语言、汇编语言、BASIC语言等,并且有许多成熟的开源或商业的集
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved