汉字LED点阵显示16×16点阵(滚动显示)
上传时间: 2013-07-26
上传用户:leesuper
基于51单片机设计16*16点阵屏滚动显示图形数字
上传时间: 2013-10-26
上传用户:天涯
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
基于89C52+T6963C的液晶驱动程序,可以显示16*16汉字32个,8*16点阵ASC,8*8点阵ASC,绘制直线等
上传时间: 2014-01-03
上传用户:zq70996813
应用于ucGUI的16*16点阵字库文件 只要将该文件加入ucGUI的工程中, 再在GUI.H中如下声明: extern const GUI_FONT GUI_Font6x8 ...... extern const GUI_FONT GUI_Font_HZ16x16 //汉字字体 即可使用. 使用实例: static void DemoHZ(void) { const char str[] = GUI_UC_START"中国人民万岁"GUI_UC_END /* Set ShiftJIS font */ GUI_SetFont(&GUI_Font_HZ16x16) GUI_DispString(str) }
标签: ucGUI GUI_FONT GUI_Font extern
上传时间: 2014-12-02
上传用户:woshini123456
提取16*16点阵汉字库的应用程序,c源程序
上传时间: 2015-03-30
上传用户:GHF
P18F4610的有符号16*16运算C结合汇编.很好的学习例子.MCC18编译器.
上传时间: 2015-05-01
上传用户:stvnash
显示16*16点阵汉字左移程序,可扩展为大屏幕显示
上传时间: 2015-05-03
上传用户:onewq
这是一个16×16点阵的程序,可以显示任意图形,简单,易懂
上传时间: 2015-05-25
上传用户:sardinescn
转贴原作者声明: ViewChr 程序使用说明: 本程序可方便浏览和调用 Hzk16(16*16中文点阵字库)和Asc16(8*16中文点阵字库)内容。 通过滚动条对字库进行浏览,通过文本框可以输入中文字符获取其字体点阵,按"Add chr.asm"键或回车键可以将其字体点阵16进制数据转换成对应的ASCI码追加到CHR.ASM文件中。在显示文字区域双击可切换网格显示开关状态。 如果你要做点阵屏显示中文字体程序,那这个程序将是你的好帮手。 (备注:ASCII码文件CHR.ASM的取字方向同字库Hzk16和Asc16) 如果你有疑问和建议,欢迎与我们联系。 WWW.165V.COM XuHai777@163.com
上传时间: 2014-10-27
上传用户:lijinchuan