基础知识: 51 单片机编程基础

第一节:单数码管按键显示

第二节:双数码管可调秒表

第三节:十字路口交通灯

第四节:数码管驱动

第五节:键盘驱动

第六节:低频频率计

第七节:电子表

第八节:串行口应用

基础知识: 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 :二进制为 ;0x6E 为。

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 表示没有输入参数, 也没有函数返值, 这入单片机运行的复

位入口

51单片机c语言程序控制,51单片机C语言编程基础及实例.pdf相关推荐

  1. c语言中文渲染库,GLSL渲染编程基础与实例 (C#版本) 中文pdf扫描版[136MB]

    本书介绍了用GLSL语言进行三维渲染的方法,以及用大量的实例来展示如何进行GLSL编程.本书详细讲述了GLSL渲染流程: GLSL着色器编程:顶点光照:像素光照:卡通渲染.影线渲染.分形渲染.Gooc ...

  2. python语言好不好_《python编程基础》这本书怎么样

    <python编程基础>这本书怎么样 发布时间:2020-11-11 12:01:06 来源:亿速云 阅读:73 作者:小新 小编给大家分享一下<python编程基础>这本书怎 ...

  3. 51单片机c语言程序控制,51单片机C语言程序设计源代码

    <51单片机C语言程序设计源代码>由会员分享,可在线阅读,更多相关<51单片机C语言程序设计源代码(281页珍藏版)>请在人人文库网上搜索. 1.51 SCM c语言教程示例2 ...

  4. openjudge用c语言答案,OpenJudge - NOI - 1.4编程基础之逻辑表达式与条件分支(C语言 全部题解)...

    01:判断数正负 #include int main(void) { int num; scanf("%d", &num); if (num > 0) { print ...

  5. 零基础想学编程,应该学习哪一门语言呢?看看各种语言的简介!

    在学习编程之前,我们还是要搞清楚一件事情,那就是你为什么要学习编程? 是想要获得高额的薪水呢?还是自己对编程感兴趣呢?或者两者都是. 目前在国内只要你是个程序员,那么你基本上都能够拿到一份不错的薪资. ...

  6. mel编程相较于c语言怎么样,关于mel脚本语言的编写与使用?

    慕哥6287543 ge(Maya内置语言)的缩写,是一种强大的命令和脚本语言,让你直接控制Maya的特征.进程和工作流程.mel能做什么,不能做什么?能做的mel有一个很重要的功能是编写界面,May ...

  7. c语言51单片机计算器,新基于51单片机的简易计算器

    <新基于51单片机的简易计算器>由会员分享,可在线阅读,更多相关<新基于51单片机的简易计算器(24页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的简易计算器1.前言: ...

  8. 万年历设计单片机c语言,基于51单片机的电子万年历的设计

    基于51单片机的电子万年历的设计(论文9400字) 功能要求 1. 万年历能用数码管显示阳历年.月.日.星期.[小]时.分.秒并设置指定时间的闹铃. 2. 数字式温度计要求测温范围-50~100°C, ...

  9. 单片机如何使用?51单片机C语言编程实例有哪些?

    大家好,我是无际单片机编程的徐明,今天和大家一起探讨一下"单片机如何使用?" 单片机如何使用,我们要知道单片机在哪里使用? 单片机是很多电子产品的核心器件,它具有一定的逻辑判断和事 ...

最新文章

  1. SkipList 跳表
  2. SwipeRefreshLayout 报错 dispatchTouchEvent
  3. php中将数据加入到文件中
  4. Plus from Picture
  5. HDU - 3126 Nova(最大流+二分+简单几何)
  6. redis分片_5000+字硬核干货!Redis 分布式集群部署实战
  7. P5825-排列计数【EGF,NTT】
  8. 各层电子数排布规则_干货 | 高中化学电子排布、第一电离能和电负性知识汇总...
  9. Win8Metro(C#)数字图像处理--2.18图像平移变换
  10. 读redis->双重检测同步锁->防止Redis缓存击穿
  11. Raki的读paper小记:RoBERTa: A Robustly Optimized BERT Pretraining Approach
  12. 采用UltraISO软碟通制作Dos启动盘教程
  13. 入魂一番赏android,入魂一番赏APP
  14. 协昌电子递交注册:年营收5.25亿 实控人顾挺曾任民警
  15. 网络安全培训小白入门课,从buu到红帽的图片隐写
  16. JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab
  17. vba 批量生成条形图代码
  18. 华硕天选 3 和 联想拯救者 Y9000P 2022 款 哪个好
  19. Spring Boot项目出现问题: Whitelabel Error Page
  20. k图着色 局部搜索算法与模拟退火算法的python实现

热门文章

  1. 走在WCF学习的路上---印在脑子里的点点滴滴(两种元数据交换方式的优缺点)...
  2. 解决iphone横屏时字体变大问题或者内容大小不一样等...
  3. ASP.NET Core搭建多层网站架构【11-WebApi统一处理返回值、异常】
  4. 【报告分享】2020年中国金融科技企业领袖观点洞察报告.pdf(附下载链接)
  5. 1024程序员节:心疼被段子手黑得最惨的你们
  6. 200+页综述!阐述大规模预训练模型机遇与风险
  7. linux有许多sed进程,Linux进程与性能监控
  8. Facebook广告5大成功案例!
  9. Leetcode每日一题:226.invert-binary-tree(翻转二叉树)
  10. G-TAD: Sub-Graph Localization for Temporal Action Detection