51单片机偶完全自学的,因为想学的时候离学校开课还早得很。 学完了单片机,现在学校课也开完了,收获很大。现将偶学习经验写出来,供大家交流。
1、因为有了C语言和汇编语言的基础,加上模电学得不错。微机原理也上了。所以我只花了半天的时间把51的引脚功能和内部结构搞清楚了。偶认为学51重要的就是搞清内部结构和地址空间。
2、仅用了几个小时简单看了一下51的汇编指令和C语法。 我个人认为学习程序语言的语法规则是很简单的,且各种语言之间都有共通的地方,有了汇编和某种高级语言的基础学其它语言应该能很快上手。
3、直接编程练习,软件硬件实现。
我的第一个程序是跑马灯程序。
这个会让你熟悉端口的用法,普通流程控制。当然是C语言写一个,汇编写一个,实现同样的功能。
我的第二个程序是电子钟。
这个程序会使你对中断有更深入的了解和学会中断的应用,包括外部中断(调整时间)的应用。同样C和汇编两种方法实现。还会学会数码管的驱动,动态扫描,查表编程等。
我的第三个程序 DS1821温度计
这个程序使我学习如何从一个不熟悉的器件的数据资料读取其时序图,用单片机来模拟其时序以实现对器件的操作。同样用C和汇编同时实现。
我的第四个程序 128×64液晶显示程序。
这个程序会学会液晶显示原理,单片机数据口线的操作等。同样两种语言实现。
我的第五个程序 IIC通信。
ZLG7290作键盘控制。
学习用书:《单片微型计算机原理及应用》 张毅坤 西电(关注,回复“课件”获取该书ppt课件)
《Keil Cx51 V7.0单片机高级语言编程与uVision2应用技术》 徐爱钧 电子工业出版社
最后强调一点: 上面写的五个程序全部做成硬件电路实现。
后记: 这只是我个人学习51的一点观点,像某些扩展芯片的使用,偶在微机原理就写过相关程序,其实现在用51教材写的有些芯片是很少用的,所以偶没有做。
个人观点:真要是把上面写的5个程序给吃透了,你51也就达到可以应用的级别了。
关键字:51单片机 几个程序
引用地址:
学习51单片机必写的几个程序
推荐阅读最新更新时间:2024-03-16 14:46
51单片机软件程序复位
51单片机软件复位汇编代码 POP ACC ; pop return address POP ACC ;弹出PC MOV SP,#30H ;复位后SP为07H ,这样就会复位椎栈 MOV PSW,#00H ;清寄存器 CLR A ; push 0 as new PUSH ACC ; return address to stack PUSH ACC ;重置PC=0并压到椎栈中 RETI ; execute return of interrupt ;程序又开始从0000H处开始运行,但寄存器内的值不确定! 用
[单片机]
51单片机lcd1602的驱动程序
/* ******************************************** **头文件名:LCD液晶驱动 ** Target : AT89s52 ** Crystal: 11.0952 ********************************************* */ #ifndef _LCD_51_H_ #define _LCD_51_H_ #include DELAY_51.H #include at89x52.h /* ------80s52与LCD连接信息----------------------------------------- ** P1_2 - RS ** P1_3
[单片机]
MCS-51单片机控制字详解
PSW:程序状态字 寄存器地址D0H,位寻址D7H~D0H。 位地址 D7 D6 D5 D4 D3 D2 D1 D0 位符号 CY AC F0 RS1 RS0 OV - P CY 进位标记 AC 半进位标记 F0 用户设定标记 RS1、RS0 4个工作寄存器区的选择位。 VO 溢出标记 P 奇偶校验标记 PCON:电源控制器及波特率选择寄存器 字节地址=87H,不可位寻址
[单片机]
51单片机驱动步进电机(双四拍和八拍)
步进电机是一种将电脉冲转化为相应的线位移和角位移的电磁机械装置。具有快速启动停止能力,在电机的负荷不超过他提供的转矩时,可以通过输入脉冲来控制他在一瞬间的停止和启动。步进电机的步距角和转速只和输入脉冲的频率有关。 通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。每一个
[单片机]
基于51单片机的简易摇号抽奖机器
硬件设计 仿真图: 基于C51处理器,显示器基于LCD12864,通过一个按键开始抽奖,随机抽奖有谢谢参与 三等奖 二等奖 一等奖 特等奖 代码设计 /*******************************************************************/ /* LCD型号:TS12864A-3(带汉字库)或兼容型号 控制器ST7920 */ /* MCU:STC89S52 ,晶体频率:11.0592MHz */ /*******************************************************************/ #in
[单片机]
51单片机入门——步进电机
1 电机的分类 电机的分类方式有很多,从用途角度可划分为驱动类电机和控制类电机。直流电机属于驱动类电机,这种电机是将电能转换成机械能,主要应用在电钻、小车轮子、电风扇、洗衣机等设备上。步进电机属于控制类电机,它是将脉冲信号转换成一个转动角度的电机,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,主要应用在自动化仪表、机器人、自动生产流水线、空调扇叶转动等设备。 步进电机又分为反应式、永磁式和混合式三种。 反应式步进电机:结构简单成本低,但是动态性能差、效率低、发热大、可靠性难以保证,所以现在基本已经被淘汰了。 永磁式步进电机:动态性能好、输出力矩较大,但误差相对来说大一些,因其价格低而广泛应用于消费
[单片机]
51单片机的外设
51单片机的外设究竟该怎样理解?做以下实验。 实验1:外部中断0的实验 实验步骤:将一根杜邦线的一端接到P3^2口上,另一端接电源或者地 实验程序: #include reg52.h sbit led = P1^0; void mian(void) { while(1){ if(IE0){ led = 0; } else{ led = 1; } } } 实验结果:当杜邦线另一端接电源时,led灭;当接地时,led就亮 结论:无论配置与否,51单片机的外部中断这个外设都在工作着,不可能禁止 实验2:定时器0的实验 实验程序: #include reg52.h sbit l
[单片机]
以80C51单片机为例讲述单片机如何运行
前言 要想理解单片机是如何运行程序的,首先需要了解单片机的组成。本文以80C51单片机为例,给大家讲一讲程序在单片机中是如何运行的。 单片机的组成 8051单片机的内部硬件结构包括: 中央处理器CPU:它是单片机内部的核心部件,决定了单片机的主要功能特性,由运算器和控制器两大部分组成。 存储器:8051单片机在系统结构上采用了哈佛型,将程序和数据分别存放在两个存储器内,一个称为程序存储器,另一个为数据存储器在物理结构上分程序存储器和数据存储器,有四个物理上相互独立的存储空间,即片内ROM和片外ROM,片内RAM和片外RAM。 定时器/计数器(T/C):8051单片机内有两个16位的定时器/计数器,每个T/C既可以设置成计数方式
[单片机]