




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
74HC759 驱动数码管显示程序学习笔记 本程序基于 STM8S105K4 单片机学习程序。程序硬件就是 STM8 的最小开发板搭建,用的内部高速晶振 1 分频,数码管用 595 串联 驱动输入四线。经测试可以正常显示。最终通过调试和实验。所有 的程序如下:(程序中可能还有些其他没有发现的问题,或其他错 误有问题再学习更改。 ) 具体注释见程序: /#ifndef _DISPLAY_595_H /#define _DISPLAY_595_H /*/ /*DS GPIOD4 串行数据输入 */ /*STCP GPIOD5 存储寄存器时钟 */ /*SHCP GPIOD6 移位寄存器时钟 */ /*OE GPIOD7 输出使能(低电平有效) 可选择脉冲输出以调节亮 度 */ /*显示数据调用方法, void init_595(); 输入实际数据,符号位(0 为正, 1 为负) ,小数点位置(没有置 0) /extern display_all(unsigned int display_data_int ,unsigned char flag ,unsigned char dot); */ /*设置方向寄存器*/ #define DS_IO() GPIO_Init(GPIOD, GPIO_PIN_4, GPIO_MODE_OUT_PP_LOW_FAST); #define STCP_IO() GPIO_Init(GPIOD, GPIO_PIN_5, GPIO_MODE_OUT_PP_LOW_FAST); #define SHCP_IO() GPIO_Init(GPIOD, GPIO_PIN_6, GPIO_MODE_OUT_PP_LOW_FAST); #define OE_IO() GPIO_Init(GPIOD, GPIO_PIN_7, GPIO_MODE_OUT_PP_LOW_FAST); /*设置数据输出 0*/ #define DS_OUT0() GPIO_WriteLow(GPIOD, GPIO_PIN_4); #define STCP_OUT0() GPIO_WriteLow(GPIOD, GPIO_PIN_5); #define SHCP_OUT0() GPIO_WriteLow(GPIOD, GPIO_PIN_6); #define OE_OUT0() GPIO_WriteLow(GPIOD, GPIO_PIN_7); /*设置数据输出 1*/ #define DS_OUT1() GPIO_WriteHigh(GPIOD, GPIO_PIN_4); #define STCP_OUT1() GPIO_WriteHigh(GPIOD, GPIO_PIN_5); #define SHCP_OUT1() GPIO_WriteHigh(GPIOD, GPIO_PIN_6); #define OE_OUT1() GPIO_WriteHigh(GPIOD, GPIO_PIN_7); /*显示数据调用方法,输入实际数据,符号位(0 为正,1 为负) ,小数点位置(没有置 0) */ /extern display_all(unsigned int display_data_int ,unsigned char flag ,unsigned char dot); void init_595(); /595 的初始化 void decomposition(unsigned int display_data); /将目标数据分解为各 位 void data_to_sh(unsigned char data ,unsigned char dot_in ); /送单个字节数据到数据 寄存器 void data_out_display(); /存储寄存器数据 输出 void display_all(unsigned int display_data_int ,unsigned char flag ,unsigned char dot); /总显 示程序 #include“display_595.h“ unsigned char a5=0,0,0,0,0; /五位数的数据分解存放 unsigned char dis_bit=0; /判断显示的位数 const unsigned char code= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf; /0-9 和负号编码/ /* uchar SEG_A_List16= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /共阴数码管代码表“0-F“ uchar SEG_B_List16= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e; /共阳数码管代码表“0-F“ */ void init_595() DS_IO(); /数据输出方向 DS_OUT0(); /输出低 STCP_IO(); /数据输出方向 STCP_OUT0(); /输出低 SHCP_IO(); / SHCP_OUT0(); / OE_IO(); / OE_OUT1(); /输出使能关闭(低电平有效) void decomposition(unsigned int display_data) a4=a3=a2=a1=a0=0; if(display_data=10000)dis_bit=5; /判断显示的位数 else if(display_data=1000)dis_bit=4; else if(display_data=100)dis_bit=3; else if(display_data=10)dis_bit=2; else dis_bit=1; while(display_data = 10000) display_data -= 10000; a4+; while(display_data = 1000) display_data -= 1000; a3+; while(display_data = 100) display_data -= 100; a2+; while(display_data = 10) display_data -= 10; a1+; a0=display_data; void data_to_sh(unsigned char data ,unsigned char dot_in ) unsigned char i,j; i=codedata; if(dot_in) i=i /有小数点的加小数点 SHCP_OUT0(); for(j=0;j8;j+) if(i else DS_OUT0(); SHCP_OUT1(); /上升沿送入 i = 1; /循环右移 1 位 ; SHCP_OUT0(); void data_out_display() STCP_OUT0(); ; STCP_OUT1(); void display_all(unsigned int display_data_int ,unsigned char flag ,unsigned char dot) unsigned char m; / OE_OU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 欧美画册风商业计划书-1
- 工作总结与新年计划-11
- 企业招标代理公司合同样本
- 康师傅果茶行业竞争分析
- 农业经营与管理中的科技创新案例研究试题及答案
- 学习职场礼仪创建文明城市
- 信息安全专项合同样本
- 储藏室改造合同样本
- 中通快递合同样本
- 代理签卖房合同标准文本
- 焊接工艺评定及焊接工艺技术评定管理标准
- 洗衣房各岗位工作流程
- 基于SWOT分析的义乌市现代物流业发展研究
- 基于自适应滤波对音频信号的处理详解
- 油浸式变压器工艺文件汇编
- 并网前设备电气试验继电保护整定通讯联调完整资料
- 南方科技大学机试样题练习南方科技大学样卷
- 电子公章模板
- 北京广安门中医院门诊楼层分布图
- 法定代表人登记表
- 钻孔灌注桩施工组织设计
评论
0/150
提交评论