barriers / 阅读 / 详情

如何提高单片机C语言编程能力?

2023-10-05 11:18:02
共5条回复
苏萦

1.先自己写一些小程序,然后再从网上下载些优秀代码回来,对比自己的程序,找出差别,认真对比学习,吃透优秀算法,慢慢积累。

2.从小的模块程序开始,一步一步优化自己的程序,这样的话,以后写的大程序就慢慢好了,没事的时候多看看C的书,不懂的要搞懂,已经懂的要多想想有没有更好的方法。

3另外,单片机与硬件有关,不可能说编译器中的库函数有什么什么,就可直接使用,还得考虑自己单片机的执行速度等好多方面的问题。

4.有空的话,也可以看看软件方面的书,学学一些典型算法。

5.这是后话,程序的效率除了编程外,还与编译器有大的关系,可以从网上看看,学习一下自己使用的编译器的特点。

反正不断努力,肯定会有进步。编程需要练习,不练习,空想成不了高手,不要

浮躁,会驱动51的几个小东西,就得意

编程需要的是综合能力。各个方面都兼顾到,

小教板

找一个现成的系统,包括软硬件,然后对现成的代码边理解边调试;

理解的差不多了,再模仿这些代码完成一些不同的任务;

楼上说的很对,最后就是多做,做的多了,那些编程的思路就自然熟了,变成你自己的了。

cloudcone

买一块单片机开发板,一般都有资料送,很快就能提高了

马老四

多看一些别人的程序。了解别人的正确思路。然后多练,实践是真理

瑞瑞爱吃桃
* 回复内容中包含的链接未经审核,可能存在风险,暂不予完整展示!
多学习单片机的基础知识,多动手制作单片机电路板,多编写单片机程序。
www.dzkfw.c*.cn/myxin/51c_language.chm 单片机c语言编程资料

相关推荐

单片机用什么语言编程

单片机用以下语言可以编程:1、C语言。单片机C语言是一种编译语言,具有编译语言的特点。C语言具有功能丰富的库函数、计算速度快、编译效率高、可移植性好,可直接控制系统。此外,C语言程序具有完整的程序模块结构,为软件开发中模块化程序设计方法的使用提供了有力的保证。2、汇编语言。它的主要优点是占用资源少,程序执行效率高。因为它有一个指令,所以每个指令都很清晰,堆叠和调整都很容易控制,调试也很方便。但是不同类型的单片机可能有不同的编码语言,所以不容易移植。3、PL/M编程语言。P/M是一种具有L/M语言的高级语言,不仅具有L/M语言的高级汇编,而且直接利用CPU的硬件特性进行编程。因此,与其他高级语言相比,它具有更多的功能和更广泛的应用,尤其是在16台单片机的应用领域。4、BASIC编程语言。BASIC是一种高级语言,其英文意思是初学者通用符号代码。在过去的几十年里,BASIC语言被认为是初学者编程的语言,已经从QBASIC发展到很多版本,有很多结构化的思维和编程方法,比如函数、模块、局部变量、全局变量、数据传输等。使用单片机语言的注意事项。1、单片机编程的特点对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。2、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。3、单片机算法运算中,尽量使用加法、减法、移位运算,因为乘法和除法运算会非常费时间,尤其是除法,会耗费很多时间,这对于速度本身就有限制的单片机来说,是一个很大的负担。4、高级语言编写单片机程序的缺陷高级语言可以实现更为优化的算法,更为方便的执行方案,但是,高级语言对程序存储空间的占用要比汇编和C语言多很多。这是最致命的一点,单片机有限的存储空间需要靠精打细算来设计程序,根本经不起高级语言臃肿的代码体积。
2023-09-11 21:27:181

单片机编程用什么语言

摘要:单片机编程是学习单片机的一个重要部分,编程关系到单片机能否正常运行,一般情况下,单片机的程序是用C语言编写的,不过不是传统C语言,而是变种后的C51语言;此外,启动部分、一些要求时效性特别强的部分会用汇编语言编程。学习单片机编程的时候,先要模仿例题,然后试着自己写,熟练了再看别人的编程进行改进。下面一起来了解一下单片机编程用什么语言吧。一、单片机编程用什么语言单片机编程是指编写单片机运行的程序,一般来说,对于刚刚入门学习单片机的朋友来说,学习单片机的编程是很重要的,那么单片机用什么语言编程呢?1、C语言大多数情况下,单片机运行的程序,都是C语言编写的。不过并不是纯粹的传统C语言,而是变种后的C51语言。单片机C51语言是由C语言继承而来的。和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。对于具有C语言编程基础的工程师,能够轻松地掌握单片机C51语言的程序设计。2、汇编语言汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,也称为符号语言。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。在一些情况下,C51并不能完美的实现功能,所以汇编语言是对C51的一个重要补充。一般来说,启动部分(基础硬件的初始化),往往是由汇编语言完成的。除此以外,一些要求时效性特别强,效率要求特别高时,也需要使用汇编语言完成。二、怎么学好单片机编程单片机的编程并不简单,一个完整程序的形成需要有C语言知识以及编程逻辑,编程逻辑决定一个程序是否优秀,是单片机编程一个很重要的问题,只有通过多阅读大神的优秀代码和多动手编写的时候才能一点一点的积累。在学习单片机编程的过程中,按照以下过程学习,效果会更好:1、作为一个初学者,我们就如同一个婴儿一样,我们的第一个能力就是模仿。通过例题的模仿,先熟悉C语言的编写和编辑器的使用。2、然后尝试着不看案例自己写,多写几次找出自己的不足,再通过看书补足。3、最后我们再试着去修改程序,最简单的就是从左到右变成从右到左。最后去阅读一些优质的代码,研究人家的编程思路,找出自己思路的差异多想一下为什么;领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,运行别人的程序和自己修改的程序有何不同,领会其中的奥妙。在学会单片机的编程后,多去看看企业制作产品的标准,自己去动手做,多做项目累积经验,熟能生巧。
2023-09-11 21:27:411

51单片机c语言编程?

对端口输出操作,直接适用赋值语句即可。 比如 P1 = 0x03;对端口读取操作,直接赋值给局部变量即可。对数码管操作,需要先定义 对应的 码表, Tab[16] = {, }分别对应 0~F 的端口输出值、点亮相应的LED位; 然后直接 操作端口输出对应字符即可,比如P1=Tab[3] 数码管输出显示3
2023-09-11 21:29:281

用c语言编程实现C8051F300单片机1s定时,50Hz的方波输出

#include sbit wave=P1^0;void SetupTimer0(){ TMOD &= 0XF0; //仅保留T1信息 TMOD |= 0X02; //设置T0: 定时功能,方式2,自动重载8位定时器/计数器 TH0 = 256-250;//定时每0.25ms中断一次 TL0 = 256-250; TR0 = 1; //开启定时器 ET0 = 1; //定时器0中断打开}data unsigned char us250;data unsigned int ms;bit WAVE; //用以记住当前wave的状态void Timer0_ISR() interrupt 1 //定时中断服务程序,为按键消抖服务{if (++us250<4) return; us250=0; ++ms;if (ms<10) return;//每10ms波形变化一次,20ms完成一个波形,所以波形是50Hz的ms=0; WAVE=~WAVE; wave=WAVE; //方波输出}void main(){ us250=ms=0;wave=WAVE=0;SetupTimer0(); EA = 1; //全局中断打开while(1); //在中断函数中实现方波输出}
2023-09-11 21:30:381

单片机告诉一个地址,怎样用C语言编程读取地址处的值???

4X4键盘还有物理地址?你是怎么得到这个物理地址的呢?-待续-
2023-09-11 21:30:512

单片机C语言编程

这个不难实现,利用独立按键和流水灯的知识可以做的。试试看。
2023-09-11 21:31:024

单片机,C语言编程问题?

应该是判别条件的范围有问题,有情况没有包含或者漏洞。
2023-09-11 21:32:032

单片机C语言编程问题

whlie(A[2]==A)A是数组, ‘A[2]==A"明显语法错误。还有既然‘A[2]==A"才能执行while里的语句那‘if(A[2]==B) 。。。"又有什么意义?Keil 4中机型选择是有AT89C52的
2023-09-11 21:32:123

C语言版51单片机编程问题?

你所说的“没有什么联系、各自独立运行”颇令人费解。既然如此,传感器检测的数值有什么用?传给上位机?LED以及步进电机在什么条件下动作?由上位机控制?如果是这样,就做成单纯的串口驱动型应用就可以了。
2023-09-11 21:32:272

哪些单片机支持c语言编程?

C51, C52, ARM,STM32,AVR,DSP,FPGA等
2023-09-11 21:33:102

单片机c语言编程软件有哪些?

windows下首选VS,版本至少vs2005以上,或者用最新的VSCode,不过需要自己配插件,好处是免费,如果做单片机c开发首选eclipse,linux下如果做单片机首选eclipse,其次是clion。eclipse兼容性最好,不过稳定性差一些,vs在win下没有对手,clion用cmake,相比来说大部分c程序用的都是makefile,需要适应一下。Devc++:这个IDE是windows环境下的,操作简单,功能也不弱,适合新手使用。Codeblocks(强力推荐):功能比较强大的c/c++IDE,有着不错的智能提示。拓展资料C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等。编译器GCC,GNU组织开发的开源免费的编译器MinGW,Windows操作系统下的GCCClang,开源的BSD协议的基于LLVM的编译器VisualC++::cl.exe,MicrosoftVC++自带的编译器集成开发环境CodeBlocks,开源免费的C/C++IDECodeLite,开源、跨平台的C/C++集成开发环境OrwellDev-C++,可移植的C/C++IDEC-FreeLightTableVisualStudio系列HelloWorld
2023-09-11 21:33:521

单片机c语言编了个流水灯,用按键怎么实现它暂停。

可以用定时器设置流水灯的时间间隔,按键控制定时器开关
2023-09-11 21:34:043

char有符号型型变量全称为signedchar一般缩写为char范围是-128~127uchar在C语言中不存在,会出现语法错误。unsignedchar是无符号型变量范围是0~255但大家为了书写简单,大家都做如下定义:这时候Uchar或uchar就可以当无符号型字符变量使用了typedefunsignedcharUchar;typedefunsignedcharuchar;
2023-09-11 21:34:221

单片机c语言编程100个实例

51单片机C语言编程实例 基础知识:51单片机编程基础 单片机的外部结构: 1. DIP40双列直插; 2. P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20); 4. 高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位) 5. 内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍) 6. 程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务) 1. 四个8位通用I/O端口,对应引脚P0、P1、P2和P3; 2. 两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3. 一个串行通信接口;(SCON,SBUF) 4. 一个中断控制器;(IE,IP) 针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。 C语言编程基础: 1. 十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。 2. 如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。 3. ++var表示对变量var先增一;var—表示对变量后减一。 4. x |= 0x0f;表示为 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。 6. While( 1 ); 表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;} 在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P1.3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCC 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。 在某引脚输出低电平的编程方法:(比如P2.7引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2.7 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P2_7 = 0; //给P2_7赋值0,引脚P2.7就能输出低电平GND 5. While( 1 ); //死循环,相当 LOOP: goto LOOP; 6. } 在某引脚输出方波编程方法:(比如P3.1引脚) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P3.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 5. { 6. P3_1 = 1; //给P3_1赋值1,引脚P3.1就能输出高电平VCC 7. P3_1 = 0; //给P3_1赋值0,引脚P3.1就能输出低电平GND 8. } //由于一直为真,所以不断输出高、低、高、低……,从而形成方波 9. } 将某引脚的输入电平取反后,从另一个引脚输出:( 比如 P0.4 = NOT( P1.1) ) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P0.4和P1.1 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P1_1 = 1; //初始化。P1.1作为输入,必须输出高电平 5. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 6. { 7. if( P1_1 == 1 ) //读取P1.1,就是认为P1.1为输入,如果P1.1输入高电平VCC 8. { P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND 2 51单片机C语言编程实例 9. else //否则P1.1输入为低电平GND 10. //{ P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND 11. { P0_4 = 1; } //给P0_4赋值1,引脚P0.4就能输出高电平VCC 12. } //由于一直为真,所以不断根据P1.1的输入情况,改变P0.4的输出电平 13. } 将某端口8个引脚输入电平,低四位取反后,从另一个端口8个引脚输出:( 比如 P2 = NOT( P3 ) ) 代码 1. #include <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P2和P3 2. void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口 3. { 4. P3 = 0xff; //初始化。P3作为输入,必须输出高电平,同时给P3口的8个引脚输出高电平 5. While( 1 ) //非零表示真,如果为真则执行下面循环体的语句 6. { //取反的方法是异或1,而不取反的方法则是异或0 7. P2 = P3^0x0f //读取P3,就是认为P3为输入,低四位异或者1,即取反,然后输出 8. } //由于一直为真,所以不断将P3取反输出到P2 9. } 注意:一个字节的8位D7、D6至D0,分别输出到P3.7、P3.6至P3.0,比如P3=0x0f,则P3.7、P3.6、P3.5、P3.4四个引脚都输出低电平,而P3.3、P3.2、P3.1、P3.0四个引脚都输出高电平。同样,输入一个端口P2,即是将P2.7、P2.6至P2.0,读入到一个字节的8位D7、D6至D0。 第一节:单数码管按键显示 单片机最小系统的硬件原理接线图: 1. 接电源:VCC(PIN40)、GND(PIN20)。加接退耦电容0.1uF 2. 接晶体:X1(PIN18)、X2(PIN19)。注意标出晶体频率(选用12MHz),还有辅助电容30pF 3. 接复位:RES(PIN9)。接上电复位电路,以及手动复位电路,分析复位工作原理 4. 接配置:EA(PIN31)。说明原因。 发光二极的控制:单片机I/O输出 将一发光二极管LED的正极(阳极)接P1.1,LED的负极(阴极)接地GND。只要P1.1输出高电平VCC,LED就正向导通(导通时LED上的压降大于1V),有电流流过LED,至发LED发亮。实际上由于P1.1高电平输出电阻为10K,起到输出限流的作用,所以流过LED的电流小于(5V-1V)/10K = 0.4mA。只要P1.1输出低电平GND,实际小于0.3V,LED就不能导通,结果LED不亮。 开关双键的输入:输入先输出高 一个按键KEY_ON接在P1.6与GND之间,另一个按键KEY_OFF接P1.7与GND之间,按KEY_ON后LED亮,按KEY_OFF后LED灭。同时按下LED半亮,LED保持后松开键的状态,即ON亮OFF灭。 代码 1. #include <at89x52.h> 2. #define LED P1^1 //用符号LED代替P1_1 3. #define KEY_ON P1^6 //用符号KEY_ON代替P1_6 4. #define KEY_OFF P1^7 //用符号KEY_OFF代替P1_7 5. void main( void ) //单片机复位后的执行入口,void表示空,无输入参数,无返回值 6. { 7. KEY_ON = 1; //作为输入,首先输出高,接下KEY_ON,P1.6则接地为0,否则输入为1 8. KEY_OFF = 1; //作为输入,首先输出高,接下KEY_OFF,P1.7则接地为0,否则输入为1 9. While( 1 ) //永远为真,所以永远循环执行如下括号内所有语句 10. { 11. if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1输出高,LED亮 12. if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1输出低,LED灭 13. } //松开键后,都不给LED赋值,所以LED保持最后按键状态。 14. //同时按下时,LED不断亮灭,各占一半时间,交替频率很快,由于人眼惯性,看上去为半亮态 15. } 数码管的接法和驱动原理 一支七段数码管实际由8个发光二极管构成,其中7个组形构成数字8的七段笔画,所以称为七段数码管,而余下的1个发光二极管作为小数点。作为习惯,分别给8个发光二极管标上记号:a,b,c,d,e,f,g,h。对应8的顶上一画,按顺时针方向排,中间一画为g,小数点为h。 我们通常又将各二极与一个字节的8位对应,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相应8个发光二极管正好与单片机一个端口Pn的8个引脚连接,这样单片机就可以通过引脚输出高低电平控制8个发光二极的亮与灭,从而显示各种数字和符号;对应字节,引脚接法为:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。 如果将8个发光二极管的负极(阴极)内接在一起,作为数码管的一个引脚,这种数码管则被称为共阴数码管,共同的引脚则称为共阴极,8个正极则为段极。否则,如果是将正极(阳极)内接在一起引出的,则称为共阳数码管,共同的引脚则称为共阳极,8个负极则为段极。 以单支共阴数码管为例,可将段极接到某端口Pn,共阴极接GND,则可编写出对应十六进制码的七段码表字节数据
2023-09-11 21:34:341

单片机编程时出现undefined identifier是什么意思? 大哥们教教我吧!

undefined identifier是未定义的标志符,在程序内使用了没有被定义的标志符或者变量。具体解决办法:找到未定义的标志符,对其进行赋值即可。定义的是unsigned char num,在使用的时候,写成了NUM,也会出现同样的错误p1,undefined identifier:英文意思就是p1未定义,找不到p1编译出错。扩展资料:C语言单片机编程:单片机软件设计使用C语言作为编程开发软件,采用模块化的程序结构。设计了按键模块程序、RFID模块程序、日历时钟模块程序、GPRS模块程序、显示存储模块程序等,并编写系统主程序,将五个程序模块组合在一起,实现单片机控制系统的整体功能。51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是使用较广的单片机编程语言。单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用 。参考资料来源:百度百科-单片机C语言编程参考资料来源:百度百科-单片机编程器
2023-09-11 21:34:451

单片机制作呼吸灯的C语言程序怎样编写

用pwm脉冲
2023-09-11 21:35:1510

AT89S51单片机c语言程序的编程1

在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)#i nclude <AT89x52.h> //该头文档中有单片机内部资源的符号化定义,其中包含P1.3{P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCCWhile( 1 ); //死循环,相当 LOOP: goto LOOP;}注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。
2023-09-11 21:36:041

学习单片机c语言编程,需不需要学习一下数据结构之类的。

刚学就学的简单的,等到你简单的学会了在学难的 吧。
2023-09-11 21:36:234

单片机C语言编程问题

进入中断先关中断,退出中断处理时要清中断标志位。
2023-09-11 21:36:311

求大神用C语言编写单片机程序!!

太专业了,我是纯软的,单片机不明白
2023-09-11 21:36:552

单片机p1, undefined identifier什么情况啊?

undefined identifier是未定义的标志符,在程序内使用了没有被定义的标志符或者变量。具体解决办法:找到未定义的标志符,对其进行赋值即可。定义的是unsigned char num,在使用的时候,写成了NUM,也会出现同样的错误p1,undefined identifier:英文意思就是p1未定义,找不到p1编译出错。扩展资料:C语言单片机编程:单片机软件设计使用C语言作为编程开发软件,采用模块化的程序结构。设计了按键模块程序、RFID模块程序、日历时钟模块程序、GPRS模块程序、显示存储模块程序等,并编写系统主程序,将五个程序模块组合在一起,实现单片机控制系统的整体功能。51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是使用较广的单片机编程语言。单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用 。参考资料来源:百度百科-单片机C语言编程参考资料来源:百度百科-单片机编程器
2023-09-11 21:37:031

单片机编程(C语言)问题

uchar num; 到0后-1溢出了,成FF了,无符号数为255
2023-09-11 21:37:172

求用C语言编程实现51单片机的LED灯移动

移动,不循环?没有时间要求?
2023-09-11 21:37:384

51单片机C语言对流水灯编程,用定时中断做

把具体要求说清楚后,我才好把按照要求写的程序贴出来
2023-09-11 21:37:474

单片机编程问题(C语言),很入门的问题,明天比赛,急急急!多少分都可以

还没学单片机!无法回答!
2023-09-11 21:38:105

单片机流水灯的C语言编程

这种题目就是向特定端口写值,1亮灯,0灭,如此而已。主要的测试点是结合特定的单片机,将程序的入口点连接成单片机初始化的入口地址。
2023-09-11 21:38:304

单片机用c语言编程,使led灯管从中间开始两个灯向两边循环闪烁

用一个数组就行了
2023-09-11 21:39:002

程序中undefined identifier是什么意思?

undefined identifier是未定义的标志符,在程序内使用了没有被定义的标志符或者变量。具体解决办法:找到未定义的标志符,对其进行赋值即可。定义的是unsigned char num,在使用的时候,写成了NUM,也会出现同样的错误p1,undefined identifier:英文意思就是p1未定义,找不到p1编译出错。扩展资料:C语言单片机编程:单片机软件设计使用C语言作为编程开发软件,采用模块化的程序结构。设计了按键模块程序、RFID模块程序、日历时钟模块程序、GPRS模块程序、显示存储模块程序等,并编写系统主程序,将五个程序模块组合在一起,实现单片机控制系统的整体功能。51单片机支持三种高级语言,即PL/M,C和BASIC。C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是使用较广的单片机编程语言。单片机的C语言采用C51编译器(简称C51)。有C51产生的目标代码短,运行速度高,所需存储空间小,符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言或PL/M51语言目标代码混合使用 。参考资料来源:百度百科-单片机C语言编程参考资料来源:百度百科-单片机编程器
2023-09-11 21:39:081

求51单片机C语言编程大神帮忙

如何才能将所有要实现的功能把他做成一个程序
2023-09-11 21:39:252

单片机的C语言程序设计

不应该说单片机是否支持C语言,目前任何计算机都不直接支持C语言。而应该说某个单片机的开发环境是否支持C语言。就目前来说,几乎所有的单片都有支持C语言的开发环境。用的最多的应该是KEIL,既支持51单片机,也支持ARM的C语言开发。另外TI的CCS支持430的C语言开发。其他的就不一一列举了
2023-09-11 21:39:361

c语言编程c51单片机

#include <reg51.h>#define uchar unsigned char#define uint unsigned intmain(){ uint xdata *xp;//定义指向片外RAM的指针 uint data *p;//定义指向片内RAM的指针 uchar i;//定义循环变量 xp=0x100;//指向片外RAM的100H单元 p=0x30;//指向片内RAM的30H单元 for(i=0;i<10;i++){//循环10次 *p=*xp;//将片外RAM单元中的内容传送给片内RAM单元 xp++;//指向下一个片外RAM单元地址 p++;//指向下一个片内RAM单元地址 }}
2023-09-11 21:39:491

怎样提升自己单片机C语言编程能力啊?求高手指点迷津!我硬件也懂一点 但我想朝编程方面发展 跪求高手指教

找资料,看人家的例程啦
2023-09-11 21:40:047

如何用c语言编程在单片机上做交通信号灯

看名字
2023-09-11 21:40:482

C语言高手进、单片机编程、

void display(); //显示函数申明改成 void display(int x); //显示函数申明
2023-09-11 21:41:272

单片机串口通信C语言编程问题

首先你应该先确认STC(死得惨)的串口波特率是否与电脑的波特率一致,RS-232连接是否正确。另外一个字符应该是‘t",而不是“t”吧?
2023-09-11 21:41:362

51单片机,stm32,arduino都是用什么语言进行编程的?

51单片机,STM32单片机用汇编或者C语言,现在基本都用C语言编程,Arduino有自己的编程环境,用户也是用C语言编程。51单片机的编程51单片机进入中国比较早,在早前用汇编编程比较多,我在上大学时也是学习的汇编编程,但是现在我用C语言编程,汇编已经不会了。51单片机比较常用的编程环境是Keil,现在Keil更新到Keil5了。如下是51单片机Keil的编程环境。STM32单片机的编程STM32单片机是意法半导体推出的高性价比、片上资源丰富的32位单片机,这个系列的单片机我一直在用,都是用C语言进行编程,官方推出的库函数和HAL库都是用C语言编程的,虽然有一部分汇编共存。STM32单片机用KeilMDK进行编程。Arduino的编程Arduino是一款做的非常成功的开源硬件,并且有自己的开发环境,将底层的寄存器设置都进行了封装,用户不用自己配置寄存器,调用封装好的函数即可,可以在官方网站下载编程IDE。Arduino旨在培养用户的编程兴趣,简化了技术难度,很受欢迎。在用户层面,现在C语言编程已经是主流,C语言的移植性和可读性比汇编语言有很大的优势,也有很多人在使用汇编编程,尤其是涉及到底层时。
2023-09-11 21:41:441

单片机编程,c语言中P0=_cror_(0x7f,bi)是什么意思

把函数_cror_(0x7f,bi)的返回值赋值给P0。函数的参数是0x7f和bi
2023-09-11 21:41:553

新概念51单片机C语言教程的作品目录

第1篇入门篇1.1单片机概述1.1.1什么是单片机1.1.2单片机标号信息及封装类型1.1.3单片机能做什么1.1.4如何开始学习单片机1.251单片机外部引脚介绍1.3电平特性1.4二进制与十六进制1.4.1二进制1.4.2十六进制1.5二进制的逻辑运算1.5.1与1.5.2或1.5.3非1.5.4同或1.5.5异或1.6单片机的C51基础知识介绍1.6.1利用C语言开发单片机的优点1.6.2C51中的基本数据类型1.6.3C51数据类型扩充定义1.6.4C51中常用的头文件1.6.5C51中的运算符1.6.6C51中的基础语句1.6.7学习单片机应该掌握的主要内容2.1Keil工程建立及常用按钮介绍2.1.1Keil工程的建立2.1.2常用按钮介绍2.2点亮第一个发光二极管2.3while语句2.4for语句及简单延时语句2.5Keil仿真及延时语句的精确计算2.6不带参数函数的写法及调用2.7带参数函数的写法及调用2.8利用C51库函数实现流水灯第2篇内外部资源操作篇3.1数码管显示原理3.2数码管静态显示3.3数码管动态显示3.4中断概念3.5单片机的定时器中断4.1独立键盘检测4.2矩阵键盘检测5.1模拟量与数字量概述5.2A/D转换原理及参数指标5.3ADC0804工作原理及其实现方法5.4D/A转换原理及其参数指标5.5DAC0832工作原理及实现方法5.6DAC0832输出电流转换成电压的方法第6章串行口通信原理及操作流程6.1并行与串行基本通信方式6.2RS-232电平与TTL电平的转换6.3波特率与定时器初值的关系6.451单片机串行口结构描述6.5串行口方式1编程与实现6.6串行口打印在调试程序中的应用第7章通用型1602,12232,12864液晶操作方法7.1液晶概述7.2常用1602液晶操作实例7.3常用12232液晶操作实例7.4常用12864液晶操作实例第8章I2C总线AT24C02芯片应用8.1I2C总线概述8.2单片机模拟I2C总线通信8.3E2PROMAT24C02与单片机的通信实例第9章基础运放电路专题9.1运放概述及参数介绍9.2反相放大器9.3同相放大器9.4电压跟随器9.5加法器9.6差分放大器9.7微分器9.8积分器第3篇提高篇第10章定时器/计数器应用提高10.1方式0应用10.2方式2应用10.3方式3应用10.452单片机定时器2介绍10.5计数器应用第11章串行口应用提高11.1方式0应用11.2方式2和方式3应用11.3单片机双机通信11.4单片机多机通信第12章指针12.1指针与指针变量12.1.1内存单元、地址和指针12.1.2指针变量的定义、赋值与引用12.2指针变量的运算12.3指针与数组12.3.1指针与一维数组12.3.2指针与多维数组12.4指针与函数12.4.1指针作为函数的参数12.4.2指向函数的指针12.4.3指针型函数12.5指针与字符串12.5.1字符串的表达形式12.5.2字符指针作为函数参数12.5.3 使用字符指针与字符数组的区别12.6指针数组与命令行参数12.6.1 指针数组的定义和使用12.6.2指向指针的指针12.6.3 指针数组作为main()函数的命令行参数12.7指针小结12.7.1指针概念综述12.7.2指针运算小结12.7.3等价表达式12.8C51中指针的使用12.8.1指针变量的定义12.8.2指针应用第13章STC系列51单片机功能介绍13.1单片机空闲与掉电模式应用13.2“看门狗”概念及其应用13.3用软件实现系统复位13.4内部扩展RAM的应用13.5扩展P4口的应用13.6内部E2PROM的应用13.7STC89系列单片机内部A/D应用13.8STC12系列单片机内部A/D应用13.9STC12系列单片机的PCA/PWM介绍13.10STC12系列单片机的SPI接口介绍13.11STC12系列单片机的“576MHz”超速运行第4篇实战篇第14章利用51单片机的定时器设计一个时钟14.1如何从矩阵键盘中分解出独立按键14.2原理图分析14.3实例讲解第15章使用DS12C887时钟芯片设计高精度时钟15.1时钟芯片概述15.2DS12C887时钟芯片介绍15.3如何用TX-1C实验板扩展本实验15.4原理图分析15.5实例讲解第16章使用DS18B20温度传感器设计温控系统16.1温度传感器概述16.2DS18B20温度传感器介绍16.3实例讲解第17章太阳能充/放电控制器17.1控制器原理图分析17.2控制器板上元件介绍17.3实例讲解第18章VC、VB(MSCOMM控件)与单片机通信实现温度显示18.1VCMSCOMM控件与单片机通信实现温度显示18.2VBMSCOMM控件与单片机通信实现温度显示第5篇拓展篇第19章使用Protell99绘制电路图全过程19.1绘制电路板概述19.2建立工程19.3制作元件库19.4添加封装及制作PCB封装库19.5错误检查及生成PCB19.6布线电气特性设置19.7自动布线和手动布线第20章ISD400x系列语音芯片应用20.1ISD400x系列语音芯片介绍20.2ISD400x系列语音芯片操作规则20.3ISD400x系列语音芯片应用实现第21章电机专题21.1直流电机原理及应用21.2步进电机原理及应用21.3舵机原理及其应用第22章常用元器件介绍22.1二极管22.2电容22.3场效应管22.4光耦22.5蜂鸣器22.6继电器22.7自恢复保险22.8瞬态电压抑制器22.9晶闸管(可控硅)22.10电荷泵第23章直流稳压电源专题23.1整流电路23.2滤波电路23.3稳压电路23.4集成稳压模块的使用23.5串联开关型稳压电源第24章运放扩展专题24.1简单低通滤波器24.2“电流-电压”转换电路24.3光电放大器24.4精密电流源24.5可调参考电压源24.6复位稳定放大器24.7模拟乘法器24.8全波整流器和平均值滤波器24.9正弦波振荡器24.10三角波发生器24.11自动跟踪对称电源24.12可调实验电源24.13运放相关术语表附录A天祥电子开发实验板简介A.1TX-1C51单片机开发板(配套详细视频教程)A.2AVR单片机开发板(配套详细视频教程)A.3PIC单片机开发板(配套详细视频教程)A.4J-Link全功能ARM仿真器A.5三星S3C44B0ARM7入门级开发板A.6三星S3C44B0ARM7提高级开发板A.7TX-51STAR51单片机开发板(配套详细视频教程)参考文献
2023-09-11 21:42:031

c语言错误p1, undefined identifier是什么意思?

说明你用了一个没有定义的函数或者变量
2023-09-11 21:42:192

单片机c语言程序解读,,求解释。。

数码管滚动显示数字。
2023-09-11 21:42:483

用c语言编写的单片机程序(就是书上的程序),进行烧录之后就可以让单片机工作?

是的,但你疑问的问题也是存在的。针对不同的单片机,有不同的编译器,每种单片机的c语言编译器都对c语言做了适用于单片机的扩展。编译器在编译单片机c语言的代码时要有一些设置选项或者makefile之类的设置,这些设置对了,程序才能适应选定的单片机。
2023-09-11 21:42:574

单片机C语言实验电脑时钟编程

org 0000h ljmp start ORG 001BH ;INT T1 入口地址 lJMP INT_T1 ORG 0080Hstart: MOV SP,#60H mov 30h,#0 mov 31h,#0 mov 32h,#0 mov 33h,#0 mov 34h,#0 mov 35h,#0 mov 36h,#0 mov 37h,#0 MOV R3,#0H ;时 MOV R2,#0H ;分 mov r1,#0h ;秒 MOV R6,#0H ;标志 mov r7,#0h ;标志 MOV 38h,#0H ;标志 mov 39h,#0h ;标志 MOV TMOD,#10H MOV TL1,#00H ;50 mS 的时间常数 MOV TH1,#04CH MOV R0,#10 mov r4,#2 setb p2.7 SETB TR1 SETB ET1 SETB EA ;允许中断loop: lcall scankey cjne r7,#0ffh,wait1 lcall display2 sjmp loop wait1: CJNE R6,#0FFH,wait LCALL DISPLAY1 MOV 34H,30H MOV 35H,31H MOV 36H,32H MOV 37H,33H sjmp loop wait: lcall display SJMP loop INT_T1: ;INT_T1中断服务子程序 PUSH DPH ;保护现场 PUSH DPL PUSH ACC PUSH PSW CLR TR1 MOV TL1,#00H ;50mS 定时常数 MOV TH1,#4CH SETB TR1 DJNZ R4,EXIT1 MOV R4,#2 mov a,30h CJNE a,#09h,s0 MOV 30h,#0 mov a,31h CJNE a,#9H,s1 MOV 31h,#0H mov a,32h CJNE a,#9H,s2 MOV 32h,#0H mov a,33h CJNE a,#9H,s3 MOV 33h,#0H s3: mov a,33h add a,#1 mov 33h,a s2: mov a,32h add a,#1 mov 32h,a s1: mov a,31H add a,#1 mov 31H,a s0: mov a,30H add a,#1 mov 30H,a DJNZ R0,EXIT1 ;判断毫秒=0 MOV R0,#10 ;DELAY 1 SECOND cpl p2.7 mov a,38h cjne a,#0ffh,next1 ljmp hour1 next1: mov a,39h cjne a,#0ffh,next2 ljmp minute1 next2: CJNE R1,#59H,SECOND ;判断秒=59 MOV R1,#99Hminute1:CJNE R2,#59H,MINUTE ;判断分=59 MOV R2,#99H hour1:CJNE R3,#23H,HOUR ;判断时=23 MOV R3,#99HHOUR: MOV A,R3 ADD A,#1 ;时加1 DA A MOV R3,A mov a,38h cjne a,#00,exit1MINUTE: MOV A,R2 ADD A,#1 ;分加1 DA A MOV R2,A mov a,39h cjne a,#00,exit1SECOND: MOV A,R1 ADD A,#1 ;秒加1 DA A MOV R1,A EXIT1: mov 38h,#0h mov 39h,#0h POP PSW ;恢复现场 POP ACC POP DPL POP DPH RETI ;中断返回DISPLAY: MOV A,R3 ANL A,#0FH mov dptr,#ledseg movc a,@a+dptr MOV P0,A ;MOV P2,#0fbh setb p2.0 clr p2.2 setb p2.1 setb p2.3 lcall delay MOV A,R3 SWAP A ANL A,#0FH mov dptr,#ledseg movc a,@a+dptr MOV P0,A setb p2.0 clr p2.3 setb p2.2 setb p2.1 ;MOV P2,#0f7h lcall delay MOV A,R2 ANL A,#0fH mov dptr,#ledseg movc a,@a+dptr MOV P0,A setb p2.1 clr p2.0 setb p2.2 setb p2.3 ;MOV P2,#0feh lcall delay MOV A,R2 SWAP A ANL A,#0FH mov dptr,#ledseg movc a,@a+dptr MOV P0,A setb p2.0 clr p2.1 setb p2.2 setb p2.3 ;MOV P2,#0fdh lcall delay RETdisplay1: MOV A,30h mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0feh lcall delay MOV A,31h mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0fdh lcall delay MOV A,32H mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0fbh lcall delay MOV A,33H mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0f7h lcall delay RETdisplay2: MOV A,34h mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0feh lcall delay MOV A,35h mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0fdh lcall delay MOV A,36H mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0fbh lcall delay MOV A,37H mov dptr,#ledseg movc a,@a+dptr MOV P0,A MOV P2,#0f7h lcall delay RETdelay: ;延时子程序 PUSH 0 ;保存现场 PUSH 1 MOV 0,#1HDELAY1: MOV 1,#0FH DJNZ 1,$ DJNZ 0,DELAY1 POP 1 ;恢复现场 POP 0 RETscankey: setb p1.0 jb p1.0,p11 lcall delay jb p1.0,p11 mov r6,#0ffh mov r7,#0h mov 30h,#0 mov 31h,#0 mov 32h,#0 mov 33h,#0 SJMP loop1 p11: setb p1.1 jb p1.1,P12 lcall delay jb p1.1,p12 mov r6,#0h mov r7,#0h sjmp loop1 p12: SETB P1.2 JB P1.2,p13 lcall delay jb p1.2,p13 mov r7,#0ffh sjmp loop1 p13: setb p1.3 jb p1.3,p14 lcall delay jb p1.3,p14 mov 38h,#0ffh sjmp loop1 p14: setb p1.4 jb p1.4,loop1 lcall delay jb p1.4,loop1 mov 39h,#0ffh sjmp loop1 loop1: retLEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;"0,1,2,3,4,5,6,7" DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;"8,9,A,B,C,D,E,F" DB 6DH,02H,08H,00H,59H,0FH,76H end
2023-09-11 21:43:234

用C语言编写8051单片机程序

我做了流水灯,可以到我QQ空间看源程序初稿。
2023-09-11 21:43:343

51单片机c语言程序

TMOD=0x01;//T0,工作方式1TH0=0xb1;//20ms定时,自己定的TL0=0xe0;//算的TR0=1;//开启T0定时器ET0=1;//允许T0定时器中断EA=1;//开启总中断允许
2023-09-11 21:43:445

不同单片机c语言编程有何不同?要学习英飞凌8位和16位单片机c编程,可是几乎所有书都是对51的,该从哪入手

这样吧!你还是先学8位的,16位用的不广泛,我可以介意你看下一个视频吗?绝对对你有作用,我学单片机看了他一篇视频就有了很大认识,<霖锋带你从51征服嵌入式>霖锋老师讲的非常好希望对你有帮助.......谢谢
2023-09-11 21:44:004

“卓有成效”这个成语是什么意思?

卓:卓越,高超。有突出的成绩和效果。
2023-09-11 21:41:097

洛杉矶的市内交通路线情况是怎样的

洛杉矶是美国第二大城市,经常被称为"天使之城"。第一次来洛杉矶一定要先了解洛杉矶的交通情况,不然都很难出行。那么洛杉矶的室内交通情况是怎样的。洛杉矶轻轨蓝线洛杉矶轻轨蓝线于1990年通车,为轻轨路线,连接洛杉矶市中心第七街轨道交通车站,与长滩市中心转运车站(TransitMallstation)。自1961年太平洋电气红线系统(PacificElectricRailwayRedCarsystem)停驶后,轨道交通蓝线是洛杉矶地区第一条现代化的城市轨道运输线。从DowntownLa到长滩。票价:单程票$1.50平峰$0.25高峰$0.55洛杉矶轻轨红线洛杉矶地铁红线,为地下铁路线。其起点为洛杉矶市区的联合车站。在1993年,开通至Westlake/MacArthurPark车站。于1999年沿好莱坞大道开通到好莱坞车站,随后在2000年开通至北好莱坞车站。始发于市中心,向西北行驶到达北好莱坞,可将乘客送往好莱坞环球影城、好莱坞高地中心、好莱坞露天剧场及NoHo艺术区。红线可换成橙线,参观南部圣费尔南多谷。票价:单程票$1.50平峰$0.25高峰$0.55洛杉矶轻轨绿线洛杉矶轻轨绿线,于1995年通车,为轻轨路线,连接南湾区的Marine/Redondo车站和洛沃克车站。本线主要在105号州际公路的中央分隔带上行驶,并是区内唯一一条与其他路面完全分隔的轻轨路线。于Aviation/LAX有免费接驳巴士前往洛杉矶国际机场。经过洛杉矶国际机场。票价:单程票$1.50平峰$0.25高峰$0.55洛杉矶轻轨金线洛杉矶轻轨金线,于2003年通车,为轻轨路线,由帕萨迪纳的SierraMadreVilla站经联合车站UnionStation站,再经小东京(LittleTokyo)、东洛杉矶(EastLosAngeles)直到蒙特利公园(MontereyPark)的大西洋大街(AtlanticBlvd)口。其中往洛杉矶东区(EastLosAngeles)的延伸段中有大概1.8英里路段经过BoyleHeights;因该区的路面较为狭窄,该路段将采用地底运行,当中包括两个地下车站。经过中央车站UnionStation,主要是前往帕沙迪纳Pasaden。途径中国城。票价:单程票$1.50平峰$0.25高峰$0.55洛杉矶轻轨紫线洛杉矶地铁紫线,于2006年命名,为地下铁路线,连接联合车站和韩国城的Wilshire/Western站。于2006年以前,本线为红线的一条支线。经过韩国城和威尔顿剧院。票价:单程票$1.50平峰$0.25高峰$0.55洛杉矶轻轨博览线洛杉矶轻轨博览线为一条轻轨路线,将沿着博览大道(ExpositionBoulevard)连接洛杉矶市中心与圣塔莫尼卡。第一期工程于2006年9月展开,施工范围介乎第七街/都会中心站(7thSt/MetroCenter)及CulverCity,一期工程已经于2012年开通。第二期工程会将本线延伸至圣塔莫尼卡,已经开始施工。票价:单程票$1.50平峰$0.25高峰$0.55地铁洛杉矶有三条地铁线,红蓝线是南北向,从市区到好莱坞、长海滩;绿线是东西向,从市区到洛杉矶机场。票价:一次单程车票都为1.50美元,普通全天票价格为5美元,可以无限次随意换乘,7天周票价格为20美元,30天票价格为75美元。公交最主要的是MTA巴士,线路繁多,线路涉及范围大,涵盖了整个洛杉矶。车内不允许吸烟和饮食,下车时记得拉车内的铁线,或是按一下橡皮带,前方的“StopRequired”的红灯如果亮了,表示要下车。前后门都可以下车。除了MTA巴士,还有DASH巴士、BBB巴士,以及行驶马利纳德尔东部地区的CulverCityBus。Metro公司运营超过150条的公交线路,停靠15,000个站点。本地公交每两个街区停靠一次,车身为橙色。快速公交仅在主要路口停靠,车身为红色。票价:一次单程车票都为1.50美元,普通全天票价格为5美元,可以无限次随意换乘,7天周票价格为20美元,30天票价格为75美元。出租车在洛杉矶是不能街边叫车的,在旅馆或餐厅用电话叫车或巴士站附近的出租车停靠区(TaxiZone)乘坐即可。携带大件行李时,可能有额外费用,另外,记价器打出来的价钱外加10%-15%的小费。叫车电话:LACab:800-521-8294YellowCab:877-733-3305Checker:800-300-5007Independent:800-200-1085
2023-09-11 21:41:091

有危险化学品经营许可证是否可以异地经营

上海
2023-09-11 21:41:146

鲁迅的杂文分为哪几类?

鲁迅杂文体式有以下几种。 一、论说体杂文。这是鲁迅杂文的主体部分,不但量多,而且论辩实力异常雄厚,产生的影响也极为深远。 论说体杂文,就是采用可见的论证形式铺排成篇的一种时评或文评。在这种体式的杂文中可以找到论点,可以找到论据,当然也可以找到论证及其形式。鲁迅杂文《中国人失掉自信力了吗》一文,先说一部分中国人“自信其实是早就失掉了的”,这是论点;这前后是一个归纳论证:信地、信物、信“国联”,后来信神、信佛,“都没有相信过‘自己"”。后面论证中国人并没有失掉自信力,“然而在这笼罩之下,我们有并不失掉自信力的中国人在”,这是论点;下文“我们自古以来,就有埋头苦干的人,有拼命硬干的人,有为民请命的人,有舍身求法的人,……”,这是论据,这中间也是运用了归纳论证。这种正规的、传统的、常见的论证的因素,是随处可见的。所以,我们称它是一种论说体杂文, 当然这种论说体杂文,其中也有文艺的即诗的因素,否则,就不是杂文,而是地地道道、正经八百的论文了;但在论说体杂文中,文艺的即诗的因素,不是整体性的,而是局部性的,其中出现的形象描绘、诗的语言是零星的、片断的、点缀式的,如《论“费厄泼赖”应该缓行》对猫的描绘,《忽然想到》之六中结尾一段著名的抒情,⑤都是属于这种情形。这是论说体杂文,文艺的即诗的因素散布的最重要的特征。 二、小说体(或故事体,下同)杂文。这种杂文在鲁迅杂文集中不多见。所谓小说体杂文,就是用小说的体裁或格式进行形象论证的时评或文评。这样的杂文,初看上去,颇类小说,但终因为这种小说体或小说体部分不过是全文的论据而已,就整体看,它仍是一种论证,一种不具论证形式的论证。所以,它仍是杂文。例如收在《华盖集》中的《牺牲谟》,通篇只是一个老爷要一个穷汉裤子的独白。全文不过是说,这位穷汉是一个甘愿为社会做出牺牲的人,他老爷最近收下一个丫头,正好没有裤子,望穷汉把自己的裤子给她;这样既给丫头带来了温暖,又实现了穷汉的人生宗旨——牺牲主义,成全了他的晚节。这里,从语言形式看,找不到论点论据,但其实是论点论据都有的,不过是伪装着,隐藏着。整个“老爷”的独白,全是论据,论点是牺牲主义的实质,就是要别人牺牲,自己独享这别人牺牲的成果。周葱秀先生曾著文认为《牺牲谟》是一篇独白体小说,⑥这一看法值得商榷.因为鲁迅并未把《牺牲谟》编入《彷徨》,而是编在《华盖集》中。鲁迅是不把它看成是小说的。虽说鲁迅杂文集收文较“杂”,但从未收过小说。《牺牲谟》是一驳论,它是针对林马癸文章《致北京农大校长公开信》⑦而发的。林骙在此文中认为教员索薪就是不清高,没有牺牲精神,索薪者应洁身引退,把位置让给有牺牲精神,能够枵腹教书的人。它的针对性十分具体,这与针对社会问题的小说并不一样。文中的“老爷”也只是一种类型,这正是杂文中人物的特色。所以将《牺牲谟》看成是小说并不符合其文本的实际。它应是一篇小说体杂文。收在《且介亭杂文》中的《阿金》,也是一篇小说体杂文。不过,这一篇论点是出现在文章末尾。文章先写阿金为轧姘头,同姘头们大声调笑、喧哗、吵闹,搅得鲁迅自己不安的情景;次写阿金被辞掉,又来了一个胖的女佣,她好一些,只是唱了次《十八摸》之类的民间猥亵小曲;最后作者发一通议论,说阿金的伟力是动摇了他自己原来的信念:在男性社会里,女人绝不会弄出家亡国破的事来,所谓昭君安汉、木兰保隋、妲己亡殷、西施治吴、杨妃乱唐只不过是一种男性的推卸责任,现在看,自己邻家一个阿金竟搅得四分之一里的人家不得安宁,如果阿金是皇后怎么能不乱了天下呢?这种论证的味道较《牺牲谟》是明显得多了。记得梅志在《胡风传》中曾说,《阿金》初发表时以为那是小说。其实不是的。鲁迅把它编在《且介亭杂文》中,明白表示它是杂文,鲁迅还称它是“一篇漫谈”,⑧更明白表示它是杂文,绝不是小说。就我所知,鲁迅小说体杂文还应有收于《热风》中的《智识即罪恶》和《野草》中的《立论》等。 这种小说体杂文与论说体杂文的共同点是二者都是社会的时评或文评,都含有一种论证,不同点是小说体杂文的论证是不可见或只隐约可见的,论说体杂文的论证形式是可见的;小说体杂文中的形象部分是完整的,占全文比重很大或简直是囊括全篇。它徒具小说的外表而实具杂文的灵魂;小说体杂文中的形象描绘部分与小说的“再现生活”很不同,它的形象是类型化或图像化的,而不是典型化或形象化的;它的针对性也较小说显得狭窄而具体。 小说体杂文是鲁迅首创,也是鲁迅先生对我国杂文文体的发展所做的贡献之一。现在,书刊上也常见这种体式的杂文,如王宗柱的《占茅坑》就是一篇很好的小说体杂文,让我们看一下《占茅坑》。原文不长,恕我全引。 一个城市新混混儿,踢踢趿趿来到公厕,候一茅坑有空,蹲在那里等鱼儿上钩。顷刻, 有内急者匆匆跑入,猫着腰提着裤子,定睛一看,坑上客满,急得团团转。混混儿起身道: 下。来人四下一看,蹲坑者 皆无起身之意,为解内急,只得乖乖出资买坑。公厕里空 占茅坑为钱,官场上空占茅坑为官。⑨ 三、散文体杂文。这一类杂文也为数不多,而且易与小说体杂文相混。 现在国内仍袭用文学四分法概念,将杂文归入散文一类。其实这种分法是很不科学的,就像文学的二分法一样的不科学。现代文体的发展,不是愈来愈粗疏,而是愈来愈精细。这就要求现代文体学能够反映文体这种发展趋势。杂文与散文,是截然不同的两种文体。它们之间除散行书写外,无论选材、表现、布局、情致、语言都没有共同之处,这种差异,几乎比散文与小说差异还要明显。现实生活中,已把杂文与散文分开。报刊上发表的散文,多在题下标上“散文”二字,杂文则套上花边,标上杂文栏目。鲁迅散文集只有一本,即《朝花夕拾》,而鲁迅的杂文集却有十六本(含许广平编的《集外集拾遗》),这也表明散文与杂文的概念不是一回事。我们的文体学,仍把杂文归于散文一类,不是陈旧而又陈旧,过时而又过时了吗?本文所取“散文”概念,是一种现行超狭义的散文概念。所以,取了一个新名目:散文体杂文。 所谓“散文体杂文”,就是那种形象描绘部分似散文的时评或文评。鲁迅《伪自由书》中的《现代史》一篇,就是典型的散文体杂文。作者先写记忆中所见耍把戏或变戏法的耍或变的情景:其中有耍猴的、变物的、小孩钻坛子的,耍变之后便要钱。次写本文的意思不过“浅得很”:耍了几天,静了几天,然而再耍下去。最后写自己原来写错了题目。这最后的部分只占了一行零二个字。 这一类杂文与小说体杂文很相近,即形象描述部分是论据,论点隐藏着,但又与小说体杂文有明显不同。它的形象描述部分完全是散文的笔法,是一种场面或情景的概述,内容无波折,是生活中某一类小场景的剪辑。它的语言也是散文式的,文气恬淡、舒缓,但在适当处杂文味变浓,如《现代史》结尾不过是说题目写错了。可实际没有错:现代史就是耍把戏或变戏法,这可是一种地地道道的杂文语言。 四、随笔体杂文。也可叫格言体杂文或小品体杂文。这一类杂文,在鲁迅杂文集中,时有所见。 随笔体杂文,从表面看似一种随笔,实则是一种杂文味很浓的时评或文评。鲁迅杂文集《且介亭杂文末编》中《半夏小集》中的二、三、四、七、八、九各则,都是这种随笔体杂文。它的特点是篇幅小,有一个简单的推理过程或就是一句警语格言,一语道破了问题的实质。如《半夏小集·二》: 用笔和舌,将沦为异族的奴隶之苦告诉大家,自然是不错的,但要十分小心,不可使大 家得着这样的结论:“那么,到底还不如我们似的做自己人的奴隶好。” 五、对话体杂文。或称戏剧体杂文。这类杂文,采取人物对话形式,似戏剧中人物的对白,但又不是短剧,而是杂文。《半夏小集》中的一、五、六各则是采取A角、B角、C角、C太太对话的形式,揭穿了“牺牲主义者”(第一则)、假诚实者(第五则)、说谎者(第六则)的真实嘴脸。 六、日记体杂文。采用日记形式而非日记的一种时评或文评。《华盖集续编》中的《马上日记》、《马上支日记》、《马上日记之二》便是。如《马上支日记》中七月三日日记,诚然有日记的形式:记着月日、阴晴、这一天的事。然而从田妈说,万牲园看门的一个“长人”她认识,现在被美国人雇去,月薪一千元;到《现代评论》言杨振声的《玉君》所以好,就是因为它长;再到由此作者悟出:长是有价值的。这分明是篇杂文而不是日记。它只是徒具日记的形式而已。这则日记鲁迅标明是一九二六年七月三日。查《鲁迅日记》这一天记:“晴。上午同母亲往山本医院诊。郑介石来,未遇。午后往伊东医士寓拔去三齿。访齐寿山。往东亚公司。访小峰。访素园。”而《马上支日记》这一天,却写着:“上半天玩,下半天睡觉。”与《鲁迅日记》这一天记的事根本不符。这可证实它是日记体杂文。 当然,如是日记,也可以于日记中写杂文性的时评或文评的。那既是日记,也是杂文,这似应叫杂文体日记。不过鲁迅《马上日记》等不是日记,而是日记体杂文,这一特殊之处是再明显不过的了。 七、大事记体杂文。通篇不发一句议论,只采用大事记体铺排成篇,然而却是极辛辣、幽默的时评或文评。收在《而已集》中的《拟豫言》就是这样的杂文。这篇杂文写了1929年将要发生的大事23件,对当时的政治、经济、文化各种动态,作了广泛的讥讽与批评,如其中两件:“美国开演《玉堂春》影片,白璧德教授评为决非卢梭所及。”(第14件)"有中国的法斯德挑同情一担访郭沫若,见郭穷极,失望而去。"(第15件)是对1929年23个预言中的两个预言,对白璧德、高长虹(即“中国的法斯德”或“中国的浮士德”)、郭沫若进行了无情的嘲讽。《拟豫言》是一篇典型的大事记体杂文。 八、评点体杂文。鲁迅《且介亭杂文末编》中的《立此存照》一至七则就是这种类型的杂文。这类杂文,大部分为引文,结尾处配上少量的评点文字。这评点部分是这篇文字的核心,那就是作者的论点。 鲁迅杂文体式还可能有好多种。大致说来,我们归纳为如上八种,约可见到鲁迅杂文体斑斓多姿的总体风貌。
2023-09-11 21:41:071

六一儿童节画展从5月31日到7月2日结束期间有多少天如果6月1日是星期一那么结

是又快来月经了吧
2023-09-11 21:41:062