基于Proteus的单片机汉字点阵显示设计与仿真
上传时间: 2013-10-21
上传用户:tom_man2008
摘要:利用STC89C55RD+的在应用可编程功能和射频芯片nRF401,设计了一个无线数据通信方式下的LED点阵显示系统。该系统采用了上一下位机的结构构建,利用无线收发模块实现显示信息及控制命令的发送,并且充分利用了该单片机大容量的数据Flash区,通过在应用可编程功能实现多条信息的实时发布、擦除和修改。关键词:单片机,在应用可编程,无线,点阵
上传时间: 2013-11-03
上传用户:zjwangyichao
16 16点阵显示汉字原理及显示程序 #include "config.h" #define DOTLED_LINE_PORT PORTB #define DOTLED_LINE_DDR DDRB #define DOTLED_LINE_PIN PINB #define DOTLED_LINE_SCKT PB1 #define DOTLED_LINE_SCKH PB5 #define DOTLED_LINE_SDA PB3 #define DOTLED_ROW_PORT PORTC #define DOTLED_ROW_DDR DDRC #define DOTLED_ROW_PIN PINC #define DOTLED_ROW_A0 PC0 #define DOTLED_ROW_A1 PC1 #define DOTLED_ROW_A2 PC2 #define DOTLED_ROW_A3 PC3 #define DOTLED_ROW_E PC4 uint8 font[] = { /*-- 调入了一幅图像:这是您新建的图像 --*/ /*-- 宽度x高度=16x16 --*/ 0x00,0x00,0x00,0x00,0x08,0x38,0x18,0x44,0x08,0x44,0x08,0x04,0x08,0x08,0x08,0x10, 0x08,0x20,0x08,0x40,0x08,0x40,0x08,0x40,0x3E,0x7C,0x00,0x00,0x00,0x00,0x00,0x00 }; static void TransmitByte(uint8 byte); static void SelectRow(uint8 row); static void FlipLatchLine(void); static void TransmitByte(uint8 byte) { uint8 i; for(i = 0 ; i < 8 ; i ++) { if(byte & (1 << i)) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); } else { DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SDA); } //__delay_cycles(100); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKH); //__delay_cycles(100); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKH); //__delay_cycles(100); } } static void SelectRow(uint8 row) { //row -= 1; row |= DOTLED_ROW_PIN & 0xe0; DOTLED_ROW_PORT = row; } static void FlipLatchLine(void) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKT); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKT); } void InitDotLedPort(void) { DOTLED_LINE_PORT &= ~(_BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH)); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); DOTLED_LINE_DDR |= _BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH) | _BV(DOTLED_LINE_SDA); DOTLED_ROW_PORT |= 0x1f; DOTLED_ROW_PORT &= 0xf0; DOTLED_ROW_DDR |= 0x1f; } void EnableRow(boolean IsEnable) { if(IsEnable) { DOTLED_ROW_PORT &= ~_BV(DOTLED_ROW_E); } else { DOTLED_ROW_PORT |= _BV(DOTLED_ROW_E); } } void PrintDotLed(uint8 * buffer) { uint8 i , tmp; for(i = 0 ; i < 16 ; i ++) { tmp = *buffer ++; TransmitByte(~tmp); tmp = *buffer ++; TransmitByte(~tmp); SelectRow(i); FlipLatchLine(); } } void main(void) { InitDotLedPort(); EnableRow(TRUE); while(1) { PrintDotLed(font); __delay_cycles(5000); } } //---------------------------------------------------- config.h文件 #ifndef _CONFIG_H #define _CONFIG_H //#define GCCAVR #define CPU_CYCLES 7372800L #ifndef GCCAVR #define _BV(bit) (1 << (bit)) #endif #define MSB 0x80 #define LSB 0x01 #define FALSE 0 #define TRUE 1 typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; typedef unsigned char boolean; #include <ioavr.h> #include <inavr.h> #include "dotled.h" #endif //-----
上传时间: 2013-11-18
上传用户:mnacyf
汉字点阵显示程序
上传时间: 2013-12-02
上传用户:zhaiye
MGLS-240128TA液晶点阵显示驱动程序
上传时间: 2013-12-14
上传用户:003030
利用点阵显示显示中文字符,为PIC单片机控制
上传时间: 2014-01-05
上传用户:lepoke
大屏幕led点阵显示的驱动时序。 使用vhdl语言描述。其中rom文件可以使用lpm_megcore自动生成。
标签: lpm_megcore vhdl led rom
上传时间: 2015-04-04
上传用户:kernaling
点阵显示实验示例使用说明 使用模块有:时钟源模块、点阵显示模块,脉冲沿模块。 使用步骤: 1. 打开电源+5V。 2. 信号连接,按下表将1K30信号与实际模块连接好。 3. 1K30板连接好并口线,并将程序加载 4. 脉冲沿模块的按键MS1为复位清零键,灯灭时有效,点阵块上会显示汉字。
上传时间: 2014-01-09
上传用户:wl9454
touchsceen_test ├─ main.c C语言主源文件 ├─ AscII6x8.c Ascii字符6x8点阵显示格式数据 ├─ lcd.c LCD显示函数源文件 ├─ lcd.h LCD定义头文件 ├─ Call_int.s 中断处理文件 ├─ tp.c 触摸屏控制函数源文件 └─ tp.h 触摸屏控制定义头文件
标签: touchsceen_test AscII Ascii main
上传时间: 2013-12-21
上传用户:星仔
汉字库的实现 一.获取字库.exe 可以获得汉字库及英文字库 二.查看字库.exe 可以查看汉字库及英文字库的点阵显示效果 三.显示程序.h 获取字库点阵及显示的源代码 四.其它资料 相关的字库显示资料 06.3 华工
上传时间: 2014-01-01
上传用户:libenshu01