新概念51单片机C语言教程例题文档格式.docx

上传人:b****2 文档编号:13954377 上传时间:2022-10-15 格式:DOCX 页数:26 大小:24.76KB
下载 相关 举报
新概念51单片机C语言教程例题文档格式.docx_第1页
第1页 / 共26页
新概念51单片机C语言教程例题文档格式.docx_第2页
第2页 / 共26页
新概念51单片机C语言教程例题文档格式.docx_第3页
第3页 / 共26页
新概念51单片机C语言教程例题文档格式.docx_第4页
第4页 / 共26页
新概念51单片机C语言教程例题文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

新概念51单片机C语言教程例题文档格式.docx

《新概念51单片机C语言教程例题文档格式.docx》由会员分享,可在线阅读,更多相关《新概念51单片机C语言教程例题文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

新概念51单片机C语言教程例题文档格式.docx

按下S2键一次,数值加1;

每按下S3键一次,数值减1;

每按下S4键一次,数值归零;

按下S5键一次,利用定时器功能使数值开始自动每秒加1,再次按下

S5键,数值停止加1,保持显示原数。

(P82)错误!

未定义书签

例实验班上电时,数码管不显示,顺序按下矩阵键盘后,数码管上依次显示

0~F,六个数码管同时静态显示即可。

(P87)错误!

例用单片机控制ADC0804进行数模转换,当拧动实验板上A/D旁边的电位时,在数码管的前三位以十进制方式显示出A/D转换后的数字量(8位A/D转换后数

值在0~255变化)。

(P107)错误!

例用单片机控制DAC0832芯片输出电流,让发光二级管D12由灭均匀变到最亮,再由最亮均匀熄灭。

在最亮和最暗时使用蜂鸣器分别警报一声,完成整个周期时间控制在5S左右,循环变化。

(P121)错误!

例在上位机上用串口调试助手发送一个字符X,单片机收到字符后返回给上位

机“IgetX”,串口波特率设为9600bps。

(P137)....错误味定义书签。

例单片机上电后等待从上位机串口发来的命令,同时在数码管的前三位以十进制方式显示A/D采集的数值,在未收到上位机发送来的启动A/D转换命令之前数码管始终显示000。

当收到上位机以十六进制发送来的01后,向上位机发送字符串“Turnonad!

”同时间隔1s读取一次A/D的值,然后把A/D采集回来的8位二进制转换成十进制表示的实际电压浮点数,并且从串口发送给上位机,形式如“Thevoltageis”,发送周期也是一秒一次,同时在数码管上也要每秒刷

新现实的数值。

当收到上位机以十六进制发送过来的02后,向上位机发送字符串“Turnoffad!

”,然后停止发送电压值,数码管上显示上次结束时保持的值。

当收到上位机发来的其他任何数时,向上位机发送字符串“Error!

”。

错误!

未定义书签。

例实现1602液晶的第一行显示“ILOVEMCU”,在第二行显示。

错误!

未定义书签。

例实现1602第一行从左侧移入“Helloeveryone!

”同时第二行从右侧移入“Welcometohere!

”,移入速度自定,然后停留在屏幕上。

(P154)错误!

例实现12232液晶的第一行显示“ILOVEMCU”!

,第二行显示“我爱单片机”

(P160)错误!

例实现12232液晶第一行从右侧移入“Helloeveryone!

”,同时第二行从右侧移入“欢迎大家来学习!

”移入速度自定,最后停留在屏幕上。

(P163)错误!

未定义书签。

例实现在12864液晶上第一行显示“09”,并且让每一位数字随机变化,第二行显示“,第三行显示“天祥电子”,第四行对应第三行显示出下划线。

(P173)错误!

知识点:

生成随机数(P176)错误!

例利用定时器产生一个0~99秒变化的秒表,并且显示在数码管上,每过一秒将这个变化的数写入板上AT24C02内部。

当关闭实验板电源,并再次打开实验板电源时,单片机先从AT24C02中将原来写入的数读取出来,接着此数继续变化并

显示在数码管上。

(P188)错误!

例利用定时器0工作方式0,在实验板上实现第一个发光管以1s亮灭闪烁。

(P203)错误!

例利用定时器0工作方式2,在实验板上实现第一个发光管以1s亮灭闪烁。

(P204)错误!

例利用定时器工作方式3,在实验板上实现:

用TL0计数器对应的8位定时器实现第一个发光管以1s亮灭闪烁,用TH0计数器对应的8位定时器实现第二个发光管以亮灭闪烁。

(P206)错误!

例利用计数器0工作方式1,在实验板上实现:

用一根导线一端连接GND引脚,另一端去接触T0引脚,每接触一下,计数器计一次数,将所计的数值实时显示在数码管的前两位,计满100时清0,再从头计起。

(P214)错误!

未定义书签。

例设置单片机串行口的工作模式0,间隔循环发送十六进制数OxAA,然后用双路示波器观察和口波形。

(错误!

例用交叉串口线连接两块实验板,或直接用短线交叉线连接连个单片机的和口(共地)。

在一块板上编写矩阵键盘扫描程序,当扫描到有键按下时,将键值通过串口发送出去,另一块板上单片机收到串口发送来的键值后,将对应键值以

0~F方式显示在数码管上。

错误!

例M程序分为主机程序和从机程序,约定一次传送的数据为16B,以02H地址的

从机为例。

(图为多机通信主机程序流程图)错误!

图为多机通信从机程序流程图。

从机程序代码:

(P234)错误!

例指针使用例程:

(P264)错误!

例编写程序实现:

开启两个外部中断,设置低电平触发中断,用定时器计数并且显示在数码管的前两位,当计数到5时,使单片机进入空闲(休眠)模式,同时关闭定时器,当单片机响应外部中断后,从空闲(休眠)模式返回,同时开启定时器。

例实验板上实现如下描述:

程序启动后设定看门狗溢出时间为2s,然后点亮第

一个发光二极管,稍延时一会,然后熄灭发光二极管,使程序进入等待死循环状态,并且在死循环中大约每隔1s喂狗一次,看程序运行是否正常。

例在实验板上实现:

操作STC单片机自带的E2PR0M存储一组按秒递增的两位数据,并且将数据实时显示在数码管上,数据每变化一次就往E2PR0中写入一

次,当关闭实验板电源并再次开启电源时,从E2PR0中读取先前存储的数据,接着递增显示。

例系列单片机的A/D转换功能。

时钟,转换结果以16进制形式输出到串行口,可以用串行口调试程序,观察输出结果(本代码摘自宏晶科技芯片手册,经作者

调试可正常运行)。

错误!

例给出一个STC12C5412A应用的参考程序。

(P287)..错误!

程序利用51单片机的定时器设计一个时钟。

程序使用DS12C887寸钟芯片设计高精度时钟。

程序使用TX-1C实验板上的DS18B20温度传感器设计温控系统C语言源代码

(P349)错误!

程序太阳能充/放电控制器C语言源代码错误!

ISD400x系列语音芯片C语言参考程序:

例使用TX-1C实验板上两个独立按键调节直流电机的转速,同时在实验板的数码管上象征性的显示相应的转速值。

通过控制单片机输出不同占空比的PWM&

来控制直流电机的转速(感性认识)。

(P434)错误!

例步进电机应用C语言程序设计(P444)错误!

例舵机应用C语言程序设计实例:

开机时舵机角度自动转为0度,通过实验板

上的独立按键调节舵机的角度转动,并且在实验板数码管上显示相应的角度。

本例仅演示5个角度的控制,若想实现任意角度控制请大家自行编程实验。

程序代码如下:

(P453)错误!

错误!

未指定书签。

错误!

Allrightsreserved.ModificationaccordingtoDataSheetfromApril1999

-SFR'

sAUXRandAUXR1addedfor80C51Rx+derivatives

*/

/*BYTERegisters*/sfrP0=0x80;

sfrP2=

0xA0;

sfrP3=

0xB0;

sfrPSW

=0xD0;

sfrACC

=0xE0;

sfrB=0xF0;

sfrSP=

0x81;

sfrDPL

=0x82;

sfrDPH

=0x83;

sfrPCON=0x87;

sfrTCON=0x88;

sfrTMOD=0x89;

sfrTL0=

0x8A;

sfrTL1=

0x8B;

sfrTH0

=0x8C;

sfrTH1

=0x8D;

sfrIE=0xA8;

sfrIP=0xB8;

sfrSCON=0x98;

sfrSBUF=0x99;

/*80C51Fx/RxExtensions*/

sfrAUXR=0x8E;

/*sfrAUXR1=0xA2;

*/sfrSADDR=0xA9;

sfrIPH

=0xB7;

sfrT2MOD=0xC9;

sfrRCAP2L=0xCA;

sfrRCAP2H=0xCB;

sfrTL2

=0xCC;

sfrTH2

=0xCD;

/*BITRegisters*/

/*PSW

*/

sbitCY

=PSWA7;

sbitAC

=PSWA6;

sbitF0

PSWA5;

sbitRS1

=PSWA4;

sbitRS0

=PSWA3;

sbitOV

=PSWA2;

sbitP=

PSWA0;

/*TCON*/

sbitTF1

=TCONA7;

sbitTR1

=TCONA6;

sbitTF0

=TCONA5;

sbitTR0

=TCONA4;

sbitIE1

=TCONA3;

sbitIT1

TCONA2;

sbitIE0

=TCONA1;

sbitIT0

TCONA0;

/*P3*/

sbitRD

=P3A7;

sbitWR=P3A6;

sbitT1=

P3A5;

sbitT0=

P3A4;

sbitINT1

=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1