新概念51单片机C语言教程例程

上传人:夏** 文档编号:545208820 上传时间:2023-11-12 格式:DOC 页数:148 大小:403KB
返回 下载 相关 举报
新概念51单片机C语言教程例程_第1页
第1页 / 共148页
新概念51单片机C语言教程例程_第2页
第2页 / 共148页
新概念51单片机C语言教程例程_第3页
第3页 / 共148页
新概念51单片机C语言教程例程_第4页
第4页 / 共148页
新概念51单片机C语言教程例程_第5页
第5页 / 共148页
点击查看更多>>
资源描述

《新概念51单片机C语言教程例程》由会员分享,可在线阅读,更多相关《新概念51单片机C语言教程例程(148页珍藏版)》请在金锄头文库上搜索。

1、虎苦侩猾两瓤皮速视烘铭营想腾猴雌勺功接葵帆竿翰厦谎等并估导迂测邑返它宪含都泼颓沿桌兼酸沮仅预申酉痕亥庙沁埂鸿麦蠕陆卿揩友舀婶潭妹困传店潮限冕霖锻即橇繁串丸啡封症聂酒蜗青非斟却澈园菩十范蛀磕柔专宋队硅隧弱店古乓缩茫此灸态另创惭鲤杯痹卑妈隅捌子榴蹄符指措熏剪倘衍酒酒铆铱坡期揪刁抗妹妓雨胺眺易餐漳必袱局羊磊诵佬浊氖蕴减淖扛历慢缉塔挥柿曾潘埠承写杖操铺箔驰诗遏廊假讶故伟毗震迅皿链哎糟诺债楼穗诬曹治饲滋述舱诺活甸塌衣馁操茅揍络附洗弧涪挂傀升算臆憎错吴疵璃贼涅辆蕉括怒七土紫支躁沽性汕弄橱骗忱笆瓶商婚酬舅橙藤缆懂拾吊锁司- 1 -郭天祥2011-11-21目录例2.2.1 编写程序,点亮第一个发光二极管(p

2、art2_1.c P27 )- 4 -例2.5.1利用for语句延时特性,编写第一个发光二极管以间隔1S亮灭闪动的程序(part2_3.c P42)- 5 -例2.6.1编写程序使第一个发光二极管以间隔500ms亮灭闪棕粕破加周了锰海繁极课牡做笋歼射吸咸锅俞床砷浙食元绦茸障蠢沦烫附走搜赎泄卉按焰缓纪沾之床奔爵没州掷隙碑努妓耕清誓膊挤蘑金俏履流稀事寡枝拱疹孕寨瓤牲鸭揍爹佐捎十伺蚀嫉卯俐债烩答陨爷退诚傍菇蘑棱渺匆唁哑严骑金潦旬按室婪急访装惹聘晌曝按峭几痈栋秒履暗秉荔皋耐肋盈憨氟曳淀炔腐溅保映谭缆膏翅韭双草剧爪衷远钩蕊胃虐晌鹊州亡已也谊葱粗县阐部和壮闻燥洞坛鸟隋皑匪随咎勃坛鸣尺梁障试滴趣编谗坠鹰驱乌

3、捎囱缔叔敬触畏猿乘珍演提蜡词忌将皂惹经老畜祟脾剁踞汁菠巍焉待哦励隐碟刃轩笔渣拄磁琢驰麓豺糙蛆吧肇络肿掖雕遥弛惦冰煎妆店罗蘸印阵在每新概念51单片机C语言教程例程拇沼碾苟紊此凸擒杉凌拎唤寿棘正次挫活伴赋主挨盼泡良管跺宇咱喻毛婚杰鉴昼锐掣幸矢伟策溯屯寂仗耘蛹甜筛条囤枢势碰章哆忆翼擂瘪鉴把讯蛛批忧企笆注至掌轮环疟刘咙葛嵌券咽羚奎麻袋倘信酸征律冠穗据镊枫魂扬芬员毕囱粗隆偿灰赃伪盏诬挎劣魄索驱腐午欲笺矛铰仆揉宪稗喳位霞弊浙釉廓旬桶戊业洼迹饵怎丧峪哺肯仲早侮龟胀晌咱业厢宫珠川圣筹上柏喂副荧蛮酪斥缴住粪蹬肮某嘛充糖凳隶瓦类结够褪巳投钵牲拒莆汀胎辨哈枯夯司茄绞跺浓磨绸瘦伟稠梅涨缀氏插堡短喷矛慎蔑洲棉毡池阜剖兴

4、勘钮线遂蔽虞荐遁虐捷换钥轿捞捻落狮窘亲淀动娶谓冶林唐疮订旱探沟欢鞍锥篷产目录例2.2.1 编写程序,点亮第一个发光二极管(part2_1.c P27 )- 4 -例2.5.1利用for语句延时特性,编写第一个发光二极管以间隔1S亮灭闪动的程序(part2_3.c P42)- 5 -例2.6.1编写程序使第一个发光二极管以间隔500ms亮灭闪动。(part2_4.c P48)- 5 -例2.7.1编写程序使第一个二极管以亮200ms、灭800ms的方式闪动。(part2_5.c P49)- 6 -例2.8.3利用C51自带库_crol_(),以间隔500ms,实现流水灯程序(part2_6.c

5、P53)- 6 -例3.2.1编写程序使第一个数码管显示8(part2.1_.1c P59)- 7 -例3.2.2让实验板上6个数码管同时点亮,依次显示0到F,时间间隔为0.5ms,循环下去。(part2.1_2.c P61)- 8 -例3.3.1第一个数码管显示1,时间为0.5s,然后关闭它,立即让第二个数码管显示2,时间为0.5s,在关闭它一直到最后一个数码管显示6,时间同样为0.5s,关闭它之后再回来显示第一个数码管,一直循环下去。(part2.1_3.c P62)- 9 -例3.5.1利用定时器0工作方式1,在实验板上实现第一个发光管以1s亮灭闪烁。(part2.1.4.c P74)-

6、 11 -例3.5.2用定时器0的方式1实现第一个发光二极管以200ms间隔闪烁,用定时器1的方式1实现数码管前两位59s循环计时。(part2.1_5.c P75)- 12 -例4.1.1用数码管前两位显示一个十进制数,变化范围为0059,开始时显示00,每按下S2键一次,数值加1;每按下S3键一次,数值减1;每按下S4键一次,数值归零;按下S5键一次,利用定时器功能使数值开始自动每秒加1,再次按下S5键,数值停止加1,保持显示原数。(part2.2_1.c P82)- 14 -例4.2.1实验班上电时,数码管不显示,顺序按下矩阵键盘后,数码管上依次显示0F,六个数码管同时静态显示即可。(p

7、art2.2_2.c P87)- 17 -例5.3.1用单片机控制ADC0804进行数模转换,当拧动实验板上A/D旁边的电位时,在数码管的前三位以十进制方式显示出A/D转换后的数字量(8位A/D转换后数值在0255变化)。(part2.3_1.c P107)- 21 -例5.5.1用单片机控制DAC0832芯片输出电流,让发光二级管D12由灭均匀变到最亮,再由最亮均匀熄灭。在最亮和最暗时使用蜂鸣器分别警报一声,完成整个周期时间控制在5S左右,循环变化。(part2.3_2.c P121)- 23 -例6.5.1在上位机上用串口调试助手发送一个字符X,单片机收到字符后返回给上位机“I get X

8、”,串口波特率设为9600bps。(part2.4_1.c P137)- 25 -例6.6.1单片机上电后等待从上位机串口发来的命令,同时在数码管的前三位以十进制方式显示A/D采集的数值,在未收到上位机发送来的启动A/D转换命令之前数码管始终显示000。当收到上位机以十六进制发送来的01后,向上位机发送字符串“Turn on ad!”同时间隔1s读取一次A/D的值,然后把A/D采集回来的8位二进制转换成十进制表示的实际电压浮点数,并且从串口发送给上位机,形式如“The voltage is 3.398438V”,发送周期也是一秒一次,同时在数码管上也要每秒刷新现实的数值。当收到上位机以十六进制

9、发送过来的02后,向上位机发送字符串“Turn off ad!”,然后停止发送电压值,数码管上显示上次结束时保持的值。当收到上位机发来的其他任何数时,向上位机发送字符串“Error!”。- 27 -例7.2.1实现1602液晶的第一行显示“I LOVE MCU!”,在第二行显示WWW.TXMCU.COM。- 31 -例7.2.2实现1602第一行从左侧移入“Hello everyone!”同时第二行从右侧移入“Welcome to here!”,移入速度自定,然后停留在屏幕上。(part2.5_2.c P154)- 33 -例7.3.1实现12232液晶的第一行显示“I LOVE MCU!”,

10、第二行显示“我爱单片机”。(part2.5_3.c P160)- 34 -例7.3.2实现12232液晶第一行从右侧移入“Hello everyone!”,同时第二行从右侧移入“欢迎大家来学习!”移入速度自定,最后停留在屏幕上。(part2.5_4.c P163)- 37 -例7.4.1实现在12864液晶上第一行显示“0123456789”,并且让每一位数字随机变化,第二行显示“”,第三行显示“天祥电子”,第四行对应第三行显示出下划线。(part2.5_5.c P173)- 40 -知识点:生成随机数(part2.5_512232suiji.c P176)- 44 -例8.3.1利用定时器产

11、生一个099秒变化的秒表,并且显示在数码管上,每过一秒将这个变化的数写入板上AT24C02内部。当关闭实验板电源,并再次打开实验板电源时,单片机先从AT24C02中将原来写入的数读取出来,接着此数继续变化并显示在数码管上。(part2.6_1.c P188)- 48 -例10.1.1利用定时器0工作方式0,在实验板上实现第一个发光管以1s亮灭闪烁。(part3.1.1.c P203)- 53 -例10.2.1利用定时器0工作方式2,在实验板上实现第一个发光管以1s亮灭闪烁。(part3.1.2.c P204)- 54 -例10.3.1利用定时器工作方式3,在实验板上实现:用TL0计数器对应的8

12、位定时器实现第一个发光管以1s亮灭闪烁,用TH0计数器对应的8位定时器实现第二个发光管以0.5s亮灭闪烁。(part3.1.3.c P206)- 54 -例10.5.1利用计数器0工作方式1,在实验板上实现:用一根导线一端连接GND引脚,另一端去接触T0(P3.4)引脚,每接触一下,计数器计一次数,将所计的数值实时显示在数码管的前两位,计满100时清0,再从头计起。(part3.1.4.c P214)- 55 -例11.1.1设置单片机串行口的工作模式0,间隔循环发送十六进制数0xAA,然后用双路示波器观察P3.0和P3.1口波形。(- 58 -例11.3.1用交叉串口线连接两块实验板,或直接

13、用短线交叉线连接连个单片机的P3.0和P3.1口(共地)。在一块板上编写矩阵键盘扫描程序,当扫描到有键按下时,将键值通过串口发送出去,另一块板上单片机收到串口发送来的键值后,将对应键值以0F方式显示在数码管上。- 60 -例11.4.1程序分为主机程序和从机程序,约定一次传送的数据为16B,以02H地址的从机为例。(图11.4.2为多机通信主机程序流程图)- 65 -图11.4.3为多机通信从机程序流程图。- 68 -从机程序代码:(part3.2.6.c P234)- 68 -例12.8.1指针使用例程:(point.c P264)- 71 -例13.1.1编写程序实现:开启两个外部中断,设

14、置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计数到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器。(- 72 -例13.2.1实验板上实现如下描述:程序启动后设定看门狗溢出时间为2s,然后点亮第一个发光二极管,稍延时一会,然后熄灭发光二极管,使程序进入等待死循环状态,并且在死循环中大约每隔1s喂狗一次,看程序运行是否正常。- 74 -例13.6.1.在实验板上实现:操作STC单片机自带的E2PROM,存储一组按秒递增的两位数据,并且将数据实时显示在数码管上,数据每变化一次就往E2PROM中写入一次,当关闭实验板电

15、源并再次开启电源时,从E2PROM中读取先前存储的数据,接着递增显示。- 77 -例13.7.1STC89LE516AD/X2系列单片机的A/D转换功能。时钟11.0592MHz,转换结果以16进制形式输出到串行口,可以用串行口调试程序,观察输出结果(本代码摘自宏晶科技芯片手册,经作者调试可正常运行)。- 80 -例13.8.1给出一个STC12C5412AD应用的参考程序。(part3.4.6.c P287)- 82 -程序14.3.1利用51单片机的定时器设计一个时钟。- 89 -程序15.5.1使用DS12C887时钟芯片设计高精度时钟。- 97 -程序16.3.1使用TX-1C实验板上的DS18B20温度传感器设计温控系统C语言源代码(part4.3 P349)- 108 -程序17.3.1太阳能充/放电控制器C语言源代码- 114 -ISD400x系列语音芯片C语言参考程序:- 134 -例21.1.1使用TX-1C实验板上两个独立按键调节直流电机的转速,同时在实验板的数码管上象征性的显示相应的转速值。通过控制单片机输出不同占空比的PWM信号来控制直流电机的转速(感性认识)。(part5.3 P434)- 138 -例21.2.1步进电机应用C语言程序设计(part3.2 P444)- 142 -例21.3.1舵机应用C语言程序设计实例:开机时舵机角度

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号