- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机基本程序
目录
实验一 流水灯实验 3
实验二 键盘处理程序的设计 5
实验三 数码管显示程序设计 8
实验四 脉冲计数实验 11
实验五 单片机串口通信程序设计 14
实验六 模拟交通灯实验 19
实验七 A/D转换实验 23
实验八 D/A转换实验 26
实验九 矩阵式键盘接口技术实验 29
实验十 开关量输出接口实验 35
实验十一 步进电机控制实验 37
实验十二 单片机与PC机的通信实验 40
实验十三 8255A并行I/O端口扩充键盘实验 43
实验十四 温度传感器DS18B20实验 45
实验十五 LCD12864液晶显示实验(KS0108) 51
实验十六 单片机播放音乐实验 60
实验一 流水灯实验
一、 实验目的与要求
认识AT89系列单片机的硬件电路;
学习延时子程序的编写和使用;
学习循环左移或右移指令的使用;
学习单片机程序烧录的基本过程和操作;
了解单片机的开发过程;
二、 实验设备
计算机
编程器
目标板
单片机AT89S51
三、 实验原理电路
由于P1口内部已有上拉电阻,在使用时不需要外接上拉电阻。如果用P1口控制发光二极管的阴极,则可以不需要驱动电路,直接由限流电阻控制发光二极管的亮度。
实验电路如下:
四、 实验内容与步骤
编写程序,使LED1——LED8顺序点亮;
编写源程序并下装到AT89S51单片机,观察发光二极管的点亮效果;
改变延时时间常数,重复上述步骤。
五、 实验报告要求
计算上图中单片机的振荡周期及机器周期;
列出程序清单;
实验板连接
将P1^0到P1^7分别与白色LED对应的8个排针相连接,JP8短接。
流程图
参考程序:
#includereg51.h
#includeintrins.h
void delay(unsigned int time);//延时子程序
void main()
{
unsigned char i,temp;
while(1)
{
/************左移*************/
temp=0xfe;
P1=temp;
delay(100);
for(i=7;i0;i--)
{
temp=_crol_(temp,1);
P1=temp;
delay(100);
}
/************右移*************/
temp=0x7f;
P1=temp;
delay(100);
for(i=7;i0;i--)
{
temp=_cror_(temp,1);
P1=temp;
delay(100);
}
}
}
void delay(unsigned int time)
{
unsigned int m,n;
for(m=time;time0;time--)
for(n=100;n0;n--);
}
实验二 键盘处理程序的设计
一、 实验目的与要求
了解矩阵式键盘的结构及驱动程序的编写方法;
学习应用查询法和中断法实现键盘的处理;
二、 实验设备
计算机
编程器
目标板
单片机AT89S51
三、 实验原理电路
实验电路如下图所示。
目标板上仅有两个按键S1和S2,分别接到P3.6和P3.7引脚。在处理按键时,采用查询方式判断是否有键按下,并进行按键消抖处理。(若将S1、S2接在外部中断0和外部中断1引脚上,则可以采用中断方式)
四、 实验内容与步骤
按下S1键时,按LED1——LED8的顺序逐一点亮发光二极管;
按下S2键时,按LED8——LED1的顺序逐一点亮发光二极管;
五、 实验报告要求
画出程序流程图;
列出程序清单;
实验板连接
将我宏定义中P3.6和P3.7连接流水灯模块的按钮旁边排针,按钮是接地的。
流程图
参考程序:
#includereg51.h
#includeintrins.h
sbit D0=P3^6;
sbit D1=P3^7;
unsigned char key,i,temp=0xfe;
void delay(unsigned int time)
{
unsigned int m,n;
for(m=time;m0;m--)
for(n=10;n0;n--);
}
void main()
{
while(1)
{
if(D0==0)
{ delay(1);
if(D0==0)
key=1;
}
else if(D1==0)
{
delay(1);
if(D1==0)
key=2;
}
else
key=0;
switch(key)
您可能关注的文档
最近下载
- 大数据赋能下高职学生画像与高质量充分就业实施路径研究 【课题申报书】.pdf VIP
- 【课件】丹纳赫DBS-问题解决培训.pptx
- 十五五工业绿色发展规划.docx
- 车位所有权人许可建设充电桩证明.pdf VIP
- 部编版四年级语文上册教案完整版.doc VIP
- 2024年课题《基于核心素养的小学语文学科“教 学评一体化”研究》过程性资料汇总.docx
- 施工现场服务记录表2017.4.28.doc VIP
- 2024年黑龙江职业学院高职单招(英语/数学/语文)笔试历年(2016-2023年)真题荟萃带答案解析.docx VIP
- (高清版)DB34∕T 4931-2024 内河航道涉航建筑物通航标准.pdf VIP
- 酒精、消毒液领取登记表.xls VIP
文档评论(0)