已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单片机的初步认识1.单片机的概念单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。2.单片机的特点(1)高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪音性能优于一般通用的CPU。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。(2)控制功能强为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。(3)低电压,低功耗,便于生产便携式产品 为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V3.6V,而工作电流仅为数百微安。(4)易扩展 片内具有计算机正常运行所必需的部件。芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。(5)优异的性能价格比 单片机的性能极高。为了提高速度和运行效率,单片机已开始使用RISC流水线和DSP等技术。单片机的寻址能力也已突破64KB的限制,有的已可达到1MB和16MB,片内的ROM容量可达62MB,RAM容量则可达2MB。由于单片机的广泛使用,因而销量极大,各大公司的商业竞争更使其价格十分低廉,其性能价格比极高。二、单片机最小系统MCU最小系统是指可以使内部程序运行起来的所必须的基本外围电路。HC-EZ-XS128扩展实验系统底板电路划分成15个区域,以下简要说明每个区域的功能。MCU区:核心板模块扩展区域。MCU区中提供了3组插槽,可以扩展配套MC9s12xs128与MC9s12dg128核心板,并且每组插槽的所有引脚均可以引出用做基础或者扩展实验。POWER区:电源模块。这里通过引入的9V或12V直流电源,为实验平台提供3.3V、5V、9V或12V电源,并配有电源引出端子,方便为外接模块供电。SEGLED数码管显示区:6位8段数码管模块。该区域提供动态扫描方式扩展的8位8段LED数码管,用于完成GPIO相关实验。DA区:D/A实验扩展模块。该区域提供1个LED灯,用于完成PWM模块的D/A实验。CAN区:CAN总线通讯模块。该区域提供了1路CAN总线通讯接口,可以用于完成CAN总线通讯实验。SD区:Micro SD卡扩展模块。该区域提供了1个Micro SD卡座,用于完成基于SPI通讯协议的SD卡读写实验。RS485区:RS485通讯模块。使用MAX485扩展RS485通讯总线,完成RS485通讯相关实验。RS232区:RS232通讯模块。使用MAX232扩展RS232通讯总线,完成RS232通讯相关实验。12x864LCD区:12864液晶模块扩展。提供12864液晶模块的扩展,接口完全自主开放,可以扩展多种12864液晶模块,兼容带字库和不带字库的液晶。KEY区:4x4矩阵键盘模块。该区域提供了4x4的矩阵键盘与四个功能按键,可以利用GPIO扩展后完成程序编写,实现矩阵键盘扩展。四个功能按键,包括IC,PLUSE,KBI,IRQ该模块可以用于输入捕捉实验、脉冲累加模块、中断唤醒、IRQ中断实验实验等。BELL区:蜂鸣器模块。该区域提供了一个蜂鸣器,用以完成GPIO控制外设实验。AD区:A/D实验扩展模块。该区域通过两个电位器,提供可变模拟电压输出,用于完成A/D模块实验。TEMPER区:18B20温度检测模块,用于完成测温实验。LED区:8位LED灯模块。该区域提供8位LED灯,实现LED灯的控制。IIC区:串行总线扩展模块区域。该区域提供了IIC器件,外部EEPROM-24C02和PCF8563实时时钟。三、多通道连续采样实验目的、电路图及程序1.实验目的(1)了解S12单片机ADC模块的使用方法。(2)掌握多模块使用的程序设计方法。2.实验内容用S12的ADC模块的0通道、1通道(PAD0和PAD1)将两路模拟电平转换成数字量,使用8位分辨率,用数码管的前三位显示ATD0的采样值,后三位显示ATD1采样值。3.实验原理图4.实验说明(1)AD模块相关寄存器初始化(2)启动ATD的AN0和AN1通道(3)利用数码管显示转换结果(4)重复2,重新启动AD05.实验方法与步骤1、使用跳线帽短接底板上SEG LED区标号为JP_DIG、JP_SEG与JP_BP处跳线:使用跳线帽短接底板上AD0与AD1区标号为JP_AD0与JP_AD1的跳线。2、运行程序,观察数码管显示数值的变化。6.原程序#include /* common defines and macros */#include derivative.h /* derivative-specific definitions */#define SEG_DD DDRB /段码口方向#defineDIG_DD DDRK /位码口方向#define SEG_NUM PORTB /段码数据#define DIG_NUM PORTK /位码数据/*函数声明*/void Delay(unsigned int loop_times); /延时子程序void ATD0_ATD1_Init(void); /ATD0,ATD1初始化子程序/*全局变量声明*/const unsigned char g_LED_Seg_Table17 = 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x00; /共阴数码管字形表定义/*主程序*/ 函数名称: void main(void) 函数功能: 实现AD单通道连续采样,并用数码管显示采样结果 调用函数: void Delay(unsigned int loop_times) - main.c文件中 void ATD0_ATD1_Init(void); - main.c文件中 */void main(void) /* put your own code here */ unsigned char convert_value0 , convert_value1; /AD转换结果 unsigned char led_dig; /数码管位选值 unsigned char i,j; 循环变量 unsigned char SM_SBUFF6; /用户缓冲显示内容 SEG_DD = 0xFF; /D端口设置为输出口 DIG_DD = 0xFF; /E端口设置为输出口 SEG_NUM = 0x00; /D端口输出全0 DIG_NUM = 0x00; /E端口输出全0/ DisableInterrupts; /关中断 led_dig = 0x01; for(i=0;i6;i+) /单8左移 SEG_NUM = g_LED_Seg_Table8; /送段码 DIG_NUM = led_dig; /送位码 led_dig = led_dig1; /位选信号左移1位 Delay(50); DIG_NUM = 0x00; /熄灭数码管 Delay(20); ATD0_ATD1_Init(); /ATD0,ATD1初始化 for(;) while(!ATD0STAT2L_CCF0) /等待ATD0转换完成 ; convert_value0 = ATD0DR0L; /读取ATD0转换结果 SM_SBUFF2 = convert_value0/100; /拆分ATD0转换结果以便送显示 SM_SBUFF1 = convert_value0/10%10; SM_SBUFF0 = convert_value0%10; while(!ATD0STAT2L_CCF0) /等待ATD1转换完成 ; convert_value1 = ATD0DR1L; /读取ATD1转换结果 SM_SBUFF5 = convert_value1/100; /拆分ATD1转换结果以便送显示 SM_SBUFF4 = convert_value1/10%10; SM_SBUFF3 = convert_value1%10; led_dig = 0x01; /显示转换结果 for(j=0;j6;j+) if(j=3) SEG_NUM = g_LED_Seg_TableSM_SBUFFj|0x80;/在第三位后面显示小数点 DIG_NUM = led_dig; led_dig = led_dig1; Delay(1); else SEG_NUM = g_LED_Seg_TableSM_SBUFFj; DIG_NUM = led_dig; led_dig = led_dig1; Delay(1); /* wait forever */ /* please make sure that you never leave this function */*函数实现*/函数:void delay(void)功能:延时说明:延时5000*loop_times个机器周期*/void Delay(unsigned int loop_times) unsigned int loop_i,loop_j; for (loop_i=0; loop_i loop_times; loop_i+) for (loop_j=0; loop_j5000;loop_j+) ; /*函数:ATD0_ATD1_Init(void)功能:ATD0,ATD1初始化说明:*/void ATD0_ATD1_Init(void) /初始化 ATD0DIEN = 0; /禁止数字输入 /* APCTL1 = (ETRIGSEL | SRES1 | SRES0 | SMP_DIS | / ETRIGCH3 | ETRIGCH2 | ETRIGCH1 | ETRIGCH0 | / ) */ ATD0CTL1 = 0x00; /AD分辨率选择8位,且采样前不放电 /* * 0b00000000 * |_ * |_ * |_ETRIGCH3ETRIGCH0外部触发通道选择位 * |_ * |_采样前是否放电控制位 * |_ * |_ATD转换精度选择位SRES1:SRES0=0:0为8位 * |_外部触发源选择位,S12XS系列此位无效 */ /* APCTL2 = (0 | AFFC | ICLKSTP | ETRIGLE | / ETRIGP | ETRIGE | ASCIE | ACMPIE | / ) */ ATD0CTL2 = 0x40; /AD模块快速清零, 无等待模式, 禁止外部触发, 中断禁止 /* * 0b01000000 * |_ATD比较中断使能位 * |_ATD转换序列结束中断使能位 * |_外部触发信号使能位 * |_ * |_ETRIGLE:ETRIGP外部触发信号触发条件选择位 * |_停止模式内部时钟使能位 * |_AD模块快速清零位 * |_只读位 */ /* APCTL3 = (DJM | S8C | S4C| S2C | / S1C| FIFO | FRZ1 | FRZ0 | / ) */ ATD0CTL3 = 0x90; /AD转换结果右对齐,每个序列2次转换, No FIFO, Freeze模式下继续转换 /* * 0b10010000 * |_FRZ1:FRZ0后台调试冻结使能位 * |_ * |_结果寄存器先进先出模式位 * |_ * |_ * |_ * |_S8CS1C一个转换序列的长度 * |_结果寄存器数据对齐位 */ /* APCTL4 = (SMP2 | SMP1 | SMP0 | PRS4 | / PRS3 | PRS2 | PRS1 | PRS0 | / ) */ ATD0CTL4 = 0x03; /采样时间4个周期,PRS=3 /* * 0b00000011 * |_PRS4PRS0ATD时钟预分频因子 * |_ * |_ * |_ * |_ * |_SMP2SMP0采样时间选择位 * |_ * _ */ /* APCTL5 = (0 | SC | SCAN | MULT | / CD | CC | CB | CA | / ) */ ATD0CTL5 = 0x30; /多通道连续采样,通道0,1 /* * 0b00110000 * |_ * |_CDCA模拟输入通道选择码 * |_ * |_ * |_多通道采样模式位 * |_连续转换序列模式位,1是连续转换;0是只进行一次转换 * |_特殊通道转换使能位 * |_只读位 */7.考试要求及程序的修改使用PAD02引脚;使用PAD03引脚;要求:数码管显示使用E口(段码),B口(位码)程序修改:DDRB 改为DDRE DDRK改为DDRB PORTB 改为PORTE PORTK 改为PORTB四、小结作为一名汽车服务专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五保供养培训课件
- 2026年剧本杀运营公司行业规范遵守管理制度
- 幼儿园开展户外游戏活动促进儿童社交能力发展课题报告教学研究课题报告
- 2026年无人驾驶汽车安全报告
- 2025年社区养老服务培训基地建设与养老行业人才培养机制可行性研究报告
- 2026年医疗物联网技术应用报告
- 普通高中课程方案和课程标准变化的时代价值与教师应对
- 眼巢护理基础理论培训
- 2026及未来5年中国智能化工程行业市场动态分析及发展趋向研判报告
- 2025年韩国金融科技监管政策变化分析报告
- 供货方案及保证措施
- 高速公路交叉口交通组织方案
- 数学广角:搭配问题 课件 人教版数学三年级上册
- 2025杭州市市级机关事业单位编外招聘考试备考试题及答案解析
- 车间电缆整改方案模板(3篇)
- 徐州村务管理办法
- 政协机车辆管理办法
- 食品加工助剂管理办法
- 渝22TS02 市政排水管道附属设施标准图集 DJBT50-159
- 非现场执法培训课件
- 中国电气装备资产管理有限公司招聘笔试题库2025
评论
0/150
提交评论