1、第九单片机开发网 100 例程序设计范例汇总第一章 .4【实例 1】使用累加器进行简单加法运算: .4【实例 2】使用 B 寄存器进行简单乘法运算: .4【实例 3】通过设置 RS1,RS0 选择工作寄存器区 1: .4【实例 4】使用数据指针 DPTR 访问外部数据数据存储器: .4【实例 5】使用程序计数器 PC 查表: .4【实例 6】IF 语句实例: .4【实例 7】SWITCH-CASE 语句实例: .4【实例 8】FOR 语句实例: .4【实例 9】WHILE 语句实例: .5【实例 10】DOWHILE 语句实例: .5【实例 11】语句形式调用实例: .5【实例 12】表达式形
2、式调用实例: .5【实例 13】以函数的参数形式调用实例: .5【实例 14】函数的声明实例: .5【实例 15】函数递归调用的简单实例: .5【实例 16】数组的实例: .6【实例 17】指针的实例: .6【实例 18】数组与指针实例: .6【实例 19】P1 口控制直流电动机实例 .6第二章 .8【实例 20】用 74LS165 实现串口扩展并行输入口 .8【实例 21】用 74LS164 实现串口扩展并行输出口 .10【实例 22】P0 I/O 扩展并行输入口 .12【实例 23】P0 I/O 扩展并行输出口 .12【实例 24】用 8243 扩展 I/O 端口 .12【实例 25】用
3、8255A 扩展 I/O 口 .14【实例 26】用 8155 扩展 I/O 口 .19第三章 .26【实例 29】与 AT24 系列 EEPROM 接口及驱动程序 .26【实例 30】EEPROM(X5045)接口及驱动程序 .30【实例 31】与铁电存储器接口及驱动程序 .33【实例 32】与双口 RAM 存储器接口及应用实例 .35【实例 33】与 NANDFLASH(K9F5608)接口及驱动程序 .35第四章 .43【实例 34】独立键盘控制 .43【实例 35】矩阵式键盘控制 .44【实例 36】改进型 I/O 端口键盘 .46【实例 37】PS/2 键盘的控制 .49第九单片机开
4、发网 【实例 38】LED 显示 .53【实例 39】段数码管(HD7929)显示实例 .54【实例 40】162 字符型液晶显示实例 .55【实例 41】点阵型液晶显示实例 .61【实例 42】LCD 显示图片实例 .63第五章 .70【实例 43】简易电子琴的设计 .70【实例 44】基于 MCS-51 单片机的四路抢答器 .71【实例 45】电子调光灯的制作 .76【实例 46】数码管时钟的制作 .81【实例 47】LCD 时钟的制作 .96【实例 48】 数字化语音存储与回放 .103【实例 49】电子标签设计 .112第六章 .120【实例 50】指纹识别模块 .121【实例 51】
5、数字温度传感器 .121第七章 .124【实例 53】超声波测距 .124【实例 54】数字气压计 .125【实例 55】基于单片机的电压表设计 .132【实例 56】基于单片机的称重显示仪表设计 .133【实例 57】基于单片机的车轮测速系统 .136第八章 .138【实例 58】电源切换控制 .138【实例 59】步进电机控制 .140【实例 60】单片机控制自动门系统 .141【实例 61】控制微型打印机 .144【实例 62】单片机控制的 EPSON 微型打印头 .144【实例 63】简易智能电动车 .145【实例 64】洗衣机控制器 .149第九章 .152【实例 65】串行 A/D
6、 转换 .152【实例 66】并行 A/D 转换 .153【实例 67】模拟比较器实现 A/D 转换 .154【实例 68】串行 D/A 转换 .155【实例 69】并行电压型 D/A 转换 .156【实例 70】并行电流型 D/A 转换 .156【实例 71】 2IC接口的 A/D 转换 .157【实例 72】 接口的 D/A 转换 .161第九单片机开发网 第十章 .164【实例 73】单片机间双机通信 .164【实例 74】单片机间多机通信方法之一 .166【实例 75】单片机间多机通信方法之二 .171【实例 76】 PC 与单片机通信 .176【实例 77】红外通信接口 .178第十
7、一章 .180【实例 79】单片机实现 PWM 信号输出 .180【实例 80】实现基于单片机的低频信号发生器 .182【实例 81】软件滤波方法 .183【实例 82】FSK 信号解码接收 .186【实例 83】单片机浮点数运算实现 .187【实例 84】神经网络在单片机中的实现 .192【实例 85】信号数据的 FFT 变换 .194第十二章 .198【实例 86】 2IC总线接口的软件实现 .198【实例 87】SPI 总线接口的软件实现 .200【实例 88】1-WIRE 总线接口的软件实现 .205【实例 89】单片机外挂 CAN 总线接口 .207【实例 90】单片机外挂 USB
8、总线接口 .210【实例 91】单片机实现以太网接口 .214【实例 92】单片机控制 GPRS 传输 .221【实例 93】单片机实现 TCP/IP 协议 .223第十三章 .229【实例 94】读写 U 盘 .229【实例 95】非接触 IC 卡读写 .234【实例 96】SD 卡读写 .238【实例 97】高精度实时时钟芯片的应用 .242第十四章 .247【实例 98】智能手机充电器设计 .247【实例 99】单片机控制门禁系统 .248第九单片机开发网 第一章【实例 1】使用累加器进行简单加法运算:MOV A,#02H ;A2ADD A,#06H ;AA+06H【实例 2】使用 B
9、寄存器进行简单乘法运算:MOV A,#02H ; A2MOV B,#06H ; B6MUL AB ; BAA*B=6*2【实例 3】通过设置 RS1,RS0 选择工作寄存器区 1:CLR PSW.4 ; PSW.40SETB PSW.5 ; PSW.51【实例 4】使用数据指针 DPTR 访问外部数据数据存储器:MOV DPTR, #data16 ; DPTRdata16MOVX A, DPTR ; A(DPTR) MOVX DPTR, A ; (DPTR)A【实例 5】使用程序计数器 PC 查表:MOV , #data ;dataMOVC A, A+DPTR ; PC(PC)+1 ,A(A)
10、+(PC)【实例 6】if 语句实例:void main() int a,b,c,min;printf(“n please input three number:“);scanf(“%d%d%d “,if(a0;a -)printf(“%d“,a);【实例 9】while 语句实例:void main() int i=0;while(isbit LOAD=P17;/用 P17 控制 SH/ 管脚(2)串口初始化函数 UART_init()/-/ 函数名称:UART_init()/ 功能说明:串口初始化,设定串口工作在方式 0/-void UART_init(void)SCON=0x10;/设串
11、行口方式 0,允许接收,启动接收过程ES=0;/禁止串口中断(3)数据接收函数 PA()/-/ 函数名称:PA()/ 输入参数:无/ 输出参数:返回由并口输入的数据/ 功能说明:接收八位串行数据/-unsigned char PA(void)unsigned char PA_data;LOAD=0;/当 P1.7 输出低电平,74LS165 将并行数据装入寄存器/ 当中LOAD=1;/当 P1.7 输出高电平,74LS165 在时钟信号下进行移位UART_init();/74LS165 工作在时钟控制下的串行移位状态while(RI=0);/循环等待RI=0;PA_data=SBUF;第九单片机开发网 return PA_data;/返回并行输入的数据(1)函数声明管脚定义/-