虫虫首页|资源下载|资源专辑|精品软件
登录|注册

源程序

源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
  • 基于AT89C2051的红外遥控学习器源程序

    基于AT89C2051的红外遥控学习器源程序6 源程序          ORG 0000H          AJMP MAIN          ORG 0003H          AJMP KEYPRESS          ORG 000BH           AJMP TIMEOUT          ORG 001BH          AJMP TIMEOUT           SENDDUAN   BIT P3.0          JIEDUAN    BIT P3.1          INTRPO     BIT P3.2          JIEXUAN    BIT P3.3          SENDLIGHT  BIT P3.4          JIELIGHT   BIT P3.5          CS         BIT P3.7          DATADUAN   BIT P1.6          CLK        BIT P1.7           JIANWEI    EQU R5          JIANMA     EQU R6          SHANGJIAN  EQU 07H;R7          OPENKEY    EQU 81H          CLOSEKEY   EQU 00H          CHUT0      EQU 11H          CHUT1      EQU 11H          BUFBEGIN   EQU 18H          OPENT1     EQU 88H          CLOSET1    EQU 00H          OPENT0     EQU 82H          CLOSET0    EQU 00H          DATABEG1   EQU 0AAH          DATABEG2   EQU 33H           ORG 0030HMAIN:     MOV  IE,#80H          MOV  IP,#00H          MOV  P3,#0FFH          CLR  CS          SETB P1.0          SETB P1.1          SETB P1.2          CLR  P1.3          CLR  P1.4          CLR  P1.5          CLR  P1.6          CLR  P1.7                    MOV  R3,#80H          MOV  R0,00HCYCLE1:   MOV  @R0,#00H          INC  R0          DJNZ R3,CYCLE1                    MOV  PSW,#00H          MOV  SP,#07H           MOV  TMOD,#11H          MOV  TCON,#00H START:    MOV  SP,#07H          SETB SENDDUAN          CLR  F0          SETB EXOWAITKEY:  MOV  C,F0          JNC  WAITKEY          CJNC JIANMA,#1BH,SEND          LCALL LEARNP          LJMP STARTSEND:     LCALL SENDP          LJMP START SENDP:    SETB SENDDUAN          CLR  F0          MOV  TMOD,#CHUT1

    标签: C2051 2051 89C AT

    上传时间: 2013-10-14

    上传用户:lyy1234

  • 串行编程器源程序(Keil C语言)

    串行编程器源程序(Keil C语言)//FID=01:AT89C2051系列编程器//实现编程的读,写,擦等细节//AT89C2051的特殊处:给XTAL一个脉冲,地址计数加1;P1的引脚排列与AT89C51相反,需要用函数转换#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引脚排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//编程前的准备工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//编程结束后的工作,设置合适的引脚电平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//从P0口获得数据{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//转换并设置P0口的数据{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//读特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//写器件{//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //写一个单元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效验:循环读,直到读出与写入的数相同 {  nTimeOut++;  if(nTimeOut>1000)//超时了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//读器件{ BYTE Data;//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 //读一个单元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一个脉冲指向下一个单元//----------------------------------------------------------------------------- return Data;} void Lock01()//写锁定位{ InitPro01();//先设置成编程状态//----------------------------------------------------------------------------- //根据器件的DataSheet,设置相应的编程控制信号 if(ComBuf[2]>=1)//ComBuf[2]为锁定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//设置pw中的函数指针,让主程序可以调用上面的函数{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    标签: Keil 串行 C语言 编程器

    上传时间: 2013-11-11

    上传用户:gut1234567

  • 用C51写的普通拼音输入法源程序代码

    用C51写的普通拼音输入法源程序代码:原作使用了一个二维数组用以查表,我认为这样比较的浪费空间,而且每个字表的索引地址要手工输入,效率不高。所以我用结构体将其改写了一下。就是大家现在看到的这个。  因为代码比较的大,共有6,000多汉字,这样就得要12,000 byte来存放GB内码,所以也是没办法的.编译结果约为3000h,因为大部分是索引表,代码优化几乎无效。    在Keil C里仿真芯片选用的是华邦的W77E58,它有32k ROM, 256B on-chip RAM, 1K on-chip SRAM (用DPTR1指针寻址,相当于有1K的片上xdata)。条件有限,没有上片试验,仿真而已。  打算将其移植到AVR上,但CodeAVRC与IAR EC++在结构体、指针的定义使用上似乎与C51不太一样,现在还未搞定。还希望在这方面有经验的网友能给予指导。 #include<stdio.h> char * py_ime(char *); void main(void){ while(1)    {     char input_string[]="yI";     xdata char chinese_string[255];     sprintf(chinese_string,"%s",py_ime(input_string));    }}

    标签: C51 拼音输入法 代码 源程序

    上传时间: 2013-10-30

    上传用户:cainaifa

  • U盘IC1114的电路图和C语言源程序

    U盘IC1114的电路图和C语言源程序

    标签: 1114 IC U盘 C语言

    上传时间: 2013-12-17

    上传用户:hanli8870

  • 微型打印机的C语言源程序

    微型打印机的C语言源程序:微型打印机的C51源程序#define uchar unsigned char#define uint unsigned int#include <reg52.h>#include <stdio.h>#include <absacc.h>#include <math.h>#include <string.h>#include <ctype.h>#include <stdlib.h>#define PIN XBYTE[0x8000]#define POUT XBYTE[0x9000]sbit PRINTSTB =P1^6;sbit DOG=P1^7;bdata char pin&#118alue;sbit PRINTBUSY=pin&#118alue^7;sbit PRINTSEL =pin&#118alue^6;sbit PRINTERR =pin&#118alue^5;sbit PRINTACK =pin&#118alue^4;  void PrintString(uchar *String1,uchar *String2);void initprint(void);void print(uchar a);  void initprint(void) //打印机初始化子程序 {  pin&#118alue=PIN;  if((PRINTSEL==1)&&(PRINTERR==1))  {    print(0x1b); print(0x40); print(0x1b); print(0x38); print(0x4);  }}void print(uchar a) //打印字符a{  pin&#118alue=PIN;  if((PRINTSEL==0)||(PRINTERR==0)) return;  for(;;) {    DOG=~DOG;    pin&#118alue=PIN;    if(PRINTBUSY==0) break;  }  DOG=~DOG;  POUT=a;  PRINTSTB=1;  PRINTSTB=1;  PRINTSTB=1;  PRINTSTB=1;  PRINTSTB=0;  PRINTSTB=0;  PRINTSTB=0;  PRINTSTB=0;  PRINTSTB=1;}void PrintString(uchar *String) //打印字符串后回车{  uchar CH;  for (;;) {   DOG=~DOG;   CH=*String;   if (CH==0) { print(0x0d); break; }   print(CH);   String++;  }  initprint();}

    标签: 微型打印机 C语言 源程序

    上传时间: 2013-10-17

    上传用户:hasan2015

  • 51单片机驱动步进电机(含电路图和C语言源程序代码)

    51单片机驱动步进电机(含电路图和源程序代码) 源程序:stepper.c stepper.hex /* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400 /* flag1 mask byte 0x01 run cw() 0x02 run ccw() */

    标签: 51单片机 驱动 步进电机 C语言

    上传时间: 2013-11-09

    上传用户:钓鳌牧马

  • USB鼠标设计资料 (含原理图和源程序)

    USB鼠标设计资料含有原理图,芯片资料,和源程序代码。

    标签: USB 鼠标 设计资料 原理图

    上传时间: 2013-10-12

    上传用户:3294322651

  • 51单片机读写u盘(含源程序和原理图)

    附件有51单片机加上sl811读写U盘的源程序和原理图 /*--------------------------------------------------------------------------AT89X52.H Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.Copyright (c) 1995-1996 Keil Software, Inc.  All rights reserved.--------------------------------------------------------------------------*/ #ifndef AT89X52_HEADER_FILE#define AT89X52_HEADER_FILE 1 /*------------------------------------------------Byte Registers------------------------------------------------*/sfr P0      = 0x80;sfr SP      = 0x81;sfr DPL     = 0x82;sfr DPH     = 0x83;sfr PCON    = 0x87;sfr TCON    = 0x88;sfr TMOD    = 0x89;sfr TL0     = 0x8A;sfr TL1     = 0x8B;sfr TH0     = 0x8C;sfr TH1     = 0x8D;sfr P1      = 0x90;sfr SCON    = 0x98;sfr SBUF    = 0x99;sfr P2      = 0xA0;sfr IE      = 0xA8;sfr P3      = 0xB0;sfr IP      = 0xB8;sfr T2CON   = 0xC8;sfr T2MOD   = 0xC9;sfr RCAP2L  = 0xCA;sfr RCAP2H  = 0xCB;sfr TL2     = 0xCC;sfr TH2     = 0xCD;sfr PSW     = 0xD0;sfr ACC     = 0xE0;sfr B       = 0xF0;

    标签: 51单片机 读写 源程序 原理图

    上传时间: 2014-01-05

    上传用户:lnnn30

  • 2003年第5期《简易串行存储器拷贝器》源程序

    2003年第5期《简易串行存储器拷贝器》源程序

    标签: 2003 串行存储器 拷贝器 源程序

    上传时间: 2014-04-16

    上传用户:问题问题

  • FPGA数字电子系统设计与开发实例导航(源程序)

    FPGA数字电子系统设计与开发实例导航(源程序)        1每个项目都有说明文件,介绍使用方法。

    标签: FPGA 数字电子 开发实例 导航

    上传时间: 2013-10-31

    上传用户:yuchunhai1990