洛阳理工学院。
课程设计报告
课程名称: 单片机应用课程设计
设计题目智能仪器。
专业: 计算机应用技术。
班级z130554
学号z130554
姓名。完成日期2015.07.03
一、设计仪器:
一台电脑、isis 7 professional软件和keil uvision4软件。
二、设计目的。
设计单总线驱动等电路制作一个电压监控与报警仪器,能利用七段式动态液晶数码管显示智能仪器菜单与电压。
三、设计指标。
仪器上电后自动进入测控状态,显示器显示实时采样值,同时d1和d2同时切换报警状态。若按下4#键,进入参数设置状态(测控转入后台但仍继续执行),显示器显示工作参数l(在最左位)及其参数当前值(在最右1--3位);若按压2#或3#键,可对当前参数值做加10或减10计数并更新显示;若按压1#键可确认修改结果(下次再进入参数设置时可以此结果作为新的当前值,否则修改后的参数值不被保存),并转入下一参数h的设置过程(同理不再赘述)。再次按压0#键或1#键均可退出参数设置状态,返回测控状态。
实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配pt100热电阻,测温范围为0℃~300℃。
采用比例控制、并用晶闸管脉宽调制驱动1000w电加热器(电源电压为ac220v)。
四、硬件电路设计:
选用一只四联共阴极数码管作为显示器,按照动态显示原理接线,其中段码通过锁存器72ls245驱动后接于p0口,由4只pnp型三极管驱动后介于p2.0~p2.3。
a/d转换器采用adc0809,以通用i/o口的方式与单片机连接,其并行数据输出端直接连接于p1口,4个控制端clock、start、eoc和oe分别接于p2.4~p2.7,采用查询法等待转换结束,转换时钟利用定时器中断产生。
4个面板按键通过8 位串行输入并行输出移位寄存器74ls164与单片机接口,其移位时钟端(8脚)与单片机的txd引脚相连,串行数据端(1和2脚)与单片机的rxd引脚相连。如下图:
五、软件系统设计:
采用一个由多个功能模块构成的程序,模块之间相互依赖,他们之间的关系如下:
六、功能模块及原理说明。
程序由两个主要的功能模块组成一一控制模块和菜单模块,两个模块能够同时运行(指用户在进行菜单操作时,程序需还能实时采集数据并进行控制)而“控制”和“菜单”这两个主要模块都是建立在其他小模块的基础上的,比如控制模块建立在a/d转换和led显示的基础上,菜单建立在按键检测和led现实的基础上的,而按键检测又建立在串口输出的基础上。
功能原理:1)void control_thread(void ):控制a/d采样并刷新显示器上的内容,控制报警器的动作。
**如下:#include <>
sbit p36=p3^6;
sbit p37=p3^7;
unsigned char ad();
void print(char name,unsigned int value);
extern unsigned char param_value[2];
extern char menu_status;
void control_thread()
unsigned char value=ad();
if(value>param_value[1])
else if(value<=param_value[1]&&value>=param_value[0])
else if(menu_status==1)
2)void menu_thread(void):只用此函数被调用时,菜单里的参数项才会在显示器上刷新,用户通过键盘对菜单的操作才能够得到程序的响应和处理。
**如下:#define menu_on 0
#define menu_off 1
#define menu_num 2
#define menu_max 240
#define menu_min 10
unsigned char param_value=
unsigned char menu_status=menu_off;
char _menu_name=
unsigned char _menu_value=
unsigned char _menu_idx=0;
char get_key();
void print(char name,unsigned int value);
void menu_thread(void)
char i=0;
char key=get_key();
if(menu_status==menu_off)
else
else if(key==1)
else if(key==2)
else if(key==3)
if(menu_status==menu_on)
3)char ad(void):控制进行a/d转换,结果通过返回值输出。
**如下:#include <>
sbit p24=p2^4;
sbit p25=p2^5;
sbit p26=p2^6;
sbit p27=p2^7;
unsigned char ad()
void ad_init()
tmod=0x02;
th0=0;
tl0=0;
et0=1;
tr0=1;ea=1;
void_ad_clock(void) interrupt 1
p24= ~p24;
4)void print(char name,unsigned int value):输出名称和数值。
5)void serial(char byte):将字节byte串口输出。
**如下:public _serial
de segment code
rseg de
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...