安丘网站建设报价怎么做网页链接图片

张小明 2026/1/19 20:42:08
安丘网站建设报价,怎么做网页链接图片,四川住房建设厅网站,陕西建筑招聘网最近拿到了#xff0c;只要用6个脚就能驱动 具体来说#xff0c;原理是#xff0c;两个脚一个脚为正#xff0c;一个脚为负#xff0c;就能点亮一段数码管。其他脚保持关闭状态 这样理论上可以实现6x530种点亮方式。3位数码管每位8个管脚加上一个小数点#xff0c;刚好是…最近拿到了只要用6个脚就能驱动具体来说原理是两个脚一个脚为正一个脚为负就能点亮一段数码管。其他脚保持关闭状态这样理论上可以实现6x530种点亮方式。3位数码管每位8个管脚加上一个小数点刚好是27个灯一次点亮一个灯然后通过循环里一直切换实现完整的显示这里给一个数据手册的示意图不过具体的引脚排列每个厂家都不一样可以用万用表测出来。用红笔和黑笔接两个脚某个灯管就亮了管脚命名参考显示效果例程使用方法#includeDisplay_seg.hintmain(){SEG_Init();// 初始化引脚和变量while(1){SEG_Update();// 刷新显示SEG_Display_Num(DIGIT_1,1);// 第一位显示1SEG_Display_Num(DIGIT_2,2);SEG_Display_Num(DIGIT_3,3);}}适配方法注意每个单片机的函数不一样把#include sc.h换成自己单片机的头文件#define SEG1_PIN RB6 // 引脚1: PB6 ...引脚改为自己的引脚代码#define SEG1_INPUT() TRISB6 1 ...引脚方向改为自己的引脚方向设置函数灯序不一样的还要改一下这里的排序static const SegMap seg_map[] {{2, 3, SEG_A, DIGIT_1}, ...**{2,3…**表示电流方向是2-3时亮第一个管脚代码Display_seg.h#ifndef__SEG_DISPLAY_H#define__SEG_DISPLAY_H#includesc.h//---------------------------------// 用户自定义 数码管引脚//---------------------------------// 引脚定义根据您的接线#defineSEG1_PINRB6// 引脚1: PB6#defineSEG2_PINRB5// 引脚2: PB5#defineSEG3_PINRB4// 引脚3: PB4#defineSEG4_PINRA3// 引脚4: PA3#defineSEG5_PINRA4// 引脚5: PA4#defineSEG6_PINRA5// 引脚6: PA5// 引脚方向#defineSEG1_INPUT()TRISB61#defineSEG2_INPUT()TRISB51#defineSEG3_INPUT()TRISB41#defineSEG4_INPUT()TRISA31#defineSEG5_INPUT()TRISA41#defineSEG6_INPUT()TRISA51#defineSEG1_OUTPUT()TRISB60#defineSEG2_OUTPUT()TRISB50#defineSEG3_OUTPUT()TRISB40#defineSEG4_OUTPUT()TRISA30#defineSEG5_OUTPUT()TRISA40#defineSEG6_OUTPUT()TRISA50//---------------------------------// 函数声明voidSEG_Init(void);// 初始化数码管voidSEG_Clear(void);// 清空显示// 显示一位数字// 变量数码管数字voidSEG_Display_Num(unsignedchardigit,unsignedcharnum);// 显示一个小数点voidSEG_Display_DP(unsignedchardigit,unsignedcharstate);// 刷新屏幕需要在循环调用!!!重要voidSEG_Update(void);// 使用示例/* int main() { SEG_Init(); while(1) { SEG_Update();// 刷新显示 SEG_Display_Num(DIGIT_1, 1); // 第一位显示1 SEG_Display_Num(DIGIT_2, 2); SEG_Display_Num(DIGIT_3, 3); } } */// 数码管编号#defineDIGIT_10#defineDIGIT_21#defineDIGIT_32// 段码定义 (dp,g,f,e,d,c,b,a)#defineSEG_A0x01#defineSEG_B0x02#defineSEG_C0x04#defineSEG_D0x08#defineSEG_E0x10#defineSEG_F0x20#defineSEG_G0x40#defineSEG_DP0x80// 数码管字段A到G)// AAAAA// F B// F B// GGGGG// E C// E C// DDDDD DP//// 数字0-9的字库constunsignedcharseg_code[]{SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F,// 0SEG_B|SEG_C,// 1SEG_A|SEG_B|SEG_G|SEG_E|SEG_D,// 2SEG_A|SEG_B|SEG_G|SEG_C|SEG_D,// 3SEG_F|SEG_G|SEG_B|SEG_C,// 4SEG_A|SEG_F|SEG_G|SEG_C|SEG_D,// 5SEG_A|SEG_F|SEG_G|SEG_E|SEG_C|SEG_D,// 6SEG_A|SEG_B|SEG_C,// 7SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G,// 8SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G,// 9SEG_A|SEG_B|SEG_C|SEG_E|SEG_F|SEG_G,// A [10]SEG_C|SEG_D|SEG_E|SEG_F|SEG_G,// b [11]SEG_A|SEG_D|SEG_E|SEG_F,// C [12]SEG_B|SEG_C|SEG_D|SEG_E|SEG_G,// d [13]SEG_A|SEG_D|SEG_E|SEG_F|SEG_G,// E [14]SEG_A|SEG_E|SEG_F|SEG_G,// F [15]SEG_B|SEG_C|SEG_E|SEG_F|SEG_G,// H [16]SEG_D|SEG_E|SEG_F,// L [17]SEG_A|SEG_B|SEG_E|SEG_F|SEG_G,// P [18]SEG_E|SEG_G,// r [19]SEG_G// - [20]};#defineSEG_CODE_SIZE(sizeof(seg_code)/sizeof(unsignedchar))#endifDisplay_seg.c#includeDisplay_seg.h#includestdint.h// 显示缓冲区3位数码管staticunsignedcharseg_buffer[3]{0,0,0};// 当前扫描的数码管staticunsignedcharcurrent_digit0;// 引脚配置表// 格式: {阳极引脚, 阴极引脚, 段码位}// 需要根据实际数码管内部连接关系填写typedefstruct{unsignedcharanode;// 高电平引脚 (1-6)unsignedcharcathode;// 低电平引脚 (1-6)unsignedcharsegment;// 段码unsignedchardigit;// 数码管位 (0-2)}SegMap;// 这里需要根据实际接线测试并修改// 每个LED由两个引脚控制一个阳极一个阴极staticconstSegMap seg_map[]{// 第1位数码管{2,3,SEG_A,DIGIT_1},// A1: PB6-PB5{2,4,SEG_B,DIGIT_1},// B1: PB5-PB4{5,2,SEG_C,DIGIT_1},// C1: PB4-PA3{2,6,SEG_D,DIGIT_1},// D1: PA3-PA4{2,5,SEG_E,DIGIT_1},// E1: PA4-PA5{3,2,SEG_F,DIGIT_1},// F1: PA5-PB6{4,2,SEG_G,DIGIT_1},// G1: PB6-PB4{2,1,SEG_DP,DIGIT_1},// DP1: PB5-PA3// 第2位数码管{5,4,SEG_A,DIGIT_2},// A2: PB4-PA4{3,5,SEG_B,DIGIT_2},// B2: PA3-PA5{4,5,SEG_C,DIGIT_2},// C2: PA4-PB6{3,4,SEG_D,DIGIT_2},// D2: PA5-PB5{6,3,SEG_E,DIGIT_2},// E2: PB6-PA3{4,3,SEG_F,DIGIT_2},// F2: PB5-PA4{5,3,SEG_G,DIGIT_2},// G2: PB4-PA5{3,1,SEG_DP,DIGIT_2},// DP2: PA3-PB6// 第3位数码管{1,6,SEG_A,DIGIT_3},// A3: PA4-PB5{3,6,SEG_B,DIGIT_3},// B3: PA5-PB4{5,6,SEG_C,DIGIT_3},// C3: PB6-PA4{6,4,SEG_D,DIGIT_3},// D3: PB5-PA5{4,6,SEG_E,DIGIT_3},// E3: PB4-PB6{6,5,SEG_F,DIGIT_3},// F3: PA3-PB5{1,5,SEG_G,DIGIT_3},// G3: PA4-PB4{6,4,SEG_DP,DIGIT_3},// DP3: PA5-PA3};#defineSEG_MAP_SIZE(sizeof(seg_map)/sizeof(SegMap))// 初始化数码管voidSEG_Init(void){// 初始化所有引脚为输入高阻态TRISA|0b00111000;// RB4,RB5,RB6 - 输入WPUA|0b00111000;// 上拉电阻TRISB|0b01110000;// RB4,RB5,RB6 - 输入WPUB|0b01110000;// 上拉电阻// 初始化显示缓冲区seg_buffer[0]0;seg_buffer[1]0;seg_buffer[2]0;current_digit0;}// 清除显示voidSEG_Clear(void){// 初始化所有引脚为输入高阻态TRISA|0b00111000;// RB4,RB5,RB6 - 输入WPUA|0b00111000;// 上拉电阻TRISB|0b01110000;// RB4,RB5,RB6 - 输入WPUB|0b01110000;// 上拉电阻}// 操控6个引脚状态 (0:低电平, 1:高电平, 其他:高阻态)staticvoidset_pin(unsignedcharpin,unsignedcharstate){switch(pin){case1:if(state1){SEG1_OUTPUT();SEG1_PIN1;}elseif(state0){SEG1_OUTPUT();SEG1_PIN0;}else{// 高阻态SEG1_INPUT();SEG1_PIN0;}break;case2:if(state1){SEG2_OUTPUT();SEG2_PIN1;}elseif(state0){SEG2_OUTPUT();SEG2_PIN0;}else{SEG2_INPUT();SEG2_PIN0;}break;case3:if(state1){SEG3_OUTPUT();SEG3_PIN1;}elseif(state0){SEG3_OUTPUT();SEG3_PIN0;}else{SEG3_INPUT();SEG3_PIN0;}break;case4:if(state1){SEG4_OUTPUT();SEG4_PIN1;}elseif(state0){SEG4_OUTPUT();SEG4_PIN0;}else{SEG4_INPUT();SEG4_PIN0;}break;case5:if(state1){SEG5_OUTPUT();SEG5_PIN1;}elseif(state0){SEG5_OUTPUT();SEG5_PIN0;}else{SEG5_INPUT();SEG5_PIN0;}break;case6:if(state1){SEG6_OUTPUT();SEG6_PIN1;}elseif(state0){SEG6_OUTPUT();SEG6_PIN0;}else{SEG6_INPUT();SEG6_PIN0;}break;}}// 显示一位数字voidSEG_Display_Num(unsignedchardigit,unsignedcharnum){if(digit3num10){seg_buffer[digit]seg_code[num];}}// 显示一个小数点voidSEG_Display_DP(unsignedchardigit,unsignedcharstate){if(digit3){if(state1){seg_buffer[digit]|SEG_DP;}else{seg_buffer[digit]~SEG_DP;}}}// 更新显示需要在循环调用才能显示 !!!voidSEG_Update(void){// 一次更新一位数码管staticunsignedcharseg_num0;constSegMap*mapseg_map[seg_num];// 检查该段是否需要点亮if(seg_buffer[map-digit]map-segment){// 点亮这个LEDSEG_Clear();set_pin(map-anode,1);// 阳极set_pin(map-cathode,0);// 阴极}else{// LED不需要时关闭 //注意不加关闭会导致显示亮度不均SEG_Clear();}seg_num(seg_num1)%SEG_MAP_SIZE;}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

台州网站建设公司哪家好做intor的网站

还在为无法保存心爱的在线视频而烦恼吗?VideoDownloadHelper视频下载工具将彻底改变你的下载体验!这款强大的浏览器扩展能帮你轻松捕获网络视频,无论是教程片段、精彩剪辑还是珍贵回忆,都能一键保存到本地。 【免费下载链接】Vide…

张小明 2026/1/17 22:08:50 网站建设

佛山响应式网站开发网站名称注意事项

5步掌握Audiveris:从乐谱图片到数字音乐的终极指南 【免费下载链接】audiveris audiveris - 一个开源的光学音乐识别(OMR)应用程序,用于将乐谱图像转录为其符号对应物,支持多种数字处理方式。 项目地址: https://gitcode.com/gh_mirrors/au…

张小明 2026/1/17 22:08:51 网站建设

百度怎样建立网站网站首页适配规则

GPT-SoVITS能否处理古代汉语发音重构?语言学交叉研究 在人工智能与人文科学的交汇处,一个看似遥远却日益逼近的设想正悄然成形:让千年前的文字“开口说话”。当《诗经》中的“关关雎鸠”不再只是纸上的字符,而是从扬声器中流淌出…

张小明 2026/1/17 22:08:51 网站建设

原型图网站浙江沉船事故最新消息

🚨 开篇:毕业论文的 “生死抉择”!速成写手的坑,你真的敢踩?“距离答辩只剩 1 个月,论文还没动笔”“数据分析搞不定,文献综述写不出”—— 毕业季的焦虑,让不少学生把希望寄托在 “…

张小明 2026/1/17 22:08:52 网站建设

界面简洁的网站常用的网络营销的手段有

在MATLAB中进行综合孔径微波辐射成像仿真,核心在于理解综合孔径原理,并构建一个从场景建模、信号模拟到图像反演的完整流程。 综合孔径微波辐射成像仿真概述 综合孔径微波辐射计通过多个小天线单元合成一个虚拟的大孔径,从而获取高空间分辨率…

张小明 2026/1/17 22:08:52 网站建设

网站运营暂停软件推广怎么做

预制构件市场“硝烟”再起?从中交项目到中核华兴,近期重庆地区采购结果密集公告引言近期,重庆地区预制构件市场热闹非凡,一系列项目的采购结果密集公告,如同在市场中投入了一颗颗石子,激起层层涟漪。这不仅…

张小明 2026/1/17 22:08:56 网站建设