?? text1.c
字號:
#include<STC12C5A60S2.H>
#define uchar unsigned char
#define uint unsigned int
const uchar code hanzi[];
sbit IA =P4^0; //行控制線A
sbit IB =P2^0; //行控制線B
sbit IC =P2^1; //行控制線C
sbit ID =P2^2; //行控制線D
#define scan0 {IA=0;IB=0;IC=0;ID=0;}
#define scan1 {IA=1;IB=0;IC=0;ID=0;}
#define scan2 {IA=0;IB=1;IC=0;ID=0;}
#define scan3 {IA=1;IB=1;IC=0;ID=0;}
#define scan4 {IA=0;IB=0;IC=1;ID=0;}
#define scan5 {IA=1;IB=0;IC=1;ID=0;}
#define scan6 {IA=0;IB=1;IC=1;ID=0;}
#define scan7 {IA=1;IB=1;IC=1;ID=0;}
#define scan8 {IA=0;IB=0;IC=0;ID=1;}
#define scan9 {IA=1;IB=0;IC=0;ID=1;}
#define scan10 {IA=0;IB=1;IC=0;ID=1;}
#define scan11 {IA=1;IB=1;IC=0;ID=1;}
#define scan12 {IA=0;IB=0;IC=1;ID=1;}
#define scan13 {IA=1;IB=0;IC=1;ID=1;}
#define scan14 {IA=0;IB=1;IC=1;ID=1;}
#define scan15 {IA=1;IB=1;IC=1;ID=1;}
//extern uiAllData;
uchar code hanzi[]; //漢字字模
uchar code hanzi1[];
uchar l=0; //漢字字模
//0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
uchar code sw[16]={0X00,0X08,0x04,0x0C,0X02,0X0A,0X06,0X0E,0X01,0X09,0X05,0X0D,0X03,0X0B,0X07,0X0F};/*16行段碼*///138驅動數據
sbit STR=P4^1; //鎖存
sbit SCK=P2^7; //時鐘
sbit SERr1= P2^4; //數據
sbit SERg1= P2^6;
sbit SERr= P2^3;
sbit SERg= P2^5;
uchar Move=0,Speed,line; //時間溫度變量
uint zimuo; //字模計數器
uchar BUFF[50]; //緩存
uchar BUFF1[50]; //緩存
void DelayMs(void); // 延時
void in_data(); // 調整移動數據
void rxd_data(); // 串口發送移動數據
/******************************************************/
/*****不影響其他端口的掃描*************************/
void scan(unsigned char Value)
{switch(Value)
{case 15: scan0;break;
case 0: scan1;break;
case 1: scan2;break;
case 2: scan3;break;
case 3: scan4;break;
case 4: scan5;break;
case 5: scan6;break;
case 6: scan7;break;
case 7: scan8;break;
case 8: scan9;break;
case 9:scan10;break;
case 10:scan11;break;
case 11:scan12;break;
case 12:scan13;break;
case 13:scan14;break;
case 14:scan15;break;
default:break;
}
}
/**************************延時***********************/
void DelayMs(void)
{
uchar TempCyc;
for(TempCyc=150;TempCyc>1;TempCyc--)
{;}
}
/********************************************/
/*主函數*/
void main()
{
Move=0;
zimuo=0;
while(1)
{
while(zimuo<1792)
{
while(Move<32) //數據移位。
{
for(Speed=0;Speed<2;Speed++) //移動速度
{
for(line=0;line<16;line++)
{
in_data(); //調整移動數據
rxd_data();
scan(line);
// STR=1;//鎖存
STR=0;
STR=1;
DelayMs(); //延時,等待一段時間,讓這列顯示的內容在人眼內產生“視覺暫留”現蟆
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -