c程序.docx
- 文档编号:3267833
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:17
- 大小:20.37KB
c程序.docx
《c程序.docx》由会员分享,可在线阅读,更多相关《c程序.docx(17页珍藏版)》请在冰豆网上搜索。
c程序
#include"graphics.h"
#include"stdio.h"
main()
{
inti=VGA,j=VGAHI,k;
unsignedcharmat[16][2],chinease[3]="我";
FILE*HZK;
if((HZK=fopen("hzk16","rb"))==NULL)
exit(0);
initgraph(&i,&j,"");
i=chinease[0]-0xa0;j=chinease[1]-0xa0; /*获得区码与位码*/
fseek(HZK,(94*(i-1)+(j-1))*32l,SEEK_SET);
fread(mat,32,1,HZK);
for(j=0;j<16;j++)
for(i=0;i<2;i++)
for(k=0;k<8;k++)
if(mat[j][i]&(0x80>>k)) /*测试为1的位则显示*/
putpixel(i*8+k,j,WHITE);
getch();
closegraph();
fclose(HZK);
}
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitkey=P1^4;
ucharcodetable[][32]={
/*薛*/
0x20,0x00,0x27,0xFE,0x2C,0xA4,0x24,0xA4,0xF4,0xA4,0x27,0xBC,0x20,0x40,0x22,0x48,
0x23,0x48,0x2A,0xC8,0xF6,0x7F,0x22,0xC8,0x27,0x58,0x62,0x48,0x20,0x40,0x00,0x00,
/*二*/
0x00,0x08,0x00,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x08,
0x10,0x08,0x10,0x08,0x10,0x08,0x30,0x08,0x10,0x08,0x00,0x18,0x00,0x08,0x00,0x00,
/*炜*/
0x01,0x02,0x0E,0x04,0x00,0x18,0xFF,0xE0,0x04,0x10,0x18,0x4C,0x12,0x40,0x12,0x40,
0x12,0x40,0xFF,0xFF,0x12,0x40,0x12,0x48,0x16,0x44,0x32,0xF8,0x10,0x40,0x00,0x00
};
uchardatadispram[32];
////////////////////////////////
delayms(uintt)
{
uchari;
uintj;
for(j=0;j for(i=0;i<100;i++); } ///////////////////////////////// scan() { uchari,j,k; for(i=0;i<3;i++)//i为字的个数 { for(k=0;k<16;k++) { for(j=0;j<15;j++) { dispram[j*2]=dispram[(j+1)*2]; dispram[j*2+1]=dispram[(j+1)*2+1]; } dispram[30]=table[i][k*2]; dispram[31]=table[i][k*2+1]; delayms(200);//滚动时间设置 } } } voidmain() { TH0=0xfb; TL0=0x30; IE=0x82; TMOD=0x01; TR0=1; P2=0x00; P3=0x00; P1=0x0f; while (1) { scan(); } } voidt0(void)interrupt1 { uchark; key=1; TH0=0xfb; TL0=0x30; k=P1; k=++k&0x0f; P2=dispram[k*2]; P3=dispram[k*2+1]; P1=k; key=0; } #include #include #include #include #include #defineSPEED2000 #defineTIME1800 #defineuintunsignedint #defineucharunsignedchar #defineBLKN2 //用于点阵列扫描的595的个数 #defineTOTAL26 //待显示的字数 #defineCONIOP1 ucharnumber;//d=0, ucharcontrol=0,choose,send; ucharreceive_number=3,send_number=0; bitBUSY; bitSMB_RW; ucharhou=0; ucharmin=0; ucharsec=0; ucharsg;//时高位 ucharsd;//时低位 ucharfg;//分高位 ucharfd;//分低位 ucharmg;//秒高位 ucharmd;//秒低位 sbitCLK=P1^7; //输出脉冲 sbitscyx=P1^6; //复位 sbitled=P0^7; sbitpcf8563_scl=P0^5;//时钟频率 sbitpcf8563_sda=P0^4;//串行数据传输脚 ucharidatadispram[(BLKN/2)*32]={0}; ucharreceive1[3]={0x00,0x00,0x00};//时、分、秒 ucharsend1[4]={0x02,0x33,0x25,0x03};//时、分、秒、器件地址 /*********************************字模表***************************************/ ucharcodeBmp[][32]={ {0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x1C,0x18,0x38,0x1C,0x38,0x0E,0x38,0x0E, 0x78,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1C,0x1C,0x18,0x07,0xF0,0x00,0x00,0x00,0x00}, /***数字0***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x0F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0, 0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x0F,0xFC,0x00,0x00,0x00,0x00}, /***数字1***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x18,0x1C,0x38,0x1C,0x18,0x1C,0x00,0x38, 0x00,0x70,0x01,0xC0,0x07,0x00,0x0C,0x06,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00}, /***数字2***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x38,0x38,0x1C,0x00,0x38,0x03,0xF0, 0x03,0xF0,0x00,0x1C,0x00,0x0E,0x38,0x1C,0x38,0x1C,0x0F,0xF0,0x00,0x00,0x00,0x00}, /***数字3***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0xF0,0x01,0xF0,0x03,0x70,0x0C,0x70, 0x18,0x70,0x30,0x70,0x3F,0xFE,0x00,0x70,0x00,0x70,0x03,0xFE,0x00,0x00,0x00,0x00}, /***数字4***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x18,0x00,0x18,0x00,0x18,0xC0,0x1F,0xF8, 0x18,0x1C,0x00,0x1E,0x10,0x0E,0x38,0x1C,0x38,0x18,0x0F,0xF0,0x00,0x00,0x00,0x00}, /***数字5***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF8,0x0C,0x3C,0x18,0x08,0x38,0x00,0x3F,0xF8, 0x7C,0x1C,0x78,0x0E,0x38,0x0E,0x38,0x0E,0x1C,0x1C,0x07,0xF0,0x00,0x00,0x00,0x00}, /***数字6***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFE,0x3C,0x0C,0x30,0x18,0x00,0x30,0x00,0x60, 0x00,0xC0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00}, /***数字7***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF8,0x38,0x0C,0x30,0x0E,0x3C,0x0C,0x1F,0xF8, 0x0F,0xF0,0x38,0x3C,0x30,0x0E,0x70,0x0E,0x38,0x0C,0x0F,0xF0,0x00,0x00,0x00,0x00}, /***数字8***/ {0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF0,0x38,0x18,0x30,0x0C,0x70,0x0E,0x30,0x0E, 0x38,0x3E,0x1F,0xEE,0x00,0x1C,0x18,0x18,0x3C,0x30,0x1F,0xE0,0x00,0x00,0x00,0x00}, /***数字9***/ {0x00,0x40,0x40,0x40,0x30,0x40,0x10,0x40,0x00,0x48,0x00,0x7C,0xF0,0x40,0x10,0x40, 0x10,0x40,0x10,0x40,0x10,0x40,0x12,0x40,0x14,0x40,0x18,0x44,0x17,0xFE,0x00,0x00},//让 {0x00,0x08,0x3F,0xFC,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x21,0x08, 0x21,0x08,0x3F,0xF8,0x20,0x08,0x02,0x00,0x51,0x88,0x50,0x96,0x90,0x12,0x0F,0xF0},//思 {0x10,0x80,0x10,0xA0,0x20,0x94,0x21,0xFE,0x49,0x10,0xFB,0x10,0x15,0xFC,0x21,0x10, 0x41,0x10,0xFD,0xFC,0x01,0x10,0x01,0x10,0x1D,0x14,0xE1,0xFE,0x41,0x00,0x01,0x00},//维 {0x01,0x20,0x41,0x24,0x2F,0xFE,0x21,0x24,0x01,0x24,0x8F,0xFC,0x49,0x24,0x09,0x20, 0x1F,0xFE,0x29,0x22,0xE1,0x22,0x21,0x2A,0x22,0x24,0x22,0x20,0x24,0x20,0x28,0x20},//沸 {0x00,0x40,0x7A,0x48,0x49,0x50,0x4B,0xFC,0x48,0x80,0x7F,0xFE,0x49,0x10,0x4A,0x0E, 0x4D,0xF4,0x78,0x10,0x49,0x14,0x49,0xFE,0x48,0x04,0x4F,0xE4,0x88,0x14,0x18,0x08},//腾 {0x08,0x00,0x08,0x08,0x08,0xFC,0x7E,0x08,0x08,0x08,0x08,0x08,0xFE,0xF8,0x08,0x88, 0x28,0x80,0x2E,0x84,0x28,0x84,0x28,0x7C,0x28,0x00,0x58,0x06,0x8F,0xFC,0x00,0x00},//起 {0x01,0x00,0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x21,0x10,0x19,0x30,0x09,0x44, 0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x30,0x31,0x1E,0xC1,0x04,0x01,0x00,0x01,0x00},//来 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x0C,0x00,0x1E,0x00,0x1E,0x00,0x0C,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x00,0x00},//, {0x00,0x40,0x40,0x40,0x30,0x40,0x10,0x40,0x00,0x48,0x00,0x7C,0xF0,0x40,0x10,0x40, 0x10,0x40,0x10,0x40,0x10,0x40,0x12,0x40,0x14,0x40,0x18,0x44,0x17,0xFE,0x00,0x00},//让 {0x20,0x00,0x22,0x04,0x3F,0x7E,0x48,0x44,0x08,0x44,0xFF,0xC4,0x10,0x44,0x14,0x7C, 0x22,0x44,0x42,0x10,0x9F,0xF8,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10},//智 {0x08,0x20,0x7E,0xFC,0x08,0x20,0x3E,0xF8,0x08,0x20,0x7E,0xFC,0x08,0x20,0x3F,0xF8, 0x00,0x08,0xFF,0xFE,0x00,0x08,0x3F,0xF8,0x09,0x00,0x28,0xA8,0x48,0x24,0x07,0xE0},//慧 {0x08,0x08,0x0B,0xFC,0x10,0x00,0x20,0x00,0x40,0x00,0x08,0x04,0x17,0xFE,0x30,0x10, 0x50,0x10,0x90,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x50,0x10,0x20},//行 {0x00,0x40,0x08,0x40,0x7C,0x40,0x00,0x44,0x05,0xFE,0xFE,0x44,0x10,0x44,0x10,0x44, 0x20,0x44,0x24,0x44,0x42,0x84,0xFE,0x84,0x41,0x04,0x01,0x04,0x02,0x28,0x04,0x10},//动 {0x08,0x00,0x08,0x08,0x08,0xFC,0x7E,0x08,0x08,0x08,0x08,0x08,0xFE,0xF8,0x08,0x88, 0x28,0x80,0x2E,0x84,0x28,0x84,0x28,0x7C,0x28,0x00,0x58,0x06,0x8F,0xFC,0x00,0x00},//起 {0x01,0x00,0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x21,0x10,0x19,0x30,0x09,0x44, 0xFF,0xFE,0x03,0x80,0x05,0x40,0x09,0x30,0x31,0x1E,0xC1,0x04,0x01,0x00,0x01,0x00},//来 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x3C,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3C,0x00,0x00,0x00},//.}; ucharcodeBmp1[][32]={ {0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x08,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41,0x00, 0x81,0x10,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00}, {0x00,0x10,0x1F,0xF8,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x00,0x00}, {0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x88,0x5B,0xFC,0x54,0x88,0x50,0x88,0x90,0x88, 0x10,0x88,0x1F,0xFE,0x10,0x80,0x11,0x40,0x11,0x20,0x12,0x10,0x14,0x0E,0x18,0x04}, {0x00,0x20,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F,0xFE, 0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02,0x00}, {0x00,0x00,0x38,0x1C,0x44,0x22,0x54,0x2A,0x44,0x22,0x37,0xEC,0x08,0x10,0x10,0x08, 0x2E,0x74,0x20,0x04,0x21,0x84,0x24,0x24,0x13,0xC8,0x08,0x10,0x07,0xE0,0x00,0x00} }; /*********************************字模表***************************************/ /************系统函数的配置***********/ voidsysclk_int(void) //内部晶振 { OSCICL=0x83; OSCICN=0xc3;//不分频 CLKSEL=0x00; } /* voiddelay1(ucharn) //延时程序 { ucharj; for(j=0;j { _nop_(); _nop_(); _nop_(); _nop_(); } } */ voiddelay(uinti) //毫秒延时 { registerucharj;// for(;i;i--) for(j=0;j<255;j++); } voidSPI_INT(void) //SPI初始化 { SPI0CFG=0x40; SPI0CN=0x01; //00000001最后一位是SPI使能位 SPI工作在三线主方式 SPI0CKR=0x0f; //SPI时钟频率设置为100kHz0x63 IE&=0xbf; //关闭SPI中断 } voidSMB_INT(void) //SMB初始化 { SMB0CF=0x5f; //使能SMB允许时间扩充定时器2低字节溢出时钟源 SMB0CF|=0x80; } voidTIME01_INT(void) //定时器初始化 { TCON=0x10; //定时器0允许 TMOD=0x01; //定时器0在16位工作方式 CKCON&=0xf8; CKCON|=0x01; //定时器0使用系统4分频 TL0=0x03; TH0=0x03; IE|=0x02; } voidTIME2_INT(void) //定时器2用于配置SMB的时钟频率 { TMR2CN=0x00; CKCON|=0x00; TMR2RLL=0xef; TMR2RLH=0xff; TMR2L=0xef; TMR2H=0xff; TMR2CN|=0x0c; } voidTIME3_INT(void)//用于I2C的超时检测 { TMR3CN=0x00; //定时器3为16位自动重载 CKCON&=~0x40; TMR3RLL=0xaf; TMR3RLH=0x57; TMR3L=0xaf; TMR3H=0x57; EIE1|=0x00; TMR3CN|=0x04; } voidpio_int(void) //端口配置 { XBR0=0x06; XBR1=0x40; P0MDIN=0xff; //禁止模拟输入,0为模拟,1为数字 P0MDOUT=0x0d; //0为开漏,1为推挽(ff) P0SKIP=0x08; P1MDIN=0xff; P1MDOUT=0xff;//低四位用于138 P1SKIP=0x00; P0=0xff; P1=0xff; } /*************呈现各种显示效果的函数集****************/ //voidJump_Word(uchara) 立即跳显示一个字或一张图案 //voidM_Word(uchara) 卷帘出显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序