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

C<b>编译器</b>

  • Microchip推出的PIC18系列单片机由于采用改进型的哈佛结构及优化的硬件结构,内含三个间接寻址寄存器FSR0、FSR1和FSR2, RAM 和ROM 空间都比较大, 因此PIC18非常适合于采

    Microchip推出的PIC18系列单片机由于采用改进型的哈佛结构及优化的硬件结构,内含三个间接寻址寄存器FSR0、FSR1和FSR2, RAM 和ROM 空间都比较大, 因此PIC18非常适合于采用C语言进行软件设计。C语言具有可读性强, 便于移植等优点。 虽然MPLAB-C18 C语言编译器的编译效率比较高, 但与汇编语言相比, C的效率终究差一些, 因此在某些应用场合, 如何优化C的效率, 减小代码, 提高执行速度, 是许多工程师们的追求目标。下面介绍MPLAB-C18 C编译器的一些优化技巧, 与大家共享。

    标签: Microchip PIC 18 FSR0

    上传时间: 2013-12-20

    上传用户:jkhjkh1982

  • 【问题描述】 在一个N*N的点阵中

    【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。

    标签: 点阵

    上传时间: 2014-06-21

    上传用户:llandlu

  • Yacc 与 Lex 快速入门

    Lex 和 Yacc 是 UNIX 两个非常重要的、功能强大的工具。事实上,如果你熟练掌握 Lex 和 Yacc 的话,它们的强大功能 使创建 FORTRAN 和 C 的编译器如同儿戏。Ashish Bansal 为您详细的讨论了编写自己的语言和编译器所用到的这两种 工具,包括常规表达式、声明、匹配模式、变量、Yacc 语法和解析器代码。最后,他解释了怎样把 Lex 和 Yacc 结合起 来。

    标签: Yacc Lex 快速入门

    上传时间: 2016-04-22

    上传用户:h3596

  • 离散实验 一个包的传递 用warshall

     实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); } 

    标签: warshall 离散 实验

    上传时间: 2016-06-27

    上传用户:梁雪文以

  • 道理特分解法

    #include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; } 

    标签: 道理特分解法

    上传时间: 2018-05-20

    上传用户:Aa123456789

  • Keil Cx51 V7_0单片机高级语言编程与_uVision2应用实践

    本书详细介绍了KeilCx5]V7.0版本单片机C语言编译器和全新Windows集成开发环境uVision2的强大功能和具体使用方法。全面介继了最新版本Cx51编译器新增加的控制命令,给出了全部Cx51运行库函数及其应用范例,对KeilCx5l软件包中各种应用工具,如BL51/Lx5]连接定位器、A51/Ax51宏剂编器、LIB51库管理程序以及OH51符号转换程序等都作了详细介绍,还介绍了单片机实时多任务操作系统RTX51及其了集RTX51TINY的具体功能与应用方法。uVision2已经将调试器功能集成于其中,用户可以在单一环境下完成从源程序编写、编译、链接定位一直到目标文件的仿真调试等全部工作,书中详细介绍了uVision2各种功能和应用,包括软件模拟调试和硬件目标板实时在线仿真。本书的特点是强调先进性和实用性,给出了大量程序实例,并带有一张由Keil公司提供的配套CD-ROM光盘,其中包括Keil Cx51V7.0版本全功能评估软件包,本书各章中列出的全部程序代码,以及Keil Cx51源程序仿真硬件目标板的照片和使用说明。本书适合于从事单片机应用系统开发研制的广大工程技术人员阅读,也可以作为高等院校相关专业大学生或研究牛的教学参考书。

    标签: keil 单片机 uvision

    上传时间: 2022-06-23

    上传用户:xsr1983

  • 安森美车规级1080P图像传感器AR0231手册

    AR0231AT7C00XUEA0-DRBR(RGB滤光)安森美半导体推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品AR0231AT,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。新器件能捕获1080p高动态范围(HDR)视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵列。它采用最新的3.0微米背照式(BSI)像素及安森美半导体的DR-Pix™技术,提供双转换增益以在所有光照条件下提升性能。它以线性、HDR或LFM模式捕获图像,并提供模式间的帧到帧情境切换。 AR0231AT提供达4重曝光的HDR,以出色的噪声性能捕获超过120dB的动态范围。AR0231AT能同步支持多个摄相机,以易于在汽车应用中实现多个传感器节点,和通过一个简单的双线串行接口实现用户可编程性。它还有多个数据接口,包括MIPI(移动产业处理器接口)、并行和HiSPi(高速串行像素接口)。其它关键特性还包括可选自动化或用户控制的黑电平控制,支持扩频时钟输入和提供多色滤波阵列选择。封装和现状:AR0231AT采用11 mm x 10 mm iBGA-121封装,现提供工程样品。工作温度范围为-40℃至105℃(环境温度),将完全通过AEC-Q100认证。

    标签: 图像传感器

    上传时间: 2022-06-27

    上传用户:XuVshu

  • IAR安装与使用图文教程

    IAR安装IAR Embedded Workbench(简称EW)的C/C++交叉编译器和调试器是今天世界最完整的和最容易使用专业嵌入式应用开发工具。EW对不同的微处理器提供一样直观用户界面。EW今天已经支持35种以上的8位/16位32位ARM的微处理器结构。EW包括:嵌入式C/C++优化编译器,汇编器,连接定位器,库管理员,编辑器,项目管理器和C-SPY调试器中。使用IAR的编译器最优化最紧凑的代码,节省硬件资源,最大限度地降低产品成本,提高产品竞争力,EWARM是IAR目前发展很快的产品,EWARM已经支持ARM7/9/10/1lXSCALE,并且在同类产品中具有明显价格优势。其编译器可以对一些SOC芯片进行专门的优化.如Atmel,TI,ST,Philips,除了EWARM标准版外,IAR公司还提供EWARMBL(256K)的版本,方便了不同层次客户的需求。IAR System是嵌入式领域唯一能够提供这种解决方案的公司。EW支持35种以上的8位/16位/32位的微处理器结构。IAR Embedded Workbench 集成的编译器主要产品特征:·高效PROMable代码·完全标准C兼容·内建对应芯片的程序速度和大小优化器

    标签: iar

    上传时间: 2022-06-28

    上传用户:

  • dsPIC33FJ32MC204 单片机使用入门

    介绍针对dsPIC33FJ32MC204或同系列单片机使用入门。1、开发环境选择开发环境:MPLAB IDEV8.80编译软件:MPLABC30,其中v3.25版本C语言编译器 pic30-gcc.exe,见下图。尝试过使用最新开发环境MPLABXIDEV1.95配合数种编译器均无法对程序编译通过。2、程序代码PROJECT工程建立通过菜单中Project->Project Wizard 按步骤建立。建立完成后添加源文件c、头文件h、链接文件gld,见下图。其中源文件FIRST.c文件如下:#include"p33FJ32MC204.h"int main(){while(1);

    标签: dspic33fj32mc204 入门

    上传时间: 2022-07-24

    上传用户:

  • VIP专区-嵌入式/单片机编程源码精选合集系列(40)

    VIP专区-嵌入式/单片机编程源码精选合集系列(40)资源包含以下内容:1. epson公司的一个关于s1d13706的低层驱动程序.2. ads1.2的一个工程.3. 一些FPGA的扩展电路原理图.4. 一些DSP的c语言源程序.5. 凌阳单片机声控小车源码,对于想开发声控小车的人来说,是相当有用的.6. ATMEL的下载线制作和下载软件,有需要的可以来看.7. 一个比较老的C语言编译器,WAVE的老板本仿真器只能用他.8. LM8361、TMS3450、TMS1943数字钟电路.9. 该程序代码实现对Flash Rom AM29LV160烧写数据的功能.10. 嵌入PIC16F77的激光传感器程序RS485输出.11. PIC16F77单片机I2C读写程序.12. 这是家用摄像头的源程序.13. lwIP is a small independent implementation of the TCP/IP protocol suite that has been developed by.14. 详细的MiniGUI源代码.15. 日本的嵌入式实时操作系统UITRON3.0 该系统以得到几十亿片的应用业绩.16. IEC61131-3标准说明.17. 一线通讯协议的c51例子程序源代码.18. C字符串底层函数的实现。对一些想了解C的低层函数的人很有帮助.19. 使用vhdl语言编写的交通灯控制程序.20. 使用C语言编写的单片机控制LCD显示程序.21. 此程序是一底层开发驱动代码,里面包括了I2C芯片(MAX5417)及1 wire sensor、AD驱动的源代码!稍作改动就能用于自己的产品开发中!.22. 这是利用Mifare SDK开发的读写基于ISO14443标准RF卡的程序。.23. 这是用于Mifare卡开发的programmer reference和DLL文件.24. C51单片机用C语言编写的SPI例程.25. CPLD7256的例子程序.26. SUMSUNG S3C44B0X ARM7的一个RTC实时时钟的显示和修改的例程.27. 哈工大智能电动车软件的源代码.28. 这是有关单总线数字温度芯片DS18B20的keilC和ASM汇编的混合编程.29. 这是一个在51单片机上用汇编实现的除法程序。.30. Chapter 5 "Construction case with USB host system that handles USB controller SL811" sample progra.31. "TCP/IP + Ethernet network equipment design method" sample program.32. JAPAN "RTOS technology that learns with TOPPERS".33. JAPAN RTOS TOPPERS/JSP kernel 1.4 PreRelease simulation environment JSP kernel Windows simulation.34. 键盘扫描程序.35. pcb EMI 资料很好 是英文资料.36. PCB EMI 的防护的资料是英文的.37. pcb EMI 的防护的资料.38. pcb EMI 的防护的资料.39. pcb EMI 的防护的资料.40. pcb EMI 的防护的资料.

    标签: 液压系统 模拟机

    上传时间: 2013-06-12

    上传用户:eeworm