/*本程序适用于没有SIP功能的单片机添加SIP发送功能*/
#include __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 #define clk P10 //定义时钟管脚 #define clk RC3 //定义时钟管脚 #define dio RC5 //定义数据管脚 #define stb RC2 //定义片选管脚 //#define nop _nop_(); #define uchar unsigned char #define uint unsigned int const char TABLE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0xE0,0x5C,0x3E,0x78, 0x37, 0x76, 0x38, 0x01, 0x41, 0x49,0x00}; unsigned char store_bank[4]; //建立数据列队3 //初始化函数体 void init() { ADCON1=0X07; TRISA=0X30; TRISB=0X03; TRISC=0X10; TRISD=0X00; PORTD=0XFF; // SSPSTAT=0X80; // SSPCON=0X31; INTCON=0X00; PIR1=0X00; stb=0; } //---------------------TM1616发送1字节数据子程序------------------------------------------ void tm1616write(uchar wr_date) { uchar i; stb =0; //片选管脚 NOP(); NOP(); for(i=0;i<8;i++)//循环运行8次 { clk=0; //时钟管脚 NOP(); NOP(); if(wr_date&0x01!=0)//查看数据的最小位是否为0 { dio=1; //数据管脚 } else { dio=0;//数据管脚 } NOP(); NOP(); clk=1; //时钟管脚 NOP(); wr_date=wr_date>>1;//数据左移1位 } } //-------------------------TM1616采用固定地址显示数据子程序--------------------------------- void tm1616show(uchar data1,uchar data2,uchar data3,uchar data4) { uchar j; stb = 1; //片选管脚 clk = 1; //时钟管脚 dio = 1; //数据管脚 tm1616write(0x00); //显示模式设置,设置为4个GRID,7个SEG stb=1; //片选管脚 //显示模式设置完毕,STB置1 tm1616write(0x44); //数据命令设置,设置普通模式、固定地址、写数据到显示寄存器 stb=1; // 片选管脚//数据命令设置完毕,STB置1 tm1616write(0xC0); //设置显示地址1 tm1616write(data1);//传输显示数据1 stb=1; //片选管脚 //显示数据1发送完毕STB置1 tm1616write(0xC2);//设置显示地址1 tm1616write(data2);//传输显示数据1 stb=1; //片选管脚 //显示数据1发送完毕STB置1 tm1616write(0xC4); //设置显示地址1 tm1616write(data3);//传输显示数据1 stb=1; //片选管脚 //显示数据1发送完毕STB置1 tm1616write(0xC6); //设置显示地址2 tm1616write(data4);//传输显示数据1 stb=1; //片选管脚 //显示数据1发送完毕STB置1 tm1616write(0x8F); //控制命令设置,设置显示开、显示最亮 stb=1; //片选管脚 //显示数据发送完毕STB置1 } //T毫秒延时程序''''''''''''''''''''''''''''''''''''''''''' void DELAY(unsigned int t ) //延时程序 {unsigned int y; while(t) { for(y=98;y--;); //延时 t--; }} //运算------------------------------------ void count(uint y) {uchar ca; ca=y/0x64/0xa; //求千位数/100=10数据/10等于一个千位数字 余数扔掉 store_bank[3]=TABLE[ca]; ca=(y/0x64)%0xa; //千位数/100留下百位以下数据 store_bank[2]=TABLE[ca]; ca=(y%0x64)/0xa; //求显示的个位 store_bank[1]=TABLE[ca]; ca=(y%0x64)%0xa; //求显示的个位 store_bank[0]=TABLE[ca]; } //TM1616主函数体--------------------------------------------- void main(void) { uint k; init(); while(1) { for(k=0;k<9999;k++) {count(k); tm1616show(store_bank[3],store_bank[2],store_bank[1],store_bank[0]); //带数据 DELAY(50); }
上一篇:PIC16F877A编程PID+PWM+1602液晶显示
下一篇:编的PIC16f1936的超声波测距的程序
推荐阅读
史海拾趣
对于热电偶隔离缓冲放大电路,网友可能会有多种问题,以下是一些常见问题及其回答:
一、技术问题
- 什么是热电偶隔离缓冲放大电路?
- 回答:热电偶隔离缓冲放大电路是一种专门用于热电偶信号处理的电路,它能够将热电偶产生的微弱电压信号进行放大,并通过隔离技术消除干扰信号,确保信号的准确性和稳定性。这种电路通常包括放大器和隔离器两部分,放大器用于增强信号,而隔离器则用于隔离输入和输出之间的电气连接,防止噪声和干扰的传递。
- 为什么需要热电偶信号的隔离和缓冲?
- 回答:热电偶信号通常非常微弱,且易受到环境噪声和电磁干扰的影响。隔离可以切断输入和输出之间的直接电气连接,防止噪声和干扰信号进入测量系统,提高测量的准确性和可靠性。缓冲则可以减小负载对热电偶信号的影响,保护热电偶免受损坏,并稳定信号输出。
- 如何选择适合的热电偶隔离缓冲放大电路?
- 回答:选择适合的热电偶隔离缓冲放大电路时,需要考虑多个因素,包括热电偶的类型、测量范围、精度要求、工作环境等。此外,还需要关注电路的输入阻抗、输出阻抗、增益稳定性、噪声水平等性能指标,以确保电路能够满足实际应用的需求。
二、实际应用问题
- 热电偶隔离缓冲放大电路在工业现场的应用有哪些?
- 回答:热电偶隔离缓冲放大电路在工业现场有广泛的应用,如温度测量、温度控制、热处理过程监控等。它们可以用于测量各种高温、低温环境下的温度,并通过与控制器、记录仪等设备配合使用,实现对温度的精确控制和记录。
- 如何安装和调试热电偶隔离缓冲放大电路?
- 回答:安装和调试热电偶隔离缓冲放大电路时,需要按照产品说明书的要求进行操作。一般来说,需要先将热电偶与电路的输入端正确连接,然后调整电路的增益、零点等参数,使输出信号符合实际应用的需求。在调试过程中,需要注意观察电路的输出信号是否稳定、准确,并检查是否有噪声和干扰信号的存在。
- 热电偶隔离缓冲放大电路的维护和保养有哪些注意事项?
- 回答:热电偶隔离缓冲放大电路的维护和保养非常重要,可以延长电路的使用寿命并保证其性能稳定。在使用过程中,需要定期检查电路的接线是否牢固、元器件是否损坏、输出信号是否准确等。如果发现异常情况,应及时处理并更换损坏的元器件。此外,还需要注意保持电路的清洁和干燥,避免灰尘和水分进入电路内部导致故障。
三、其他问题
- 热电偶隔离缓冲放大电路的成本如何?
- 回答:热电偶隔离缓冲放大电路的成本因产品型号、性能指标和生产厂家等因素而异。一般来说,高精度、高稳定性的电路成本会相对较高。在选择电路时,需要根据实际需求和预算进行综合考虑。
- 热电偶隔离缓冲放大电路的发展趋势是什么?
- 回答:随着工业自动化和智能化的发展,热电偶隔离缓冲放大电路也在不断向高精度、高稳定性、高集成度方向发展。未来,这种电路可能会采用更先进的集成电路技术和信号处理技术,提高测量精度和抗干扰能力,并降低成本和功耗。同时,随着物联网技术的发展,热电偶隔离缓冲放大电路也可能会与无线通信技术相结合,实现远程监控和智能控制等功能。
AVG Semiconductors自创立之初,就始终坚持以技术创新为核心竞争力。公司不断投入研发资源,推出了一系列具有划时代意义的半导体产品。其中,AVG的某款高效能低功耗芯片在市场上引起了广泛关注,其独特的节能设计和卓越的性能使得AVG在激烈的市场竞争中脱颖而出。这款芯片的成功不仅提升了AVG的品牌形象,也为公司带来了可观的收益,进一步推动了公司的研发创新步伐。
科达嘉电子创建于2001年,起初是一家专注于功率电感、共模电感的研发、生产与销售的初创企业。在电子行业激烈的市场竞争中,科达嘉凭借对电感技术的深入研究和不断创新,逐渐赢得了市场的认可。公司团队经过近二十年的努力,从一个小型创业公司发展成为拥有多家子公司的集团企业,员工总数超过900人,厂房总面积达到30000平方米。
面对电子信息行业的快速发展和变化,CW Industries始终保持着敏锐的市场洞察力。公司紧跟技术潮流,不断调整和优化产品结构,以满足客户不断变化的需求。例如,随着智能家居和物联网的兴起,CW Industries积极开发适用于这些新兴领域的产品和解决方案。这种灵活应变的能力使得CW Industries在电子行业中始终保持着领先地位,并为公司带来了持续的增长和发展。
随着公司实力的不断增强,AB Connectors Ltd开始将目光投向国际市场。公司积极参加国际电子展会和商务洽谈活动,与海外客户建立了广泛的合作关系。同时,公司还通过设立海外办事处和建立分销网络等方式,进一步拓展国际市场。这些举措不仅提高了公司的知名度和影响力,还为公司的快速发展提供了有力支持。
芯力微深知人才是企业发展的核心动力。因此,公司一直注重人才的培养和引进。公司建立了一套完善的人才培养机制,为员工提供广阔的发展空间和良好的职业前景。同时,芯力微还积极引进国内外优秀人才,打造了一支高素质、专业化的团队。这支团队不仅具备丰富的行业经验和技术能力,还具备高度的责任感和使命感。他们为公司的发展贡献了自己的智慧和力量。
交流电路中,由电源供给负载的电功率有两种;一种是有功功率,一种是无功功率。 有功功率是保持用电设备正常运行所需的电功率,也就是将电能转换为其他形式能量(机械能、光能、热能)的电功率。比如:5.5千瓦的电动机就是把5.5千瓦的电能转换为 ...… 查看全部问答∨ |
|
將NandFlash做為USB disk不能被PC正常識別的問題. 我的NandFlash共256M,在Eboot中做成兩個Partition,一個是BNFS,一個是DOS32(FAT),啟動後在WinCE的存儲管理器中能看到"DSK1:"下有兩個分區:Part00和Part01,且讀寫正常. 然後設置[HKEY_LOCAL_MACHINE\\Drivers\\USB\\FunctionDrive ...… 查看全部问答∨ |
我现在使用TM-IP5600 modem 用系统带的拨号软件能拨号成功,我现在想通过AT命令拨号ATDT996169 后返回 CONNECT 28800 V42bis ********************************* * Quidway A8010 Internet Server * * welcome!!   ...… 查看全部问答∨ |
s3c2440+windows ce5.0 用host端口去挂载一个usb接口的外设 为什么不能自动挂载(系统起来后,自动识别usb),要热插拔才能识别。… 查看全部问答∨ |
我运行main前面的汇编程序段,单步执行的时候,程序运行到_data16_memcpy中时,在copy了几个数据后程序忽然跳到cstart_begin开始的地方 但是循环还没有结束 另外: 我注释掉程序中一句,貌似就不会跑飞,可以正常进入main()了 ...… 查看全部问答∨ |
自己飞线焊的9B96的板子,这两天在看SAFERTOS+LWIP,突然网络就就不正常了,可以发数据,但不能收数据。 为了验证一下什么问题,使用academic在https://bbs.eeworld.com.cn/thread-222963-1-2.html中的程序试了一下,还是不能收数据, 通过udp_rec ...… 查看全部问答∨ |
里面虽然是一个标准的芯片,但是分了几个区段. 0x08000000 - 0x08003FFF 是Bootloader,可以改,调试时候不推荐改.0x08004000 - 0x0800BFFF 是OTA信息.0x0800C000 - 0x08060000 是用户自由分配程序区段.0x08060000 - 0x080C0000 是OTA ...… 查看全部问答∨ |
本帖最后由 ienglgge 于 2014-12-31 22:50 编辑 楼主发帖,二楼有人回帖,我点击二楼的贴子的回复。 在回复的框里,我的鼠标点进了对方的贴子的内容。光标在他的发言区域里。这时,我再输入内容。他发的言就变成我的内容的一部分。 ...… 查看全部问答∨ |