Aruba

    1. 01篇-单片机的存储空间 15/3470 微控制器 MCU 2015-08-18
      支持{:1_124:}
    2. 谢谢分享
    3. 美人美人 发表于 2015-8-5 11:27 你好 ,我的问题与你一样,请问你是怎样解决的?谢谢
      看上面
    4. huaiqiao 发表于 2015-6-30 10:58 怎么解决的?
      LCD初始化忘加了
    5. qiushenghua 发表于 2015-6-30 10:18 你那明显是数码管的程序呀!!! 莫非你使用的是段式液晶?那可能没错。 你好好检查一下LCD的驱动吧
      已解决 多谢
    6. huaiqiao 发表于 2015-6-30 10:15 看看IO和之前是否一样,先烧录进去看看,到底是否和之前测试的结果一样。
      已解决 谢谢
    7. 数码小叶 发表于 2015-6-30 09:44 那结过出来没?
      还是只能按程序中的方法 加断点观察 没能显示在LCD上
    8. qiushenghua 发表于 2015-6-30 09:21 数码管不是LCD 换型号之后内置的温度传感器的ADC通道、用法等信息都与原来不一样,需要重新计算 ...
      版主大大 我现在用的是LCD显示屏,只是先想把转化前的temp显示出来
    9. 数码小叶 发表于 2015-6-30 09:13 对比下结构图,看哪些控制寄存器变了,这样最直接
      看了下都差不多啊{:1_133:}
    10. 奉上代码 #include unsigned int long temp; unsigned int long TemperF;                                        //华氏温度 unsigned int long TemperC;                                        //摄氏温度 char digit[10]={0X5F,0X50,0X3D,0X79,0X72,0X6B,0X6F,0X51,0X7F,0X7B}; void main(void) {     WDTCTL = WDTPW + WDTHOLD;                          //关闭系统看门狗     ADC12CTL0 = SHT0_8 + REFON + ADC12ON;           //内部1.5V参考电压,打开ADC12模块,设置采样保持定时器     ADC12CTL1 = SHP;                                               //采使用采样定时器     ADC12MCTL0 = SREF_1 + INCH_10;                        //参考电压和通道选择     ADC12IE = BIT0;                                                  //ADC12MEM0     ADC12CTL0 |= ENC;                                              //允许转换     _BIS_SR(GIE);                                                     //开启系统中断     while(1) {         ADC12CTL0 |= ADC12SC;                                  //开始采样并AD转换         //oF = ((x/4096)*1500mV)-923mV)*1/1.97mV = x*761/4096 - 468         //IntDegF = (ADC12MEM0 - 2519)* 761/4096         TemperF = (temp - 2519) * 761;         TemperF = TemperF / 4096;                            //简化的华氏温度转换公式         //oC = ((x/4096)*1500mV)-986mV)*1/3.55mV = x*423/4096 - 278         //IntDegC = (ADC12MEM0 - 2692)* 423/4096         TemperC = (temp - 2692) * 423;         TemperC = TemperC / 4096;                           //简化的摄氏温度转换公式         //LCDMEM[0]=digit[temp/1000];         //LCDMEM[1]=digit[(temp%1000)/100];         //LCDMEM[2]=digit[(temp%100)/10];         //LCDMEM[3]=digit[temp%10];         _NOP();                                                         //加入断点可用来观察IntDegF和IntDegC结果     } } #pragma vector=ADC_VECTOR __interrupt void ADC12ISR(void) {     temp = ADC12MEM0;                                          //保存转换结果 }
    11. 下来看看,学习学习:):):)

最近访客

< 1/1 >

统计信息

已有2人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:11

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言