为了实现让单片机显示阿拉伯数字的功能,让我们来实现最简单的数码管显示: 单个数码管的静态驱动。 AVR单片机的端口驱动能力高达20mA,可以直接驱动数码管。可以利用ATmeg48 单片机的PD端口刚好可以驱动数码管的8个段。 这个实验的目的是在单个数码管上依次显示0,1,2,3,4,5,6,7,8,9,A, B,C,D,E,F共16个字符,为显示十六进制数做好技术准备。
上传时间: 2017-09-13
上传用户:498732662
编写子程序嵌套结构的程序,把整数分别用二进制和八进制形式显示出来。 主程序 :把整数字变量 存入堆栈,并调用子程序 ; 子程序 :从堆栈中取出 ;调用二进制显示程序 ,显示出与 其等效的二进制数;输出 个空格; 调用八进制显示程序 ,显示出与其等效的八进制数;调用输出回车 及换行符的子程序。
上传时间: 2013-12-27
上传用户:小码农lz
异或计算小工具,输入16进制数组,可计算出异或后的16进制结果
标签: 异或计算器
上传时间: 2021-11-09
上传用户:d07li
使用说明本程序完全参照龚建伟《串口调试助手V2.2》制作而成,原软件是用VC编写的,我将它改用Delphi编写,作为我学习串口编程的一个例子与工具使用。其中用到串口控件为ComPort,该控件为开源软件,各大网站均有下载,目前最新版为3.0。使用平台: WIN9X/NT/2000/XP 本软件目前仅供三线制(NONMODEM)串口调试之用,所有功能均置于界面上,一目了然,其义自明,这里仅对十六进制发送作一说明:十六进制发送:选中(CHECK)十六进制发送后,程序会自动从发送框取16进制数发送,最好按16进制格式填写,例如:12 34 56 77 10使用窗口悬浮功能:点击程序左下角的针状按钮可以使程序置于最上层,保持可见;放大至全屏:当需要扩大接收窗口以方便观看数据时,可以点击右上角最大化按钮另外:还要注意的是调试串口时,插拨串口接头应尽量关闭计算机,至少保证一端是关闭的。=================================================这个程序是我在网上下载的,在使用中发现有些问题:1、编译后发现在自动发送时有假死机现像,已经修正;2、把按键改在右边了,方便操作。
标签: 串口调试
上传时间: 2022-03-03
上传用户:kingwide
1,使用wireshark获取完整的UDP报文打开wireshark,设置监听网卡后,使用google chrome浏览器访问我腾讯微博的i http://p.t.qq.com/welcomeback.php?lv=1#!/ist/qqfriends/5/?pgv_ref-im.perinfo.pe rinfo.icon?ptlang-2052&pgv-ref-im.perinfo.perinfo.icon,抓得的UDP报文如图1所示。分析以上的报文内容,UDP作为一种面向无连接服务的运输协议,其报文格式相当简单。第一行中,Source port:64318是源端口号。第二行中,Destination port:53是目的端口号。第三行中,Length:34表示UDP报文段的长度为34字节。第四行中,Checksum之后的数表示检验和。这里0x表示计算机中16进制数的开始符,其后的4f0e表示16进制表示的检验和,把它们换成二进制表示为:0100 1111 0000 1110.从wireshark的抓包数据看出,我抓到的UDP协议多数被应用层的DNS协议应用。当一台主机中的DNS应用程序想要进行一次查询时,它构成了一个DNS查询报文并将其交给UDP,UDP无须执行任何实体握手过程,主机端的UDP为此报文添加首部字段,并将其发出。
上传时间: 2022-06-20
上传用户:
VIP专区-嵌入式/单片机编程源码精选合集系列(65)资源包含以下内容:1. DM9161应用电路原理图来自DAVICOM网站。需要的可以自由下载.2. ALTERA CPLD器件的配置与下载,贡献给初学习者,非长有用.3. This design package includes reference materials for creating a USB - PS/2 combination mouse that a.4. 字符表示的十六进制数转化为相应的整数    错误则返回    -1   .5. C51的12864m.6. 8个字LED点阵的显示程序.7. 51+ch375超级经典的U盘读写程序嘿嘿赶快下载把.8. PWM控制电机C程序-已通过实验测试 PWM控制精确控制电机的转动..9. C51串口单工通讯程序一成功通过测试,请放心下载.10. 来自网上好心人的好东东,关于SD卡读写的,内附protel原理图.11. 设计输入 ! 多种设计输入方法 – Quartus II • 原理图式图形设计输入 • 文本编辑 – AHDL, VHDL, Verilog • 内存编辑 .12. 全是FPGA的例子 对大家应该有好处 大家赶快下把 知识不等人.13. 此为编程代码示例.14. 此为编程代码示例.15. 我在spartan-3e starter kit 的板上实现了mc8051.16. 完成MP3播放功能.17. 一个关于实时时钟驱动方面的程序(ARM7).18. 遍历二叉树的4个非递归算法 vc编程基础.19. 快速排序的非递归算法 vc编程练习.20. 雷达高频接收机.21. 我的开发板的所有测试程序.22. ps2的驱动.23. 密度测试仪的源码.24. 本程序主要内容18b20+s52+uart单点测温详细c51程序.25. CPLD 9536 程序 我自己用的代码. VHDL语言.26. AMD嵌入式处理器AU1200开发板原理图.27. cpld3128开发板的原理图 很有用,已经做成PCB,需要的话可以联系我.28. ertfs文件系统里面既有完整ucos程序.29. 基于atmega128的交通信号灯控制程序.30. 利用软件编写的I2C传输界面程序,适用于现有4位机等汇编语言中!.31. I2C控制程序,供大家学习参考,使用时根据自己的系统修改..32. This designs uses a Nios II system to demonstrate how to read from the SD card. The software reads W.33. his design is the initial design when the board is powered-up. It increments a counter and displays.34. 用于多于9个串口的ce驱动程序。时间仓促。可以参考.35. CSD卡的dos驱动程序源码.36. ADT700的小程序.37. 嵌入式的小程序.38. 基于cpld的hdb3编码器 基于cpld的hdb3编码器.39. 基于cpld的交通灯设计 ?赾pld的交通灯设计.40. 用于ARM9系列的S3C2440A的bootloader,Linux平台.
标签: 固件
上传时间: 2013-04-15
上传用户:eeworm
基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断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
对十进制数的输入做加减乘除,并分别用十进制、八进制、十六进制表示结果
上传时间: 2013-12-17
上传用户:康郎
数控调频台控制器 26H-29H放显示小数位、个位、十位、百位BCD码数,24H-25H放频率控制数据(十六进制)
上传时间: 2013-12-20
上传用户:baiom
高精度数的加减乘法,可以自定义进制,作为类实现,直接使用即可。
上传时间: 2013-12-01
上传用户:zm7516678