摘要:介绍在PIC18系列单片机中使用Bootloader的原理、方法及优点;介绍 HI-TECH公司使用C语言实现BootLoader的程序,给出详细的使用方法和参数配置方法;针对程序中存在的问题进行探讨和修改,使修改后的程序实用、可靠。另外,探讨对程序数据进行加密、加快下载速度、在RS485/RS422中使用BootLoader的方法和思路。根据此方法,读者可以编写出适合自己使用的BootLoader程序。关键词:Boot Loader PIC18 IAP 在线升级PIC单片机的BootLoader属于需要自己写程序的那种,可以根据自己的需要写出各种功能的BootLoader程序来。目前,比较常见的BootLoader程序有Microchip公司的C18版本和著名的PICC编译器厂商HI-TECH公司(以下简称HI-TECH)的PICC18版本。它们的相似之处在于都占用了系统的0x00~0×1FF的程序空间。Microchip的版本是用纯汇编写的,而HI-TECH的版本是用C语言编写的。
标签: pic单片机 bootloader
上传时间: 2022-07-28
上传用户:
eeworm.com VIP专区 单片机源码系列 72资源包含以下内容:1. 24c01a的读写程序.doc2. PIC单片机程序设计基础.pdf3. 24c16读写驱动程序.doc4. PIC单片机基础知识.rar5. 单片机汇编语言程序库.rar6. PIC的C语言编程知识.pdf7. 51程序库 (各种常用程序).doc8. keil入门实例教程.rar9. 在伟福集成环境下使用PICC.pdf10. HI-TECH PICC C的使用说明.pdf11. 非接触IC卡读写器的应用设计.pdf12. U盘IC1114的电路图和C语言源程序.zip13. 锂-离子线性电池充电控制器LTC1732及其应用.pdf14. MSP430仿真器(机)接口电路图-原理图.pdf15. 照明应用中的51LPC微控制器.pdf16. STM32TS60 数字电阻型多触摸屏控制方案.rar17. PL2303或PV8651USB转串口原理图.rar18. PCF8563 实时时钟日历芯片选型指南.pdf19. S3C2410内存管理单元MMU基础实验.rar20. USB2.0转IDE的电路图 (protel文件).rar21. TUSB3200中文资料pdf.pdf22. 单片机实用接口技术.rar23. 串行下载线的原理图-电路图.pdf24. 内置微处理器的USB音频接口芯片TUSB3200.pdf25. MCS-51系列单片机实用接口技术.rar26. 数据处理与控制策略.rar27. LPC932单片机可靠性设计方案.pdf28. 小车走迷宫设计.rar29. 过程通道与人机接口.rar30. 一种单片机实现的嵌入式视频切换器.pdf31. 温度传感器ds1820的汇编程序.pdf32. 3.3v看门狗芯片.pdf33. 交通灯控制板用户手册.rar34. 单片机开发中应掌握的几个基本技巧.pdf35. dsPIC30F看门狗定时器和低功耗模式.pdf36. 新版交通灯模组(包括PCB图、使用说明书和产品说明书).rar37. 51单片机浮点子程序库.pdf38. 工程师单片机学习经验技巧.rar39. 用单片机内置比较器设计高精度A/D变换器.pdf40. MCS-51并行口的扩展.ppt41. 模拟接口.ppt42. 存储器接口.ppt43. 单片机原理与应用教程.rar44. 中断技术.ppt45. winCE msdn讲座.zip46. MCS 51单片机内部并行口及应用.rar47. RD系列微型打印机打印实例.rar48. 接口技术概述.rar49. 微型打印机的C语言源程序.rar50. 汇编语言程序设计PPT.ppt51. 微型打印机与单片机接口.rar52. MCS-51系列单片机的结构和原理.rar53. 单片机的功率接口.rar54. Keil软件的使用.rar55. 51单片机应用实例及源代码.rar56. 汇编语言程序设计基础.PPT57. 单片机模糊逻辑控制.rar58. 小型键盘结构与接口.ppt59. DA与AD转换.ppt60. 微型计算机总线知识.ppt61. DMA与DMA控制器.ppt62. 微机原理及接口技术课件(教学).rar63. 8255A可编程并行接口.ppt64. 微机原理与汇编语言程序设计课件.rar65. VD108B地感线路安装图.pdf66. 8086总线操作、中断系统及总线请求.ppt67. 微机原理多媒体教材.rar68. RS-485的传输线如何合理屏蔽.pdf69. 8253计数器定时器结构与编程.ppt70. 子空间模式识别方法.pdf71. 单片机应用技术电子教案.rar72. 8251A可编程通信接口.ppt73. 语音编解码芯片MT8965在ALU中的应用.pdf74. Keil C51 使用技巧及实战.zip75. 微机接口技术试题.rar76. MCS-51单片机系统扩展技术.pdf77. 单片机课程总结.doc78. 微机接口技术精品课程.rar79. LCD为LCM161(HD44780驱动器)字符显示器驱动程.rar80. 用单片机设计发音电路.pdf81. 微机接口技术课件.rar82. LC7461遥控解码子程序源代码.rar83. 模块化LED大屏幕显示器的设计.pdf84. 微机原理与接口技术精品课程(课件).rar85. 红外遥控接收程序.pdf86. 微控制器( MCU) 破解秘笈之中文有删节版.pdf87. SAM88RCRI 指令集.pdf88. 单片机常用程序库.rar89. 微处理器指令集设计.ppt90. 基于单片机的频率计设计.pdf91. 单片机综合应用.rar92. 单片机多机并行通讯的一种方法.pdf93. pic单片机实用教程(提高篇).rar94. 单片机掉电保护设计.pdf95. pic单片机实用教程(基础篇).RAR96. 分时操作系统思想在单片机编程中的实现.pdf97. 80C51便携式产品中的低功耗设计.pdf98. 单片机最小系统电路.pdf99. avr studio 4.14下载.zip100. AVR高速嵌入式单片机原理与应用(修订版).rar
上传时间: 2013-07-03
上传用户:eeworm
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了Aurora 协议数据帧格式定义的弊端, 并采用高速串行收发器Rocket I/O, 实现数据率为2.5 Gbps的高速串行传输。关键词: 高速串行传输; Rocket I/O; Aurora 协议 为促使FPGA 芯片与串行传输技术更好地结合以满足市场需求, Xilinx 公司适时推出了内嵌高速串行收发器RocketI/O 的Virtex II Pro 系列FPGA 和可升级的小型链路层协议———Aurora 协议。Rocket I/O支持从622 Mbps 至3.125 Gbps的全双工传输速率, 还具有8 B/10 B 编解码、时钟生成及恢复等功能, 可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora 协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议, 可用于高速线性通路之间的点到点串行数据传输, 同时其可扩展的带宽, 为系统设计人员提供了所需要的灵活性[4]。但该协议帧格式的定义存在弊端,会导致系统资源的浪费。本文提出的设计方案可以改进Aurora 协议的固有缺陷,提高系统性能, 实现数据率为2.5 Gbps 的高速串行传输, 具有良好的可行性和广阔的应用前景。
上传时间: 2013-11-06
上传用户:smallfish
摘要: 串行传输技术具有更高的传输速率和更低的设计成本, 已成为业界首选, 被广泛应用于高速通信领域。提出了一种新的高速串行传输接口的设计方案, 改进了Aurora 协议数据帧格式定义的弊端, 并采用高速串行收发器Rocket I/O, 实现数据率为2.5 Gbps的高速串行传输。关键词: 高速串行传输; Rocket I/O; Aurora 协议 为促使FPGA 芯片与串行传输技术更好地结合以满足市场需求, Xilinx 公司适时推出了内嵌高速串行收发器RocketI/O 的Virtex II Pro 系列FPGA 和可升级的小型链路层协议———Aurora 协议。Rocket I/O支持从622 Mbps 至3.125 Gbps的全双工传输速率, 还具有8 B/10 B 编解码、时钟生成及恢复等功能, 可以理想地适用于芯片之间或背板的高速串行数据传输。Aurora 协议是为专有上层协议或行业标准的上层协议提供透明接口的第一款串行互连协议, 可用于高速线性通路之间的点到点串行数据传输, 同时其可扩展的带宽, 为系统设计人员提供了所需要的灵活性[4]。但该协议帧格式的定义存在弊端,会导致系统资源的浪费。本文提出的设计方案可以改进Aurora 协议的固有缺陷,提高系统性能, 实现数据率为2.5 Gbps 的高速串行传输, 具有良好的可行性和广阔的应用前景。
上传时间: 2013-10-13
上传用户:lml1234lml
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
上传时间: 2015-01-08
上传用户:lifangyuan12
RSA算法 :首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了..... 再来, 计算 n = pq....... m, n 这两个数便是 public_key ,编码过程是, 若资料为 a, 将其看成是一个大整数, 假设 a < n.... 如果 a >= n 的话, 就将 a 表成 s 进位 (s
标签: person_key RSA 算法
上传时间: 2013-12-14
上传用户:zhuyibin
数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no
上传时间: 2015-05-21
上传用户:daguda