单片机语言C51应用实战集锦使用C语言开发速度快,代码可重复使用,程序结构清晰、易懂、易维护,易开发一些比较大型的项目。目前,许多编译器都已经支持了C51,而且是Windows视窗界面。Kelic51是目前单片机开发最为流行的软件。本书收集并整理了许多实用的采用C51单片机开发的程序,这些程序既可以给读者以开拓思路,参考的用途又是实际的开发程序,可以直接作为程序应用在相同的开发系统上。通过本书的学习,读者可以进一步了解和掌握C51编程的思路和方法。单片机语言C51应用实战集锦目录:程序一 实时时钟芯片DS1302的C51程序例子程序二 C430与CSI的一点区别程序三 一个菜单的例子程序四 DS1820单芯片温度测量程序五 keilc 6.20c版直接嵌入汇编的方法程序六 用计算机并口模拟SPI通信的C源程序程序七 CRC 16-SIANDARD的快速算法程序八 在PC上用并行口模拟I(平方)C总线的C源代码程序九 一种在C51中写二进制的方法程序十 CRC算法原理及C语言实现程序十一 软件陷阶程序十二 一个简单的VB串口发送程序程序十三 12864汉字液晶显示驱动程序程序十四 12232点阵液晶基本驱动程序程序十五 串口中断服务函数集程序十六 93C46读写程序程序十七 20045读写程序程序十八 一组小程序集锦程序十九 AVR asm源程序程序二十 AVR单片机一个简单的通信程序程序二十一 TG19264A接口程序程序二十二 TG19264A接口程序(AVR模拟方式)程序二十三 常用的几种码制转换BCD,HEX,BIN程序二十四 16x2字符液晶屏驱动演示程序一程序二十五 16x2字符液晶屏驱动演示程序二程序二十六 PS7219代码程序二十七 2051的AD代码程序二十八 ARV19264型液晶显示字库程序二十九 液晶CKW19264A型接口程序(模拟方式)程序三十 I(平方)C总线驱动程序程序三十一 240128型液晶代码程序三十二 飞机游戏程序三十三 PC键代码程序三十四 拼音输入法模块程序三十五 串行口代码程序三十六 蛇游戏代码程序三十七 与液晶模块T6963C连接代码程序三十八 键盘输入法设计草案程序三十九 16*4液晶汉字代码程序四十 智能化家电控制附录C 单片机C51编程几个有用的模块附录D 头文件W77E58.h附录A MCS-51单片机定点运算子程序库附录B MCS-51单片机浮点运算子程序库
上传时间: 2013-11-02
上传用户:kbnswdifs
80C51 汇编指令集:TF1:计时器1溢出标志位,当计时器1溢出,时此位=1,发出中断请求,然后硬件自动清0.TR1:计时器1的控制位,TR1=1时,计时开始,TR1=1时则停止。TF0:计时器0溢出标志位,当计时器0溢出,时此位=1,发出中断请求,然后硬件自动清0。TR0:计时器0的控制位,TR0=1时,计时开始,TR0=1时则停止。IE1:外部中断1的请求标志位,当外部中断有请求时,此位=1,发出中断请求,然后硬件自动清0。IT1:外部中断1的中断类型控制,当IT1=1时,边沿触发方式,下降沿触发有效,当IT1=0时,电平触发方式,低电平触发有效。P3.3信号触发。IE0:外部中断0的请求标志位,当外部中断有请求时,此位=1,发出中断请求,然后硬件自动清0。IT0:外部中断0的中断类型控制,当IT0=1时,边沿触发方式,下降沿触发有效,当IT0=0时,电平触发方式,低电平触发有效。P3.2信号触发
上传时间: 2013-11-17
上传用户:kangqiaoyibie
上一讲中我们学习了如何建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节,这一讲将介绍常用的调试命令、利用在线汇编、各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用。
上传时间: 2014-04-14
上传用户:sdq_123
深入浅出AVR单片机思路清晰,以AVR单片机为载体,介绍了初学单片机所必须掌握的专业知识。书中语言严谨但不乏幽默风趣,配以大量的照片、图示和实例程序,使读者在愉悦中完成专业知识的学习,并培养了学习嵌入式系统的兴趣。本书在讲述AVR单片机的同时,更注重于对读者学习和设计能力的启发、培养,帮助他们养成“从实践中来,到实践中去”的科学方法论,为进一步的学习创造了基础。 本书讲述浅显、内容丰富、编排合理、实例详尽。首先介绍了如何阅读器件资料的方法,然后熟悉ICCAVR集成开发环境并搭建实验开发装置,接着从实际应用出发,启发式地介绍AVR单片机的常用资源和对应软件方法,最后较为全面地补充了从事嵌入式系统开发要扩展的软件知识。 第1篇 Are you ready? 第1章 学会阅读Datasheet 1.1 如何阅读PDF文件,如何获得Datasheet文件 1.2 Datasheet告诉我们些什么 1.3 如何看懂AVR的Datasheet 1.4 如何得到帮助 1.5 汇编语言执行时间的计算方法 1.6 ATmega48/88/168常用熔丝的作用及其配置方法 1.7 对误烧写为外部时钟模式的解锁方法 实例1 阅读74HC595 Datasheet 第2章 深入开发环境 2.1 认识ICC编译环境 2.2 事半功倍的代码生成器 2.3 ICC之不得不说的故事 2.4 AVR最小系统和下载线DIY 实例2 AVR最小系统DIY第2篇 Let\'s go! 第3章 从跑马灯开始 3.1 输入/输出界面 3.1.1 单片机的输入/输出设备——引脚 3.1.2 “芯”里有数——数码管显示 3.1.3 单片机的输入/输出设备——从按键到键盘 3.2 用ATmega48/88/168单片机端口驱动数码管 3.3 操纵ATmega48/88/168单片机端口 3.4 端口内建上拉电阻的使用 3.5 端口位操作 实例3 跑马灯 实例4 数码管的显示(上) 实例5 数码管的显示(下) 实例6 矩阵键盘 第4章 对不起接个电话 4.1 十万火急——中断 4.2 中断的特性 4.3 使用中断时的注意事项 4.4 ATmega48/88/168单片机有哪些中断源 4.5 如何编写一个中断的服务程序代码 4.6 ATmega48/88/168单片机中断的开关控制 4.7 ATmega48/88/168中断标志位 4.8 ATmega48/88/168中断优先级 4.9 ATmega48/88/168单片机中断向量 4.10 中断与查询之争 4.11 用查询方式响应外设中断 4.12 中断误触发 4.13 前后台与原子操作 实例7 中断唤醒的键盘扫描 实例8 旋转编码器 第5章 一秒究竟有多长 5.1 单片机与时间 5.2 软件延时 5.3 不需要加载的“自由计时器” 5.4 通过重加载控制定时中断周期 5.5 使用代码生成器生成定时器1初始化代码 5.6 定时器的其他工作模式 5.7 PWM波及其应用简介 5.8 人类能看懂的电子时钟——实时时钟简介 实例9 闪烁的灯 实例10 渐明渐暗的灯 实例11 复杂闪烁控制 第6章 电量低 6.1 从猜数游戏到A/D转换器 6.2 ATmega48/88/168的A/D转换器 6.3 ATmega48/88/168单片机中与A/D相关的引脚 6.4 ATmega48/88/168单片机中与A/D相关的寄存器 6.5 使用A/D时需要注意些什么 6.6 怎样知道A/D转换完成 6.7 读取A/D的转换结果 6.8 使用代码生成器生成ADC初始化代码 6.9 书写具有工程结构的初始化代码 6.10 电量计原理概述 …… 第7章 正在过收费站 第8章 包装的学问 第9章 傻孩子求职记 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指针都是纸老虎 第13章 来自身边的启示 第14章 初识嵌入式系统
上传时间: 2014-05-05
上传用户:佳期如梦
本文介绍基于 AVR 嵌入系统的三相660 伏电力智能投切开关装置的开发设计。该装置以ATmega48V 为核心器件,采用零电压接通,零电流分断技术,在投入和切断瞬间由可控硅承载线路电流,而在正常闭合工作时由电磁接触器承载电流。可广泛应用于电力谐波治理和无功补偿设备中作为开关部件,具有无冲击电流、响应时间短等特性。在工矿企业用电设备中存在大量的感性负载,如电弧炉、直流电机调速系统、整流逆变设备等,它们在消耗有功功率的同时,也占用了大量感性无功功率,致使电力功率因数下降。由于无功功率虚占了设备容量、增大了线路的电流值,而线路损耗与电流的平方成正比,因此造成电力资源的巨大浪费。另外,这些感性负载工作时还会产生大量的电力谐波,对电网造成谐波污染,使电能质量恶化,电器仪表工作异常。为了提高功率因数、治理谐波,可以采用动态滤波补偿,由电容器和电感器串联形成消谐回路,起到无功补偿和滤除谐波的作用。各种滤波补偿系统,基本都由电力电容器、铁芯电抗器、无功补偿控制器和电力投切装置等构成,其中电力投切装置负责与电网接通、切断任务,是整个补偿系统中关键部件之一。
上传时间: 2013-10-10
上传用户:气温达上千万的
汇编指令查询器:数据传送指令 MOV 格式: MOV OPRD1,OPRD2 功能: 本指令将一个源操作数送到目的操作数中,即OPRD1<--OPRD2. 说明: 1. OPRD1 为目的操作数,可以是寄存器、存储器、累加器. OPRD2 为源操作数,可以是寄存器、存储器、累加器和立即数. 2. MOV 指令以分为以下四种情况: <1> 寄存器与寄存器之间的数据传送指令 <2> 立即数到通用寄存器数据传送指令 <3> 寄存器与存储器之间的数据传送指令 <4> 立即数到存储器的数据传送 3. 本指令不影响状态标志位
上传时间: 2013-11-13
上传用户:脚趾头
微型51/AVR 编程器套件装配说明书 请您在动手装配这个编程器之前,务必先看完本说明书,避免走弯路。 1.收到套件后请对照元器件列表检查一下,元件、配件是否齐全? Used Part Type Designator ==== ================ ========== 1 1k R6 1 1uf 50V C11 5 2k2 R2 R3 R4 R5 R11 1 10K*8 RN1 2 11.0592MHZ Q1 Q2 1 12V,0.5W D2 2 15k R7 R8 2 21k R9 R10 4 33p C6 C7 C8 C9 1 47uf 25V C10 1 74HC164 IC6 2 78L05 IC4 IC5 1 100uf 25V C12 1 220R R1 1 AT89C51 IC2 1 B40C800(W02) D1 2 BS170 T1 T2 1 BS250 T3 1 DB9/F J2 1 J1X2 J1 1 LED GN5 D3 1 LM317L IC1 1 TLC2272 IC7 1 ZIF40 IC3 5 1uf C1 C2 C3 C4 C5 另外,套件配有1.5米串行电缆一根和配套的PCB一块,不含电源。编程器使用的15V交流电源或12V直流电源需要自己配套。2.装配要点:先焊接阻容元件,3个集成电路插座(IC2,IC7,IC6)其次是晶振, 全桥,稳压IC 等,然后焊接J2,最后焊接T1,T2,T3三只场效应管。焊接场效应管时务必按照以下方法:拔去电烙铁的电源,使用电烙铁余温去焊接三只场效应管,否则静电很容易损坏管子。这是装配成功的关键。这三只管子有问题,最典型的现象是不能联机。由于电源插座封装比较特殊,国内无法配套上,已改用电源线接线柱,可直接焊接在PCB板焊盘上,如下图1所示(在下图中两个红色圆圈内指示的焊盘),然后在连接到套件中配套的电源插座上。最近有朋友反映用15V交流比较麻烦,还要另外配变压器。如果要使用12V的直流电,无需将全桥焊上,将两个接线柱分别焊接在全桥的正负输出位置的焊盘上即可,如下图2所示,蓝色圆圈内指示的焊盘,连接电源的时候要注意正负极,不要接错了。方形焊盘是正极。40脚ZIF插座焊接前,应该将BR1飞线焊接好。注意:由于焊盘比较小,注意焊接温度,不要高温长时间反复焊接,会导致焊盘脱落。
上传时间: 2013-12-31
上传用户:caiguoqing
微型计算机课程设计论文—通用微机发声程序的汇编设计 本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。关键字:微机 8253 通用发声程序 动画技术 直接写屏 1. 可编程时间间隔定时器8253在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。 在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址. 对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止. 8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536. MOV AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式 OUT 43H,AL ; j将控制字送入控制寄存器 MOV AL,0 ;计数初值为0 OUT 42H,AL ;将计数初值的低字节送入计数器2 OUT 42H,AL ;将计数初值的高字节送入计数器2 在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.2.发声程序的设计下面是能产生频率为f的通用发声程序:MOV AL, 10110110B ;8253控制字:通道2,先写低字节,后写高字节 ;方式3,二进制计数OUT 43H, AL ;写入控制字MOV DX, 0012H ;被除数高位MOV AX, 35DEH ;被除数低位 DIV ID ;求计数初值n,结果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;读入8255A端口B的内容MOV AH, AL ;保护B口的原状态OR AL, 03H ;使B口后两位置1,其余位保留OUT 61H,AL ;接通扬声器,使它发声
上传时间: 2013-10-17
上传用户:sunjet
avr studio 4.14 b589是ATMEL公司免费提供的AVR单片机开发平台。它集汇编语言编译、软件仿真、芯片程序下载、芯片硬件仿真等一系列基础功能,与任一款高级语言编译器配合使用即可完高级语言的产品开发调试。 avr studio 4.14 b589是一个最新的版本,推荐使用。
上传时间: 2013-11-17
上传用户:ddddddos
AVR单片机应用设计:AVR单片机是美国ATMEL公司1997年推出的单片机系列。本书以其代表型号AT90S8535为主线,讲述该系列单片机的内部结构、开发工具、指令系统、各种接口及其应用程序举例和设计方法。学习了这种功能较全的单片机,对于AVR系列其他型号单片机的应用就可以举一反三。 AVR单片机具有高速度、高保密性、低功耗的特点。AT90S8535内含可反复编程的Flash程序存储器、SRAM和EEPROM两种数据存储器、定时器/计数器、方向可定义的I/O口、同步串行口、异步串行口、A/D转换器及PWM等丰富的内部资源。一般的应用系统只需此一块芯片即可实现智能化。
上传时间: 2013-10-18
上传用户:forzalife