C51单片机之keil编程入门(一)
发布日期:2021-11-20 10:17:22 浏览次数:18 分类:技术文章

本文共 1230 字,大约阅读时间需要 4 分钟。

C51单片机之keil编程入门(一)

编程需结合原理图来理解

附上单片机原理图

内容提要:

  • 单片机组成
  • 点亮一个发光管
  • 流水灯设计
  • 蜂鸣器发声
  • 数码管静态显示

51单片机组成

  • CPU:由运算和逻辑控制组成,同时还包括中断系统和部分外部特殊功能寄存器;
  • RAM:用以存放可以读写的数据。如运算的中间结果、最终结果以及欲显示的结果;
  • ROM:用以存放程序,一些原始数据及表格;
  • I/O口:四个8位并行I/O口,即可用作输入,也可用作输出;
  • T/C:两个定时/记数器,既可以工作在定时模式,也可工作在记数模式;

1.点亮一个发光管

//通过位操作点亮发光管include
sbit D1=P1^0;//sbit位定义,P1^0表示P1口的第一位(从0开始计数)int main(){
D1=0;//单片机的P1.0端口输出低电平时发光管亮,51单片机默认上电后所有I/O口为高电平}
//直接对P1口进行总线操作include
int main(){
P1=0xfd;//0x在C/C++中表示十六进制,fd即1111 1101 //1111 1101为点亮P1口上的第二位(P1.1)上的发光管,P1.0为最低位,P1.7为最高位}

先下载程序再打开单片机电源

2.流水灯设计

include
include
#define uint unsigned int#define uchar unsigned charuchar temp;void delay(uint n);int main(){
temp=0xfe; P1=temp; while(1) {
temp=_crol_(temp,1);//C51库函数,功能:将temp循环左移1位 delay(600); P1=temp; }}//延时函数void delay(uint n){
uint x,y; for(x=100;x>0;x--) for(y=n;y>0;y--);}

3.蜂鸣器发声

include
sbit beep=P2^3;int main(){
beep=0;}

4.数码管静态显示

  • 结合原理图理解
  • 用锁存器来实现段选和位选(先控制位选,再控制段选)
  • 锁存器的第11管脚为锁存端
//显示1#include
sbit Dula=P2^6;//段选--控制亮出什么数字sbit Wela=P2^7;//位选--控制哪一个数码管亮int main(){
Wela=1;//锁存端为高电平时,其输入端和输出端置通 P0=0xfe; Wela=0;//锁存端为低电平时,输入端和输出端断开,输出端保持原来的值不变 Dula=1; P0=0x06; Dula=0; while(1);}

转载地址:https://blog.csdn.net/weixin_43217963/article/details/89197269 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C51单片机之keil编程入门(二)
下一篇:Linux之磁盘管理

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月10日 06时08分33秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

404怎么解决java,HTTP Status 404如何解决 2019-04-21
java查找公共子串,查找两个串的最大公共子串 2019-04-21
php团队规范,技术团队开发规范 2019-04-21
php 图片压缩 长宽不变,PHP 图片 保持高宽不变压缩之后imagejpeg($source,$file,100) 仍旧失真!... 2019-04-21
nginx 禁止根目录php,nginx站点禁止目录执行php 2019-04-21
linux创建oracle用户命令,Linux 命令 - 切换用户,及创建oracle表空间一系列操作 2019-04-21
php position,CSS定位position使用介绍 2019-04-21
php导出csv到服务器,通过PHP导出到CSV 2019-04-21
oracle用户指定表空间授权,Oracle创建表空间 用户 授权 2019-04-21
Almp安卓php服务器,Almp——安卓系统上搭建本地php服务器环境 zhu吴 2019-04-21
php word目前版本,【2018最新】学习php的心得word版本 (11页) 2019-04-21
c语言大课题开题报告,规划课题开题报告范文 2019-04-21
java table集合_Java集合 2019-04-21
java数字分割的下划线_在Java的数字字面量中使用下划线 2019-04-21
php pdo设置表前缀,php – PDO – 使用表前缀 2019-04-21
php 关键词回复 图片,关于微信公众平台用户发送关键词的回复机制 2019-04-21
php 中 相关文章 的思路,ThinkPHP文章相关阅读功能的实现方法 2019-04-21
php里面什么是u函数,ThinkPHP函数详解:U方法 2019-04-21
下载附带.php,php文件上传及下载附带显示文件及目录功能 2019-04-21
PHP引用全局作用域中可用的全部变量是,$GLOBALS — 引用全局作用域中可用的全部变量... 2019-04-21