2022年单片机课程设计-智能仪器.pdf
《2022年单片机课程设计-智能仪器.pdf》由会员分享,可在线阅读,更多相关《2022年单片机课程设计-智能仪器.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学 院:计算机科学与信息工程专 业:软件工程学 号:2012-2013 学年 第一学期论文题目:单片机系统设计开发应用智能仪器精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 25 页 - - - - - - - - - - 姓 名:高红斌日 期:2013 年 12 月 1 日单片机系统设计开发应用智能仪器一、设计要求及目的本实验通过一个单通道通用型智能仪器的软硬件系统设计,将这学期学过的单片机原理加以综合运用,以此掌握单片机应用系统的设计要领,本次试验设计的总体目标是一路电压信号输入和两路报警
2、开关量输出控制功能,其中信号电压范围05VDC ,AD采样分辨率 8bit ,数码管显示信息为: 以为参数字符和三位十进制采样值,控制参数有两个,即下限报警值L 和上线报警值 H ,当采样值大于 H时,高位报警继电器接通 (用 LED状态灯 D1亮表示);当采样值小于L 时,下位报警继电器接通(用 D2表示) ;当采样值介于L 和 H之间时,两路报警器功能均被解除( D1和 D2均熄灭表示)二、实验环境精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 25 页 - - - - - - - - -
3、 - 微型计算机一台, proteus 软件,keilC编译器。三、元器件列表,图表 1四、实验原理本实验选用了一只六联共阴极数码管显示器,按照动态显示原理接线,其中段码通过锁存器74LS245驱动后接于 P0口,位码则有反相器 74LS04驱动后接于。 A/D 转换器采用逐次逼近方式的芯片 ADC0809 ,其并行数据输出端直接连接于P2口,4 个控制端 CLOCK,START,EOC,和 OE分别接于,采用查询法等待转换精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 25 页 - - -
4、- - - - - - - 结束,转换时钟利用定时器中断产生。四个面板按键通过8 位串行输入并行输出移位寄存器74LS164与单片机接口,其移位时终端与单片机的TXD引脚相连,串行数据端(1 和 2 脚)与单片机的 RXD 引脚相连,串口输出功能采用汇编语言与C51语言混合编程实现。软件系统采用一个有多个功能模块构成的程序,模块之间相互依赖,他们之间的关系如图,程序有主要的两个功能模块组成控制模块和菜单模块。这两个模块能够同时运行。这里,“同时”的意思是指用户进行菜单操作的时候,程序还能采集数据并进行控制。图表 2软件系统结构组成“控制”和“菜单”这两个主要的模块都是建立在其他小模块的基础上的
5、, 比如控制模块建立在A/D转换和 LED 显示的基础精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 25 页 - - - - - - - - - - 上,菜单建立在按键检测和LED显示的基础上,而按键检测又建立在串口输出的基础上。下表列出了各个模块的主要函数。图表 3各个模块的主要函数和功能五、程序源代码/void ad_init();void control_thread();void menu_thread();void main() 精品资料 - - - 欢迎下载 - - - - -
6、- - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 25 页 - - - - - - - - - - ad_init();while (1)menu_thread();control_thread();/#define MENU_ON 0#define MENU_OFF 1#define MENU_NUM 2#define MENU_MAX 999#define MENU_MIN 0unsigned char param_value = 100, 150;unsigned char menu_status = MENU_OFF;精品资料 - - -
7、 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 25 页 - - - - - - - - - - char _menu_name = L,H; / 参数名的符号unsigned char _menu_value = 0,0; / 供显示用的参数数组unsigned char _menu_idx = 0; / 参数序号char get_key();void print(char name, unsigned int value);void menu_thread(void) char i = 0;char key
8、= get_key(); if (menu_status = MENU_OFF) / 当前菜单为关闭状态时if (key = 0) / 若按键 0 已被按下menu_status = MENU_ON; / 置当前菜单为打开状态精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 25 页 - - - - - - - - - - _menu_idx = 0; / 设置参数序号 0/ 将所有参数当前值取出,送入供显示的参数数组中for (i = 0 ; i MENU_MAX) _menu_value_m
9、enu_idx = MENU_MAX;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 25 页 - - - - - - - - - - else if (key = 3) / 若按键 3 按下,则参数值减10_menu_value_menu_idx -= 10;if (_menu_value_menu_idx MENU_MIN) _menu_value_menu_idx = MENU_MIN;if (menu_status = MENU_ON) / 菜单状态为开时 , 显示参数值print(_
10、menu_name_menu_idx, _menu_value_menu_idx); /#include 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 25 页 - - - - - - - - - - sbit P32 = P32;sbit P33 = P33;sbit P34 = P34;sbit P35 = P35;sbit P37 = P37;unsigned char ad() P33 = 0;P33 = 1;P33 = 0;while(!P34);P35 = 1;return P
11、2;void ad_init() TMOD = 0 x02;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 25 页 - - - - - - - - - - TH0 = 0;TL0 = 0; ET0 = 1;TR0 = 1;EA = 1;void _ad_clock(void) interrupt 1 P32 = P32;/#includesbit P16=P16;sbit P17=P17;unsigned char ad();void print(char name, unsigned i
12、nt value);extern unsigned char param_value2;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 25 页 - - - - - - - - - - extern char menu_status;void control_thread() / 第 1 步:A/D 转换unsigned char value = ad();/ 第 2 步: 根据采样值控制 LED灯if (value param_value1) P16 = 0;P17 = 1; else i
13、f (value = param_value0) P16 = 0;P17 = 0; else P16 = 1;P17 = 0;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 25 页 - - - - - - - - - - / 第 3 步: 如果菜单是关闭的,显示采集到的数值if (menu_status = 1) print( , value);/#include #define CHECK_KEY_DOWN 0 / 处在检测按键压下阶段标志#define CHECK_KEY_UP 1 /
14、 处在检测按键抬起阶段标志#define KEY_UP 0 / 按键抬起标志#define KEY_DOWN 1 / 按键压下标志sbit _p33 = P33;sbit _p34 = P34;sbit _p35 = P35;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 25 页 - - - - - - - - - - sbit _p36 = P36;char _key_status = CHECK_KEY_DOWN; / 按键检测状态(初值为检测压下阶段)char _key_idx =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 单片机 课程设计 智能 仪器
限制150内