单片微机原理与接口技术实验指导(ok)

2026/1/13 19:56:37

}

void ADC_int(void) interrupt 5 //ADC中断服务子程序 { }

ADC_CONTR=0x81; ADC_CONTR=0x89;

//将ADC_FLAG清0

//保存10位A/D转换结果,范围为0~1023

//重新启动A/D转换

adc_value= ADC_RES*256+ADC_RESL; }

4. 实验电路原理及硬件连线

将STC15实验板W1电位器的中间抽头(P5.5)接AD转换的输入端P1.1,转换后结果送数码管显示(0~1023)。

5. 实验内容

(1)完成ad.c程序的编辑、编译与调试。

(2)如果AD模块采用查询方式进行转换,编写程序并验证效果。 (3)如果AD模块采用定时方式进行转换,编写程序并验证效果。 6. 程序调试及效果分析

(1)通过编译软件keil编写源程序代码,编译通过没有错误,生成十六进制目标文件。 (2)通过STC单片机下载软件STC-ISP将十六进制目标文件下载到STC学习板的单片机芯片IAP15W4K58S4,验证实验效果。

(3)调节W1,观察数码管的显示值并记录。 7. 实验报告要求

(1)总结IAP15W4K58S4单片机AD转换模块的软、硬件设计原理与方法;

(2)写出所作实验程序的源代码,给每行语句加上详细的注释,在预习报告的基础上完善程序流程图;

(3)叙述程序调试过程中遇到的问题以及解决方法,写出本次实验的收获和心得体会。

17

实验七 键盘与数码LED显示接口的应用编程与调试

1. 实验目的

(1)掌握独立按键的编程应用。 (2)掌握数码管的编程应用。 2. 预习与思考

(1)预习13.2.1内容。

(2)预习13.2.1、13.2.3内容。 (4)画出独立按键电路原理图。

(5)画出串行数据动态扫描数码管显示电路原理图。

(6)分析595hc.h头文件(见附录)和key-display.c的程序功能。 3. 实验参考程序(key-display.c)

#include \#include \#include

#define uchar unsigned char

#include \包含数码管显示头文件 sbit SW17 = P3^2; sbit SW18 = P3^3; { }

void main(void) {

signed int i=0; //为了i能小于0,定义i为有符号变量,初始值0 GPIO(); while(1) {

if(SW17==0) {

Delay(10000); //按键消抖 if(SW17==0) {

i--;

//变量i减1

//判断如果i小于0就回到99 //等待按键松开

18

if(i<0){i=99;} while(SW17==0);

//按键-

//初始化I/O端口为准双向口 //主程序

while(v!=0)

v--;

//定义按键- //定义按键+

//包含单片机头文件 //包含初始化I/O端口头文件

void Delay(unsigned int v)

}

}

}

if(SW18==0) { }

Dis_buf[6]=i/10;//数码管显示十位数据 Dis_buf[7]=i;//数码管显示个位数据 display();

Delay(10000); //按键消抖 if(SW18==0) { }

i++;

//变量i加1

//判断如果i大于99就回到0 //等待按键松开

if(i>99){i=0;} while(SW18==0);

//按键+

}

4. 实验电路原理及硬件连线

STC15学习板上已经连接好两个独立按键,分别是按键SW17(P3.2引脚)和按键SW18(P3.3引脚)。

硬件电路原理图参考STC15开发板电路图。图中由两片74HC595组成串行数据转并行数据驱动8位数码管显示。STC学习板上IAP15W4K58S4单片机P4.0引脚已经连接好74HC595的串行数据SER;P4.3引脚已经连接好74HC595的位同步脉冲输出SRCLK;P5.4引脚已经连接好74HC595的锁存脉冲输出RCLK。 5. 实验内容

(1)利用IAP15W4K58S4单片机设计两个独立按键SW17(P3.2)和SW18(P3.3),实现按下SW17使2位LED数码管显示的数字加1,按SW18显示的数字减1,当加1到最大值99后回到最小值0,当减1到最小值0后回到最大值99。单片机工作频率为12.0MHz。 (2)修改程序,实现当加1到最大值99后继续按键则保持最大值并给出报警,当减1到最小值0后继续按键保持最小值并给出报警。

(3)修改程序,实现按下按键SW17不松开可以连续减1,按下按键SW18不松开可以连续加1。

(4)修改程序,实现3位数0~999、4位数0~9999的显示。 (5)修改程序,实现数码管左边最高位是0时不显示。

(6)按下按键SW17,有时候显示可能不是减1,而是减2,同理按下按键SW18,有时候显示可能不是加1,而是加2,请分析是什么原因。 6. 程序调试及效果分析

(1)通过编译软件keil编写源程序代码,编译通过没有错误,生成十六进制目标文件。

19

(2)通过STC单片机下载软件STC-ISP将十六进制目标文件下载到STC学习板的单片机芯片IAP15W4K58S4,验证实验效果。

(3)程序对独立按键进行识别,并对变量加一或减一操作,通过数码管的显示可观察。 (4)修改C语言源程序里面相关参数,观察实验效果的变化。 7. 实验报告要求

(1)总结独立按键与LED数码管显示的软、硬件设计原理与方法;

(2)写出所作实验程序的源代码,给每行语句加上详细的注释,在预习报告的基础上完善程序流程图;

(3)叙述程序调试过程中遇到的问题以及解决方法,写出本次实验的收获和心得体会。

20


单片微机原理与接口技术实验指导(ok).doc 将本文的Word文档下载到电脑
搜索更多关于: 单片微机原理与接口技术实验指导(ok) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219