单片机C语言编程中“位”的保存方案 当单片机C语言编程中提及“位”的概念时,人们自然会想到状态字PSW中PSW.5的F0与PSW.1的F1两个用户通用标志位。这两个标志位均可参与布尔运算、“位”控操作,也可随状态字PSW一起保存。但是,往往会忽视这一点:在一些特定的情况下,如在C语言编程的中断服务... 2023-06-13 C语言寻址区中断服务编辑文章单片机基础知识
基于单片机的EMS液晶显示触摸屏设计方案 0 引 言电动车一直以清洁环保而备受关注,加上能源危机加剧、油价不断上涨,电动车也越来越受到用户的青睐。电动车一般采用锂电池供电,由多个单体电池串联成电池组作为动力电源。但由于各个串联单体电池特性不能保证完全一致,因此相同的电流下充电放电速度也会不同,如果不进行... 2023-06-13 C语言EMS液晶触摸屏单片机文章技术应用光电显示
如何写出好的单片机C语言代码 程序能跑起来并不见得你的代码就是很好的c代码了,衡量代码的好坏应该从以下几个方面来看1,代码稳定,没有隐患。2,执行效率高。3,可读性高。4,便于移植。下面发一些我在网上看到的技巧和自己的一些经验来和大家分享;1、如果可以的话少用库函数,便于不同的mcu和编译器间的移植2、... 2023-06-13 单片机C语言代码文章基础知识
单片机C语言程序设计与应用 系统结构系统由电器和机械两部分组成。机械部分由寄存柜箱位、电控锁组成;电器部分由单片机、控制继电器、操作面板、工作状态指示组成。系统功能程序设计系统程序有以下部分组成:主程序、存取程序、监控管理程序、控制输出程序、柜体箱位排序程序及键盘中断、时钟定时中... 2023-06-13 单片机C语言系统结构文章基础知识
单片机脉搏测量仪设计 本文介绍一种用单片机制作的脉搏测量仪,只要把手指放在传感器内,很快就可以精确测出每分钟脉搏数,测量的结果用三位数字显示出来。一、电路工作原理 电路原理见附图。电路由传感器电路、信号放大和整形电路、单片机电路、数码显示电路等四部分组成。 传感器由红外线发射二极... 2023-06-13 单片机脉搏测量仪C语言文章基础知识
功能齐全的单片机音乐程序 单片机最小系统,两位LED数码管由串口输出接两个164驱动,Lout,Rout为左右声道输出,SET, ALT0, ALT1为三个按键,也可自己在开始的I/O定义改成你想用的I/O口;12M晶振若用89C51则只可装下约14首歌曲,用89C52则可装下近40曲。源程序; Electronic Music; Version 4.50; Copyright (c) X... 2023-06-13 单片机51C语言文章51单片机
C的关键字——const的理解和用法 关于C的关键字——const的理解和用法const在C中的用法很灵活(相信C++中也一样),个人感觉对之既爱又恨,有时候感觉const很好用,同时又经常会因为它的优点而犯错,犯错的原因除了粗心之外,另一个更重要的,就是以前对const理解不到位。于是今天自己写成一篇小总结。如果是... 2023-06-13 单片机C语言const文章基础知识
C8051F005的简介及DA/AD程序 C8051F005的DA驱动程序(C语言)//-----------------------------------------------------------------------------// Includes//-----------------------------------------------------------------------------#include... 2023-06-13 单片机C语言8051文章51单片机
24C01的IIC 读写的c51程序 #include "reg51.h"#include "intrins.h"sbit SCL= P1^5;sbit SDA= P1^4;delay(){unsigned int i=1200;while(i--);}/*----------------------------------------------------------------------------调用方式:write_8bi... 2023-06-13 C语言程序设计24C01IIC文章单片机51单片机
AVR单片机C语言编程技巧 AVR单片机C语言编程技巧1、选择合适的算法和数据结构应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可... 2023-06-13 AVR单片机C语言编程技巧文章软件开发程序设计
C语言字节对齐详解 一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的... 2023-06-13 C语言字节对齐文章软件开发Linux
用51单片机实现I2C总线的源程序-C语言 /*功能:在51单片机上用C语言实现I2C总线功能*//*下面的代码是基于51单片机P1口模拟I2C总线。*//*电平模拟函数和基本读写函数voidIIC_Start(void);voidIIC_Stop(void);voidSEND_0(void);voidSEND_1(void);bitCheck_Acknowledge(void);voidWrite_Byte(ucharb)reentr... 2023-06-13 51单片机实现I2C总线源程序C语言文章软件开发程序设计
关于Linux操作系统下C语言编程注意事项 一、工具的使用1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automak... 2023-06-13 Linux操作系统C语言编程注意事项文章软件开发Linux
在Linux下利用C语言来实现一个Sniffer的方法简介 Sniffer技术是网络安全领域里一项非常重要的技术!对于“Hacker”来说,他们可以以非常隐蔽的方式得到网络中传输的大量的敏感信息,如 Telnet,ftp帐号和密码等等明文传送的信息!与主动扫描相比,嗅探的行为更加难以被察觉,操作起来也不是很复杂!对于网络管理人员来说,... 2023-06-13 LinuC语言Sniffer文章软件开发Linux
C55x C语言编程之存储器模式 C编译器将存储器当作一个由代码子模块和数据子模块组成的线性模块。每个由C程序生成的代码子模块或数据子模块被放到各自的连续存储空间中。编译器认为目标存储器的全部24位地址都有效。编译器支持两种存储器模型:小存储模式和大存储器模式。两种存储模式的数据在存储器中... 2023-06-13 C55xC语言编程存储器模式文章软件开发编程规范
struct、union、enum和typedef分析 struct空结构体大小,依据编译器的不同而不同,gcc中为0,且不同的结构体变量地址相同;而在g++中为1,不同的结构体变量地址也不同。没有谁对谁错,现代编译器中认为空结构体大小为1较为合理。柔性数组即数组大小待定的数组。规则:结构中最后一个元素允许是未知大小的数组;结构中的柔... 2023-06-13 structunionC语言enumtypedef文章软件开发程序设计
const和volatile分析 constconst 修饰的是只读变量,不是常量,会在内存中占用空间,本质上const只对编译器有用,在运行时无用const 修饰的只读变量不能作为左值直接赋值,但可以通知指针修改其值const 修饰的只读变量必须在定义的同时初始化case语句后面不可以跟const修饰的只读变量,case后面只能是整... 2023-06-13 constvolatileC语言文章软件开发程序设计
怎样做可以优化计算机内存 大多数计算和存储部署如今面临的情况是,计算机内存空间都受到了上限的限制。现代系统的资源可能并不像内存那样受到限制,但操作系统、应用程序和存储设备总是需要采用更多的内存。但内存空间并不是无限的,在某些时候将会完全耗尽,这会导致系统不稳定或数据丢失。自从现代IT出... 2023-06-13 数据存储C语言存储器文章技术应用光电显示
C语言全局变量那些事儿 作为一名程序员,如果说沉迷一门编程语言算作一种乐趣的话,那么与此同时反过来去黑一门编程语言就是这种乐趣的升华。今天我们就来黑一把C语言,好好展示一下这门经典语言令人抓狂的一面。我们知道,全局变量是C语言语法和语义中一个很重要的知识点,首先它的存在意义需要从三个不... 2023-06-13 C语言文章软件开发程序设计
BREW应用的c++实现注意点 做过BREW开发的都知道,不论是用IWINDOW还是StateMachine,都是应用的C语言,而且编译器也是采用的C编译器,而对于具有优良思想的面向对象的C++语言却应用的不多。其实BREW开发是完全支持C++语言的。从VC6.0的调试器来说吧,肯定支持C++语言了,对于ARM或者GCC来说,也是有可用的C++编... 2023-06-13 C语言C编译器C++语言文章软件开发编程规范
盘点Linux操作系统下C语言编程注意事项 一、工具的使用1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automak... 2023-06-13 LinuxC语言vim文章软件开发
嵌入式linux开发之C语言学习秘诀 大家都知道C语言是整个嵌入式开发学习中一门重要的语言,所以学好C语言也是嵌入式开发学习中重要环节。到底如何学习C语言?C语言学习的秘诀是什么?今天本为就为大家揭开这个谜底。学习C语言的秘诀:就是"一字真言,两种态度,三个框架,四项注意"。 一、一字真言 学好C语言,一字真言... 2023-06-13 嵌入式Linux开发C语言秘诀文章软件开发Linux
嵌入式工程师不可不知的 一.工程师眼中的“嵌入式系统”在工程师看来:着重理解“嵌入”的概念,主要从三个方面来理解:1.从硬件上,将基于CPU 的外围器件,整合到CPU 芯片内部,比如早期基于X86体系结构下的计算机,CPU 只是有运算器和累加器的功能,一切芯片要靠外部桥路来扩展实现,象串口... 2023-06-13 嵌入式系统逻辑设计C语言嵌入式工程师经验分享文章软件开发嵌入式OS
剖析C语言中a=a+++++a的无聊问题 看法一:a=a+++++a这个东西可以用来讨论,甚至是讨论它的无所事处,作为增长知识和发现自身理解问题的漏洞是可以的。但是绝对不能拿来作为考试题目,特别是选择题或填空题等客观题目。但是如果作为一道主观探讨题还是挺有趣的,理解深刻的人一定可以写的很好。看法二:a=a+++++a的编... 2023-06-13 LinuxC语言编译器gcc文章软件开发程序设计
ARM7嵌入式系统中启动程序的实现 在我们研制开发基于ARM7的嵌入式系统过程中,发现技术难点主要在于系统启动程序的编写,为此本文详细论述了在arm7基础上开发嵌入式系统时启动程序的实现。1.启动程序流程嵌入式系统的资源有限,程序通常都是固化在ROM中运行。ROM中程序执行前,需要对系统硬件和软件运行环境进... 2023-06-13 ARM7嵌入式系统嵌入式系统启动程序嵌入式C语言文章软件开发嵌入式OS