Mình có mạch led ma trận như trên.Mình viết code chạy chữ được rồi,mình thực hiện quét cột và gởi dữ liệu ra hàng.bây giờ mình muốn thêm cổng not thay cho uln2803 trong mô phỏng để làm mạch thực tế nhưng khi thêm cổng not vào ngõ ra của ic74595 thì mình sửa code lại nhưng mô phỏng không chạy.Mong mấy bận gợi ý mình cach sửa code .thanks
code đây :
#include <REGX52.H>
#include <string.h>
#define CDS P0_4 //DATA
#define CSH P0_5 //SH_CP
#define CST P0_6 //ST_CP
#define COE P0_7 //OE
#define HDS P0_0
#define HSH P0_1
#define HST P0_2
#define HOE P0_3
unsigned char welcome[]=" led ma tran ";
unsigned char *String_input;
unsigned int quet=0,lengh_STR;
unsigned int j,i;
//******************BANG MA ASCII on LED matrix font 5x7 ****************
unsigned char code code_Tab[97][6]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//SPACE 0
0xFF,0xFF,0xA0,0xFF,0xFF,0xFF,//! 1
0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 2
0xEB,0x80,0xEB,0x80,0xEB,0xFF,//# 3
0xDB,0xD5,0x80,0xD5,0xED,0xFF,//$ 4
0xD8,0xEA,0x94,0xAB,0x8D,0xFF,//% 5
0xC9,0xB6,0xA9,0xDF,0xAF,0xFF,//& 6
0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 7
0xFF,0xE3,0xDD,0xBE,0xFF,0xFF,//( 8
0xFF,0xBE,0xDD,0xE3,0xFF,0xFF,//) 9
0xD5,0xE3,0x80,0xE3,0xD5,0xFF,//* 10
0xF7,0xF7,0xC1,0xF7,0xF7,0xFF,//+ 11
0xFF,0xA7,0xC7,0xFF,0xFF,0xFF,//, 12
0xF7,0xF7,0xF7,0xF7,0xF7,0xFF,//- 13
0xFF,0x9F,0x9F,0xFF,0xFF,0xFF,//x 14
0xFF,0xC9,0xC9,0xFF,0xFF,0xFF,// / 15
0xC1,0xAE,0xB6,0xBA,0xC1,0xFF,//0 16
0xFF,0xBD,0x80,0xBF,0xFF,0xFF,//1 17
0x8D,0xB6,0xB6,0xB6,0xB9,0xFF,//2 18
0xDD,0xBE,0xB6,0xB6,0xC9,0xFF,//3 19
0xE7,0xEB,0xED,0x80,0xEF,0xFF,//4 20
0xD8,0xBA,0xBA,0xBA,0xC6,0xFF,//5 21
0xC3,0xB5,0xB6,0xB6,0xCF,0xFF,//6 22
0xFE,0x8E,0xF6,0xFA,0xFC,0xFF,//7 23
0xC9,0xB6,0xB6,0xB6,0xC9,0xFF,//8 24
0xF9,0xB6,0xB6,0xD6,0xE1,0xFF,//9 25
0xFF,0xC9,0xC9,0xFF,0xFF,0xFF,//: 26
0xFF,0xA4,0xC4,0xFF,0xFF,0xFF,//// 27
0xF7,0xEB,0xDD,0xBE,0xFF,0xFF,//< 28
0xEB,0xEB,0xEB,0xEB,0xEB,0xFF,//= 29
0xFF,0xBE,0xDD,0xEB,0xF7,0xFF,//> 30
0xFD,0xFE,0xAE,0xF6,0xF9,0xFF,//? 31
0xCD,0xB6,0x8E,0xBE,0xC1,0xFF,//@ 32
0x83,0xF5,0xF6,0xF5,0x83,0xFF,//A 33
0xBE,0x80,0xB6,0xB6,0xC9,0xFF,//B 34
0xC1,0xBE,0xBE,0xBE,0xDD,0xFF,//C 35
0xBE,0x80,0xBE,0xBE,0xC1,0xFF,//D 36
0x80,0xB6,0xB6,0xB6,0xBE,0xFF,//E 37
0x80,0xF6,0xF6,0xFE,0xFE,0xFF,//F 38
0xC1,0xBE,0xB6,0xB6,0xC5,0xFF,//G 39
0x80,0xF7,0xF7,0xF7,0x80,0xFF,//H 40
0xFF,0xBE,0x80,0xBE,0xFF,0xFF,//I 41
0xDF,0xBF,0xBE,0xC0,0xFE,0xFF,//J 42
0x80,0xF7,0xEB,0xDD,0xBE,0xFF,//K 43
0x80,0xBF,0xBF,0xBF,0xFF,0xFF,//L 44
0x80,0xFD,0xF3,0xFD,0x80,0xFF,//M 45
0x80,0xFD,0xFB,0xF7,0x80,0xFF,//N 46
0xC1,0xBE,0xBE,0xBE,0xC1,0xFF,//O 47
0x80,0xF6,0xF6,0xF6,0xF9,0xFF,//P 48
0xC1,0xBE,0xAE,0xDE,0xA1,0xFF,//Q 49
0x80,0xF6,0xE6,0xD6,0xB9,0xFF,//R 50
0xD9,0xB6,0xB6,0xB6,0xCD,0xFF,//S 51
0xFE,0xFE,0x80,0xFE,0xFE,0xFF,//T 52
0xC0,0xBF,0xBF,0xBF,0xC0,0xFF,//U 53
0xE0,0xDF,0xBF,0xDF,0xE0,0xFF,//V 54
0xC0,0xBF,0xCF,0xBF,0xC0,0xFF,//W 55
0x9C,0xEB,0xF7,0xEB,0x9C,0xFF,//X 56
0xFC,0xFB,0x87,0xFB,0xFC,0xFF,//Y 57
0x9E,0xAE,0xB6,0xBA,0xBC,0xFF,//Z 58
0xFF,0x80,0xBE,0xBE,0xFF,0xFF,//[ 59
0xFD,0xFB,0xF7,0xEF,0xDF,0xFF,//\ 60
0xFF,0xBE,0xBE,0x80,0xFF,0xFF,//] 61
0xFB,0xFD,0xFE,0xFD,0xFB,0xFF,//^ 92
0x7F,0x7F,0x7F,0x7F,0x7F,0xFF,//_ 63
0xFF,0xFF,0xF8,0xF4,0xFF,0xFF,//' 64
0xDF,0xAB,0xAB,0xAB,0xC7,0xFF,//a 65
0xC0,0xB7,0xBB,0xBB,0xC7,0xFF,//b 66
0xFF,0xC7,0xBB,0xBB,0xBB,0xFF,//c 67
0xC7,0xBB,0xBB,0xB7,0xC0,0xFF,//d 68
0xC7,0xAB,0xAB,0xAB,0xF7,0xFF,//e 69
0xF7,0x81,0xF6,0xF6,0xFD,0xFF,//f 70
0xF7,0xAB,0xAB,0xAB,0xC3,0xFF,//g 71
0x80,0xF7,0xFB,0xFB,0x87,0xFF,//h 72
0xFF,0xBB,0x82,0xBF,0xFF,0xFF,//i 73
0xDF,0xBF,0xBB,0xC2,0xFF,0xFF,//j 74
0xFF,0x80,0xEF,0xD7,0xBB,0xFF,//k 75
0xFF,0xBE,0x80,0xBF,0xFF,0xFF,//l 76
0x83,0xFB,0x87,0xFB,0x87,0xFF,//m 77
0x83,0xF7,0xFB,0xFB,0x87,0xFF,//n 78
0xC7,0xBB,0xBB,0xBB,0xC7,0xFF,//o 79
0x83,0xEB,0xEB,0xEB,0xF7,0xFF,//p 80
0xF7,0xEB,0xEB,0xEB,0x83,0xFF,//q 81
0x83,0xF7,0xFB,0xFB,0xF7,0xFF,//r 82
0xB7,0xAB,0xAB,0xAB,0xDB,0xFF,//s 83
0xFF,0xFB,0xC0,0xBB,0xBB,0xFF,//t 84
0xC3,0xBF,0xBF,0xDF,0x83,0xFF,//u 85
0xE3,0xDF,0xBF,0xDF,0xE3,0xFF,//v 86
0xC3,0xBF,0xCF,0xBF,0xC3,0xFF,//w 87
0xBB,0xD7,0xEF,0xD7,0xBB,0xFF,//x 88
0xF3,0xAF,0xAF,0xAF,0xC3,0xFF,//y 89
0xBB,0x9B,0xAB,0xB3,0xBB,0xFF,//z 90
0xFB,0xE1,0xE0,0xE1,0xFB,0xFF,//^ 62
0xE3,0xE3,0xC1,0xE3,0xF7,0xFF,//-> 93
0xF7,0xE3,0xC1,0xE3,0xE3,0xFF,//<- 94
0xEF,0xC3,0x83,0xC3,0xEF,0xFF,// 95
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,//BLANK CHAR 96
};
/*************CHUONG TRINH CON DELAY*****************/
void delay(int t){while (t--);}
/*************GIAI MA HANG*****************************/
void xuathang(unsigned char dulieu)
{
char k;
for (k =0;k<8;k++)
{
HDS =(dulieu&0x80)? 1:0;
HSH = 1;
HSH = 0;
dulieu = dulieu<<1;
}
HST = 1;
HST = 0;
}
/**********QUET COT****************************/
void quetcot()
{
COE =HOE = 0;
delay(20);
COE =HOE = 1;
}
/*****************HIEN THI CHU**************************/
void hienthi_chu()
{
lengh_STR = strlen(String_input)*6;
for (dem = 0;dem<20;dem++)
{
CDS = 1;
CSH = 1;
CST =1;
CDS = 0;
CSH =0;
CST = 0;
for(j=quet;j<16+quet;j++){
giatri=code_Tab[ String_input[(j%lengh_STR)/6] -32][j%6];
xuathang(giatri);
quetcot();
CSH = 1;
CST =1;
CSH =0;
CST = 0;
}
}
quet++;
if(quet>=lengh_STR)
quet=0;
}
/********************CHUONG TRINH CHINH********************************/
void main ()
{
while(1)
{ String_input=welcome;
hienthi_chu():
}
}
đây là hình dung cổng not