单片机听课笔记1-8课(金沙滩2014年更新)
- 格式:doc
- 大小:121.00 KB
- 文档页数:51
第六章
1.定时:此时记得是晶振分频后的均匀脉冲,从而实现定时
2.计数:此时记的是单片机外部引脚输入单片机的脉冲信号,从而实现计数。
3.脉冲来源有两个地方:晶振产生的脉冲信号经过12分频后变宽了,频率变为经侦频率的1/12,经过分频的信号给了定时器,定时器接到脉冲就会自动加1,满了以后标志位从0编程1;
另一个来源是单片机的外部引脚P3.4和P3.5,用定时器T0数的是P3.4引脚输入的脉冲,用定时器T1数的是P3.5引脚输入的脉冲。
4.特殊功能计数器TMOD中(其中某一位)设置单片机是处于计数还是定时状态
5.单片机的定时器/计数器每接到一个脉冲就自动把记的数加1,这个数就放在了TH0,TL0及TH1,TL1中。
计数器是十六位的寄存器,所以能存储的数据范围是0-65535。
TH0/1(高八位)D15、D14、D13、D12、D11、D10、D9、D8
TL0/1(低八位)D7、D6、D5、D4、D3、D2、D1、D0。
单片机关键知识点一览:系列一1:单片机简叙2:单片机引脚介绍3:单片机存储器结构4:第一个单片机小程序5:单片机延时程序分析6:单片机并行口结构7:单片机的特殊功能寄存器系列二8:单片机寻址方式与指令系统9:单片机数据传递类指令10:单片机数据传送类指令11:单片机算术运算指令12:单片机逻辑运算类指令13:单片机逻辑与或异或指令祥解14:单片机条件转移指令系列三15:单片机位操作指令16:单片机定时器与计数器17:单片机定时器/计数器的方式18:单片机的中断系统19:单片机定时器、中断试验20:单片机定时/计数器实验21:单片机串行口介绍系列四22:单片机串行口通信程序设计23:LED数码管静态显示接口与编24:动态扫描显示接口电路及程序25:单片机键盘接口程序设计26:单片机矩阵式键盘接口技术及27:关于单片机的一些基本概念28:实际案例实践——单片机音乐程序设计1:单片机简叙什么是单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。
在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。
2:单片机引脚介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
⒈电源:⑴VCC-芯片电源,接+5V;⑵VSS-接地端;⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
MC51单片机学习笔记一准备知识:1.内部结构:4K Rom 程序存储器(硬件)128节Ram随机存储器(软件)8位cpu,4个8位并口,1个全双串行口,2个16位定时器/计数器;寻址范围64k 布尔处理器CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最高振荡频率取决于单片机型号及性能。
2.分类:arm(快)凌阳(处理声音较好)3.型号说明:STC (公司名) 89(系列)C(CMOS;CAD:自带AD转换;S:串行下载无需专门的编程器;lv:工作电压为3v)51(1*4=4K) RC 40(晶振最高频率)C(商业级:温度0--85,I工业级温度-40--125)----PDIP (双列直插式)0721(07年第21周).........4.电平:TTL:高:+5v--低0v;RS232:计算机串口:+12v--低-12v,故计算机和单片机通信需要电平转换芯片5.二进制与十六进制之间的转换:每4位转变一次6.二进制转换逻辑符号:&与,//或,---非,异或7. P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制(计数)P3.7:RD外部读控制RST :复位管脚,高电平有效,时间大于两个机器周期VPD:备用电源注:机器周期和指令周期(1)振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。
单片机听课笔记1-8课----金沙滩工作室2014年更新Lesson 1:1、用公司用的单片机/视频用的单片机2、书是用来查的。
3、单片机方面不怎么需要软件仿真4、KEIL软件安装(keil c51)30分钟-35分钟双击→next→√→next→默认路径→next→1,2,3,email格式→next→自动安装→去掉三个选项的√→finish。
桌面上出现KEIL快捷方式。
5、文字大小,文字颜色的设定:edit→configuration→colour&font→:editor c files→只需要修改text, textselection,number,keyword,string即可。
6、下载软件stc-isp-v480.se win7系统第一次打开,右键,以管理员身份运行一次。
7、《三傻大闹好莱坞》:追求卓越,成功就会在不经意间追上你。
Lesson2:1、51单片机:兼容intel的MCS-51体系架构的一系列单片机2、STC89C52RC---学习板上的第一个单片机。
3、单片机最小系统:电源电路、晶振电路(20PF起振电容,帮助晶振起振,并维持震荡信号的稳定)、复位电路(0.1uF, 18R, 4.7K)。
4、单片机复位一般用三种:上电复位,手动复位,程序自动复位。
5、单片机原理图引脚位置与封装图可以不一样。
6、贴片发光二极管限流电阻的选用。
7、sfr P0 = 0X80,告诉我们编程软件P0在0X80的位置上,查手册可得。
8、打开KEIL软件→project→new project →选择路径→写工程名,不需写扩展名→旧:选择单片机型号→NXP→P89V51 →copy,,,,,→否→新建文件file→new→保存→给文件起名led.c→新:选择单片机型号→intel→随便一个→copy,,,,,→是→新建文件file→new→保存→给文件起名led.c9、#include<reg52.h>及函数名后不需要加分号。
我的单片机笔记怎样学好单片机:很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。
先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。
就我个人的体会怎么样才能更快的学会单片机这门课。
单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。
由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。
至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。
所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。
推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。
大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。
如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。
只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。
方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。
单片机原理备课笔记使用课本:单片微机原理系统设计与应用(中国科学技术大学出版社)万福君第2版《第1学时∶》第0章:绪论要求:希望各班的班长和学习委员集中班里同学的问题在上课前提出。
第1节:微机发展史第2节:微机分类第3节:微机的应用第1章:微型机的基本知识第一节:微处理器、微型机和单片机概念讲解单片机的产生条件、发展过程,与通常概念上的计算机的区别一、微处理器(Microprocessor)二、微型计算机(Microcomputer)组成∶1、CPU及辅助器件∶用于数据的计算构成2、内部存储器:程序存储器;数据存储器。
EPROM、PROM、EEPROM、SRAM、DRAM3、外部存储器:软磁盘、硬盘、磁带机(海量存储器)、光盘、纸带、卡片、数据存储卡(如数字相机存储卡)、IC卡、磁卡等4、电源∶用于计算机系统供电。
5、输入输出设备∶键盘、鼠标、扫描仪、数字化仪、手写输入板、纸带读入机、卡片读入机、CRT显示器、液晶屏显示器、数码管(LED、LCD、荧光管等)、打印机、绘图仪、网络适配器、调制解调器、异步串行通讯口、数字照相机、麦克风等。
目前发展方向:硬件速度、软件功能、媒体多样、新机型价格仍在心理最高价位三、单片机(Single Chip Microcomputer)组成∶(或微控制器Microcontroller)(一般不包含电源)(板书单片机结构框图)1、CPU∶用于数据的计算位数,指令条数,指令功能等2、内部存储器:程序存储器;数据存储器。
3、振荡电路4、定时器、计数器5、I/O口:并行口、串行口(同步、异步)、AD/DA、PWM、高速输入、输出口6、操作系统(OS)[如可在线编程的单片机、可上网的单片机等]目前发展方向:多方面发展,硬件集成度发展两头,品种、功能多样专业化,减少设备芯片数量为目的的功能电路集成单片机是微型计算机发展的一个分支,是在大规模集成电路的基础上发展起来的。
并且由于市场庞大,发展极快。
单片机原理及应用备课笔记第1章数制与码制(自学)第2章单片机基础(4学时)第3章指令系统及汇编语言(8学时)第4章单片机系统的扩展(4学时)第5章输入/输出、中断,定时与串行通信(10学时)第6章接口芯片与接口技术(4学时)第7章单片机应用系统设计与开发(2学时)第8章几种典型的单片机(自学)教材:单片微型计算机原理及应用张毅坤西电科大版主要参考书:1。
MCS-51/96系列单片机原理及应用(修订本)孙涵芳北航版2.单片微型计算机原理与接口技术(第二版)陈光东华工版3.单片机程序设计基础周航慈北航版4.MCS-51单片机应用系统设计何立民北航版2.单片机基础2.1概述2.1.1单片机的发展46年―56年,59年-65年,60年代-70年代,70年代以后71年-73年,73年-75年,75年-80年,84年,86年,90年,93年80年代开始推出PC/XT76年推出8048,80年推出512.1.2 单片机的特点价格功耗使用性能2.1.3 单片机的慨貌51系列-MCS-5X A T89C5X (1051,2051) GMS90/9796系列-MCS96 8X9XBH/JK 8396 8397 8398 (ROM)8095 8096 8097 8098 (无ROM/EPROM)8798 8795 8797(EPROM/OTP) 封装DIP PLCC(塑料引线芯片衬底)PGA LCC SOP(贴片) 2.1.4 单片机的用途智能仪器智能电器智能装置控制测试2.2单片机的结构和原理2.2.1 内部总体结构(用图说明)2.2.2 主要特点CPU ROM RAM I/O T/C 寄存器串行口中断堆栈指令系统2.2.3 外部特点(引脚特点)2.2.4 CPU :由两部分组成1。
运算器包括ALU部件,累加器A及B 暂存寄存器2个,状态寄存器PSW 2。
控制器包括程序计数器PC,指令寄存器,指令译码器,堆栈指针,地址指针,时钟发生器和定时控制逻辑2.2.5 存贮器结构(用图说明)(三个空间).1 程序存贮器空间――地址范围内部+外部固定入口空间.2 数据存贮器外部存贮空间地址范围内部数据存贮器空间地址范围RAM块―――工作寄贮器区位区一般RAM区SFR块――――21个有定义80H# P0 98H# SCON81H SP99H SBUF82H DTL A0H # P283H DTH A8H # IEMCS—51单片机存储器空间结构图(a)程序存储器(8031片内没有)(b)片内数据存储器(3)片外数据存储器片外空间片内空间片内空间片外空间FFFFH1000H0FFFH0000HFFH00HFFFFH0000H87H PCON B0H # P3 88H # TCON B8H # IP 89H TMOD D0H # PSW 8AH TL0 E0H # A 8BH TL1 F0H # B 8CH TH08DH TH1 #:具有位功能90H # P1 与CPU 有关:(6个)与I/O 口有关:(4个)与定时器/记数器有关:(6个) 与中断有关:(2个)与串行口有关:(2个) 与电源有关:(1个)注意:程序计数器PC 在物理上是一个独立的存贮器程序状态字PSW CY AC F0 RS1 RS0 OV F1 P 其中P =1 奇校验 P =0 偶校验2. 2。
第一节AT -12A 单片机学习开发板整体介绍第二节 单片机各引脚IO 口及KEIL C 开发环境的设置1、单片机分类列举:51系列,A VR 系列,PIC 系列,MSP ,ARM (ARM7,ARM9)等等(atmel,stc,pic,avr,凌阳,80C51,arm 等)本质一样,只是硬件资源增强,如引脚数,自带协议接口,内存储器,运算能力,是否支持嵌入式操作系统等,选择合适的芯片对工程开发有事半功倍的作用2、二进制编码:按一定约定规则(协议)的组合代表“信息”3、编码载体:电平。
数字电路中只有两种电平:高、低(本课程)定义(可任意定义)单片机为TTL 电平:高 +5V 低 0V RS232C 电平:计算机的串口 高 -12V 低+12V 所以计算机与单片机之间通讯时需要加电平转换芯片max232(实验板上左边)。
4、二进制逻辑运算:与 或 非 异或等等。
5、80C51的引脚封装总线型 非总线型P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/V PD P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD XTAL2XTAL1V SSV CC P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/V PP ALE/PROG PSEN P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0RST P3.0/RXD P3.1/TXDXTAL2XTAL1P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1GNDV CC P1.7P1.6P1.5P1.4P1.3P1.2P1.1/AIN1P1.0/AIN0P3.7注:类似的还有Philips公司的 87LPC64,20引脚8XC748/750/(751),24引脚 8X749(752),28引脚 8XC754,28引脚 等等6、总线(BUS )是计算机各部件之间传送信息的公共通道。
单片机学习笔记一、单片机第一课1.相关概念学习1)英特尔8051:8位单芯片控制器,属于MCS-51单芯片的一种;2)美国英特尔公司生产的一系列单片机总称;3)宏与函数之间的区别宏在编译器对源代码进行编译的时候只进行简单替换,不会进行任何逻辑检测,即简单复制代码而已。
宏定义时不会考虑参数的类型。
参数宏的使用会使用具有同一作用的代码块在目标中存在多个副本,即会增长目标文件的大小;函数只在目标文件中存在一处,比较节省程序空间。
参数宏的运行速度比函数快,因为不用压栈和入栈;函数的调用会牵扯到参数的传递,需要压栈和入栈操作,速度较慢。
宏定义时需要小心,多加括号。
函数的参数存在传值和传地址的问题,参数宏不存在。
4)串行接口(com接口)定义:数据一位一位地顺序传送;特点:只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线);优缺点:适合远距离通信,但传送速度较慢。
5)热插拔(带电插拔)定义:允许用户在不关闭系统,不断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件6)SPI(串行外设接口):SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)SDO:主设备数据输入,从设备数据输出SDI:主设备数据输出,从设备数据输出;SCLK:时钟信号,由主设备产生;CS:从设备使能信号(控制芯片是否被选中,使得同一总线可以连接多个SPI设备),由主设备控制。
7)DSP:将部分程序固化从而实现更快处理速度的MCU。
8)推挽与开漏的区别。
推挽输出:可以输出高低电平,连接数字器件开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要拉上电阻才行,适合做电流型驱动,其吸取电流能力相对强(一般在20mA以内)2.微机系统1)定义:微机系统=硬件系统+软件系统2)结构图:3)发展方向:快+小4)硬件是应用系统的基础;软件时在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务3.单片机定义1)主要部件:中央处理器(CPU)、程序存贮器(ROM)、数据存贮器(RAM)、定时/计数器、输入输出(I/O)接口、串行口2)原理图4.单片机的开发思路1)设计制作硬件;2)确定常数、地址;3)编写软件;4)编译器对源程序文件编译、查错;5)仿真机对软件进行调试,直到程序运行正确;6)写片(将程序固化在EPROM/Flash中),在源程序被编译后生成HEX(机器码)目标文件,将此文件调入即可写片。
单片机听课笔记1-8课----金沙滩工作室2014年更新Lesson 1:1、用公司用的单片机/视频用的单片机2、书是用来查的。
3、单片机方面不怎么需要软件仿真4、KEIL软件安装(keil c51)30分钟-35分钟双击→next→√→next→默认路径→next→1,2,3,email格式→next→自动安装→去掉三个选项的√→finish。
桌面上出现KEIL快捷方式。
5、文字大小,文字颜色的设定:edit→configuration→colour&font→:editor c files→只需要修改text, textselection,number,keyword,string即可。
6、下载软件stc-isp-v480.se win7系统第一次打开,右键,以管理员身份运行一次。
7、《三傻大闹好莱坞》:追求卓越,成功就会在不经意间追上你。
Lesson2:1、51单片机:兼容intel的MCS-51体系架构的一系列单片机2、STC89C52RC---学习板上的第一个单片机。
3、单片机最小系统:电源电路、晶振电路(20PF起振电容,帮助晶振起振,并维持震荡信号的稳定)、复位电路(0.1uF, 18R, 4.7K)。
4、单片机复位一般用三种:上电复位,手动复位,程序自动复位。
5、单片机原理图引脚位置与封装图可以不一样。
6、贴片发光二极管限流电阻的选用。
7、sfr P0 = 0X80,告诉我们编程软件P0在0X80的位置上,查手册可得。
8、打开KEIL软件→project→new project →选择路径→写工程名,不需写扩展名→旧:选择单片机型号→NXP→P89V51 →copy,,,,,→否→新建文件file→new→保存→给文件起名led.c→新:选择单片机型号→intel→随便一个→copy,,,,,→是→新建文件file→new→保存→给文件起名led.c9、#include<reg52.h>及函数名后不需要加分号。
10、单片机编程是根据硬件编程,不同的板子,程序可能不一样。
11、target 1右边的target options→target→11.0592M, output→creat hex选项框选中,点击ok,编译,连接就可生成hex文件。
12、hex文件大小的看法:在编译连接之后,build output对话框里看。
Program size: data = 9.0 xdata = 0 code = 29 表示:其中data,xdata指RAM,两项加起来就是存的值:0+9=9字节。
code指占程序存储空间的值:29个字节。
13、点亮小灯的程序# include<reg52.h>sbit LED = P0^0;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;void main(){ENLED = 0; ADDR3 = 1;ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;LED = 0;while(1);}14、安装usb-串口的驱动;查找COM口。
我的电脑→设备管理器。
选择单片机型号→打开hex文件→选择使用的COM口→波特率默认→下次冷启动选择:与下载无关→(STC89C52RC冷启动单片机)先点下载后上电。
作业:3.了解KEIL软件的基本用法和单片机编程流程,能够独立完成编程下载等基本操作。
Lesson 3:硬件基础学习1、电磁干扰EMI,电磁兼容EMC2、低频滤波电容:去除电源低频纹波,稳定电源作用。
铝电解电容、钽电容(有色标的一端为正极,性能好)、陶瓷电容。
3、 高频滤波电容:对高频短路,可滤去高频干扰。
(104 = 0.1uF )4、 电容选取两个主要参数:耐压值、容值。
5、 三极管的功能:开关控制(100Ib>Ie ,则工作在饱和状态)、信号放大、电平转换。
6、 三八译码器: 74HC138 地址输入端c/b/a 及E3使能端接4.7K 电阻上拉。
7、 双向缓冲器:74HC245 DIR 为高,A →B ;输入端接4.7K 上拉电阻。
8、 保存过后的c 文件,文件名旁边没有※。
作业:4、能够独立点亮开发板上的每一个小灯,并且可以实现小灯亮和灭以及闪烁。
Lesson 4 C 语言基础以及流水灯实现1、进制2、C 语言变量类型及围Unsigned char 0-255 signed char -128—127Unsigned int 0-65535 signed int -32768---32767Unsigned long 0-4294967275 signed long -2147483648---2147483647Float -3.4×10-38—3.4×10-38 double:C51里等同于float能用一个字节的变量能完成的工作,不要用两个字节变量。
3、C语言基本运算符+ - * / %(取余) ++ -- = == !=4、for语句的用法(作延时,作循环运算)一、for(表达式1;表达式2;表达式3){(需要执行的语句)} 执行顺序:1,2,4,3, 2,4,3, 2,4,3二、for(i= 0 ; i<30000; i++);是用法一的特殊情况,相当于执行语句为不执行。
三、for(;;) 相当于while(1)5、while语句的用法一、while(条件表达式){循环语句;}6、函数名的类型,就是return值的类型。
Void main() void表示函数名,无返回值,int main(),返回值为整型。
7、变量在使用之前,先定义。
8、51单片机延时常用方法:非精确延时:for(I = 0 ; i<100; i++);I = 100; while(i--);精确延时:用定时器定时利用库函数-nop-();9、肉眼分辨率:20ms一下看不到闪烁;50ms间隔能清楚看见亮灭。
10、软件仿真:先设置target options→target→11.0592M, debug→选中use simulator→ok点击start debug session 图标,进入仿真界面。
设置断点:双击,若设置不了target options→C51→level,设置优化登记一般选8。
RST 复位run全速运行。
然后看时间情况。
(50分钟附近)11、程序一:小灯的闪烁(视频位置与笔记顺序不一致)# include<reg52.h>sbit LED = P0^0;sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;void main(){unsigned int i = 0;ENLED = 0; ADDR3 = 1;ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;LED = 0;for(;;)//while(1){LED = 0;for(i = 0; i<20000; i++);LED = 1;for(i = 0; i<20000; i++);}}12、程序二:流水灯程序(法一)# include<reg52.h>sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;void main(){unsigned int i = 0;ENLED = 0; ADDR3 = 1;ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;while(1){P0 = 0XFE;for(i = 0; i<30000; i++);P0 = 0XFD;for(i = 0; i<30000; i++);P0 = 0XFB;for(i = 0; i<30000; i++);P0 = 0XF7;for(i = 0; i<30000; i++);P0 = 0XEF;for(i = 0; i<30000; i++);P0 = 0XDF;for(i = 0; i<30000; i++);P0 = 0XBF;for(i = 0; i<30000; i++);P0 = 0X7F;for(i = 0; i<30000; i++);}}13、移位指令(<< >>)、取反指令(~)。
14、程序二:流水灯程序(法二)# include<reg52.h>sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit ENLED = P1^4;void main(){ unsigned char cnt = 0;unsigned int i = 0;ENLED = 0; ADDR3 = 1;ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;while(1){P0 = ~(0x01<<cnt++);for(i = 0; i<30000; i++);if(cnt >= 8){cnt = 0;}}}作业:4、独立完成流水灯右移操作。
5、独立完成左移到头,接着右移,右移到头,接着左移的程序。
Lesson 5 定时器和数码管基础1、逻辑运算逻辑与:&& 逻辑或:|| 逻辑非:!按位与:& 按位或:| 按位取反:~ 按位异或:^0b11001100 |0b11110000 等于0b111111002、数字电路常用符号3、机器周期是定时器的计数周期,打开定时器后,每经过一个机器周期,定时器“存储寄存器”的值加1。
8位定时器存储的值的围:0-225 16位定时器0-655354、标准51里有两个定时器:T0和T1。
5、定时器/计数器模式示意图。
5、使用定时器的方法一、设置TMOD(模式寄存器M1、M0位,常用模式1、模式2自动重装),配置好工作模式例如:TMOD = 1;二、设计数寄存器TH0 、TL0的初值。
例如:TH0 = 0XB8; TL0 = 0X00;定时20ms TH0 = 0XB8; TL0 = 0X00; 定时1ms三、设TCON(控制寄存器TF位,TR位),通过TR0置1来让定时器开始计数例如:TR0 = 1;四、判断TCON寄存器的TF0位,检测定时器的溢出情况。