C51回顾二

一.在使用多位一体数码管时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连在一起的,独立的公共端可以控制具体哪一位数码管可以显示,连在一起的段线可以控制到底显示什么数字。通常我们把公共端叫做位选线,连接在一起的段线叫做段选线。通常单位数码管是10个引脚,二位数码管也是10个引脚,四位数码管是12位引脚。

二.在嵌入式编程中,根据不同的需要来建立自己的码表会经常遇到的,这里共阴极数码管的码表在C51中可以这样建立,以下只是一个示例:

unsigned char code table[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,

0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};分别代表0~F的数字。这里code表示编码的意思,编译后数组直接分配到程序空间中,去掉code后,定义的数组编译后会被分配到内存空间。

三.我们知道控制一个多位数码管的显示,需要两类信号,一个是段选信号,一个是位选信号,这里我们要先送哪一个信号为好了?

1)先送位选信号,在送段选信号。这里要注意在送位选信号以前,必须先清除段选总线上的信号,以免段选总线上的信号立即被显示,而此时被显示的数据不一定是我们实际要送的段选信号。简单的过程描述为消影,送位选信号,在送段选信号。

2)先送段选信号,然后消影,在送位选信号。

注:这里我们通常在硬件上需要加数据锁存器,如74HC573.

四.C51中断服务程序的写法:

void  函数名() interrupt 中断号 using 工作组

{

中断服务程序内容

}

注:中断函数不能带返回值;

中断函数也不能带任何形参;

中断号是指单片机中几个中断源的序号,这个序号是编译器识别不同中断的唯一符号。

工作组是指这个中断函数使用单片机内存中4组工作寄存器中的哪一组,C51编译器在编译程序时会自动分配工作组,因此“using 工作组”我们可以省略不写。

五.面对51单片机的中断系统,可以从以下几个问题思考?

1)有几个中断源?每个中断源的触发方式有几种(也可理解为中断源的触发条件是什么)?

2)每个中断源的中断优先级是否可设置?还是默认它是最低或最高的,还是按查询次序来处理?

3)中断请求标志位,请求中断前是硬件还是软件控制请求?请求中断得到响应是硬件还是软件结束请求?

4)中断允许标志位,是几级允许控制?它的允许是否与外部引脚也有关(即不是纯软件的控制)?

5)中断对应的寄存器是位操作和字节操作都可以还是只能字节操作?

6)中断能否被打断,有两个概念:中断能否被自身的中断所打断?中断能否被其他中断所打断?

时间: 2024-07-30 05:03:39

C51回顾二的相关文章

概率与统计 知识回顾(二) 一维随机变量及概率分布

1 随机变量的概念 顾名思义,随机变量就是“其值随机会而定”的变量.随机变量的反面是“确定性变量”,即其值遵循某种严格的规律的变量,比如从北京到上海的距离.但是从绝对意义上讲,许多通常视为确定性变量的量,本质上都有随机性,只是由于随机性干扰不大,以至在所要求的精度之内,不妨把经作为确定性变量来处理. 根据随机变量其可能取的值的全体的性质,可以把随机变量分为2大类,一类是离散型随机变量:一类是连续型随机变量.但是连续型变量这个概念只是数学上的抽象,因为任何量都有单位,都只能在该单位下量到一定的精度

Thinkphp学习回顾(二)之config.php的配置

常见配置项 <? return array( //'配置项'=>'配置值''TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题'TMPL_R_DELIM'=>'}>', //修改右定界符(重点)'DB_PREFIX'=>'tp_',//设置数据库表前缀便于管理分类(重点)'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp3',/*使用DSN配置链接数据库信息(重点)

C51回顾五

一.串口通讯中,在发送数据时,数据位尾随的一位为奇偶校验位(1或0).奇校验时,数据中1的个数与校验位1的个数之和应为奇数,偶校验时,数据中1的个数与校验位1的个数之和应为偶数.接受字符时,对1的个数进行校验,若发现不一致,则说明传输过程中出现了差错. 二.RS232C总线标准要求收发双方共地,通信距离大时,收发双方的地电位差就明显了,在信号地上有比较大的电流,并产生压降. 三.串口线又分为平行串口线和交叉串口线,母对母串口线,母对公串口线等等. 四.51单片机常用晶振11.0592Mhz,因为

C51回顾三

一.C51扩展的13个关键字 bit  位变量说明    声明一个位变量或位类型的函数 sbit 位变量说明    声明一个可位寻址的寄存器的位 sfr  8位特殊功能寄存器的声明 sfr16  16位特殊功能寄存器的声明 data   直接寻址的8051内部寄存器 bdata  可位寻址的8051内部寄存器 idata   间接寻址的8051内部寄存器 pdata   分页寻址的8051外部寄存器 xdata   8051外部数据寄存器 code   8051程序存储器 interrupt  

C51回顾四

一.采样定理可以简单表述为,为了还原原始信号,采样信号的频率不能小于原始信号最高频率分量的两倍. Fs>=2Fy Fs为采样频率 Fy为输入信号的最高频率分量的频率. 二. 三._nop_()这个函数是延迟一个周期的意思,用到它时,程序中需要包含头文件intrins.h. 四.D/A转换的一些参数: 1)建立时间:指输入数字量变化时,输出电压变化到相应稳定电压值所需要的时间.一般用转换器输入的数字量从全0变为全1时,输出电压达到规定的误差范围(+-LSB/2)时所需要的时间. 2)温度系数:指在

python 基本语法回顾二

123456789print "How old are you?",age = raw_input()print "How tall are you?",height = raw_input()print "How much do you weigh?",weight = raw_input()print "So, you're %r old, %r tall and %r heavy." % (age, height, we

JavaWeb知识回顾二

动态web资源相关 1.tomcat相关 tomcat的目录结构 bin -- tomcat服务器的批处理文件的存放目录 conf -- tomcat服务器配置文件的存放目录 lib -- tomcat服务器运行时所依赖的jar包的存放目录 logs -- tomcat服务器运行时产生的日志文件的存放目录 temp -- tomcat服务器运行时产生的临时文件的存放目录 tomcat的三种部署web应用的方式 1.在tomcat/conf/server.xml中<host>下添加<Con

2048游戏回顾二:算法总结(移动、合并、动画等)

如果只是单纯的写一个2048游戏,让这个游戏可以玩的话,工作量还是蛮小的.不过,在这写工作中,你可能花时间最多的就是数字的移动与合并的算法了,如果没有做过,可能确实要花点时间来构思,所以,写完2048游戏以后,我希望能把它做个记录. 移动与合并的算法 比如说我们有如下一个界面: 现在,玩家向左划,这个导致所有的数字向左移动,并且移动的过程中如果发生碰撞,会检查数字是不是可以合并. 我们的算法应该是通用的,不仅对于4*4模式,即便是针对3*3模式,n*n模式,它都应该是一样的. 那么怎么做呢?其实

C51回顾六

1.液晶(Liquid Crystal)是一种高分子材料.液晶显示器(Liquid Crystal Display)的主要原理是以电流刺激液晶分子产生点,线,面并配合背光构成画面.各种型号的液晶通常是按照显示字符的行数或液晶点阵的行,列数来命名的.如1602的意思是每行显示16个字符,可以显示两行,这类LCD通常都是字符型液晶,即只显示ASCII字符,如数字,大小写字母,各种符号等.12864是图形型液晶,意思是液晶由128列,64行组成,即128*64个点来显示各种图形.根据客户需求,厂家可以