单片机阵列显示_51单片机串口通信电脑发代码单片机显示 - CSDN
精华内容
参与话题
  • 51单片机8*8点阵LED显示原理及程序

    万次阅读 2008-01-21 17:06:00
    2007-12-25 10:36:16 在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。1. 程序设计内容 8X8点阵LED...
    2007-12-25 10:36:16

    字体变小字体变大
    在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

    1. 程序设计内容
    8X8点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:

    • 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
    • 一根横柱:对应的行置0,而列则采用扫描的方法来实现。

    2. 硬件电路
    0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.width;}}" height=423 alt="" src="http://www.dzkf.cn/upimg/allimg/0712/1_20103540.JPG" width=476 border=0>

    3.汇编源程序
    ORG 00H
    START: NOP
    MOV R3,#3
    LOP2: MOV R4,#8
    MOV R2,#0
    LOP1: MOV P1,#0FFH
    MOV DPTR,#TABA
    MOV A,R2
    MOVC A,@A+DPTR
    MOV P3,A
    INC R2
    LCALL DELAY
    DJNZ R4,LOP1
    DJNZ R3,LOP2

    MOV R3,#3
    LOP4: MOV R4,#8
    MOV R2,#7
    LOP3: MOV P1,#0FFH
    MOV DPTR,#TABA
    MOV A,R2
    MOVC A,@A+DPTR
    MOV P3,A
    DEC R2
    LCALL DELAY
    DJNZ R4,LOP3
    DJNZ R3,LOP4

    MOV R3,#3
    LOP6: MOV R4,#8
    MOV R2,#0
    LOP5: MOV P3,#00H
    MOV DPTR,#TABB
    MOV A,R2
    MOVC A,@A+DPTR
    MOV P1,A
    INC R2
    LCALL DELAY
    DJNZ R4,LOP5
    DJNZ R3,LOP6

    MOV R3,#3
    LOP8: MOV R4,#8
    MOV R2,#7
    LOP7: MOV P3,#00H
    MOV DPTR,#TABB
    MOV A,R2
    MOVC A,@A+DPTR
    MOV P1,A
    DEC R2
    LCALL DELAY
    DJNZ R4,LOP7
    DJNZ R3,LOP8
    LJMP START

    DELAY: MOV R5,#10
    D2: MOV R6,#20
    D1: MOV R7,#248
    DJNZ R7,$
    DJNZ R6,D1
    DJNZ R5,D2
    RET

    TABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
    TABB: DB 01H,02H,04H,08H,10H,20H,40H,80H
    END


    4.C51语言源程序
    #include >AT89X52.H<

    unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
    unsigned char code tabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

    void delay(void)
    {
    unsigned char i,j;
    for(i=10;i<0;i--)
    for(j=248;j<0;j--);
    }

    void delay1(void)
    {
    unsigned char i,j,k;
    for(k=10;k<0;k--)
    for(i=20;i<0;i--)
    for(j=248;j<0;j--);
    }

    void main(void)
    {
    unsigned char i,j;
    while(1)
    {
    for(j=0;j>3;j++)  //from left to right 3 time
    {
    for(i=0;i>8;i++)
    {
    P3=taba[i];
    P1=0xff;
    delay1();
    }
    }
    for(j=0;j>3;j++)  //from right to left 3 time
    {
    for(i=0;i>8;i++)
    {
    P3=taba[7-i];
    P1=0xff;
    delay1();
    }
    }
    for(j=0;j>3;j++)  //from top to bottom 3 time
    {
    for(i=0;i>8;i++)
    {
    P3=0x00;
    P1=tabb[7-i];
    delay1();
    }
    }
    for(j=0;j>3;j++)  //from bottom to top 3 time
    {
    for(i=0;i>8;i++)
    {
    P3=0x00;
    P1=tabb[i];
    delay1();
    }
    }
    }
    }

    展开全文
  • 编写程序,在Led阵列上依次循环显示自己的学号及姓名拼音的缩写 /******************************************************************************* * 标 题: LED点阵显示 * 功能描述: LED点阵循环显示"141270049...

    编写程序,在Led阵列上依次循环显示自己的学号及姓名拼音的缩写

    /*******************************************************************************
    * 标    题: LED点阵显示
    * 功能描述: LED点阵循环显示"141270049ZRJ"
    *******************************************************************************/
    #include <htc.h>
    
    #define uint8 unsigned char
    #define uint16 unsigned int
    
    __CONFIG(FOSC_HS &WDTE_OFF &BOREN_OFF &PWRTE_OFF &LVP_OFF); //设置配置位
    //WDTE_OFF:disable watchdog timer       看门狗禁止
    //LVP_OFF:low voltage programming disabled  低电压编程禁止
    //FOSC_HS:high speed crystal/resonator  4M以上晶振选择HS高速
    //PWRTDIS:disable power up timer
    //BOREN_OFF:disable brown out reset
    
    #define     SCK_595     RA5
    #define     RCK_595     RE0
    #define     SER_595     RC0
    
    void DelayUS(uint8 delay);
    void HC595_Init(void);
    void HC595_Write_Byte(uint8 data);
    uint8 LED_Datachage(uint8 data);
    
    const uint8 dot[12][8] =
    {
        {0x00, 0x08, 0x18, 0x28, 0x08, 0x08, 0x08, 0x00},   //"1"
        {0x00, 0x08, 0x18, 0x28, 0x7E, 0x08, 0x08, 0x00},   //"4"
        {0x00, 0x08, 0x18, 0x28, 0x08, 0x08, 0x08, 0x00},   //"1"
        {0x00, 0x18, 0x24, 0x08, 0x10, 0x3C, 0x00, 0x00},   //"2"
        {0x00, 0x3C, 0x04, 0x08, 0x10, 0x20, 0x20, 0x00},   //"7"
        {0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x18, 0x00},   //"0"
        {0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x18, 0x00},   //"0"
        {0x00, 0x08, 0x18, 0x28, 0x7E, 0x08, 0x08, 0x00},   //"4"
        {0x00, 0x18, 0x24, 0x24, 0x1C, 0x08, 0x10, 0x00},   //"9"
        {0x00, 0x7E, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x00},   //"Z"
        {0x00, 0x70, 0x48, 0x70, 0x60, 0x50, 0x48, 0x00},   //"R"
        {0x00, 0x7C, 0x10, 0x10, 0x10, 0x50, 0x20, 0x00}    //"J"
    };
    
    /*******************************************************************************
    * 函 数 名: DelayUS(uint8 delay)
    * 函数功能: 微秒延时   for 20MHZ
    * 入口参数: delay
    * 返    回: 无
    *******************************************************************************/
    
    void DelayUS(uint8 delay)
    {
        while(--delay);
    }
    
    /******************************************************************************
    * 函 数 名: HC595_Init(void)
    * 函数功能: 74HC595初始化
    * 入口参数: 无
    * 返    回: 无
    *******************************************************************************/
    void HC595_Init(void)
    {
        ADCON1 = 0x8E;
        TRISA5 = 0;
        TRISE0 = 0;
        TRISC0 = 0;
    }
    
    /******************************************************************************
    * 函 数 名: HC595_Write_Byte(uint8 data)
    * 函数功能: 74HC595写8位数据
    * 入口参数: 无
    * 返    回: 无
    *******************************************************************************/
    void HC595_Write_Byte(uint8 data)
    {
        uint8 i;
        for(i = 0; i < 8; i++)
        {
            if(data & 0x80)
            {
                SER_595 = 1;
            }
            else
            {
                SER_595 = 0;
            }
            SCK_595 = 0;
            data <<= 1;
            SCK_595 = 1;
        }
        RCK_595 = 0;
        RCK_595 = 1;
    }
    
    /******************************************************************************
    * 函 数 名: LED_Datachage(uint8 data)
    * 函数功能: 将8位数据的bit0和bit7、bit1和bit6,bit2和bit5,bit3和bit4互相对换
    * 入口参数: data:待对换的数据
    * 返    回: 无
    *******************************************************************************/
    uint8 LED_Datachage(uint8 data)
    {
        uint8 temp, temp1;
        temp = (data & 0x01) << 7;
        temp1 = (data & 0x80) >> 7;
        data = (data & 0x7E) | temp | temp1;
        temp = (data & 0x02) << 5;
        temp1 = (data & 0x40) >> 5;
        data = (data & 0xBD) | temp | temp1;
        temp = (data & 0x04) << 3;
        temp1 = (data & 0x20) >> 3;
        data = (data & 0xDB) | temp | temp1;
        temp = (data & 0x08) << 1;
        temp1 = (data & 0x10) >> 1;
        data = (data & 0xE7) | temp | temp1;
        return data;
    }
    
    /*******************************************************************************
    * 函 数 名: main(void)
    * 函数功能: LED点阵循环显示0~9数字
    *******************************************************************************/
    void main(void)
    {
        uint8 i, j;
        uint16 k;
        TRISA &= 0xE3;      //RA2、RA3、RA4设置成输出模式
        PORTA |= 0x1C;      //RA2 = 1、RA3 = 1、RA4 = 1,不选通任何数码管,则关掉数码管显示
    
        TRISE &= 0xEF;      //配置PORTD为普通IO口,对PORTD的操作务必加上这句
        TRISD = 0x00;       //设置PORTD为输出
        HC595_Init();       //74HC595初始化
        while(1)
        {
            for(j = 0; j < 12; j++) //"141270049ZRJ"
            {
                for(k = 0; k < 1500; k++)   //每个数字重复显示次数
                {
                    for(i = 0; i < 8; i++)  //8行
                    {
                        HC595_Write_Byte((0x01 << i));  //选择行
                        PORTD = ~LED_Datachage(dot[j][i]);  //送字
                        DelayUS(50);    //延时50us
                        PORTD = 0xFF;   //关显示
                    }
                }
            }
        }
    }
    展开全文
  • 本系列教程以AVR单片机为对象,介绍单片机的快速开发方法。 参考教材:《单片机技术及应用项目教程》 栾秋平 电子工业出版社 2019.6 第1版 本文介绍使用74HC595在LED阵列上,显示数字“0”的方法。 一、灯光阵列 ...

    本系列教程以AVR单片机为对象,介绍单片机的快速开发方法。

    参考教材:《单片机技术及应用项目教程》 栾秋平 电子工业出版社 2019.6 第1版

    本文介绍使用74HC595在LED阵列上,显示数字“0”的方法。


    一、灯光阵列

    二、config.h文件的使用

    #ifndef MAIN_H_
    #define MAIN_H_
    
    /*
    ********************************************************************************
    调试
    ********************************************************************************
    */
    #define DEBUG 0
    
    /*
    ********************************************************************************
    MSP430器件选择
    ********************************************************************************
    */
    #define MCU_MODULE 0												//0:	支持的芯片:ATmega48_88_168_328
    												
    /*
    ********************************************************************************
    内部外设配置
    ********************************************************************************
    */
    #define INTERNAL_PERIPHERAL_WDT_MODE			7					//0:	不支持看门狗
    																	//1:	15ms
    																	//2:	30ms
    																	//3:	60ms
    																	//4:	120ms
    																	//5:	250ms
    																	//6:	500ms
    																	//7:	1s
    																	//8:	2s
    																	//9:	4s
    																	//10:	8s
    																	
    #define INTERNAL_PERIPHERAL_UART0_MODE			0x00				//0x00:	不初始化异步串行口0
    																	/*----------无效验------偶效验------奇效验------*/
    																	//110bps	0x01		0x11		0x21
    																	//300bps	0x02		0x12		0x22
    																	//600bps	0x03		0x13		0x23
    																	//1200bps	0x04		0x14		0x24
    																	//2400bps	0x05		0x15		0x25
    																	//4800bps	0x06		0x16		0x26
    																	//9600bps	0x07		0x17		0x27
    																	//14400bps	0x08		0x18		0x28
    																	//19200bps	0x09		0x19		0x29
    																	//38400bps	0x0A		0x1A		0x2A
    																	//56000bps	0x0B		0x1B		0x2B
    																	//115200bps	0x0C		0x1C		0x2C
    
    #define INTERNAL_PERIPHERAL_TIMER0_MODE			0					//0:	不初始化TIMER0
    																	//1:	定时1ms
    																	//2:	将TIEMR0初始化为快速PWM模式,由引脚PD6进行输出
    
    #define INTERNAL_PERIPHERAL_TIMER1_MODE			0					//0:	不初始化TIMER0
    																	//1:	定时10ms
    																	//2:	定时1ms
    
    #define INTERNAL_PERIPHERAL_ADC_MODE			0					//0:	不使用ADC
    																	//1:	使用ADC
    
    #define INTERNAL_PERIPHERAL_INT0_MODE			0					//0:	不使用外部中断0
    																	//1:	使用外部中断0
    																	
    #define INTERNAL_PERIPHERAL_INT1_MODE			0					//0:	不使用外部中断1
    																	//1:	使用外部中断1
    
    /*
    ********************************************************************************
    外部模块使用定义
    1、部分外围模块定义了使用情况,具体设置内容,应在该外围芯片相应的config文件中进行配置
    2、部分外围模块定义了模块使用的个数
    ********************************************************************************
    */
    #define EXTERNAL_MODULE_HC595_MODE				1					//0:	没有使用HC595芯片
    																	//1:	使用HC595芯片,其引脚配置在相应的config文件中进行设置
    																	//2:	使用HC595芯片,其引脚配置在相应的config文件中进行设置,三个引脚可以使用不同的端口
    
    #define EXTERNAL_MODULE_HC165_MODE				0					//0:	没有使用HC165芯片
    																	//1:	使用HC165芯片,其引脚配置在相应的config文件中进行设置
    																	//2:   用不同的引脚,操纵两组74HC165
    
    #define EXTERNAL_MODULE_NIXIETUBE_MODE			0					//0:	没有使用数码管及其相关电路
    																	//1:	适用于使用1个74HC138芯片和1个74HC595芯片驱动2个LG3641BH的电路
    																	//2:	适用于使用14个74HC164驱动14个LGB012BH的电路
    
    #define EXTERNAL_MODULE_SD2405_MODE				0					//0:	没有使用SD2405芯片
    																	//1:	使用了SD2405芯片,系统会自动调用IIC总线,使用时应在IIC_config.h中,对IIC进行配置
    
    #define EXTERNAL_MODULE_DS18B20_MODE			0					//0:	没有使用DS18B20芯片
    																	//1:	使用了DS18B20芯片
    
    #define EXTERNAL_MODULE_TLC5620_MODE			0					//0:	没有使用TLC5620芯片
    																	//1:	使用了TLC5620芯片
    																	
    #define EXTERNAL_MODULE_CH432T_MODE				0					//0:	没有使用CH432T芯片
    																	//1:	使用了CH432T芯片,还应使能相应的外部中断
    
    #define EXTERNAL_MODULE_FM24C64_MODE			0					//0:	没有使用FM24C64芯片
    																	//1:	使用了FM24C64芯片,系统会自动调用IIC总线,使用时应在IIC_config.h中,对IIC进行配置
    																	//		64Kb 8KB
    																	//		可接8个器件,靠地址区分	0-7	高字节为A
    																	//		共8192个单元
    																	//		0-8191
    																	
    #define EXTERNAL_MODULE_AT45DB161D_MODE			0					//0:	没有使用AT45DB161D芯片
    																	//1:	使用了AT45DB161D芯片,其引脚配置在相应的config文件中进行设置
    																	
    /*
    ********************************************************************************
    协议层使用配置
    ********************************************************************************
    */
    #define PROTOCOL_MINIUART_UART0_MODE			0					//0:	不针对UART0加载MiniUart
    																	//1:	针对UART0加载MiniUart	
    																	
    #define PROTOCOL_MINIUART_CH432T_UART0_MODE		0					//0:	不针对CH432T_UART0加载MininUart
    																	//1:	针对CH432T_UART0加载MiniUart
    																	
    #define PROTOCOL_MINIUART_CH432T_UART1_MODE		0					//0:	不针对CH432T_UART1加载MininUart	
    																	//1:	针对CH432T_UART1加载MiniUart																																									
    
    #endif /* MAIN_H_ */

    三、74HC595配置文件的使用

    #ifndef HC595_01_CONFIG_H_
    #define HC595_01_CONFIG_H_
    
    #define HC595_PORT		PORTC
    #define HC595_DDR		DDRC
    #define HC595_CLOCK		BIT1
    #define HC595_CS		BIT0
    #define HC595_MOSI		BIT2
    
    #endif /* HC595_01_CONFIG_H_ */

    四、认知74HC595的操作函数和功能宏

    #ifndef HC595_H_
    #define HC595_H_
    
    //宏定义
    #if EXTERNAL_MODULE_HC595_MODE == 1
    	#define HC595_SELECT		CLRBIT(HC595_PORT,HC595_CS);SETBIT(HC595_PORT,HC595_CS);CLRBIT(HC595_PORT,HC595_CS)
    	#define HC595_UNSELECT		CLRBIT(HC595_PORT,HC595_CS)
    	#define HC595_SET_CLOCK 	SETBIT(HC595_PORT,HC595_CLOCK)
    	#define HC595_CLR_CLOCK		CLRBIT(HC595_PORT,HC595_CLOCK)
    	#define HC595_SET_MOSI		SETBIT(HC595_PORT,HC595_MOSI)
    	#define HC595_CLR_MOSI		CLRBIT(HC595_PORT,HC595_MOSI)	
    #elif EXTERNAL_MODULE_HC595_MODE == 2
    	#define HC595_SELECT		CLRBIT(HC595_PORT_CS,HC595_CS);SETBIT(HC595_PORT_CS,HC595_CS);CLRBIT(HC595_PORT_CS,HC595_CS)
    	#define HC595_UNSELECT		CLRBIT(HC595_PORT_CS,HC595_CS)
    	#define HC595_SET_CLOCK 	SETBIT(HC595_PORT_CLOCK,HC595_CLOCK)
    	#define HC595_CLR_CLOCK		CLRBIT(HC595_PORT_CLOCK,HC595_CLOCK)
    	#define HC595_SET_MOSI		SETBIT(HC595_PORT_MOSI,HC595_MOSI)
    	#define HC595_CLR_MOSI		CLRBIT(HC595_PORT_MOSI,HC595_MOSI)
    #endif
    
    //函数原型声明
    void HC595_Init(void);
    void HC595_WriteByte(uint8 u8_Byte);
    
    #endif /* HC595_H_ */

    五、“0”的字模

    六、显示程序

    //加入包含文件
    #include "../include.h"
    
    //定义系统常量
    
    //定义全局变量
    
    //主程序
    int main(void)
    {
    	//定义局部变量
    	
    	//目标板初始化,该函数会自动初始化相应的外设文件	
    	TARGET_Init();
    	
    	//初始化全局变量	
    		
    	//在上电时,执行的相应操作	
    			
    	//后台主循环
    	while(1)
    	{
    		/*
    		**********************************
    		在这里完成自己的项目逻辑
    		**********************************
    		*/	
    		HC595_WriteByte(0x80);
    		HC595_WriteByte(0xBE);
    		HC595_WriteByte(0x80);
    		HC595_SELECT;					
    		/*
    		**********************************
    		喂狗语句,大部分工程项目都不应去除
    		**********************************
    		*/	
    		#if INTERNAL_PERIPHERAL_WDT_MODE != 0
    			TARGET_WatchDogReset();
    		#endif
    	}
    	return 0;	//永不执行
    }

     

     

     

    任何问题,只需在此文章的评论处留言即可,我将尽力解答,不要试图采用其它的联系方式,我一概不理会。

    原创性文章,转载请注明出处CSDN:http://blog.csdn.net/qingwufeiyang12346。

     

     

     

    展开全文
  • 51单片机LED16X16点阵滚动显示51单片机LED16X16点阵滚动显示51单片机LED16X16点阵滚动显示
  • 单片机 LED点阵

    千次阅读 多人点赞 2018-06-01 18:15:55
    单片机 LED点阵一、简述 使用8×8LED点阵显示汉字。向上滚动"中华"两个汉字。 文件打包:链接: https://pan.baidu.com/s/1oHSAIY6qVA7qFFWUvMvJEA 密码: snyg二、效果三、工程文件结构1、Keil工程2、...

    单片机 LED点阵

    一、简述

         使用8×8LED点阵显示汉字。向上滚动"中华"两个汉字。

         文件打包:链接: https://pan.baidu.com/s/1oHSAIY6qVA7qFFWUvMvJEA 密码: snyg

    二、效果


    三、工程文件结构

    1、Keil工程


    2、仿真电路图


    四、代码

    88led.c文件

    #include<reg51.h>
    #define uint unsigned int
    #define uchar unsigned char
    uchar code led[]={0xEF,0xEF,0x83,0xAB,0xAB,0x83,0xEF,0xEF,0xD5,0x93,0x55,0xC0,0x00,0xEF,0xEF,0xEF};//汉字“中华” 点阵码
    uchar code  led_w[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//对应1~8行,赋给P2口,控制在哪一行显示
    /********************************************************************/
    //函数名:delay_1ms(uint x)
    //功能:利用定时器0精确定时1ms; 自加 time_t的值为后面时间调整函数服务
    //调用函数:
    //输入参数:x,1ms计数
    //输出参数:
    //说明:延时的时间为1ms乘以x 
    /********************************************************************/
    void delay_1ms(uint x)
    {
    	TMOD=0X01;//开定时器0,工作方式为1
    	TR0=1;//启动定时器0;
    	while(x--)
    	{
    		TH0=0Xfc;//定时1ms初值的高8位装入TH0
    		TL0=0X18;//定时1ms初值的低8位装入TL0
    		while(!TF0);//等待,直到TF0为1
    		TF0=0;	   //重置溢出位标志
    	}		
    	TR0=0;//停止定时器0;
    }
    /**********************************************************/
    //函数名:ledplay()
    //功能:led点阵显示程序
    //调用函数:
    //输入参数:
    //输出参数:
    //说明:
    /**********************************************************/
    void ledplay()
    {
    	uchar i,y,j;
    	y=0; //稳定显示电平,平滑滚动,每8行数据显示10次
    	j=0;//数据偏移,每次偏移1位
    	while(1)//实现汉字向上滚动效果
    	{
    		for(i=0;i<8;i++)//显示8行数据
    		{
    			P0=0xFF;//消除上次电平的影响		
    			P2=led_w[i];//控制显示行
    			P0=led[i+j];//行电平数据
    			delay_1ms(3);//延时3ms
    		}
    		y++;
    		if(y>9)
    		{
    			P0=0xFF;//消除上次电平的影响
    			delay_1ms(1);//延时,确保消除上次电平的影响
    			y=0;
    			j++;
    			if(j>8)	//"中华"二字一共16行电平数据(0~15),i+j要<15
    				j=0;
    		}
    	}
    
    }
    /**********************************************************/
    //主程序
    /**********************************************************/
    void main()
    {
    	ledplay();//调用显示程序;
    }

    五、总结


    展开全文
  • 单片机显示设备

    2017-12-28 00:50:38
    LED灯显示利用取字模软件来生成字模 取字模上设置相关选项取出字模,设置像素为8*8。如“上,\”等。unsigned char code dis1[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//"\",阴码(1亮)、按列取字模 ...
  • protues基于89C51的4*6按键显示仿真电路。 按键后八段数码管显示对应数字。
  • c51单片机实现矩阵键盘用数码管动态依次显示键值 //4*4矩阵按键0-F4位LED轮流显示,按键从左到右从上到下0-F #include&lt;reg51.h&gt; #include&lt;intrins.h&gt; #define uchar unsigned char #...
  • 矩阵键盘扫描原理详解——单片机

    万次阅读 多人点赞 2016-04-07 20:12:00
    一开始单片机将行线(P10~P13)全部输出低电平,此时读入列线数据,若列线全为高电平则没有键按下,当列线有出现低电平时调用延时程序以此来去除按键抖动。延时完成后再判断是否有低电平,如果此时读入列线数据还是...
  • 书名:《单片机应用技术选编(1)》(北京航空航天大学出版社.何立民) PDF格式扫描版,全书分为8章,共720页。1993年2月出版。 内容简介 《单片机应用技术选编》系列图书是汇集了多年间国内主要期刊杂志中有关单片机...
  • 单片机 备注 VCC VCC 电源 GND GND 地线 Echo P2^0 接收信号 Trig P2^1 发射信号 测量范围 2—400cm HCSR04模块有四个引脚,VCC,GND,TRIG和ECHO;这些引脚有不同的功能。 VCC和GND是HSCR04的直接...
  • 单片机原理及应用》复习提纲

    千次阅读 多人点赞 2015-12-14 10:44:44
    单片机原理及应用》复习提纲 单片机应用系统的典型结构图   单片机应用系统核心硬件技术包括: 1.时序 2.中断 3.地址译码   单片机应用系统核心软件技术包括: 1.寻址...
  • 实验六 键盘扫描显示实验(矩阵键盘) 一、实验要求 在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在八位数码管上显示出来。 实验程序可分成三...
  • 书名:《单片机应用技术选编(8)》(北京航空航天大学出版社.何立民) PDF格式扫描版,全书分为8章,共616页。2000年出版。 内容简介 《单片机应用技术选编》系列图书是汇集了多年间国内主要期刊杂志中有关单片机应用...
  • 51单片机的LED与数码管的驱动

    千次阅读 2016-12-05 09:50:37
    1、编写C51代码,实现流水灯字变花型:/*********************************************************** * 实验功能 : LED实现流水灯花型控制 *************************************************************/ ...
  • 利用霍尔感器测量出液滴流速,并将将信息返回给单片机单片机对流速信号与测速型号进行分析和处理,并让其显示数码管上,从而实现对输液器的监测与控制。 2.硬件设计 本例程的硬件主要由7部分组成,分别为单片机...
  • 基于AT89S51的单片机无线双显示抢答器 (来源于我的baidu博客http://hi.baidu.com/%B5%D1%C6%FC/blog/item/bd4a5c3fe72f53eb54e72310.html) 1关于抢答器 1.1目前常见的抢答器有以下几种类别: (1) 数字电路:...
  • 瑞萨单片机入门教程

    万次阅读 2018-05-15 17:40:44
    版权声明:本文为博主原创文章,转载请声明本文作者为yjydyod,转载自:...由于工作的原因,这段时间接触了这款单片机,所以写下了这篇博客,希望能给大家一些帮助。 R7F0Cxxx主要针对中国大陆和香港...
  • 51单片机—矩阵键盘-代码

    千次阅读 2016-09-21 21:23:38
    #include #include "../delay/delay.h" #include "matrix.h" /*===================================================== 按键扫描函数,返回扫描键值 ======================================================*/ ...
  • 单片机

    2017-08-22 13:39:00
    认识单片机单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括...
1 2 3 4 5 ... 20
收藏数 671
精华内容 268
关键字:

单片机阵列显示