摘要:采用C51单片机作为三值光计算机编码器的控制核心,实现了可以长时间稳定工作的三值光计算机编码器模型。C5l单片机主要完成了与上位机通信和控制液晶单元工作的功能。文中从硬件和软件两个方面对使用的单片机系统进行了详细讨论,着重介绍了单片机系统中硬件的设计、实现方法和软件流程及核心程序段。实验结果表明该系统性能稳定可靠,目前已在360位的三值逻辑光学处理器模拟机中使用。关键词:嵌入式系统;单片机控制系统;三值光计算机;编码器
上传时间: 2013-12-02
上传用户:lxm
PCF8579是一款低功耗的CMOS LCD列驱动器,以1:8,1:16,1:24或1:32的复用率驱动点阵图形显示器。该器件含40个输出脚,可驱动一个32行复用的32×40点阵LCD。最多可级联16个PCF8579,同一I2C总线上最多可挂载32个器件(使用2个从机地址)。PCF8579最适合与PCF8578 LCD行/列驱动器配合使用,这两个器件共同形成了通用LCD点阵驱动芯片组,可以驱动显示多达40960个点。PCF8579与大多数微控制器兼容并通过一个双线I2C总线进行通信。由于部分VDD可以关断,SCL和SDA引脚的ESD保护系统并未通过二极管连接到VDD。器件具有自增寻址的显示RAM和显示区域切换等功能,使应用系统的通信量减到最低。
上传时间: 2013-10-29
上传用户:dalidala
单片机音乐中音调和节拍的确定方法:调号-音乐上指用以确定乐曲主音高度的符号。很明显一个八度就有12个半音。A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。 升C调:1=#C,也就是降D调:1=BD;277(频率)升D调:1=#D,也就是降E调:1=BE;311升F调:1=#F,也就是降G调:1=BG;369升G调:1=#G,也就是降A调:1=BA;415升A调:1=#A,也就是降B调:1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所谓1=A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“唱A调”。1=C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。各调的对应的标准频率为: 单片机演奏音乐时音调和节拍的确定方法 经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与 ,2(来)与 ……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例: A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136μs这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,则定时器的予置初值由下式来确定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C 、1=G …… 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联, 、 就是用来表示节拍的。以 为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如: 其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 : C调音符 频率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC调音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7频率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C调音符 频率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上传时间: 2013-10-20
上传用户:哈哈haha
作为嵌入式系统主控单元——单片机,其软件往往是一个微观的实时操作系统,且大部分是为某种应用而专门设计的。系统程序有实时过程控制或实时信息处理的能力,要求能够及时响应随机发生的外部事件并对该事件做出快速处理。而分时操作系统却是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做。此时CPU又分配给另一个作业去使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所“停顿”;但用户察觉不出来,好像整个系统全由它“独占”似的。分时操作系统主要具有以下3个特点:① 多路性。用户通过各自的终端,可以同时使用一个系统。② 及时性。用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。③ 独占性。在分时系统中,虽然允许多个用户同时使用一个CPU,但用户之间操作独立,互不干涉。分时操作系统主要是针对小型机以上的计算机提出的。一般而言,微处理器(MPU)驱动的通用计算机,系统设计人员对每一台的最终具体应用都是不得而知的,因此,在价格允许的情况下,硬件设计务求CPU时钟尽可能的快;计算及管理能力尽可能的强;程序和数据存储器的容量尽可能的大;各种计算机外设的配接尽可能的详尽等等,特别是采用分时操作系统的机器,因为是一机多用户的管理系统,它的要求就更高了。相对而言,微控制器(MCU)俗称单片机,是一个单片集成系统,它将这些或那些计算机所需的外设,诸如程序和数据存储器、端口以及有关的子系统集成到一片芯片上。从硬件上,单片机系统与采用分时操作系统的计算机系统是无法比拟的。但是,在单片机系统的设计中,设计人员对其最终具体应用是一清二楚的,它的使用环境相对是单一固定的。所控制的过程的可预见性为分时系统思想的实现提供了可能性。具体一点就是:虽然单片机的CPU速度较低,但其任务是可预见的,这样作业调度将变得简单而无须占用很多的CPU时间,同时“时间片”的设计是具体而有针对性的,因此可变得很有效。一、单片机分时系统的设计单片机系统往往是一个嵌入式的控制系统,因此目前绝大部分的单片机系统还是一实时系统。能够真正体现分时系统的设计思想的往往是那些多路重复检测控制系统。即便是在这些多路重复检测控制系统中,它的实时性也是非常重要的。也就是说,在单片机系统中应用了分时系统设计思想,但其及时性应首先进行考虑。
上传时间: 2013-12-23
上传用户:佳期如梦
为了方便在天文观测时对大量变化的数据进行实时监测,提出了一种基于MFC的太阳爆发实时监测动态显示界面的设计方法,并完成了软件界面设计。该方法使用链表来存放实时更新的数据,以实时数据绘制曲线图,并且在每次绘图之前都根据数据的变化重新设定坐标幅度,以实现对数据波动变化的动态显示。该方法已经应用于太阳爆发活动实时监测系统中。实际应用表明,该方法能够实现动态显示更新的数据及绘制曲线图,达到了实际应用要求。
上传时间: 2013-10-28
上传用户:3291976780
针对汽车仪表行业发展的新趋势,文中提出了一种基于Labview的新型数字式车载信息终端的解决方案。其中包括基于CAN 总线的分布式传感网络的设计,嵌入式网关的设计,基于SD卡的黑匣子系统和Labveiw平台下的人机交互界面的总体框架。为了减少对汽车前面板空间的占用,设计还集成了后车影像和汽车导航这两个常用功能。同时,利用WIFI 协议和Labview的 WEB Server技术实现了远程对汽车信息的访问。与现有产品相比,该系统具有成本低、体积小、智能化、易升级等特征。
上传时间: 2013-11-21
上传用户:xinshou123456
卫星广播电视具有覆盖面积大、使用频率高、管束容量大、信号质量好等特点,它是未来数字电视(DTV)与高清晰电视(HDTV)的重要传播手段和电视技术的主要发展方向。
上传时间: 2013-10-25
上传用户:yqs138168
上传时间: 2013-11-15
上传用户:debuchangshi
编写出程序,在键盘上输入某人的月收入(允许达双字长),按照下列个人所得税的办法,计算并输出他应交纳的个人所得税税额。 个人所得税计算方法如下: 个人所得税实行累进税率,计算办法是用全月应纳税所得税分为几个级别,分别乘以累进税率,几个级别税额的总和就是该月应纳个人所得税额。全月应纳税所得额是用全月收入总额减去免税额(税法规定为800元,广州市规定为1260元),个人所得税的税率分为9个级数(见下表)。 举例说明:杨某月收入为55000元,他的个人所得税应该这样计算: 应纳税所得额:55000-1260=53740元,共分为6个级别。 1级(500元之内的部分):500*5%=150 2级(500到2000元之间的部分):1500*10%=450 3级(2000到5000之间的部分):3000*15%=450 4级(5000到20000之间的部分):15000*20%=3000 5级(20000到40000之间的部分):20000*25%=5000 6级(40000到60000之间的部分):13740*30%=4122 以此类推,杨某应缴个人所得税为12747元。
上传时间: 2013-12-21
上传用户:tonyshao
这是我学习C++之后教师布置的作业,作业要求:编写一个学生管理系统,每个学生应该包含如下信息:地址,出生日期,学科成绩(语文,英语,数学,物理),个人信息(姓名,性别,民族,国籍,学历),联系方式(手机,家庭电话,学校电话) 可以任意添加学生,删除学生,编辑学生信息,并且具有保存和读入学生信息的功能。 实现步骤: ①: 使用单链表实现本程序要求,单链表每个节点
标签:
上传时间: 2013-12-05
上传用户:hopy