摘要:针对新一代高性能单时钟/机器周期的STC12C系列单片机由于执行速度远高于传统的51单片机而不能直接使用原有单片机程序的问题,采用Keil软件的性能分析器来计算Atmel单片机的执行时间;通过手工计算修改程序段的执行时间,使STC12C系列单片机的执行时间满足数字温度传感器DS18B20的时序要求。测试结果表明STC12C2052能正确读取DS18B20的温度转换值,此方法对于具有时序要求的可编程器件的使用具有一定的参考价值。关键词:STC12C单片机;DS18B20;时序;编程
上传时间: 2013-11-19
上传用户:nairui21
倚天版增强型编程试验一体化开发套件,适合于零基础,或者初中级单片机爱好者使用,并适合于单片机程序员的前期试验。他由一个多功能的51烧写器和一个具有扩展功能的多功能试验板组成。同时标配2片试验用AT89S51,串行试验电缆,遥控器,1602液晶屏。您不需要另外购买其他任何材料即可完成51单片机的流水灯,小键盘,数码管动态显示,数码管静态显示,计数器,小喇叭报警器,唱歌。串口通信试验,24c04扩展,外中断,红外遥控,液晶显示等试验。在同类产品中,本品率先采用流水线波峰焊接,彩色外包装设计,采用蓝色双面PCB,4角特别贴心铜柱固定,品质非常稳定。
上传时间: 2013-10-23
上传用户:TF2015
摘要:超低频信号发生器是科研、教学、制造业中一种最常用的通用仪器,输出波形一般固定为正弦波、三角波、锯齿波和方波,不能实现有时在实验和工程应用中需要的特殊信号或自定义信号。而要实现这一要求,不是做成硬件式的专用信号发生器,就是用计算机系统来完成,前者仍然不灵活,后者费用太高。然而应用单片机技术,通过软件与硬件的有机结合由硬件电路搭成一个环境平台,再由软件程序把要求的“任意函数信号”数据表嵌入在单片机程序存储器内,通过软件程序更改输出波形数据表,即可方便实现输出任意函数信号,而无需变动硬件电路。本原理样机使用单片机AT89C51,对其进行一次固化,可以安排四种任意波形,频率范围为0.001~800Hz,幅值范围为0~±10V。本文中对原理样机的软硬件系统的性能和误差进行了定量分析,并设计了一套使用Intel公司的新一代16位单片机80296SA对该样机进行了性能提升的新型样机方案,然后对新型样机方案进行了原理分析和性能分析,并给出了误差的定量计算,表明此方案不但可使样机的原理频率范围提高至1500Hz,输出幅值不变,输出分辨率提高至212,使波形质量大为改善。希望这种性价比较高的函数信号发生器对科研、教学、制造业有所帮助。关键词:单片机应用 MCS51 MCS296 超低频信号发生器
上传时间: 2013-11-20
上传用户:7891
终于结束了晦涩枯燥的第三章,我自己也长吁了一口气,现在我真的是非常同情那些教专业基础课或者工程数学的老师,这里真诚的说一声:“辛苦你们了”。这一章要轻松不少,相信就算是刚走出校门的雏鸟,多少都有一定的C语言基础,大学好象都要过一个计算机等级考试,所以C语言自然是逃不了。你不要指望我给你讲述C语言原理和指令这类基础知识,我更不会给你讲述C++那些面对对象编程的高级编程方法,这一章讲述的内容都是C语言在单片机上应用会遇到的一些有意思的现象,让你知道C在单片机上是怎么工作的。当然也会告诉你一些C的经验技巧,这些对提升你的单片机程序能力还是有一定作用的。
上传时间: 2013-11-20
上传用户:zhanditian
单片机反汇编工具包 单片机反汇编 单片机反汇编即写入单片机的bin文件或是hex文件,经过人工处理或是反汇编软件处理成汇编语言。这些汇编语言里面变量名,标号名,程序名都是简单的数字字母符号,没有实际意义。所以一般的单片机程序员都不愿意看,也很难看懂。单片机反汇编看懂需要比较有经验的软件工程师。但是研究反汇编程序是学习和吸收外国先进技术的非常好的途径。目前国内也有不少工程师在研究单片机反汇编技术
上传时间: 2013-12-19
上传用户:1417818867
PICmicro中档单片机系列参考手册:请注意以下有关Microchip 器件代码保护功能的要点:• Microchip的产品均达到Microchip 数据手册中所述的技术指标。• Microchip确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以Microchip 数据手册中规定的操作规范来使用Microchip 产品的。这样做的人极可能侵犯了知识产权。• Microchip愿与那些注重代码完整性的客户合作。• Microchip或任何其它半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是“牢不可破”的。代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏Microchip 代码保护功能的行为均可视为违反了《数字器件千年版权法案(Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的软件或其它受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为的。 Microchip 公司是The Embedded Control Solutions Company® (嵌入式控制系统解决方案公司),其产品主要满足嵌入式控制市场的需求。我们是以下产品的领先供应商:• 8 位通用单片机(PICmicro® 单片机)• 专用和标准的非易失性存储器件• 安防器件 (KEELOQ®)• 专用标准产品欲获得您所感兴趣的产品列表,请申请一份Microchip 产品线目录。以往,8 位单片机的用户只选择传统的MCU 类型,即ROM 器件,用于生产。Microchip 率先改变了这种传统观念,向人们展示了OTP (一次性编程)器件比ROM 器件在其寿命周期内具有更低的产品成本。Microchip 具备EPROM技术优势,从而使EPROM成为PICmicro 单片机程序存储器的不二选择。Microchip 尽可能地缩小了EPROM 和ROM 存储器技术之间的成本差距,并使顾客从中受益。其他MCU 供应商无法作到这一点,这从他们的 EPROM 和 ROM 版本之间的价格差异便可以看出。Microchip 的8 位单片机市场份额的增长证明了PICmicro® 单片机能够满足大多数人的需要。这也使PICmicro 单片机架构成为了当今通用市场上应用最广泛的三大体系之一。Microchip 的低成本OTP 解决方案所带来的效益是这一增长的助推剂。用户能够从以下各方面受益:• 快速的产品上市时间• 允许生产过程中对产品进行代码修改• 无需掩膜产品所需的一次性工程费用(NRE)• 能够轻松为产品进行连续编号• 无需额外增加硬件即可存储校准数据• 可最大限度地增加PICmicro® 单片机的库存• 由于在开发和生产中使用同一器件,从而降低了风险Microchip 的8 位 PICmicro 单片机具备很好的性价比,可成为任何传统的8 位应用和某些4 位应用( 低档系列)、专用逻辑的替代品以及低端DSP 应用( 高档系列) 的选择。这些特点及其良好的性价比使PICmicro 单片机在大多数应用场合极具吸引力。
上传时间: 2014-03-03
上传用户:ainimao
单片机键盘扫描之状态机实现:在编写单片机程序的过程中,键盘作为一种人机接口的实现方式,是很常用的。而一般的实现方法大概有:1、外接键盘扫描芯片(例如8279,7279 等等),然后由该芯片来完成去抖、键值读取、中断请求等功能。然后单片机响应中断并读取键值,有的时候也可以采用轮训的方式。2、如果按键数比较少,那么可以直接将按键接到单片机的IO 口,然后各按键取逻辑或再送到单片机的中断管脚(对于51 体系),单片机响应中断后再去读取IO 口的数据。如果单片机的中断向量比较多(例如AVR 系列的单片机,每个IO都可以作为中断),那么也可以直接把各个按键接到各个具有中断功能的IO 上面。在中断处理程序中往往需要执行这样一个操作序列:延时一定时间来去抖,如果按键有效那么等待按键释放。
上传时间: 2014-12-28
上传用户:zhang97080564
PC机与单片机通信实例:表决器单片机要同时处理很多部分的功能,如:按键处理、LED处理、通信处理等。而单片机程序是串行执行的。如何让众多任务同时进行或者看起来同时进行?并行:真正意义上的同时进行。并发:宏观上是同时的,而在微观上是轮流进行的。即看起来是同时进行的。例如:面前的CRT显示器,电子束是逐点顺序点亮荧光屏上的像素。由于点亮的速度足够快,很短时间便可扫过整个屏幕,以致于在宏观上看,所有的像素都是同时刷新的。
上传时间: 2013-10-28
上传用户:spman
基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化缓存区 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序 ACALL DISPLAY ;调用显示子程序 LJMP NEXT1 ORG 0100H ;中断0服务程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中断1服务程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;将十六进制中最高位移入进位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位数加上本身相当于将这个数乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十进制调整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段码表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延时子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。 由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。
上传时间: 2013-12-22
上传用户:tangsiyun
1、程序的基本格式先介绍二条伪指令:EQU ——标号赋值伪指令ORG ——地址定义伪指令PIC16C5X在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为:PIC16C54/55:1FFHPIC16C56:3FFHPIC16C57/58:7FFH一般来说,PIC的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式TITLE This is ⋯⋯ ;程序标题;--------------------------------------;名称定义和变量定义;--------------------------------------F0 EQU 0RTCC EQU 1PC EQU 2STATUS EQU 3FSR EQU 4RA EQU 5RB EQU 6RC EQU 7┋PIC16C54 EQU 1FFH ;芯片复位地址PIC16C56 EQU 3FFHPIC16C57 EQU 7FFH;-----------------------------------------ORG PIC16C54 GOTO MAIN ;在复位地址处转入主程序ORG 0 ;在0000H开始存放程序;-----------------------------------------;子程序区;-----------------------------------------DELAY MOVLW 255┋RETLW 0;------------------------------------------;主程序区;------------------------------------------MAINMOVLW B‘00000000’TRIS RB ;RB已由伪指令定义为6,即B口┋LOOPBSF RB,7 CALL DELAYBCF RB,7 CALL DELAY┋GOTO LOOP;-------------------------------------------END ;程序结束注:MAIN标号一定要处在0页面内。2、程序设计基础
上传时间: 2013-11-14
上传用户:cjf0304