攻心策略

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 //该头文档中有单片机内部资源的符号化定义,其中包含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 //该头文档中有单片机内部资源的符号化定义,其中包含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引脚)

51单片c语言编程实例,51单片机C语言编程实例相关推荐

  1. 51单片机c语言试题及答案,单片机C语言期末考试题..

    单片机C语言期末考试题..,单片机的c语言应用程序设计,单片机c语言编程,51单片机c语言程序100例,单片机c语言,单片机c语言编程思想,c语言开发单片机,c语言单片机程序,新概念51单片机c语言教 ...

  2. 《嵌入式C编程:PIC单片机和C编程技术与应用》一第1章C语言概述和程序结构1.1 C源代码...

    本节书摘来自华章出版社<嵌入式C编程:PIC单片机和C编程技术与应用>一书中的第1章,第1.1节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社 ...

  3. 迟思堂工作室编程规范:单片机C语言

    迟思堂工作室编程规范:单片机C语言 1.头文件: 头文件一般是声明外部或内部变量.函数以及定义的宏.一般不作变量的初始化. 其格式为: #ifndef __MY_TYPE_H__ #define __ ...

  4. 《嵌入式C编程:PIC单片机和C编程技术与应用》一1.2 注释

    本节书摘来自华章出版社<嵌入式C编程:PIC单片机和C编程技术与应用>一书中的第1章,第1.2节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社 ...

  5. 单片机c语言模块化实例程序设计,单片机C语言模块化设计

    原标题:单片机C语言模块化设计 keil中实现 模块化编程.doc 在使用 KEIL 的时候,我们习惯上在一个.c 的文件中把自己要写的东西按照 自己思路的顺序进行顺序书写.这样是很普遍的写法,当程序 ...

  6. avr-gcc与avr单片机c语言开发 pdf,AVR 单片机与GCC 编程使用方法

    原标题:AVR 单片机与GCC 编程使用方法 WIN 是一个ATMEL AVR 系列 的开发工具集,它包含GNU C 和C++编译器 . 1.1 一个简单的例子 为了先有一个感性的认识,我们首先看一下 ...

  7. c语言延空指令,单片机C语言编程空指令产生短延时怎么办.doc

    单片机C语言编程空指令产生短延时怎么办.doc (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 7.9 积分 个人收集整理-仅供参考单片机语言编程空 ...

  8. 单片机c语言 〉〉,PìC单片机C语言编程入门(课件).doc

    PìC单片机C语言编程入门(课件) PICC入门笔记 PIC单片机C语言编程入门笔记 C语言基础复习--------没C语言基础看起来可能有点困难. C程序的语句 语句名称一般形式说明表达式语句表达式 ...

  9. c语言程序设计分段定时器,单片机C语言编程定时器的几种表达方式

    原标题:单片机C语言编程定时器的几种表达方式 吴鉴鹰单片机开发板地址 店铺:[吴鉴鹰的小铺] 地址:[https://item.taobao.com/item.htm?_u=ukgdp5a7629&a ...

  10. 单片机c语言编程教学大纲,《单片机C语言编程》教学大纲

    <单片机C语言编程>教学大纲 课程代码:000002336 课程英文名称:Microcontroller C Programming Language 课程总学时:24 讲课:16 实验: ...

最新文章

  1. 插入ts以及判断列是否存在(支持多数据库)
  2. linux c语言 glibc 错误 munmap,Linux内存分配小结--malloc、brk、mmap
  3. boost::coroutine模块实现分段堆栈的测试程序
  4. 一般java,【面试题】java一般
  5. 综合应用WPF/WCF/WF/LINQ之二十七:代码生成器之DBMLToProcedure
  6. 常见的IT自动化运维工具有哪些?推荐一款好用的?
  7. 邮件营销技巧和经验分享
  8. 解决appium中Error: The port #8100 is occupied by an other process的问题
  9. jmu-python-函数-找钱
  10. 04-栈和队列-循环队列的基本使用
  11. web.config与mysql的连接 appsettings_Web.config配置文件中定义了如下数据库连接串
  12. OpenCV色域转换
  13. 如何打造极速F1赛事?乐视云用六路信号还原比赛现场
  14. Jmeter接口压力测试--先登录后再测
  15. 颜体html标签,颜体楷书笔法32式详解,一定不能错过!(超级干货)
  16. simulink实现他励直流电动机减弱磁通调速仿真
  17. Android 实战项目汇总
  18. 让注册表修改快速生效
  19. 多音字按拼音首字母排序sql语句的问题解决方案
  20. 请这样爱你的移动硬盘

热门文章

  1. 2021深育杯-网络安全大赛专业竞赛部分wp
  2. 纪念第一次用vscode给go语言配置环境踩坑
  3. omp算法求稀疏系数matlab,MP算法、OMP算法及其在人脸识别的应用
  4. Unity笔记之凤凰模拟器
  5. 编程猫fiddler插件
  6. 计算机室 多媒体教室制度,多媒体教室管理、使用制度
  7. 公共关系学试题与参考答案
  8. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(Vray—VR灯光、VRIES、VR环境光、VR太阳)图文教程之详细攻略
  9. 最新手机号段 归属地数据库(20191210,共439265条,包括最新的号段)
  10. 注意,Windows7只能安装Python 3.8以下的版本