您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 郭天祥新概念51单片机C语言教程例题
郭天祥2020-6-12-1-目录例2.2.1编写程序,点亮第一个发光二极管(part2_1.cP27)..............-4-例2.5.1利用for语句延时特性,编写第一个发光二极管以间隔1S亮灭闪动的程序(part2_3.cP42).........................................................................................-5-例2.6.1编写程序使第一个发光二极管以间隔500ms亮灭闪动。(part2_4.cP48)........................................................................................................................-5-例2.7.1编写程序使第一个二极管以亮200ms、灭800ms的方式闪动。(part2_5.cP49).......................................................................................................-6-例2.8.3利用C51自带库_crol_(),以间隔500ms,实现流水灯程序(part2_6.cP53)........................................................................................................................-6-例3.2.1编写程序使第一个数码管显示8(part2.1_.1cP59).....................-8-例3.2.2让实验板上6个数码管同时点亮,依次显示0到F,时间间隔为0.5ms,循环下去。(part2.1_2.cP61).............................................................-8-例3.3.1第一个数码管显示1,时间为0.5s,然后关闭它,立即让第二个数码管显示2,时间为0.5s,在关闭它……一直到最后一个数码管显示6,时间同样为0.5s,关闭它之后再回来显示第一个数码管,一直循环下去。(part2.1_3.cP62)........................................................................................................................-9-例3.5.1利用定时器0工作方式1,在实验板上实现第一个发光管以1s亮灭闪烁。(part2.1.4.cP74).................................................................................-11-例3.5.2用定时器0的方式1实现个第一发光二极管以200ms间隔闪烁,用定时器1的方式1实现数码管前两位59s循环计时。(part2.1_5.cP75).-12-例4.1.1用数码管前两位显示一个十进制数,变化范围为00~59,开始时显示00,每按下S2键一次,数值加1;每按下S3键一次,数值减1;每按下S4键一次,数值归零;按下S5键一次,利用定时器功能使数值开始自动每秒加1,再次按下S5键,数值停止加1,保持显示原数。(part2.2_1.cP82).-14-例4.2.1实验班上电时,数码管不显示,顺序按下矩阵键盘后,数码管上依次显示0~F,六个数码管同时静态显示即可。(part2.2_2.cP87).............-17-例5.3.1用单片机控制ADC0804进行数模转换,当拧动实验板上A/D旁边的电位时,在数码管的前三位以十进制方式显示出A/D转换后的数字量(8位郭天祥2020-6-12-2-A/D转换后数值在0~255变化)。(part2.3_1.cP107)..............................-21-例5.5.1用单片机控制DAC0832芯片输出电流,让发光二级管D12由灭均匀变到最亮,再由最亮均匀熄灭。在最亮和最暗时使用蜂鸣器分别警报一声,完成整个周期时间控制在5S左右,循环变化。(part2.3_2.cP121)............-24-例6.5.1在上位机上用串口调试助手发送一个字符X,单片机收到字符后返回给上位机“IgetX”,串口波特率设为9600bps。(part2.4_1.cP137).-26-例6.6.1单片机上电后等待从上位机串口发来的命令,同时在数码管的前三位以十进制方式显示A/D采集的数值,在未收到上位机发送来的启动A/D转换命令之前数码管始终显示000。当收到上位机以十六进制发送来的01后,向上位机发送字符串“Turnonad!”同时间隔1s读取一次A/D的值,然后把A/D采集回来的8位二进制转换成十进制表示的实际电压浮点数,并且从串口发送给上位机,形式如“Thevoltageis3.398438V”,发送周期也是一秒一次,同时在数码管上也要每秒刷新现实的数值。当收到上位机以十六进制发送过来的02后,向上位机发送字符串“Turnoffad!”,然后停止发送电压值,数码管上显示上次结束时保持的值。当收到上位机发来的其他任何数时,向上位机发送字符串“Error!”。...................................................................................................-27-例7.2.1实现1602液晶的第一行显示“ILOVEMCU!”,在第二行显示。........................................................................................-31-例7.2.2实现1602第一行从左侧移入“Helloeveryone!”同时第二行从右侧移入“Welcometohere!”,移入速度自定,然后停留在屏幕上。(part2.5_2.cP154)....................................................................................................................-33-例7.3.1实现12232液晶的第一行显示“ILOVEMCU!”,第二行显示“我爱单片机”。(part2.5_3.cP160)..........................................................................-34-例7.3.2实现12232液晶第一行从右侧移入“Helloeveryone!”,同时第二行从右侧移入“欢迎大家来学习!”移入速度自定,最后停留在屏幕上。(part2.5_4.cP163)..........................................................................................-37-例7.4.1实现在12864液晶上第一行显示“0123456789”,并且让每一位数字随机变化,第二行显示“”,第三行显示“天祥电子”,第四行对应第三行显示出下划线。(part2.5_5.cP173)..............................................-40-知识点:生成随机数(part2.5_512232suiji.cP176)........................................-44-例8.3.1利用定时器产生一个0~99秒变化的秒表,并且显示在数码管上,每过一秒将这个变化的数写入板上AT24C02内部。当关闭实验板电源,并再次打开实验板电源时,单片机先从AT24C02中将原来写入的数读取出来,接着此数继续变化并显示在数码管上。(part2.6_1.cP188)..................................-48-例10.1.1利用定时器0工作方式0,在实验板上实现第一个发光管以1s亮灭闪烁。(part3.1.1.cP203)...........................................................................-53-郭天祥2020-6-12-3-例10.2.1利用定时器0工作方式2,在实验板上实现第一个发光管以1s亮灭闪烁。(part3.1.2.cP204)...........................................................................-54-例10.3.1利用定时器工作方式3,在实验板上实现:用TL0计数器对应的8位定时器实现第一个发光管以1s亮灭闪烁,用TH0计数器对应的8位定时器实现第二个发光管以0.5s亮灭闪烁。(part3.1.3.cP206).......................-55-例10.5.1利用计数器0工作方式1,在实验板上实现:用一根导线一端连接GND引脚,另一端去接触T0(P3.4)引脚,每接触一下,计数器计一次数,将所计的数值实时显示在数码管的前两位,计满100时清0,再从头计起。(part3.1.4.cP214)...........................................................................................-56-例11.1.1设置单片机串行口的工作模式0,间隔循环发送十六进制数0xAA,然后用双路示波器观察P3.0和P3.1口波形。(..............................................-58-例11.3.1用交叉串口线连接两块实验板,或直接用短线交叉线连接连个单片机的P3.0和P3.1口(共地)。在一块板上编写矩阵键盘扫描程序,当扫描到有键按下时,将键值通过串口发送出去,另一块板上单片机收到串口发送来的键值后,将对应键值以0~F方式显示在数码管上。............................................-60-例11.4.1程序分为主机程序和从机程序,约定一次传送的数据为16B,以02H地址的从机为例。(图11.4.2为多机通信主机程序流程图)......................-65-图11.4.3为多机通信从机程序流程图。.............................................................-68-从机程序代码:(part3.2.6.cP234)...............................................................-68-例12.8.1指针使用例程:(point.cP264)................................................-72-例13.1.1编写程序实现:开启两个外部中断,设置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计数到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器。(......................................................................
本文标题:郭天祥新概念51单片机C语言教程例题
链接地址:https://www.777doc.com/doc-5836355 .html