The PCF8578 is a low power CMOS1 LCD row and column driver, designed to drive dotmatrix graphic displays at multiplex rates of 1:8, 1:16, 1:24 or 1:32. The device has40 outputs, of which 24 are programmable and configurable for the following ratios ofrows/columns: 32¤8, 24¤16, 16¤24 or 8¤32. The PCF8578 can function as a stand-alone LCDcontroller and driver for use in small systems. For larger systems it can be used inconjunction with up to 32 PCF8579s for which it has been optimized. Together these twodevices form a general purpose LCD dot matrix driver chip set, capable of driving displaysof up to 40960 dots. The PCF8578 is compatible with most microcontrollers andcommunicates via a two-line bidirectional bus (I2C-bus). Communication overhead isminimized by a display RAM with auto-incremented addressing and display bankswitching.
上传时间: 2013-10-23
上传用户:顶得柱
1 FEATURES· Single chip LCD controller/driver· 1 or 2-line display of up to 24 characters per line, or2 or 4 lines of up to 12 characters per line· 5 ′ 7 character format plus cursor; 5 ′ 8 for kana(Japanese syllabary) and user defined symbols· On-chip:– generation of LCD supply voltage (external supplyalso possible)– generation of intermediate LCD bias voltages– oscillator requires no external components (externalclock also possible)· Display data RAM: 80 characters· Character generator ROM: 240 characters· Character generator RAM: 16 characters· 4 or 8-bit parallel bus or 2-wire I2C-bus interface· CMOS/TTL compatible· 32 row, 60 column outputs· MUX rates 1 : 32 and 1 : 16· Uses common 11 code instruction set· Logic supply voltage range, VDD - VSS: 2.5 to 6 V· Display supply voltage range, VDD - VLCD: 3.5 to 9 V· Low power consumption· I2C-bus address: 011101 SA0.
上传时间: 2013-11-08
上传用户:laozhanshi111
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
SelectionDemo also has code (not included in the preceding snippet) that changes the table s selection orientation. By changing a couple of boolean values, you can make the table allow either column selections or individual cell selections, instead of row selections.
标签: SelectionDemo the preceding included
上传时间: 2015-05-04
上传用户:gut1234567
function y_cum = cum2x (x,y, maxlag, nsamp, overlap, flag) %CUM2X Cross-covariance % y_cum = cum2x (x,y,maxlag, samp_seg, overlap, flag) % x,y - data vectors/matrices with identical dimensions % if x,y are matrices, rather than vectors, columns are % assumed to correspond to independent realizations, % overlap is set to 0, and samp_seg to the row dimension. % maxlag - maximum lag to be computed [default = 0] % samp_seg - samples per segment [default = data_length] % overlap - percentage overlap of segments [default = 0] % overlap is clipped to the allowed range of [0,99].
标签: cum2x y_cum Cross-covariance function
上传时间: 2015-09-08
上传用户:xieguodong1234
Student result management system Use the C language realization system 2, the data structure making use of the structure body several realization student s result design 3, the system have increment, search, insert, row preface etc. basic function 4, the each function mold piece request of system use the form of function realization 5, completion design mission combine write a course a design report. 6, student the existence document of the result information in
标签: system realization management structure
上传时间: 2013-11-29
上传用户:1966640071
% 文件名:randlsbget.m % 程序员:余波 % 编写时间:2007.6.25 % 函数功能: 本函数将完成提取隐秘于上的秘密信息 % 输入格式举例:result=( scover.jpg ,56, secret.txt ,2001) % 参数说明: % output是信息隐藏后的图象 % len_total是秘密信息的长度 % goalfile是提取出的秘密信息文件 % key是随机间隔函数的密钥 % result是提取的信息 function result=randlsbget(output,len_total,goalfile,key) ste_cover=imread(output) ste_cover=double(ste_cover) % 判断嵌入信息量是否过大 [m,n]=size(ste_cover) frr=fopen(goalfile, a ) % p作为信息嵌入位计数器将信息序列写回文本文件 p=1 % 调用随机间隔函数选取像素点 [row,col]=randinterval(ste_cover,len_toal,key) for i=:len_toal if bitand(ste_cover(row(i),col(i)),1)==1 fwrite(frr,1, bit1 ) result(p,1) else fwrite(frr,0, bit1 ) result(p,1)=0 end if p==len_total break end p=p+1 end fclose(frr)
标签: randlsbget result scover 2007
上传时间: 2015-11-10
上传用户:yzhl1988
Dijkstra算法求最短路径(C#版) using System using System.Collections using System.Text namespace Greedy { class Marx { private int[] distance private int row private ArrayList ways = new ArrayList() public Marx(int n,params int[] d) { this.row = n distance = new int[row * row] for (int i = 0 i < row * row i++) { this.distance[i] = d[i]
标签: System using Collections namespace
上传时间: 2013-12-29
上传用户:liglechongchong
Using Gaussian elimination to solve linear equations. // In this version, we allow matrix of any size. This is done by treating // the name of a 2-dimensional array as pointer to the beginning of the // array. This makes use of the fact that arrays in C are stored in // row-major order.
标签: elimination equations Gaussian version
上传时间: 2016-02-14
上传用户:hxy200501
Parking Lot Simulation: Parking lot attendants often park cars bumper-to-bumper, several cars deep. This maximizes the number of cars they can fit into a parking lot at the expense of complicating the process of retrieving someone s car when they want to leave. Consider the case of a person wanting to leave the parking lot but their car is parked in the back of a row of cars. In this case, all the cars parked in front of this person s car must be temporarily moved to allow this person to leave.
标签: Parking cars bumper-to-bumper Simulation
上传时间: 2016-02-15
上传用户:lepoke