当前位置: 首页 > news >正文

bp建设部网站sem运营有出路吗

bp建设部网站,sem运营有出路吗,一个微信小程序要多少钱,dede旅游网站源码我使用的是普中51单片机开发板A2套件(2022),驱动数码管可能需要参考电路原理图。开发环境的搭建教程在本专栏的 51单片机开发环境搭建 - VS Code 从编写到烧录 有过介绍。 关于我的软硬件环境信息: Windows 10STC89C52RCSDCC &am…

我使用的是普中51单片机开发板A2套件(2022),驱动数码管可能需要参考电路原理图。开发环境的搭建教程在本专栏的 51单片机开发环境搭建 - VS Code 从编写到烧录 有过介绍。

关于我的软硬件环境信息:

  • Windows 10
  • STC89C52RC
  • SDCC (构建HEX文件)
  • stcgal 1.6 (向STC单片机烧录)

点亮 1 位数码管

写个 python 脚本把驱动数字段选转换成 16 进制:

d = ["abcdef", "bc", "abged", "abcdg", "fgbc", "afgcd", "afedcg", "abc", "abcdefg", "abcdfg"] # 0-9def solve(seg):ans = 0for i in seg:ans ^= (1 << (ord(i) - ord("a")))return ansa = "{" + ", ".join([hex(solve(seg)) for seg in d]) + "}"
print(a)
# {0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f}

这样就得到了驱动一位数码管显示0-9的映射表:{0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f},也就是给 P0 置 0x3f 时,数码管会显示数字 0 (段选)。

先选择一位数码管进行点亮(选择第 8 位数码管,显示数字 6):

#include <8051.h>#define decoder_in_1 P2_2 // 译码器的 3 位输入,用于位选
#define decoder_in_2 P2_3
#define decoder_in_3 P2_4
#define NUMBER P0unsigned int LED_MAP[11] = {0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f};void send_to_decoder(unsigned int position) {  // position: 1 ~ 8 position--;                          // position: 0 ~ 7 (000 ~ 111)decoder_in_1 = position & 1;         // low    bit of position (position & 001)decoder_in_2 = position & 2;         // middle bit of position (position & 010)decoder_in_3 = position & 4;         // high   bit of position (position & 100)
}void main() {send_to_decoder(8);NUMBER = LED_MAP[6];
}

点亮多位数码管

由于位选是通过 38 译码器来让 3 个引脚来控制 8 个引脚(23=82^3=823=8),所以同一时间只能亮起1位,但是单片机可以快速切换亮起的数码管,利用视觉暂留可以让其看起来像是同时亮起。

#include <8051.h>#define decoder_in_1 P2_2 // 译码器的 3 位输入,用于位选
#define decoder_in_2 P2_3
#define decoder_in_3 P2_4
#define NUMBER P0unsigned int LED_MAP[11] = {0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f};void send_to_decoder(unsigned int position) {  // position: 1 ~ 8 position--;                          // position: 0 ~ 7 (000 ~ 111)decoder_in_1 = position & 1;         // low    bit of position (position & 001)decoder_in_2 = position & 2;         // middle bit of position (position & 010)decoder_in_3 = position & 4;         // high   bit of position (position & 100)
}void main() {unsigned int i;while (1) {for (i = 0; i < 8; i++) {NUMBER = 0x00;send_to_decoder(8 - i);NUMBER = LED_MAP[i];}}
}

下一次位选之前,要先给段选清零(熄灭数码管),不然上次段选的值还没更改,导致这次新的一次位选还在显示上一次显示的内容。

同时点亮多个数码管

http://www.tj-hxxt.cn/news/35315.html

相关文章:

  • 广州网站建设 粤icp网站之家查询
  • 珠海网站建设科速重庆森林百度云
  • 网站建设规划案例百度网址导航
  • 广西城乡和住房建设厅网站首页浏览广告赚钱的平台
  • 莘县网站制作自己开平台怎么弄啊
  • 做电影资源网站违法吗哈尔滨关键词优化方式
  • 管理网络的软件有哪些六年级下册数学优化设计答案
  • 上海seo课程宁波网络推广优化方案
  • 做女朋友网站seo赚钱暴利
  • 2003系统网站建设长沙网站到首页排名
  • 做艺人资料卡的网站最近三天的新闻大事简短
  • 建设独立商城网站制作万能软文范例800字
  • 福州做网站建设服务商百度竞价sem
  • web可以做3d网站吗推广引流吸引人的文案
  • 做网站需要哪些基本功能seo百度关键词优化软件
  • 做大型网站需要多少钱网站关键词排名怎么优化
  • 新疆建设网 工程信息网站今日足球比赛预测推荐分析
  • 涟水住房和城乡建设局网站免费下载百度并安装
  • 做网站软件大全嘉峪关seo
  • 潍坊 餐饮网站建设免费seo技术教程
  • 免费做网站哪里有seo关键词推广案例
  • 下载了国外app怎么连不上网2020 惠州seo服务
  • 夷陵区住房和城乡建设局网站技术优化seo
  • 2万元建设网站贵吗搜索seo优化托管
  • iis网站视频无法播放电商网络推广怎么做
  • 网站做的长图能导出吗百度的营销推广
  • 做网站明细范文如何进行app推广
  • wordpress主题 购买百度官方优化软件
  • wordpress post slug codex技术优化seo
  • 组建公司网络方案外贸seo推广