收藏 分销(赏)

关于C8051F410的设计报告.doc

上传人:天**** 文档编号:4010246 上传时间:2024-07-25 格式:DOC 页数:19 大小:468KB 下载积分:8 金币
下载 相关 举报
关于C8051F410的设计报告.doc_第1页
第1页 / 共19页
关于C8051F410的设计报告.doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
2013年全国大学生电子设 计大赛报告 基 于 C8051F410 单 片 机 的 设 计 摘要:微处理器在社会发展中扮演着非同寻常的角色,渗透到了各行各业。经过不断的发展与创新,单片机大致可分为4位、8位、16位和32位。C8051F410单片机片内集成了高频振荡源,并具备了多级分频系统以满足各种个性化的需要。强大的非侵入式JTAG/C2调试手段,是传统仿真器调试模式所不能比拟的,可使内核和全部资源完全透明和可操作化,可以方便地完成下载和硬件仿真,且不占用内部片内资源。芯片上除了P0~P2,还包括温度传感器和电源,晶振及片上温度传感器等外设集合为一体。增加了交叉开关,可以灵活的将片内资源分配到I/O端口,3.3V的供电模式,内核的低电压使系统功耗进一步降低。 关键词:微处理器 C8051F410 传感器 交叉开关 Abstract: the microprocessor plays beautifully role in social development, penetrated into all walks of life. Through continuous development and innovation, SCM can be roughly divided into 4, 8, 16 and 32. C8051F410 micro controller on-chip integration of the high frequency oscillation source, and with the multi-level division system to meet the various needs of personalized. A powerful non-invasive JTAG/C2 debugging tools, is a traditional emulator debug mode can not match, can make the kernel and all the resources completely transparent and operational, can finish downloading and hardware simulation conveniently, and does not occupy the internal on-chip resources. Chip P0~P2 in addition, also includes a temperature sensor and a power supply, a crystal and on-chip temperature sensor is integrated peripherals such as set. Increase the crossbar switch, can be flexible to on-chip resource allocation to the I/O port, 3.3V low voltage power supply mode, the power consumption of the system to further reduce the kernel. Keywords: microprocessor C8051F410 sensor switch 目 录 一、前言.............................. .......................................1二、总体方案设计...................... ......................................1 1、方案设计....................... ....................................1 2、方案论证与比较 ....................... ..............................1 3、方案选择...................... ....................................1 三、单元模块设计...................... ......................................2 1、各单元模块功能介绍及电路设计......... ..........................2 2、电路参数的计算及元器件的选择........................... ........5 3、特殊器件的介绍................ ..................................6 4、各单元模块的联接.............. ....................................7 四、系统调试.......................... ...................................8 五、系统功能、指标参数......................... ............................9 六、设计总结........................... .................................... .9 七、参考文献............................ .................................. ..9 八、附录.................................................................9 1、电路原理图...................... .................................. .9 2、PCB图.......................................... ......... ..........10 3、源程序.......................... ...........................10 一、前言 C8051F410器件是完全集成的低功耗混合信号片上系统型MCU,它的特性主要有: 高速、流水线结构的8051兼容的微控制器核(可达50MIPS);高精度可编程的24.5MHz内部振荡器; 4个通用的16位定时器;硬件实时时钟(smaRTClock),工作电压可低至1V,带64字节电池后备RAM和后备稳压器。由于它内部有高精度可编程的振荡器,我们可以通过对其特殊功能寄存器(SFR)的配置,完成计数定时,配合中断系统,设计出一个可以校正时间的电子时钟. 二、总体方案设计 1、方案设计 本方案以C8051F410单片机为核心,要实现的主要功能有CH452芯片驱动数码管显示和键盘扫描控制,LCD1602液晶显示屏万年历,LED的流水灯设计. 2方案论证与比较 ①不需要芯片的驱动方式,扫描显示 这种方式a~g和DP一共8根线分别占用单片机8个端口线,一般是一整个P口,然后有几位数码管就另外需要几个控制线作为片选。对于MCU的时间占用几乎是全时的,如果没有其他的任务或者其他的任务耗用时间很少可以考虑这种显示方式,比如时钟、温度计等等。 ②74LS164驱动 这是一片带锁存的串入并出芯片,需要占用单片机的2或3根线,MR为输出状态清除,本身驱动电流不大,驱动LED需要另外加三极管或者驱动芯片。 如果需要多位驱动,一般使用74HC138这样的译码器进行快速线选,一样实现扫描显示,对单片机端口的耗用比较少,但是因为是扫描方式所以对单片机时间耗用还是全时的. ③串行驱动MAX7219 按说这是驱动LED数码管最理想的一个芯片了,从典型应用电路上看外围元件极少,直接驱动,最吸引人的是使用了串行接口,只要三根线就可以驱动多大8位的数码管,而且可以送数据后就不用管了,自己消零消隐,可惜的就是太贵了,市场价都在20多元以上,比起LS164的一块多钱显得不合算。 ④串行驱动HD7279、BC7281、ZLG7289、ZLG7290、WH8280 这几个芯片都是采用串口通信的,基本上和MAX7219作用差不多,而且还带有8*8的键盘接口(键盘输入的时候,从串口输出键盘编码供单片机读取),价格相对也便宜,一般在10元左右,一般来说可以接受了,毕竟可以省太多的外围电路和单片机资源。但是芯片工作电压不要超过5.5V,否则容易烧掉,也就是电压适应范围还比较窄。 ⑤CH452 CH452是数码管显示驱动和键盘扫描控制芯片。CH452 内置时钟振荡电路,可以动态驱动8 位数码管或者64 位LED,具有BCD 译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64 键的键盘扫描;CH452 通过可以级联的4线串行接口或者2 线串行接口与单片机等交换数据;并且可以对单片机提供上电复位信号。 3方案选择 因为本设计I/O端口有限,又考虑到成本问题,并且从电路设计上来看,还要对4×4的阵键盘进行控制, CH452是比较合适的芯片,因此我们选择方案五。 三、单元模块设计 1、各单元模块功能介绍及电路设计 ①显示驱动 CH452对数码管采用动态扫描驱动,顺序为DIG0至DIG7,当其中一个引脚吸入电流时其他引脚不吸入电流。CH452内部具有电流驱动级,可以直接驱动0.5英寸至1英寸的共阴数码管,段驱动引脚SEG6~SEG0分别对应数码管的段G~段A,段驱动引脚SEG7对应数码光的小数点,字驱动引脚DIG7~DIG0分别连接数码管的阴极。电路图如下图所示: ②键盘扫描 CH452键盘扫描功能扫描4×4矩阵的16键键盘。在键盘扫描期间,DIG7~DIG0引脚用于列扫描输出,SEG7~SEG0引脚都带有内部下拉电阻,用于行扫描输入。当启用键盘功能后,4线串行口中的DOUT引脚的功能由串行接口的数据输出变为键盘中断输出以及按键数据输出。电路如图所示: ③液晶显示屏驱动电路 液晶显示屏显示使用的是LCD1602和LCD12864两种显示屏。电路连接图如图所示 ④LED闪烁电路 电源提供的电压为+5V,发光二极管的正常工作电流为5mA~15mA,分担的电压约为2V,所以与之串联的电阻为510欧姆~1000欧姆,本设计电路采用的是510欧姆的电阻。电路原理图如图所示 ⑤C8051F410的供电电路 C8051F410单片机VDD引脚需+3.3V电压供电,VIO引脚采用+5V电压供电,因此使用稳压模块AS1117进行稳压,输出的电压供给单片机的VDD引脚。电路原理图如图所示 ⑥蜂鸣器电路 在该设计中可以作为报警、闹铃,发出提示音。 电路图如图所示 ⑦C8051F410单片机与外围电路 P0口外接的是LCD1602与LCD12864的各个引脚。P1口的P1.3、P1.4、P1.5接的是CH452的3脚、5脚、6脚。P2口外接的是8个发光二极管。 2电路参数的计算及元器件的选择 ①C8051F410单片机采用两种电压供电,3.3V的电压我们使用稳压模块AS1117可以得到。 ②我们使用的驱动芯片是CH452,因此数码管选用的是共阴极数码管LL-5641AS。 ③本设计中用到了两种液晶显示屏LCD1602和LCD12864。 3特殊器件的介绍 ①C8051F410单片机 C8051F410的主要特点:高速流水线结构CPU(25-100MIPS);完全兼容8051(源码和机器码级);大多数指令执行时间为1-2时钟周期(标准为8051为12-24);可在系统、在应用编程的FLASH(2KB-128KB);指令高速缓存(对于50-100MIPS产品);大容量内部SRAM(256B-8KB+256B);扩展中断系统(最多可达22个中断源,可软件模拟中断);多复位源,双向复位;多时钟(内部时钟频率可编程、多种外部时钟方式);JTAG接口:在系统调试、边界扫描、在系统编程 C2接口(小封装)。 C8051F410引脚图如图所示 ②CH452芯片 CH452芯片是南京沁恒电子有限公司生产的一种高速键盘扫描控制芯片,每片可接8×8的矩阵键盘。CH452芯片专门用于LED、数码管、按键的驱动显示。一片芯片可以控制8个数码管和64个按键。以动态扫描的形式对每一位分别点亮,大幅度节约电力。同时对按下的按键能够产生中断,节约单片机宝贵的处理等待时间。可选2线或4线接口,减少单片机IO口的使用。这块芯片难能可贵之处是可以直接输入BCD码的数码管数据,也就是在单片机端根本不需要使用译码这一步骤,又一次增加了单片机的时间。 ③LCD1602 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。 第7~14脚:D0~D7为8位双向数据端。 第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 ④各个单元模块的连接如下图所示 四、统调试 程序流程图如下图所示 源程序见附件 五、系统功能、指标参数 ①该系统实现的是按下按键在数码管上显示该键值,同时发光二极管实现流水功能,过一会发光二极管熄灭,再按下任意键盘,显示该键值,并且上次的键值右移一位,发光二极管仍然实现流水功能,过一会又会熄灭,如此循环。 ②通过调试,该系统基本完成所希望实现的功能。 六、设计总结 本设计结构简单,使用的C8051F410单片机具有32kbFALSH存储器,驱动键盘和数码管的芯片CH452选用的也非常的恰到好处,该设计也达到了预期的目的,各项功能都能实现。就是在绘制原理图的时候元器件的封装做的不太标准,以至于焊接的时候有些困难。通过这次设计也深深的感受到了团队合作的重要性,分工明确,目标一致才有可能在一定时间内完成任务。其中最大的收获是锻炼了我们自主分析问题的能力,遇到问题一起商讨,最终找到最好的解决办法,也大大提高了我们的动手能力,次的设计我们小组收获了不少经验。 参考文献: [1]:全国大学生电子设计大赛 论文报告格式 [2]:潘琢金 C8051F410/1/2/3混合信号ISP FLASH微控制器数据手册 Rev 0.7 2006 0.2 [3]:CH452中文手册 七、 附件: ①系统原理图 ②PCB图 ③源程序如下: #include "C8051F410.h" void PCA_Init() { PCA0MD &= ~0x40; PCA0MD = 0x00; } void Port_IO_Init() { P1MDOUT = 0x80; P2MDOUT = 0xFF; XBR1 = 0x40; } void Oscillator_Init() { OSCICN = 0x85; } void Init_Device(void) { PCA_Init(); Port_IO_Init(); Oscillator_Init(); } #define uint unsigned int //0~65535 sbit LED_0=P2^0; sbit LED_1=P2^1; sbit LED_2=P2^2; sbit LED_3=P2^3; sbit LED_4=P2^4; sbit LED_5=P2^5; sbit LED_6=P2^6; sbit LED_7=P2^7; sbit FMQ=P1^7; //蜂鸣器 1响 sbit LED_HW=P0^7; //红外LED______发射 sbit CH452_SCL = P1^3; sbit CH452_SDA = P1^4; sbit CH452_KEY = P1^5; //定义CH452的端口 bit second ,flagkey =1; unsigned char k,dispbuff[] = {0,0,0,0,0,0,0,0}; //显示缓冲,初始显示全0 unsigned int CMD,DAT,DAT1; code unsigned char font[32] = { 0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0, //01234567 0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E, 0xFD,0x61,0xDB,0xF3,0x67,0xB7,0xBF,0xE1, 0xFF,0xF7,0x00,0x62,0x02,0x12,0x7C,0x1C}; code unsigned char key[16] = { 0xC6,0xB6,0x86,0xD6,0x96,0xA6,0xF6,0xE6, 0xC4,0xB4,0x84,0xD4,0x94,0xA4,0xF4,0xE4 }; void delayms(unsigned int i) { unsigned int j; do{ for(j=0;j!=1000;j++) {;} }while(--i); } void delayus(void) { unsigned int k; for (k=0;k<10;k++) {;} } void toch452(unsigned int cmda) /* 命令、数据送CH452 */ { unsigned char j; CH452_SDA = 0; delayus(); CH452_SCL = 0; delayus(); CH452_SCL = 1; delayus(); CH452_SCL = 0; for (j=0;j<16;j++) { if (cmda>=0x8000 ) CH452_SDA = 1; else CH452_SDA = 0; CH452_SCL = 1; delayus(); CH452_SCL = 0; cmda = cmda << 1 ; }; CH452_SDA = 1; delayus(); CH452_SCL = 1; } unsigned char rdch452(void) /* 读键盘 */ { unsigned char j,key; CH452_SDA = 0; delayus(); CH452_SCL = 0; delayus(); CH452_SCL = 1; delayus(); CH452_SCL = 0; key = 0x9F; for (j=0;j<8;j++) { if (key>=0x80 ) CH452_SDA = 1; else CH452_SDA = 0; CH452_SCL = 1; delayus(); CH452_SCL = 0; key = key << 1 ; }; delayus(); key = 0; for (j=0;j<8;j++) { CH452_SCL = 1; if (CH452_SDA == 1) key ++; key = key << 1; CH452_SCL = 0; delayus(); } CH452_SDA = 1; delayus(); CH452_SCL = 1; return key; } main() { unsigned char i,keycode,keyn; Init_Device(); //初始化 delayms(100); CMD = 0x9103; //设置CH452系统参数 toch452(CMD); CMD = 0x9500; = toch452(CMD); FMQ=0; //蜂鸣器0不响 while(1) { if (CH452_KEY == 0 ) //查询键盘 { keycode = rdch452(); //将键值赋给变量keycode keyn = 0; for (i=0;i<16;i++) //键译码 { if (key[i] == keycode ) keyn = i ; } flagkey = 1; }; if (flagkey == 1) { flagkey = 0; for (i=0;i<9;i++) //76543210 { dispbuff [i] = dispbuff [i+1]; //右移 } dispbuff [7] = keyn; DAT1 = 0xA100; //8个数码管逐一送显示 for (i=0;i<8;i++) { DAT = DAT1 + font[dispbuff [i]]; toch452(DAT); DAT1 = DAT1 + 0x0400; } FMQ=1; LED_HW=1; LED_0=0; LED_1=0; LED_2=1; LED_3=1; LED_4=0; LED_5=0; LED_6=1; LED_7=1; delayms(200); FMQ=0; LED_HW=0; LED_0=1; LED_1=1; LED_2=0; LED_3=1; LED_4=1; LED_5=0; LED_6=1; LED_7=1; delayms(200); FMQ=1; LED_HW=1; LED_0=0; LED_1=1; LED_2=0; LED_3=1; LED_4=0; LED_5=1; LED_6=0; LED_7=1; delayms(200); FMQ=0; LED_HW=0; LED_0=1; LED_1=0; LED_2=1; LED_3=0; LED_4=1; LED_5=0; LED_6=1; LED_7=0; delayms(200); } } 14
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服